Supla virtual device MQTT

porto
Posty: 4
Rejestracja: ndz gru 08, 2019 10:33 am

dogu18 pisze: sob paź 16, 2021 5:06 pm Witam

Próbuje zainstalować SVD na Debian 11 i wyskakuje mi takie coś

Kod: Zaznacz cały

wyse@wyse:~/supla-virtual-device$ ./install.sh
Getting the sources.
podpowiedź: Odradza się zaciągania bez podania, jak pogodzić rozbieżne gałęzie.
podpowiedź: Można uciszyć ten komunikat wykonując jedno z poniższych
podpowiedź: poleceń kiedyś przed następnym zaciągnięciem:
podpowiedź:
podpowiedź:   git config pull.rebase false  # scalenie (domyślna strategia)
podpowiedź:   git config pull.rebase true   # przestawienie
podpowiedź:   git config pull.ff only       # tylko przewinięcie
podpowiedź:
podpowiedź: Można zamienić „git config” na „git config --global”, aby ustawić domyślny
podpowiedź: wybór do wszystkich repozytoriów. Można też przekazać --rebase, --no-rebase
podpowiedź: lub --ff-only w wierszu poleceń, aby zmienić ustawione zachowanie
podpowiedź: w jednym wywołaniu.
Co jest nie tak.
Witam.
Czy ktoś rozwiązał ten problem???
Przy takiej samej instalacji na Debianie 11 osadzonym w Proxmox się zatrzymałem...
Pozdrawiam
porto
Posty: 4
Rejestracja: ndz gru 08, 2019 10:33 am

Z powyższym poradziłem sobie w ten sposób że system operacyjny z Debiana 11 obniżyłem do Debiana 10 i ruszyło bez problemów
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Patrząc po komunikatach, to one nie przerywają skryptu, tylko narzekają, aby użytkownik określił jak ma być robiony pull.

Na pewno nie trzeba zmieniać systemy na starszy ;).
Zawsze można w katalogu z repozytorium gita podać polecenie:

Kod: Zaznacz cały

git config pull.rebase false
i komunikat nie powinien się pojawiać.
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Pytanie do wyjadaczy, którzy ogarnęli w SVD współpracę z MQTT...

Chcę wysterować włącznik pracujący pod ZigBee3 i nadający do serwera MQTT używając zigbee2mqtt.

Niestety, nie potrafię sobie poradzić jak ustawić parametry kanału, żeby to zadziałało :(

W MQTT mam coś takiego:
Status w JSON na topicu zigbee2mqtt/ZBP01:

Kod: Zaznacz cały

{
  "linkquality": 255,
  "state": "ON"
}
Sterowanie odbywa się natomiast poleceniami wysyłanymi na topicu zigbee2mqtt/ZBP01/set wartościami ON i OFF

Więc wrzuciłem coś takiego

Kod: Zaznacz cały

[CHANNEL_0]
function=LIGHTSWITCH
state_topic=zigbee2mqtt/ZBP01
command_topic=zigbee2mqtt/ZBP01/set
payload_on=ON
payload_off=OFF
payload_value=state
i niestety, ale w MQTT cisza...
a może powinno być coś jeszcze zainstalowane na potrzeby komunikacji z MQTT?
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Połączenie chyba jest, ale w zigbee2mqtt/bridge/logging pojawia się błąd

Kod: Zaznacz cały

{
  "level": "error",
  "message": "Invalid message 'null', skipping..."
}
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Podsłuchałem komunikację i niestety, ale zabrnąłem w ślepy zaułek.
SVD przy zmianie stanu wywołanym w Supli wysyła pusty message pod command_topic gdyż nie można zdefiniować wartości message dla stanu ON (1) i stanu OFF (0). Myślałem, że to potrafi załatwić payload_on i payload_off i message będzie miało tam zdefiniowaną wartość, choć lepiej gdyby było to command_on i command_off (ale one wywołują komendy bash). Gdyby chociaż command_on i command_off podstawiały do message wynik zwrócony przez polecenie tu zapisane, wtedy mogłoby to wyglądać tak

Kod: Zaznacz cały

command_on=echo ON
command_off=echo OFF
Niby jest command_template ale tu można ustawić tylko 1 wartość albo ON albo OFF co jest bez sensu albo $value$, które podmienia message na stan kanału ale tylko albo 1 albo 0, bez konwersji na ON albo OFF czy też true lub false :(
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

No i jakoś sobie poradziłem.
Zmodyfikowałem trochę kod i dodałem dwie opcje konfiguracji kanału, które mówią klientowi MQTT Supli co ma wysłać do serwera MQTT jeśli stan kanału zmieni się na on czy też na off.
Teraz wygląda to tak:

Kod: Zaznacz cały

[CHANNEL_0]
function=LIGHTSWITCH
state_topic=zigbee2mqtt/ZBP01
payload_on=ON
payload_off=OFF
payload_value=/state
command_topic=zigbee2mqtt/ZBP01/set
command_template_on=ON
command_template_off=OFF
Na topic zdefiniowany w command_topic po zmianie stanu kanału na on zostanie wysłana wartość z command_template_on a po zmianie stanu kanału na off zostanie wysłana wartość z command_template_off

Zainteresowani tymi zmianami znajdą je na moim forku https://github.com/Goral64/supla-virtual-device
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Devian
Posty: 15
Rejestracja: śr sie 03, 2022 11:22 am

W jaki sposób sterować urządzeniami poprzez MQTT ?
Przydałby się jakiś przykład config + komenda jaką trzeba wysłać do Brokera
s_pol
Posty: 33
Rejestracja: pt mar 08, 2019 9:13 pm

Goral64 pisze: śr cze 29, 2022 10:03 pm No i jakoś sobie poradziłem.
Zmodyfikowałem trochę kod i dodałem dwie opcje konfiguracji kanału, które mówią klientowi MQTT Supli co ma wysłać do serwera MQTT jeśli stan kanału zmieni się na on czy też na off.
Teraz wygląda to tak:

Kod: Zaznacz cały

[CHANNEL_0]
function=LIGHTSWITCH
state_topic=zigbee2mqtt/ZBP01
payload_on=ON
payload_off=OFF
payload_value=/state
command_topic=zigbee2mqtt/ZBP01/set
command_template_on=ON
command_template_off=OFF
Na topic zdefiniowany w command_topic po zmianie stanu kanału na on zostanie wysłana wartość z command_template_on a po zmianie stanu kanału na off zostanie wysłana wartość z command_template_off

Zainteresowani tymi zmianami znajdą je na moim forku https://github.com/Goral64/supla-virtual-device
Co znaczy, że cyt."Zmodyfikowałem trochę kod i dodałem dwie opcje konfiguracji kanału"?
Modyfikowałeś samego SVD, czy masz na myśli plik .cfg.?
U mnie Twój sposób nie działa, tzn. nie zmienia się 1->ON (0->OFF), a nasłuchując (mosquitto_sub) widzę tylko "payload":null :cry:
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Zmodyfikowałem kod programu w swoim forku na githubie.
To dało nowe możliwości.
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
ODPOWIEDZ

Wróć do „Projekty użytkowników”