Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
odczyt stanu pracy urzadzen grupy HAIER
#1
Urządzenia grupy HAIER a właściwie Candy Hoover Group S.r.l mają obsługę przez www ale oryginalna przystawka jest dość droga.

Wystarczy jednak wpiąć dowolny dongle wifi usb do gniazda pompy lub klimy i zaczyna on samoistnie komunikacje po dhpc z dowolną otwartą siecią, próbując wysłać na serwer /tu rożne IP/ swój numer seryjny.
Po zakupie sterownika www który jest dość drogi dostajemy dedykowany dongl USB lub moduł WIFI oraz dostęp do serwera HAIER
Na stronie www wklepujemy sn lub konfigurujemy app w fonie i możemy też wtedy skonfigurować sieć zabezpieczoną by w pełni kontrolować urządzenie zdalnie. 
Serwer wysyła protokołem mqtt /prawdopodobnie?/ komendy do odbiornika  bo za każdym razem json oddaje "sn":"00200f009af2d150"  gdzie 0f-00-9a-f2-d1-50 to MAC dongla /0020 rodzaj protokołu typ oprogramowania albo kategoria sprzętu tak podejrzewam - ostatni przykład poniżej/ prawdopodobnie w celu aktualizacji ip/upnp/etc.

W logach komunikacji można wyłapać kilka zapytań przychodzących GET które lecą cyklicznie np GET: IP/environ/system.cgi?cmd=state które zwraca nam JSON

Kod:
{"cmd":"state","output":"00000000","input":"00110010","sn":"00200f009af2d150"}

przykłady z loga dla zobrazowania: url GET => Json
GET IP/env/status.cgi?cmd=stat           => {"cmd":"stat","out":"00000000","inp":"00110010","sn":"0020xxxxmacxxx"}
GET IP/envirt/stat.cgi?cmd=state         => {"cmd":"state","outputs":"00000000","inputs":"01111101","sn":"0040xxxxmacxxx"}
GET IP/status.cgi?cmd=status              => {"cmd":"status","output":"00000000","input":"11110010","sn":"0040xxxxmacxxxx"}
GET IP/env/stato/                                 => {{"env":"stato"},{"usc":"00000000"},{"isc":"00111110"},{"sn":"0120xxxxmacxxx"}}

jak widać adres GET może się nieco różnic, w zależności od dystrybucji environ lub env, envirt sys lub system.cgi: status lub stat, state  podobnie z odpowiedzią nie zawsze element ma nazwę input/output ale w przeważającej większości odp jest taka sama, w każdym razie jej wartość to zawsze 8 stanów 1/0 które odpowiadają kolejno /na podstawie obserwacji własnych/

event0 => 0 - pover on/off
event1 => 0 - manual/auto
event2 => 1 - cooling/warming
event3 => 1 - external pump on/off
event4 => 0 - external valve state
event5 => 0 - silent on/off
event6 => 1 - external sensor on/off
event7 => 0 - alarm/fault

output/out/outputs to prawdopodobnie stany złącza out /w praktyce stany input kolejnej pompy/ jeśli mamy kilka urządzeń spiętych w instalacji.

zewnętrznym plikiem można pharsować jsona i podać wartości po httpapi na event w lk używając kodu /fragment/
Kod PHP:
if (!isset($json)){$json '{"env":"stato","usc":"00000000","isc":"00110001","sn":"0120xxxxmacxxx"}';}    //simple data
$out "isc";                                                                                             //wyszykiwana odpowiedz
preg_match('/,[{[]*["\']'.$out.'["\']:["\'](.*)["\'][}]]*,/i'$json$r);                                //wyszukiwanie tagu w kazdym typie JSON
if (strlen($r[1])<8) { $r[1] .= "XXXXXXXX";}                                                              //korekta na wypadek bledu
$d str_split($r[1]);                                                                                    //rozdzielenie na wartosci
$url $IP."/outs.cgi?vout0=".$d[0]."&vout1=".$d[1]."&vout2=".$d[2]."&vout3=".$d[3]."&vout4=".$d[4]."&vout5=".$d[5]."&vout6=".$d[6]."&vout7=".$d[7]; 

nie tylko pompy ciepła i klimy maja gniazda USB .... lodówki pralki,suszarki - HAIER robi sporo sprzętu z wifi

Oczywiście....cytując.... Candy Hoover Group S.r.l nie udziela odpowiedzi w kwestii szczegółów swoich rozwiązań technicznych, a wszelkie ingerencje w sprzęt oraz protokoły komunikacji wiążą się z utratą gwarancji. Zalecamy korzystanie z dedykowanych rozwiązań dostępnych u naszych przedstawicieli.

może komuś się przyda ten tutorial - pytania mile widziane.

Testy przeprowadzono na HAIER AU082FYCRA | AS35S2SF1FA-BH | 1U35S2SM1FA | AS35TADHRA-CLC | AU112FYCRA
e-chata.hyzne.com | LK1 - sterowniki akwarystyki | LK2 - sterowniki ihome | LK3 - niezliczone ilości wersji/nakładek na farmach PV i nie tylko | LK4 - testy bezprzewodowe
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości