hej,
uzywam supla-mqtt-client autorstwa beku od jakiesgos czasu i ostatnio po aktualizacji clouda do najnowszej wersji mam problem z miernikiem energii - nie odczytuje tego poprawnie.
z tego co udalo mi sie zdebugowac, to cloud wysyla teraz zupelnie inny typ kanalu/funkcji jak i same dana maja inna strukture.
aktualizowalem supla-device, kompilowalem raz jeszcze ale bez powodzenia - miernikow energii nie zczytuje :/
ktos moze pomoc? wiem ze malo danych ale nie wiem co ew wyslac, wiec to bedzie rozwojowe
supla-device mqtt
Nie kojarzę zmian w tym zakresie.desaint pisze: ↑pt sie 12, 2022 9:14 am hej,
uzywam supla-mqtt-client autorstwa beku od jakiesgos czasu i ostatnio po aktualizacji clouda do najnowszej wersji mam problem z miernikiem energii - nie odczytuje tego poprawnie.
z tego co udalo mi sie zdebugowac, to cloud wysyla teraz zupelnie inny typ kanalu/funkcji jak i same dana maja inna strukture.
aktualizowalem supla-device, kompilowalem raz jeszcze ale bez powodzenia - miernikow energii nie zczytuje :/
ktos moze pomoc? wiem ze malo danych ale nie wiem co ew wyslac, wiec to bedzie rozwojowe
Z tego co pamiętam, to supla-mqtt-client służył do tego, aby pobrać dane po MQTT z zewnętrznego urządzenia (np. licznik) i wysłać je do Supli.
Opisz może jak to masz skonfigurowane. Czy widać coś w logach?
Serwer/Cloud nie wysyła typów kanału ani funkcji. To urządzenie wysyła te dane do serwera.
Widzimy się na Supla Offline Party vol. 2
No to Beku zrobil tgo tak, ze widoczne jest urzadzenie w clodzie w smartfonach. Wszystko co zmienia sie na cloudzie przechodzi przez tego mqtt clienta i wysylane do brokera.
Wg mnie problem jest gdzies w interpretacji czy to jest miernik energii czy miernik impulsow:
./supla-mqtt-client/src/client_publisher.cpp w okolicach linii 185 (dodawalem kilka linii debuga wiec mi wyjdzie nieco inaczej) i tam jest case SUPLA_CHANNELFNC_IC_ELECTRICITYMETER a ja otrzymuje SUPLA_CHANNELFNC_ELECTRICITYMETER.
dodalem kolejnego case, ale znow schody kilka linii nizej, gdzie channel->getType() zwraca SUPLA_CHANNELFNC_ELECTRICITYMETER
jednak srpc_evtool_v1_extended2emextended() juz nic nie zwraca (tam znow jest sprawdzany typ w em_ev, a ten jest zapisany jako impulsy...
przy odczycie danych z licznikow sa przechowywane w jakies strukturze XXX_ExtendedValue, ale przed tym jest to konwertowane na taka strukture w devicechannel.cpp metoda converValueToExtended().
zrobilem tam debuga i value ktore tam jest przyjmuje dziwne warosci (nawet ujemne). Nie wiem jak to dale rozgryzc.
Wg mnie problem jest gdzies w interpretacji czy to jest miernik energii czy miernik impulsow:
./supla-mqtt-client/src/client_publisher.cpp w okolicach linii 185 (dodawalem kilka linii debuga wiec mi wyjdzie nieco inaczej) i tam jest case SUPLA_CHANNELFNC_IC_ELECTRICITYMETER a ja otrzymuje SUPLA_CHANNELFNC_ELECTRICITYMETER.
dodalem kolejnego case, ale znow schody kilka linii nizej, gdzie channel->getType() zwraca SUPLA_CHANNELFNC_ELECTRICITYMETER
jednak srpc_evtool_v1_extended2emextended() juz nic nie zwraca (tam znow jest sprawdzany typ w em_ev, a ten jest zapisany jako impulsy...
przy odczycie danych z licznikow sa przechowywane w jakies strukturze XXX_ExtendedValue, ale przed tym jest to konwertowane na taka strukture w devicechannel.cpp metoda converValueToExtended().
zrobilem tam debuga i value ktore tam jest przyjmuje dziwne warosci (nawet ujemne). Nie wiem jak to dale rozgryzc.
Wariant "IC" został dodany, aby odróżnić funkcję licznika energii na bazie licznika impulsów (np. LIW-01), od pełnoprawnego licznika elektrycznego (np. MEW-01).
Natomiast serwer/cloud nigdzie tych funkcji nie przesyła do urządzenia. To urządzenie je wysyła do serwera. Z tego co pamiętam, to to powinno działać bez żadnych zmian po stronie urządzenia. Sam mam jakieś stare arduino mega w domu ze starym softem, gdzie śmigają liczniki energii na bazie licznika impulsów i nic nie musiałem zmieniać.
Natomiast serwer/cloud nigdzie tych funkcji nie przesyła do urządzenia. To urządzenie je wysyła do serwera. Z tego co pamiętam, to to powinno działać bez żadnych zmian po stronie urządzenia. Sam mam jakieś stare arduino mega w domu ze starym softem, gdzie śmigają liczniki energii na bazie licznika impulsów i nic nie musiałem zmieniać.
Widzimy się na Supla Offline Party vol. 2
Sugeruję przejść na natywną integrację.
viewtopic.php?t=7844
viewtopic.php?t=7844
Tylko ten supla-mqtt-client z tego co kojarzę, to działał w drugą stronę, czyli zewnętrzne urządzenie działające po MQTT można dodać do Supli.pzygmunt pisze: ↑pt sie 12, 2022 11:00 am Sugeruję przejść na natywną integrację.
viewtopic.php?t=7844
Widzimy się na Supla Offline Party vol. 2
https://github.com/SUPLA/supla-core/tre ... qtt-client
"This project combines SUPLA with MQTT. Its basic functionality is publishing the status of SUPLA channels to the MQTT server and responding to MQTT server messages to control SUPLA channels. The output and input message patterns are configurable in the state.yaml and command.yaml files"
"This project combines SUPLA with MQTT. Its basic functionality is publishing the status of SUPLA channels to the MQTT server and responding to MQTT server messages to control SUPLA channels. The output and input message patterns are configurable in the state.yaml and command.yaml files"
Musisz dostosować się do tego co oferuje cloud.
byc moze tez, ale napewno dzialal w ta strone co napisalem ( i dziala) przy czym mam na tym zrobiona pelna automatyke, czyli nie tyle sceny co akcje i warunki i to jest najlepsze wlasnie. dlatego mi na tym zalezy zeby to dzialao.klew pisze: ↑pt sie 12, 2022 11:41 amTylko ten supla-mqtt-client z tego co kojarzę, to działał w drugą stronę, czyli zewnętrzne urządzenie działające po MQTT można dodać do Supli.pzygmunt pisze: ↑pt sie 12, 2022 11:00 am Sugeruję przejść na natywną integrację.
viewtopic.php?t=7844