Nov lučke API #9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lučke bi bilo fajn prestavit na "surov" API, da ne rabimo delat polling za preverjanje stanja. S tem bo zadeva ful bolj odzivna.
Specifikacija APIja
Ko zadevo implementiraš skopiraj (in po potrebi popravi) to specifikacijo v docs mapo
Avtentikacija
V odgovoru dobiš token:
WebSocket state updates
Na WebSocket pošlješ token in seznam tagov, ki te zanimajo. Od njega dobivaš live update.
Ob spremembi dobiš taka sporočila - eno lahko vsebuje več kot eno vrednost:
Pisanje na tage
Če je vse ok ti odgovori s kodo 200 in besedilom:
Mapiranje tagov
Za predavalnice dobimo mapping iz "source" kode (jadx go brrr). Za ostalo je problem kasneje.
Implementacija
Skripta prebere tag mapping iz neke datoteke. Ta datoteka je drugačna za vsako predavalnico in je shranjena v gitu. Ansible config določi katero datotko brat. Glej priložen tags.txt za seznam. Malo bo treba testirat da ugotovimo kaj je kaj. Naredi tabelo (predavalnica, ime_luči, dimmable, tag). Preveri ali je treba za dimmable luči poslat _out=1 in _out_dim_proc=100 ali je dovolj samo procent. Če je treba oboje, daj v tabelo namesto taga ločeno PLC ID in index luči, pa v kodi konstruiraj tage.
Ko maš mapirano pa še popravi frontend. Treba bo naret ločen component za P1 in P22 ker so pač različne luči na voljo.