Aplicatie pe linia de comanda pentru controlul purificatoarelor de aer Philips. Suporta dispozitive care comunica prin HTTP, CoAP si CoAP criptat.

Instalare

Este necesar Python 3.4+. Instalati cu pip3:

$ pip3 instala py-air-control

Daca dispozitivul dvs. utilizeaza CoAP, actualizati dependenta CoAPthon3 pentru a obtine remedieri pentru mai multe erori cunoscute:

$ pip3 install -U git + https: //github.com/rgerganov/CoAPthon3

Configurare Wi-Fi

Purificatorul poate fi conectat la o retea Wi-Fi urmand pasii urmatori:

  1. Puneti purificatorul in modul de asociere. Pe AC2729, acest lucru se face tinand apasate butoanele de pornire si blocarea copiilor timp de 3 secunde. Purificatorul va crea o retea wi-fi deschisa “PHILIPS Setup”.
  2. Conectati computerul la reteaua „PHILIPS Setup” si obtineti setari IP prin DHCP. Adresa IP a purificatorului va fi 192.168.1.1.
  3. Acum puteti reconfigura reteaua wi-fi a purificatorului astfel:
airctrl –ipaddr 192.168.1.1 –wifi-ssid <your_wifi_ssid> –wifi-pwd <your_wifi_password>

Nota: aceasta caracteristica este disponibila numai pentru dispozitivele care functioneaza prin HTTP

Utilizare in reteaua locala

Obtinerea starii actuale a dispozitivului cu IP 192.168.0.17:

$ airctrl –ipaddr 192.168.0.17 [pwr] Putere: ON [pm25] PM25: 4 [rh] Umiditate: 32 [rhset] Umiditate tinta: 60 [iaql] Indice alergen: 1 [temp] Temperatura: 22 [func] Functie : Purificare si umidificare [modul] Mod: M [om] Viteza ventilatorului: 2 [aqil] Luminozitatea luminii: 100 [wl] Nivelul apei: 100 [cl] Blocare pentru copii: False

Nu trebuie sa specificati adresa IP (parametrul –ipaddr) daca exista un singur dispozitiv in reteaua LAN sau doriti sa trimiteti comenzi catre toate dispozitivele dvs. Adresa IP va fi autodetectata folosind SSDP (UPnP) daca portul UDP 1900 nu este blocat.

Puteti modifica setarile folosind prefixul dintre paranteze drept optiune pentru linia de comanda. De exemplu, pentru a seta viteza 2 a ventilatorului:

Pentru AC2889 poate fi necesar sa specificati atat modul manual, cat si viteza ventilatorului:

$ airctrl –mode M –om 2

Setati umiditatea tinta la 50%:

Schimbati functia in „Purificare”:

Opriti dispozitivul:

si asa mai departe

Pentru a obtine starea filtrelor:

$ airctrl –filters Pre-filtru si fitil: curatati in 245 ore Filtru fitil: inlocuiti in 3965 ore Filtru de carbon activ: inlocuiti in 1565 ore Filtru HEPA: inlocuiti in 3965 ore

Comutarea protocolului de comunicare

Utilizati –protocol pentru a comuta intre protocoalele de comunicatie. Urmatoarea comanda va incerca sa recupereze starea curenta utilizand protocolul CoAP cu criptare:

$ airctrl –ipaddr 192.168.0.17 –protocol coap

Urmatoarea comanda va incerca sa recupereze starea curenta utilizand protocolul CoAP fara criptare:

Rularea fara privilegii root (numai protocol Plain CoAP)

Functioneaza de la nucleul Linux 2.6.39.

Utilizati comanda id pentru a interoga ID-ul grupului:

Urmatoarea comanda seteaza gama de ID-uri de grup care au permisiunea de a crea socket-uri ICMP (parametrul kernel ping_group_range, implicit este „1 0”, ceea ce inseamna ca niciun grup nu are voie sa creeze socketuri ICMP Echo):

$ sudo sysctl -w net.ipv4.ping_group_range = “0 1000” net.ipv4.ping_group_range = 0 1000

Faceti-l permanent:

$ echo “net.ipv4.ping_group_range = 0 1000” | sudo tee -a /etc/sysctl.conf $ sudo sysctl -p net.ipv4.ping_group_range = 0 1000

(vezi si: https://man7.org/linux/man-pages/man7/icmp.7.html)

Iesirea diferitelor dispozitive

  • Pentru exemple suplimentare, faceti clic aici

Utilizare prin servicii cloud

Utilizati scriptul cloudctrl pentru a va controla dispozitivul prin cloudul Philips.

Mai intai trebuie sa va gasiti ID-ul dispozitivului, sa furnizati un cont si sa asociati contul cu ID-ul dispozitivului:

$ airctrl –ipaddr 192.168.0.17 –wifi {‘cppid’: ‘9dcc618e9a82045d’, … $ cloudctrl 9dcc618e9a82045d –pair 192.168.0.17 Crearea contului cloud … Conectare cu 000000fff0000019 ID client: 000000fff10d40F1C1C1 Client: 000000fff10d40F1 == Se schimba cheia secreta cu dispozitivul … Se salveaza session_key 512735aa3a5dc2608dfa8997b1b03a29 la /home/rgerganov/.pyairctrl Imperecherea cu 192.168.0.17 … {‘return’: [0]} Conectare cu 000000fff10d40a1 Trimiterea cererii de perechi in cloud. .. Starea relatiei: finalizata

Imperecherea trebuie facuta o singura data pentru fiecare dispozitiv, in reteaua locala a dispozitivului.

Apoi, puteti controla dispozitivul asociat prin internet utilizand ID-ul acestuia si contul salvat in ~ / .pyairctrl:

$ cloudctrl 9dcc618e9a82045d –pwr 1 Conectare cu 000000fff10d40a1 Trimiterea evenimentului {‘pwr’: ‘1’} catre dispozitivul cu ID 9dcc618e9a82045d

Nota: toate ID-urile si acreditarile de mai sus sunt generate aleatoriu si utilizate numai in scop ilustrativ Nota: aceasta caracteristica este disponibila numai pentru dispozitivele care functioneaza prin HTTP