Supla<->MQTT - Instalacja

Rawq
Posty: 17
Rejestracja: ndz lut 02, 2020 11:06 am

pn lut 03, 2020 7:40 am

Beku pisze:
śr gru 04, 2019 2:44 pm
Klient wymaga zainstalowanego wcześniej brokera MQTT
Czy może to być addon w hassio.io do mosquito broker czy lepiej jak postawie na to oddzielny kontener ?
Beku
Posty: 297
Rejestracja: wt lis 06, 2018 1:49 pm

pn lut 03, 2020 10:09 am

Rawq pisze:
pn lut 03, 2020 7:40 am
Beku pisze:
śr gru 04, 2019 2:44 pm
Klient wymaga zainstalowanego wcześniej brokera MQTT
Czy może to być addon w hassio.io do mosquito broker czy lepiej jak postawie na to oddzielny kontener ?
Wszystko jedno, byle można się do niego podłączyć.
Rawq
Posty: 17
Rejestracja: ndz lut 02, 2020 11:06 am

pn lut 03, 2020 11:12 am

Beku pisze:
śr gru 04, 2019 2:44 pm
Następnym krokiem jest pobranie samego klienta i skompilowanie go.

Kod: Zaznacz cały

git clone https://github.com/SUPLA/supla-core.git
cd supla-core
git checkout mqtt-experimental
cd supla-mqtt-client/Release
make clean
make all
Polecenie git checkout jest w tej chwili wymagane, ponieważ klient nie znajduje się jeszcze w głównej ścieżce dystrybucji Supli (jest w innym katalogu).
Powyższe polecenie powinno skutkować pojawieniem się w katalogu supla-core/supla-mqtt-client/Release skompilowanego pliku supla-mqtt-client. Jeśli wystąpiły jakieś błędy -> nie krępuj się - napisz w tym wątku! :)

Kod: Zaznacz cały

parallels@parallels-Parallels-Virtual-Platform:~$ git clone https://github.com/SUPLA/supla-core.git
Cloning into 'supla-core'...
remote: Enumerating objects: 11740, done.
remote: Total 11740 (delta 0), reused 0 (delta 0), pack-reused 11740
Receiving objects: 100% (11740/11740), 8.74 MiB | 4.32 MiB/s, done.
Resolving deltas: 100% (8757/8757), done.
parallels@parallels-Parallels-Virtual-Platform:~$ cd supla-core
parallels@parallels-Parallels-Virtual-Platform:~/supla-core$ git checkout mqtt-experimental
Branch 'mqtt-experimental' set up to track remote branch 'mqtt-experimental' from 'origin'.
Switched to a new branch 'mqtt-experimental'
parallels@parallels-Parallels-Virtual-Platform:~/supla-core$ cd supla-mqtt-client/Release
parallels@parallels-Parallels-Virtual-Platform:~/supla-core/supla-mqtt-client/Release$ make clean
rm -rf  ./src/yaml/yaml.o  ./src/supla-client-lib/cfg.o ./src/supla-client-lib/devicechannel.o ./src/supla-client-lib/eh.o ./src/supla-client-lib/ini.o ./src/supla-client-lib/lck.o ./src/supla-client-lib/log.o ./src/supla-client-lib/proto.o ./src/supla-client-lib/safearray.o ./src/supla-client-lib/srpc.o ./src/supla-client-lib/sthread.o ./src/supla-client-lib/supla-client.o ./src/supla-client-lib/supla-socket.o ./src/supla-client-lib/tools.o  ./src/mqtt/mqtt.o ./src/mqtt/mqtt_client.o ./src/mqtt/mqtt_pal.o  ./src/client_command.o ./src/client_config.o ./src/client_device.o ./src/client_loop.o ./src/client_publisher.o ./src/client_state.o ./src/client_subscriber.o ./src/clientcfg.o ./src/common.o ./src/supla_mqtt_client.o  ./src/supla-client-lib/cfg.d ./src/supla-client-lib/eh.d ./src/supla-client-lib/ini.d ./src/supla-client-lib/lck.d ./src/supla-client-lib/log.d ./src/supla-client-lib/proto.d ./src/supla-client-lib/safearray.d ./src/supla-client-lib/srpc.d ./src/supla-client-lib/sthread.d ./src/supla-client-lib/supla-client.d ./src/supla-client-lib/supla-socket.d ./src/supla-client-lib/tools.d  ./src/mqtt/mqtt_pal.d  ./src/clientcfg.d  ./src/yaml/yaml.d  ./src/supla-client-lib/devicechannel.d  ./src/mqtt/mqtt.d ./src/mqtt/mqtt_client.d  ./src/client_command.d ./src/client_config.d ./src/client_device.d ./src/client_loop.d ./src/client_publisher.d ./src/client_state.d ./src/client_subscriber.d ./src/common.d ./src/supla_mqtt_client.d  supla-mqtt-client
parallels@parallels-Parallels-Virtual-Platform:~/supla-core/supla-mqtt-client/Release$ make all^C
parallels@parallels-Parallels-Virtual-Platform:~/supla-core/supla-mqtt-client/Release$ 
To prawidowy wynik, bo nie widze skompilowanego pliku a ten kod mi nic nie mowi
Beku
Posty: 297
Rejestracja: wt lis 06, 2018 1:49 pm

pn lut 03, 2020 11:17 am

Rawq pisze:
pn lut 03, 2020 11:12 am
Beku pisze:
śr gru 04, 2019 2:44 pm
Następnym krokiem jest pobranie samego klienta i skompilowanie go.

Kod: Zaznacz cały

git clone https://github.com/SUPLA/supla-core.git
cd supla-core
git checkout mqtt-experimental
cd supla-mqtt-client/Release
make clean
make all
Polecenie git checkout jest w tej chwili wymagane, ponieważ klient nie znajduje się jeszcze w głównej ścieżce dystrybucji Supli (jest w innym katalogu).
Powyższe polecenie powinno skutkować pojawieniem się w katalogu supla-core/supla-mqtt-client/Release skompilowanego pliku supla-mqtt-client. Jeśli wystąpiły jakieś błędy -> nie krępuj się - napisz w tym wątku! :)

Kod: Zaznacz cały

parallels@parallels-Parallels-Virtual-Platform:~$ git clone https://github.com/SUPLA/supla-core.git
Cloning into 'supla-core'...
remote: Enumerating objects: 11740, done.
remote: Total 11740 (delta 0), reused 0 (delta 0), pack-reused 11740
Receiving objects: 100% (11740/11740), 8.74 MiB | 4.32 MiB/s, done.
Resolving deltas: 100% (8757/8757), done.
parallels@parallels-Parallels-Virtual-Platform:~$ cd supla-core
parallels@parallels-Parallels-Virtual-Platform:~/supla-core$ git checkout mqtt-experimental
Branch 'mqtt-experimental' set up to track remote branch 'mqtt-experimental' from 'origin'.
Switched to a new branch 'mqtt-experimental'
parallels@parallels-Parallels-Virtual-Platform:~/supla-core$ cd supla-mqtt-client/Release
parallels@parallels-Parallels-Virtual-Platform:~/supla-core/supla-mqtt-client/Release$ make clean
rm -rf  ./src/yaml/yaml.o  ./src/supla-client-lib/cfg.o ./src/supla-client-lib/devicechannel.o ./src/supla-client-lib/eh.o ./src/supla-client-lib/ini.o ./src/supla-client-lib/lck.o ./src/supla-client-lib/log.o ./src/supla-client-lib/proto.o ./src/supla-client-lib/safearray.o ./src/supla-client-lib/srpc.o ./src/supla-client-lib/sthread.o ./src/supla-client-lib/supla-client.o ./src/supla-client-lib/supla-socket.o ./src/supla-client-lib/tools.o  ./src/mqtt/mqtt.o ./src/mqtt/mqtt_client.o ./src/mqtt/mqtt_pal.o  ./src/client_command.o ./src/client_config.o ./src/client_device.o ./src/client_loop.o ./src/client_publisher.o ./src/client_state.o ./src/client_subscriber.o ./src/clientcfg.o ./src/common.o ./src/supla_mqtt_client.o  ./src/supla-client-lib/cfg.d ./src/supla-client-lib/eh.d ./src/supla-client-lib/ini.d ./src/supla-client-lib/lck.d ./src/supla-client-lib/log.d ./src/supla-client-lib/proto.d ./src/supla-client-lib/safearray.d ./src/supla-client-lib/srpc.d ./src/supla-client-lib/sthread.d ./src/supla-client-lib/supla-client.d ./src/supla-client-lib/supla-socket.d ./src/supla-client-lib/tools.d  ./src/mqtt/mqtt_pal.d  ./src/clientcfg.d  ./src/yaml/yaml.d  ./src/supla-client-lib/devicechannel.d  ./src/mqtt/mqtt.d ./src/mqtt/mqtt_client.d  ./src/client_command.d ./src/client_config.d ./src/client_device.d ./src/client_loop.d ./src/client_publisher.d ./src/client_state.d ./src/client_subscriber.d ./src/common.d ./src/supla_mqtt_client.d  supla-mqtt-client
parallels@parallels-Parallels-Virtual-Platform:~/supla-core/supla-mqtt-client/Release$ make all^C
parallels@parallels-Parallels-Virtual-Platform:~/supla-core/supla-mqtt-client/Release$ 
To prawidowy wynik, bo nie widze skompilowanego pliku a ten kod mi nic nie mowi
wygląda na to że wpisałeś coś dziwnego

Kod: Zaznacz cały

make all^C
zamiast

Kod: Zaznacz cały

make all
Rawq
Posty: 17
Rejestracja: ndz lut 02, 2020 11:06 am

pn lut 03, 2020 11:45 am

Beku pisze:
śr gru 04, 2019 2:44 pm

wygląda na to że wpisałeś coś dziwnego

Kod: Zaznacz cały

make all^C
zamiast

Kod: Zaznacz cały

make all
Słusznie, teraz jest plik, dziękuje
Rawq
Posty: 17
Rejestracja: ndz lut 02, 2020 11:06 am

pn lut 03, 2020 1:21 pm

Beku pisze:
śr gru 04, 2019 2:44 pm

Konfiguracja

Konfiguracja klienta zamyka się na edycji trzech plików (znajdują sie w katalogu supla-mqtt-client/config). Najważniejszy i w większości jedyny jaki należy edytować to plik config_template.yaml.

Plik ten zawiera podstawową konfigurację klienta MQTT i jest podzielony na dwie części: konfiguracja dla MQTT oraz Supli.

Kod: Zaznacz cały

mqtt:
  host: 'mqttserverhost'
  port: 1883 
  commands_file_path: '../config/command.yaml'
  states_file_path: '../config/state.yaml' 
  client_name: 'supla_mqtt_client'
  protocol_version: 5
  publish_supla_events: true
supla:
  port: 2016
  host: 'localhost'
  access_id: 2
  password: 'password'
  protocol_version: 10
Następnie należy określić parametry połączenia z Suplą. Podajemy port (domyślnie 2016), nazwę hosta lub adres IP serwera Supli, identyfikator dostępu i hasło dostepowe. Wszystkie parametry możemy znaleźć po zalogowaniu się do Supla CLOUD (parametry supla-client). Ważne jest aby przed uruchomieniem klienta MQTT włączyć w CLOUD rejestrację urządzeń mobilnych. Klient rejestruje się właśnie jako dodatkowe urządzenie mobilne-plugin.
Obecny config_template.yaml nie zawiera wpisów odnośnie access_id i password jest tak:

Kod: Zaznacz cały

supla:
  port: 2016
  host: 'localhost'
  protocol_version: 10
  email: 'email@supla.org' 
  
W Supla CLAUD nie wyświetla się też żadne hasło, wystarczy wpisać tylko access_id i mail czy tylko sam mail ?
Beku
Posty: 297
Rejestracja: wt lis 06, 2018 1:49 pm

pn lut 03, 2020 6:24 pm

Sam mail. Postępuj wg instrukcji na github

https://github.com/SUPLA/supla-core/t ... t-client
Rawq
Posty: 17
Rejestracja: ndz lut 02, 2020 11:06 am

wt lut 04, 2020 9:06 am

Beku pisze:
pn lut 03, 2020 6:24 pm
Sam mail. Postępuj wg instrukcji na github

https://github.com/SUPLA/supla-core/t ... t-client
OK

Tym razem mam:

Kod: Zaznacz cały

parallels@parallels-Parallels-Virtual-Platform:~/supla-core/supla-mqtt-client/Release$ ./supla-mqtt-client -config config_template.yaml
INFO[1580806752.906706] initializing main loop
INFO[1580806752.907435] Client GUID: 65DC4370CE5117371E11218031484279
configuration file missing [parameter -config]
Beku
Posty: 297
Rejestracja: wt lis 06, 2018 1:49 pm

wt lut 04, 2020 10:10 am

Wskaż poprawna ścieżkę do pliku config_template.yaml

W parametrze -config
Rawq
Posty: 17
Rejestracja: ndz lut 02, 2020 11:06 am

wt lut 04, 2020 10:27 am

Sukces! Dziękuje :)
Jest połączenie, rozumiem, że za każdym razem muszę ręcznie startować z tego polecenia aby uruchomić proxy ?
ODPOWIEDZ