Problem z ustawieni...
 
Powiadomienia
Wyczyść wszystko

[Rozwiązany] Problem z ustawieniem MQTT

17 Wpisów
3 Użytkownicy
0 Reactions
5,731 Wyświetleń
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#262]

Witam,

stawiam pierwsze kroki w konfiguracji MQTT. Niestety nie chce działać :/

Na starym laptopie (IP 192.168.1.192) postawiłem od nowa Debiana 9.

- Zainstalowałem OpenHAB2
- Zainstalowałem Mosquitto

/etc/mosquitto/mosquitto.conf:

pid_file /var/run/mosquitto.pid
port 1883
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
allow_anonymus false
password_file /etc/mosquitto/password_file

/etc/mosquitto/password_file

login:pass

Test mosquito w dwóch konsolach:

mosquitto_sub -h localhost -u login -P pass -t /house
mosquitto_pub -h localhost -u login -P pass -t /house -m test

Wygląda na to, że broker działa...

 

Konfiguracja Openhab
W addons zainstalowałem MQTT Actions i MQTT Binding

Konfiguracja plików:

/etc/openhab2/services/mqtt.cfg

broker.url=tcp://localhost:1883
broker.clientId=openHAB
broker.user=login
broker.pwd=pass

/etc/openhab2/items/default.items

Switch sonoff_puchary "puchary" {mqtt=">[broker:/sonoff/puchary/cmd:command:ON:ON],>[broker:/sonoff/puchary/cmd:command:OFF:OFF]"}
Switch sonoff_puchary_status {mqtt="<[broker:/sonoff/puchary/state:state:ON:ON],<[broker:/sonoff/puchary/state:state:OFF:OFF]"}

/etc/openhab2/sitemaps/default.sitemap

sitemap default label="Chata"{
Frame label="PokĂłj"{
Switch item=sonoff_puchary
}
}

/etc/openhab2/rules/default.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

 

Konfiguracja Sonoff (w zalaczniku)

 Co robie nie tak, lub czego jeszcze nie zrobiłem?

 

 

mqtt

 
Dodane : 20/02/2018 5:50 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Jakiś pomysł dlaczego connection refused? Bo już teraz nic mi nie działa :/

root@debian:/var/log/mosquitto# service mosquitto status
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
Loaded: loaded (/etc/init.d/mosquitto; generated; vendor preset: enabled)
Active: active (exited) since Tue 2018-02-20 18:52:32 CET; 1min 16s ago
Docs: man:systemd-sysv-generator(8)
Process: 1878 ExecStop=/etc/init.d/mosquitto stop (code=exited, status=0/SUCCESS)
Process: 1885 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)

Feb 20 18:52:32 debian systemd[1]: Stopped LSB: mosquitto MQTT v3.1 message broker.
Feb 20 18:52:32 debian systemd[1]: Starting LSB: mosquitto MQTT v3.1 message broker...
Feb 20 18:52:32 debian mosquitto[1885]: Starting network daemon:: mosquitto.
Feb 20 18:52:32 debian systemd[1]: Started LSB: mosquitto MQTT v3.1 message broker.
root@debian:/var/log/mosquitto# mosquitto_pub -h localhost -u login -P pass -t /house -m test
Error: Connection refused

log

1519147708: mosquitto version 1.4.10 (build date Mon, 29 May 2017 13:43:29 +0100) starting
1519147708: Config loaded from /etc/mosquitto/mosquitto.conf.
1519147708: Opening ipv4 listen socket on port 1883.
1519147708: Opening ipv6 listen socket on port 1883.
1519147724: New connection from 192.168.1.41 on port 1883.
1519147724: New client connected from 192.168.1.41 as Sonoff1 (c1, k15, u'login').
1519147725: Error in poll: Interrupted system call.
1519147725: mosquitto version 1.4.10 terminating
1519147725: mosquitto version 1.4.10 (build date Mon, 29 May 2017 13:43:29 +0100) starting
1519147725: Config loaded from /etc/mosquitto/mosquitto.conf.
1519147725: Opening ipv4 listen socket on port 1883.
1519147725: Error: Address already in use

 
Dodane : 20/02/2018 7:55 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

jak ubijesz procesy mosquitto i uruchomisz mosquitto jeszcze raz to co się dzieje?

ps -ef | grep mosquitto

dostaniesz number np 111

sudo kill 111

 
Dodane : 20/02/2018 9:26 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Postawiłem system od nowa tym razem na ubuntu, MQTT działa gdy testuje poleceniami mosquitto_sub / mosquitto_pub

W logach też widzę że sonoff łączy się z Brokerem:

1519155252: New connection from 192.168.1.41 on port 1883.
1519155252: New client connected from 192.168.1.41 as Sonoff (c1, k15, u'login').
1519155346: New connection from ::1 on port 1883.
1519155346: New client connected from ::1 as mosqsub/26965-debian (c1, k60, u'login').
1519155367: New connection from ::1 on port 1883.

natomiast nie mam pojęcia dlaczego nie działa sterowanie z openhab2? Jakieś wskazówki?


 
Dodane : 20/02/2018 9:40 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

a masz w logach do mosquitto ze openHab podłączył się?


 
Dodane : 20/02/2018 9:42 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

W załączniku cały log


 
Dodane : 20/02/2018 9:43 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

sprawdź jeszcze w log'a do openHab co tam masz. Powinieneś znaleźć coś takiego

mosquitto

 
Dodane : 20/02/2018 9:48 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Polecenia z konsoli działają:

root@debian:~# mosquitto_pub -h localhost -p 1883 -u 'nazwa-usera' -P 'hasło-usera' -t '/sonoff/puchary/switch/cmd' -m 'off'
root@debian:~# mosquitto_pub -h localhost -p 1883 -u 'nazwa-usera' -P 'hasło-usera' -t '/sonoff/puchary/switch/cmd' -m 'on'

 

Zmodyfikowałem plik items:

Switch sonoff_puchary "puchary" {mqtt=">[broker:/sonoff/puchary/switch/cmd:command:ON:ON],>[broker:/sonoff/puchary/switch/cmd:command:OFF:OFF]"}
Switch sonoff_puchary_status {mqtt="<[broker:/sonoff/puchary/state:state:ON:ON],<[broker:/sonoff/puchary/state:state:OFF:OFF]"}

Zrobiłem restert usługi openhab, ale bez efektu, może gdzieś tu jest jeszcze jakiś błąd?

 

Czy wystarczy zainstalowac bindings i ustawić plik mqtt.cfg? Czy trzeba coś jeszcze w openhubie zrobić? Szukałem poradników, ale nic konkretnego nie umiem znaleźć i tak powoli na chybił trafił działam...

 

 

EDIT: problem rozwiązany, trzeba było zmienić wielkość liter "ON"->"on"


 
Dodane : 20/02/2018 9:52 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

ten 

login:pass

to nie jest prawdziwe tak?


 
Dodane : 20/02/2018 10:38 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

na potrzeby testu prawdziwe, tak jak napisałem w edytowenym przedchwilą moim przedostatnim poście problem rozwiązany - wina wielkość liter... Może warto w AFE zastosować lowcase() dla parametrów? Bo widzę, że nie tylko ja miałem przez ten szczegół łamigłówkę 🙂


 
Dodane : 20/02/2018 10:45 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

nie mam lekko 🙂

trochę chcę oszczędzić na rozmiarze firmware ze względu na ograniczenia wielkości pamięci - dlatego zdecydowałem się nie robić walidacji danych oraz takich konwersji, bo nie wiem komu to może w jakiś sytuacjach przeszkadzać.

generalnie przed zainstalowaniem lub w trakcje sugeruje przeglądnąć dokumentację 😉 może zrobię teraz bardziej na czerwono, żeby rzucało się w oczy.


 
Dodane : 20/02/2018 10:56 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Jeszcze mam pytanie, ponieważ sterowanie z BASIC UI działa, natomiast gdy przełączę zewnętrznym przyciskiem sonoffa to zmieniony stan nie odświeża się w GUI (przez przeglądarkę). Czy tutaj mam wszystko ok?

ITEMS

Switch sonoff_puchary "puchary" {mqtt=">[broker:/sonoff/puchary/switch/cmd:command:on:on],>[broker:/sonoff/puchary/switch/cmd:command:off:off]"}
Switch sonoff_puchary_status {mqtt="<[broker:/sonoff/puchary/switch/state:state:on:on],<[broker:/sonoff/puchary/switch/state:state:off:off]"}

 

 

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


Znaki < > mam inaczej w dwóch wierszach, ale kopiowałem z Twojego przykładu więc chyba ok? Nie rozumiem zasady ich stosowania


 
Dodane : 20/02/2018 11:06 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

hey, zobacz dokumentację

https://www.smartnydom.pl/afe-firmware-pl/konfiguracja/openhab/

masz wciąż trochę źle z dużymi / małymi literami

ON:on, OFF:off

zarówno w items jaki regułach


 
Dodane : 20/02/2018 11:13 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Dzięki za linka, w załączniku zaznaczyłem coś co IMHO jest błędem.

BTW: socket_report_state nigdzie nie jest wykorzystywany?

blad

 
Dodane : 20/02/2018 11:48 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

o super - dzięki - już poprawiam


 
Dodane : 20/02/2018 11:50 pm
(@7keys)
Wpisów: 49
Kontrybutor
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

ja w sonoff touch stany rozwiązuję tak .

Switch Sonoff "Światło [%s]" <lamp> {
mqtt="
>[mybroker:/sonoff/switch1/cmd:command:ON:on],
>[mybroker:/sonoff/switch1/cmd:command:OFF:off],
<[mybroker:/sonoff/switch1/state:state:MAP(sonoff.map)]"
}

sonoff.map

off=OFF
on=ON

 


 
Dodane : 07/03/2018 11:12 pm
 Maro
(@maro)
Wpisów: 46
Kontrybutor
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@7keys - możesz dać pełny przykład? Z kodem "rules"?

 

 


 
Dodane : 16/04/2018 9:41 pm
Udostępnij: