( kroozo | 2022. 08. 15., h – 08:58 )

[akit a konkrét gree wifi érdekel, lapozzon nyugodtan, bocsi]

Ezzel én egyet értek, elméletben legalábbis biztosan.

A gyakorlatban kicsit nehéz ügy, most attól tekintsük el, hogy a REST meg a HTTP az eléggé ugyanaz, és a REST nem egy szabvány (ráadásul 100-ból 99 magát RESTnek hazudó API valójában nem az), a nagyobb baj, hogy a terület ennél sokkal bonyolultabb.

Egyrészt van már olyan ezen a területen, ami szabvány, lásd zigbee, (meg tulképp a zwave), és remekül lehet látni a zigbeenél, hogy ugyanúgy szopkovics van, mert mindenféle proprietary extensionök vannak, meg a szabványban (egyébként jogosan) nem kötelező dolgok nincsenek leimplementálva olyan eszközökben sem, ahol egyébként nyugodtan lehetne.

Másrészt azért ez egy erősen turbulens terület, nem annyira jó ötlet bezárni őket valami konkrétumba. A telefontöltő jó példa, nézd meg, hogy mekkora effort most átállni a korábbi micro usbről az usb-c-re, pedig az egy jóval egyszerűbb probléma, jellemzően gyorsabb turn-around timeos eszközökkel.

Harmadrészt hiába mondod azt, hogy legyen pl REST, igazából nem vagy előrébb ezzel, mert azt, hogy ott pontosan mi hol van, mit kell csinálni, azt még mindig nem tudod ebből, és ugyanúgy le kell wrappelni valahol lokálisan. A HA (meg a másik legalább 5 hasonszőrű életképes projekt) mondjuk egészen jó példa arra, hogy sokkal fontosabb volna, hogy legyen az eszközhöz APIjához kötelezően jó doksi, hogy esetleg legyen valamennyi minimális előírt featureset (bár ez már elég nehéz), hogy kötelező legyen olyan APIt adni, amit lehet használni a gyáró külső szarja nélkül (tehát igen, ha secure kulcsokkal bohockódol, akkor le kell írni, hogy hogy tudom helyettesíteni), mintsem az, hogy konkrétan milyen. Mert ha le van írva, akkor lehet jól csinálni, ha van rá igény, ha meg nincs, akkor jönnek az ilyen reverse engineerelt baszások, amik pl ehhez a greehez vannak jobb híján. A reverse engineer a nagyobb baj, nem az, hogy vmi udp felett menő bohóckodás igazából.

Negyedrészt azért elég nehéz ám scopeolni, hogy ki az, akinek meg kell felelni az ilyesminek. Ok, az okos konnektor játszik*, mondjuk az elektromos radiátorszelep is. A klíma, hát az már határeset, de mi van pl a tököm rádiós időjárás állomással, vagy pl az androidos tévémmel? A wifis hangszóróval?

Negyedrészt, bár ez a legkevésbé érdekes, de a HTTP és a REST pont elég fos választás, mivel az ilyen eszközök jellemzően akarnak felfele adatot közölni.

*egyébként minek baszol tasmotaval, ott a shelly, natívan beszél mqtt-t, ha arra játszol, de a saját coap alapú protokoljuk is teljesen jó. Van doksi, by design mennek a saját felhőjük nélkül (hálistennek, mert a facet nézve, azt nem tudnak jót írni), nem értem, miért nem kapcsolod ki a wifit az ipari hulladék okos konnektorodban :)