Sonoff - AFE MQTT -...
 
Powiadomienia
Wyczyść wszystko

Sonoff - AFE MQTT - aktualizowanie pozycji przełącznika

11 Wpisów
3 Użytkownicy
3 Likes
1,493 Wyświetleń
matulekpl
(@matulekpl)
Wpisów: 71
Kontrybutor
Autor tematu
 

Cześć,

zauważyłem, że czasem po resecie OPENHAB nie pobiera mi aktualnej pozycji przełącznika SONOFF z AFE.

Zacząłem szukać i znalazłem info, że aby sprawdzić aktualną pozycję przełącznika (on/off) trzeba wysłać komendę 

/mqttTopic/switch/cmd  get

pytanie - jak to zrobić w OPENHAB ? bo przecież nie będę wysyłał co sekundę sprawdzenia pozycji przełącznika? 

Macie jakieś sprawdzone u siebie "rules" i "items"?

 
Dodane : 01/04/2019 9:10 pm
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

Hey 

jedno z rozwiązań to

Ja u siebie tego nie mam, ale tak właśnie zrobiłbym.

U siebie przechowuje stan każdego item w bardzo prostej i lekkiej bazie MapDB.

Ta baza przechowuje tylko ostatnią wartości item. Przy starcie wartość początkowa każdego item jest odczytywana i ustawiania właśnie z tej bazy. Bardzo rzadko ma pewnie sytuację, że mam rozjazd między stanem aktualnym przełącznika a tym co jest w openHAB - to pewnie dlatego, że restart openHAB to krótka sprawa.

Ale najpewniejsze rozwiązanie to pewnie to co Ci zasugerowałem.

 
Dodane : 01/04/2019 10:19 pm
matulekpl reacted
matulekpl
(@matulekpl)
Wpisów: 71
Kontrybutor
Autor tematu
 

to chyba jednak błąd najnowszej wersji, bo jakoś dziwnie raz pobiera a raz nie pobiera danych z MQTT, a wczoraj zainstalowałem wersję 2.5.0 M1. Muszę chyba wrócić do 2.4.0 i w ogóle wrócić do binding 1.x bo to jednak chyba lepiej chodziło... 

a jak macie u siebie? binding 2.4 czy 1.x?

 
Dodane : 01/04/2019 11:46 pm
(@_marss_)
Wpisów: 173
Pomocny Donator 2K21 Donator 2K18
 

Ja działam zgodnie ze starą zasadą: "Jak działa, to nie naprawiaj" i pozostałem na wersji 1.x 

Poza tym mam już ponad 20 urządzeń na MQTT, więc dodatkowo nie chce mi się tracić czasu, jak obecne działanie mi odpowiada.

Zaraz po uruchomieniu puszczam przegląd stanów czujników regułą: when System started then ...

Co prawda sypie mi wtedy kilkoma błędami, bo mam zrobiony pomiar energii elektrycznej na regułach, a tam stany zmieniają się szybko (występują hazardy w dostępie do zapisu stanu itema), ale poza czerwonymi wpisami w logu nic złego się nie dzieje, więc ignoruję to.

 
Dodane : 02/04/2019 8:35 am
matulekpl
(@matulekpl)
Wpisów: 71
Kontrybutor
Autor tematu
 

no i właśnie też zastanawiam się,czy jednak nie przejść na 1.x.

U mnie wyświetlało błąd na 2.4 - java.lang.Exception: No MQTT client

https://community.openhab.org/t/mqtt-generic-thing-java-lang-exception-no-mqtt-client/61444

jest to niby znany problem rozwiązany w wersji 2.5 SNAPSHOT. Ale w wersji 2.5 sypie innymi błędami...

rozwiązałem to dodając mqtt.things ręcznie jako plik.

Bridge mqtt:broker:MyMosquitto "Mosquitto MQTT Broker" @ "MQTT" [
host="192.168.31.208",
secure=false,
clientid="openhab",
port=1883,
qos=1,
retain=true,
keep_alive_time=60000,
reconnect_time=6000,
clientID="xxxxx",
username="xxxxx",
password="xxxxx"
]
 
Dodane : 02/04/2019 9:52 am
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

ja w 2.4 siedzę (informacyjnie)

 
Dodane : 02/04/2019 12:16 pm
matulekpl
(@matulekpl)
Wpisów: 71
Kontrybutor
Autor tematu
 

na chwilę obecną uruchomiłem obejście błędu tak jak napisałem wyżej.  Dodatkowo uruchomiłem regułę:

rule "Sonoff init"
when
System started
then
publish("mosquitto", "/wlacznik1/switch/cmd", "get")
publish("mosquitto", "/wlacznik2/switch1/cmd", "tet")
publish("mosquitto", "/wlacznik2/switch2/cmd", "get")
publish("mosquitto", "/lampa-sofa/switch/cmd", "get")
publish("mosquitto", "/lampa-tv/switch/cmd", "get")

end

Teraz wszystko działa jak trzeba. Zobaczymy jak długo?:)

 
Dodane : 02/04/2019 7:46 pm
adrian reacted
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

super! 3maj się

 
Dodane : 02/04/2019 8:53 pm
matulekpl
(@matulekpl)
Wpisów: 71
Kontrybutor
Autor tematu
 

Hej @adrian,

konfiguruję właśnie mapDB.

Czy mógłbyś podać jak masz ustawiony warunek zapisu w mapdb.persist  ?

 
Dodane : 03/04/2019 11:12 am
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

bede dopiero w domu w piatek zeby dokładnie podesłać co mam

  • na pewno robie wszystkie elementy 
  • strategia: everyChange oraz restoreOnStartup

Coś takiego chyba:

Items {
  * : strategy = everyChange, restoreOnStartup
}

 

 
Dodane : 03/04/2019 3:53 pm
matulekpl
(@matulekpl)
Wpisów: 71
Kontrybutor
Autor tematu
 

uruchomiłem influxDB dodatkowo do rysowania wykresów. plik persist z tego co szukałem wygląda tak samo.

Teraz muszę chwilę poczekać, aż nazbiera trochę danych i zobaczymy czy wykres zacznie działać.

 

 

edit: działa! 😀

 
Dodane : 03/04/2019 10:53 pm
adrian reacted
Udostępnij: