Asystent AI
Powiadomienia
Wyczyść wszystko

Współpraca AFE z serwerem Domoticz

9 Wpisów
2 Użytkownicy
0 Reactions
4,835 Wyświetleń
isom
Wpisów: 5319
 isom
Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@isom)
Szef wszystkich szefów
Dołączył: 8 lat temu
[#381]

Miałem ostatnio trochę więcej czasu , więc postanowiłem bardziej się przyjrzeć współpracy oprogramowania AFE z serwerem domoticz. Do tej głębszej analizy skłonił mnie też wątek o aktualizacji stanu  przełącznika i problemy z tym związane.

Podstawowy problem jaki pojawił się w moich testach , to brak reakcji serwera na polecenia wysyłane z linii komend , w czym rzecz

  o ile komenda  http://<espip>/?device=relay&name=switch&command=on&source=domoticz

ustawiła przekaźnik modułu  na On  , to wysłana z poziomu okna przeglądarki , lub innej aplikacji niż domoticz  nie zmieniła  statusu przełącznika na pulpicie domoticza .

Nie wiem co moduł ESP wysyła do domoticza po zmianie stanu swojego GPIO , ale na pewno to co wysyła jest niezrozumiałe dla serwera.

Bazując na dokumentacji domoticza , wysłałem do serwera komendę zawierającą nr IDX przełącznika przypisanego do tego ESP na potrzeby testu  IDX = 10

http://<serwerip>:port/json.htm?type=command&param=switchlight&idx=10&switchcmd=On  i stan przełącznika na pulpicie domoticza się zaktualizował .

 Oczywiście z wiadomych względów moduł na tą komendę nie zareagował .

Ponieważ nie umiem napisać firmware , wgrałem do modułu espeasy  i  powyższa komenda wpisana z dowolnej przeglądarki zmieniła stan GPIO w ESP , oraz stan w domoticzu .

Wysłałem  http://<serwerip>:port/json.htm?type=devices&rid=10  

Dostałem aktualny stan przełącznika .

Wydaje mi się , że trzeba by przerobić firmware , a potem  dopiero myśleć  o aktualizacji stanu , bo na tą chwilę nawet podłączony i dobrze działający moduł ESP może się rozmijać ze stanem pokazywanym przez serwer .


8 Odpowiedzi
1 odpowiedź
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 12 lat temu

Szefu
Wpisów: 4083
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

Tę komendę trzeba używać tylko z Domoticz. W komendzie dodany jest dodatkowy parametr source=domoticz, który eliminuje problem niekończącej się pętli zmiany statusów opisanej tutaj

http://<espip>/?device=relay&name=switch&command=on&source=domoticz

Działa to właśnie tak, że urządzenie po jej otrzymaniu nie wysyła statusu do domoticz.

Z poza Domoticz , np z przeglądarki komenda sterująca to 

http://<espip>/?device=relay&name=switch&command=on

Wszystkie komendy HTTP opisane sa tutaj

 


Odpowiedz
isom
Wpisów: 5319
 isom
Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@isom)
Szef wszystkich szefów
Dołączył: 8 lat temu

To zapytam inaczej , bo chyba się nie zrozumieliśmy

Na jakiej podstawie zmienia się stan ikony w domoticzu , po zmianie stanu GPIO przy użyciu przycisku ręcznego ?


Odpowiedz
adrian
Wpisów: 4083
Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@adrian)
Szefu
Dołączył: 12 lat temu

Po zmianie stanu GPIO przypisanego do sterowania przekaźnikiem

  • stan przekaźnika zmieniany jest na stan przeciwny do stanu z przed zmiany stanu GPIO
  • jeśli API Domoticz jest włączone w konfiguracji urządzenia
  • Odczytywany jest stany przekaźnika (STATE)
  • Odczytywany jest IDX, adres serwera domoticz, porty itp zapisane w konfiguracji AFE
  • Wysyłana jest komenda HTTP do Domoticz 

http://<serwerip>:port/json.htm?type=command&param=switchlight&idx=IDX&switchcmd=STATE  

pozdrawiam


Odpowiedz
isom
Wpisów: 5319
 isom
Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@isom)
Szef wszystkich szefów
Dołączył: 8 lat temu

Wielkie dzięki za bardzo precyzyjną odpowiedz 🙂 Podejrzewam , że soft esp...y robi to na podobnej zasadzie , z tą różnicą ,że wysłanie komendy  http://<serwerip>:port/json.htm?type=command&param=switchlight&idx=X&switchcmd=On

i komendy  http://<espip>/control?cmd=GPIO,X,1, Robi taką samą robotę realizując zmianę stanu przekaźnika  i zmianę statusu ikony w domoticz

dodatkowo odłączony moduł od zasilania wali errorami w logach , co ułatwia ocenę sytuacji , moduł z AFE po odłączeniu od zasilania wali error tylko po wysłaniu komendy ON- OFF

 

Błędy wyłączonego sonoffa
Sorry muszę trochę Cię pomęczyć bo szkoda mi rezygnować z AFE a za stary jestem żeby uczyć się kompilowania firmware

Odpowiedz
1 odpowiedź
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 12 lat temu

Szefu
Wpisów: 4083
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

męcz, męcz :-), jak coś można usprawniać to ja jestem chętny - tylko może trochę potrwać bo czasu mało 😉


Odpowiedz
isom
Wpisów: 5319
 isom
Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@isom)
Szef wszystkich szefów
Dołączył: 8 lat temu

Nic nie musi być na już , tym bardziej że jak coś się zrobi za szybko to można robić dwa razy .  Przy automatyce cierpliwość to skarb 🙂  Pamiętam jak na jednym esp chciałem za wszelką cenę ogarniać po 7 przekaźników i wyszło tak , że potem to wszystko przerabiałem ,żeby uzyskać sensowną funkcjonalność .

Wracając do tematu analizowałeś może logikę firmware esp... ? Z czego wynika , że w easy nie ważne z jakiego poziomu wysłana komenda obsługuje i GPIO i serwer a w AFE trzeba użyć podstawowej komendy w przeglądarce, a z poziomu domoticza trzeba dopisywać source=domoticz ?


Odpowiedz
1 odpowiedź
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 12 lat temu

Szefu
Wpisów: 4083
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

Nie analizowałem jak działa  EspEasy (jak rozumiem)

a sprawdź czy jak nie przełączysz w tym module z EspEasy kilka razy bardzo szybko przekaźnikiem za pomocą GPIO to nie wpadnie Ci w pętlę. 

 


Odpowiedz
Strona 1 / 2
Udostępnij: