Ha!
Klient ruszył na svr5.supla.org a na mojej prywatnej starej wersji... nie działa
Dodatkowo nie łączy się z moim mosquitto ale to też pewnie dlatego, że jest stare...
Walczę dalej
Dadatkowe info:
jeśli nie uzywacie w mosquitto login i pass trzeba usunąć całe dwa wiersze username i password z config_template
Supla - MQTT - Dashing
Ciąg dalszy...
Problem z mosquitto - dostaję taką zwrotkę z konsoli klienta-supla:
mam zaktualizowanego brokera
generalnie mqtt do tej pory cały czas działa z "innymi" usługami.
Nie jest to wersja dockerowa.
nie ma loginu i hasła
Problem z mosquitto - dostaję taką zwrotkę z konsoli klienta-supla:
Kod: Zaznacz cały
pi@supla_server:~/supla-mqtt $ ./supla-mqtt-client -config config_template.yaml
INFO[1573301859.200208] initializing main loop
INFO[1573301859.201796] Client GUID: 1F22D271D0393DBA36FC2F355BF7CCEE
INFO[1573301859.205631] SSL version: OpenSSL 1.1.0l 10 Sep 2019
INFO[1573301859.213739] Connecting...
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
Kod: Zaznacz cały
pi@deCONZ:~ $ mosquitto -v
1573301731: mosquitto version 1.3.4 (build date 2019-10-26 22:21:58+0000) starting
1573301731: Using default config.
1573301731: Opening ipv4 listen socket on port 1883.
1573301731: Error: Address already in use
Nie jest to wersja dockerowa.
nie ma loginu i hasła
OK
Instalacja nie jest trudna skoro sobie poradziłem (dzięki @Beku)
Opiszę później jeśli bedzie taka potrzeba jak to zrobić po kolei.
Jest jednak problem z mosquitto dla raspberry pi - maliny dostają wersję, która nie gada z supla-mqtt-client.
Trochę powalczyłem ale na chwilę obecną odpuszczam bo boję się, zepsuć broker, który działa u mnie od dawna i ma sporo pracy
Spróbuje wersji dockerowej na innej maszynce albo na tej samej ale na innym porcie..
Chwilowo rozwiązałem to instalacją na firmowym serwerze z Win10 - działa
Raczej nie będzie u mnie to działać to tak jak zostało wymyślone przez @Beku - planuję połączyć Suplę z applowym homekitem
Super! Świetna robota!
A jakbyś jeszcze zrobił dla "starszego clouda" byłoby rewelacyjnie...
Stawiam wszystko na RPI 3BBeku pisze: ↑pn lis 04, 2019 8:25 pm Instalacja Smashing
Poniżej opis instalacji Smashing w wersji kontenerowej.
Pobieramy załączone archiwum zip.
smashing.zip
Rozpakowujemy np. w lokalizacji /opt/smashing
Wchodzimy do katalogu smashing
Uruchamiamy polecenie:
to spowoduje zbudowanie obrazu docker z smashingiem.Kod: Zaznacz cały
sudo docker build -t smashing .
edytujemy plik /opt/smashing/lib/hc_mqtt.rb
Dostosowujemy poniższą linię do swojej konfiguracji serwera MQTT.
trzeba wpisać host port i ewentualnie nazwę użytkownika i hasło serwera MQTTKod: Zaznacz cały
client = MQTT::Client.connect(:host => 'host', :port => 1883, :username => 'username', :password => 'password')
Uruchamiamy kontener poleceniem:Kod: Zaznacz cały
sudo docker run -e GEMS=mqtt -v=/opt/smashing:/smashing -d -p 3030:3030 smashing:latest
Jeśli wszystko się powiedzie możemy w przeglądarce wpisać http://ip_maszyny:3030/default
Po chwili (cierpliwości) powinien pojawić się dashboard taki jaki wklejałem w poprzednich postach
Pierwsze uruchomienie trochę trwa, potem strona ładuje się już szybko.
Jeśli dashboard się otworzy możemy zacząć edytować widgety.
W tym celu edytujemy plik /opt/smashing/dashobards/default.rb
W tym pliku zdefiniowane są wszystkie widoczne widgety. Jak widać każdy widget ma określony rodzaj (ohtemp, ohswitch itp)
Możemy dostosować widgety do naszej instancji supli. Najważniejsze w każdym widgecie jest Id.
Jest to identyfikator kanału Supla. Jeśli mamy przycisk który w supla cloud ma id np. 2 to żeby spiąć go z dashingiem w pliku default.rb musi mieć także id 2.
Oczywiście w tej chwili jeszcze nie zobaczycie działających stanów swoich urządzeń supla.
Do tego potrzebny jest trzeci komponent supla-mqtt-client
Opiszę go w następnej części!. Pozdro!
w lini
Kod: Zaznacz cały
client = MQTT::Client.connect(:host => 'host', :port => 1883, :username => 'username', :password => 'password')
Mam taki błąd
Kod: Zaznacz cały
root@raspberrypi:/opt/smashing# sudo docker run -e GEMS=mqtt -v=/opt/smashing:/smashing -d -p 3030:3030 smashing:latest
d7ba3a6765ae9c27ba836e8805b8701ee9cc8411f29752bc5db63d21e7e0febd
docker: Error response from daemon: driver failed programming external connectivity on endpoint agitated_cartwright (3afee68745b3c36b1205b03ae819a4636c5dd1265d55f7b12afd4dd6be312063): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3030 -j DNAT --to-destination 172.17.0.2:3030 ! -i docker0: (fork/exec /usr/sbin/iptables: structure needs cleaning)).
w hostname wpisujesz adres ip brokera MQTT, jeśli masz go postawionego na tej malinie to możesz wpisać IP tej maliny.
Ważne jest żeby host był widoczny z wewnątrz docker'a. Username i password wykasuj jeśli nie używasz.
co do błędu ...
pierwsze widzę, możesz spróbować inny port np. -p 3333:3030 lub inny. Być może ten port masz zajęty.
Ważne jest żeby host był widoczny z wewnątrz docker'a. Username i password wykasuj jeśli nie używasz.
co do błędu ...
pierwsze widzę, możesz spróbować inny port np. -p 3333:3030 lub inny. Być może ten port masz zajęty.