Supla virtual device MQTT

porto
Posts: 4
Joined: Sun Dec 08, 2019 10:33 am

Post

dogu18 wrote: Sat Oct 16, 2021 5:06 pm Witam

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

Code: Select all

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
Posts: 4
Joined: Sun Dec 08, 2019 10:33 am

Post

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
User avatar
klew
Posts: 8355
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

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:

Code: Select all

git config pull.rebase false
i komunikat nie powinien się pojawiać.
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
Goral64
Posts: 3134
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie

Post

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:

Code: Select all

{
  "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

Code: Select all

[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

Image
User avatar
Goral64
Posts: 3134
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie

Post

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

Code: Select all

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

Image
User avatar
Goral64
Posts: 3134
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie

Post

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

Code: Select all

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

Image
User avatar
Goral64
Posts: 3134
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie

Post

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:

Code: Select all

[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

Image
Devian
Posts: 15
Joined: Wed Aug 03, 2022 11:22 am

Post

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
Posts: 33
Joined: Fri Mar 08, 2019 9:13 pm

Post

Goral64 wrote: Wed Jun 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:

Code: Select all

[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:
User avatar
Goral64
Posts: 3134
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie

Post

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

Image

Return to “Projekty użytkowników”