Próbuję odtworzyć podstawową konfigurację z tutoriala razem z MQQT ale ten ostatni nie działa:
OpenHab działa na RaspberryPi: 192.168.0.101:8080
Przełacznik: 192.168.0.50
Konfiguracja przełącznika:
mqtt.cfg:
broker.url=tcp://localhost:1883
broker.clientId=openHAB
broker.user=testuser
broker.pwd=haslo1234
default.items:
Switch device_reboot "Gniazdko: restart" {mqtt=">[broker:/gniazdko/cmd:command:ON:reboot],>[broker:/gniazdko/cmd:command:OFF:reboot]"}
Switch device_configuration_mode "Gniazdko: tryb konfiguracji" {mqtt=">[broker:/gniazdko/cmd:command:ON:configurationMode],>[broker:/gniazdko/cmd:command:OFF:configurationMode]"}
Switch socket "Gniazdko: wł/wył" {mqtt=">[broker:/gniazdko/przelacznik/cmd:command:ON:on],>[broker:/gniazdko/przelacznik/cmd:command:OFF:off],<[broker:/gniazdko/przelacznik/state:state:ON:on],<[broker:/gniazdko/przelacznik/state:state:OFF:off]"}
Switch socket_toggle "Gniazdko: zmień stan" {mqtt=">[broker:/gniazdko/przelacznik/cmd:command:ON:toggle],>[broker:/gniazdko/przelacznik/cmd:command:OFF:toggle]"}
Switch socket_get {mqtt="<[broker:/gniazdko/przelacznik/get:state:ON:defaultState]"}
default.sitemap:
sitemap demo label="My home automation" {
Frame label="Demo" {
Switch item=device_reboot
Switch item=device_configuration_mode
Switch item=socket
Switch item=socket_toggle
}
}
Przełącznik działą po: http://192.168.0.50/?device=relay&name=switch&command=on
Ale przyciski w OpenHab już nie.
Być może należy inaczej nazwać brokera, lub treść wiadomości?
Jest jakiś log żeby można było sprawdzić połączenie i ew. błędy?
/var/logs/openhab2 - tutaj masz logi
masz zainstalowany mqtt server, mqtt binding - sorry za banalne pytanie
Tak mam mosquitto:
pi@raspberrypi:~ $ systemctl status mosquitto
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
Loaded: loaded (/etc/init.d/mosquitto; generated; vendor preset: enabled)
Active: active (running) since Wed 2018-04-25 21:04:56 UTC; 2min 29s ago
Docs: man:systemd-sysv-generator(8)
Process: 306 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCC
CGroup: /system.slice/mosquitto.service
└─425 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Apr 25 21:04:55 raspberrypi systemd[1]: Starting LSB: mosquitto MQTT v3.1 messag
Apr 25 21:04:56 raspberrypi mosquitto[306]: Starting network daemon:: mosquitto.
Apr 25 21:04:56 raspberrypi systemd[1]: Started LSB: mosquitto MQTT v3.1 message
odnośnie bidingów to zastanawiam się czy wiadomość w przełączniku i bindingach jest ustawiona poprawnie
default.items:
Switch device_reboot "Gniazdko: restart" {mqtt=">[broker:/gniazdko/cmd:command:ON:reboot],>[broker:/gniazdko/cmd:command:OFF:reboot]"}
Switch device_configuration_mode "Gniazdko: tryb konfiguracji" {mqtt=">[broker:/gniazdko/cmd:command:ON:configurationMode],>[broker:/gniazdko/cmd:command:OFF:configurationMode]"}
Switch socket "Gniazdko: wl/wyl" {mqtt=">[broker:/gniazdko/przelacznik/cmd:command:ON:on],>[broker:/gniazdko/przelacznik/cmd:command:OFF:off],<[broker:/gniazdko/przelacznik/state:state:ON:on],<[broker:/gniazdko/przelacznik/state:state:OFF:off]"}
Switch socket_toggle "Gniazdko: zmien stan" {mqtt=">[broker:/gniazdko/przelacznik/cmd:command:ON:toggle],>[broker:/gniazdko/przelacznik/cmd:command:OFF:toggle]"}
Switch socket_get {mqtt="<[broker:/gniazdko/przelacznik/get:state:ON:defaultState]"}
jak wysyłasz wiadomości mqtt z lini komend to załącza ?
zobacz wątek: https://www.smartnydom.pl/forum/openhab/problem-z-sparowaniem-mqtt-bin-oh2-z-brokerem/#post-1653
Dzięki za link, faktycznie miałem standardowe komentarze i jak je usunąłem coś się ruszyło:
widać że polecenia dochodzą, bo dioda mruga, ale przełącznik nie zmienia swojego stanu.
Reset i wprowadzanie w tryb konfiguracji działa.
podeslij całą komendę jaką wpisujesz w linię komend?
Przetestowałem to:
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik' -m 'on'
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik/' -m 'on'
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik' -m 'ON'
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik' -m 'OFF'
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik/cmd' -m 'on'
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik/cmd/' -m 'on'
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik/cmd' -m 'ON'
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik/cmd/' -m 'ON'
i co zwraca to
$ mosquitto_pub -h localhost -p 1883 -u 'testuser' -P 'haslo1234' -t '/gniazdko/przelacznik/cmd' -m 'on'
?
Dioda sobie mrugnie na sonoffie, ale światła nie włączy.
Przekaźnik jest sterowalny z poziomu:
-wbudowanego przycisku
-dołączonego przycisku
-polecenia: http://192.168.0.50/?device=relay&name=switch&command=on
uzyj tematu /gniazdko/przelacznik/switch/cmd
i będzie działać
Łuuu faktycznie działa!
Czyli jeszcze nazwa przekaźnika.
Super! Dzięki za pomoc!