Witam.
Będę pisał w skrócie. Od tygodnia męczę się z openhab i sonoff - nie reaguje na przełączanie. Od początku co mam:
System operacyjne debian8 32-bit (IP 192.168.1.140) postawiony na maszynie wirtualnej. Na nim zainstalowany openhab2 i openhab2-addons zgodnie z instrukcja na oficjalnej stronie openhab. Do tego mosquitto i mosquitto-clients z apt-a. Następnie z Paper UI add-ons doinstalowałem MQTT Action i MQTT Binding. Pliki konfiguracyje:
- test.items:
Switch sonoff_puchary "puchary" {mqtt=">[broker:/sonoff/dom/lampa/switch/cmd:command:ON:on],>[broker:/sonoff/dom/lampa/switch/cmd:command:OFF:off]"}
Switch sonoff_puchary_status {mqtt="<[broker:/sonoff/dom/lampa/switch/state:state:ON:on],<[broker:/sonoff/dom/lampa/switch/state:state:OFF:off]"}
- test.sitemap
sitemap test label="Chata"{
Switch item=sonoff_puchary
}
- test.rules
rule "Reczna zmiana wartosci sonoff_puchary"
when
Item sonoff_puchary_status changed
then
if (sonoff_puchary_status.state!=sonoff_puchary.state) {
if (sonoff_puchary_status.state==on) {
sendCommand(sonoff_puchary,on)
} else {
sendCommand(sonoff_puchary,off)
}
}
end
- mqtt.cfg
broker.url=tcp://192.168.1.140:1883
broker.clientId=openHAB2
Dodam, że z konsoli ssh jak wykonuje polecenie:
mosquitto_pub -h localhost -p 1883 -t /sonoff/dom/lampa/switch/cmd -m ON
mosquitto_pub -h localhost -p 1883 -t /sonoff/dom/lampa/switch/cmd -m OFF
to lamka reaguje.
Połączenie openhab jak i sonoff z brokerem chyba jest, log z netstat -at:
root@OH2:/var/log/openhab2# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.140:1883 SONOFF1.lan:22554 ESTABLISHED
tcp 0 448 192.168.1.140:ssh Latop.lan:62630 ESTABLISHED
tcp 0 0 192.168.1.140:1883 192.168.1.140:51017 ESTABLISHED
I jeszcze leg z openhab.log
2019-04-05 13:22:35.706 [WARN ] [.MqttBrokerConnectionServiceInstance] - MqttBroker connection configuration faulty: host : You need to provide a hostname/IP!
2019-04-05 13:22:39.522 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
2019-04-05 13:22:51.661 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.items'
2019-04-05 13:22:54.497 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2019-04-05 13:22:56.680 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.rules'
2019-04-05 13:22:57.218 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.sitemap'
2019-04-05 13:22:58.643 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.1.140:8080
2019-04-05 13:22:58.645 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.1.140:8443
2019-04-05 13:22:59.207 [INFO ] [penhab.io.transport.mqtt.MqttService] - MQTT Service initialization completed.
2019-04-05 13:22:59.209 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'broker'
2019-04-05 13:23:01.056 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2019-04-05 13:23:01.342 [INFO ] [ui.habmin.internal.servlet.HABminApp] - Started HABmin servlet at /habmin
Proszę o pomoc.
- addon binding MQTT, który masz zainstalowany
- jaki software w Sonoff
- jaki broker MQTT masz zainstalowany
- MQTT Binding
binding-mqtt - 2.4.0 - zainstalowany z panelu Paper UI
Polecenia z ssh działają, lampka raguje:
mosquitto_pub -h localhost -p 1883 -t /sonoff/dom/lampa/switch/cmd -m on
mosquitto_pub -h localhost -p 1883 -t /sonoff/dom/lampa/switch/cmd -m off
- mosquitto MQTT v3.1 broker + mosquitto-clients.
Wczoraj chwilę posiedziałem i doszedłem do tego, że jak robię wszystko zgodnie z instrukcją:
https://www.smartnydom.pl/afe-firmware-pl/konfiguracja/openhab-nowy-mqtt/
to system działa. Więc połączenia do mosquitto są. Ale ja jestem uparty i chciałbym żeby to działało po mojemu 🙂
W pliku mqtt.cfg mam tylko:
broker.url=tcp://192.168.1.140:1883
broker.clientId=openHAB2
jak chcesz zeby działało po Twojemu to zainstaluj MQTT Binding 1.x i odinstaluj 2.x
to tutaj jest konfiguracją dla v1
Switch sonoff_puchary "puchary" {mqtt=">[broker:/sonoff/dom/lampa/switch/cmd:command:ON:on],>[broker:/sonoff/dom/lampa/switch/cmd:command:OFF:off]"}
Switch sonoff_puchary_status {mqtt="<[broker:/sonoff/dom/lampa/switch/state:state:ON:on],<[broker:/sonoff/dom/lampa/switch/state:state:OFF:off]"}
Odinstalowałem 2.x i zainstalowałem 1.x brokera. Ale gdy edytuje addons.cfg binding =mqtt, to automatycznie usuwa się wersja 1.x i instaluje 2.x.
wpisz do addons.cfg mqtt1
I wszystko zaczęło działać :).
Dzięki.