Jak vytvořit Integraci

Integrace a HACS
Odpovědět
jirkap
Nováček na fóru
Nováček na fóru
Příspěvky: 4
Registrován: 06. září 2023, 22:58
Dal poděkování: 1 poděkování

Jak vytvořit Integraci

Příspěvek od jirkap »

Dobrý den všem,
tak nějak koukám k čemu HA použít a vidím, že to všichni používají s různými ESP a ZIGBEE a jinými bezdrátovými pojítky. Nenašel jsem reálné použití s drátovým připojením nějakých periferních zařízení s MCU. Třeba jen nějaká reléová destička nebo destička s 8 analogovými vstupy. Mám na mysli možnost připojení po RS485 s tím, že jednoduchými příkazy např. Rele1=ON nebo Rele1=OFF by se ovládali relátka a např. AN1=? by se vyčetla z analogového vstupu hodnota. Tak jsem si říkal, že bych si integraci zkusil napsat. Ale vyhořel jsem hned při pokusech s https://dev.to/adafycheng/write-custom- ... stant-4fce
kde při spuštění python3 -m script.scaffold integration jsem obdržel hlášku, že script.scaffold je neznámý.
Prosím, máte někdo zkušenosti s psaním vlastní integrace a jste schopen mně navést k cíli?
Díky
Jirka

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 2626
Registrován: 30. září 2020, 20:33
Dal poděkování: 130 poděkování
Dostal poděkování: 287 poděkování

Re: Jak vytvořit Integraci

Příspěvek od Pete30 »

Neznám tvoje pohnutky, ale proč vymýšlet kolo a tahat dráty když 99% věcí funguje po wifi.
Jediné drátové připojení mám ovládání ventilátoru chlazení Rpi4 přes GPIO Rpi4.
Uniká mi smysl vzít nějaký kontrolér MCU a propojit ho např. 15 m drátu k HA abych spínal relátka, nebo jsem to špatně pochopil :sorry:
Třeba se někdo najde kdo poradí, ale moc nás tady nebude.
Pokud nejsem přítomen tak jsem na rybách ;)

jirkap
Nováček na fóru
Nováček na fóru
Příspěvky: 4
Registrován: 06. září 2023, 22:58
Dal poděkování: 1 poděkování

Re: Jak vytvořit Integraci

Příspěvek od jirkap »

Díky za názor, já bych to otočil, protože u mně TO KOLO je právě ta WiFi nebo jiné bezdrátové pojítko. Dráty byly první a ty zůstanou na vždy. Pro mně jsou dráty spolehlivější. Z hlediska vyššího principu mám třeba aplikaci na měření vodní hladiny v jímce na užitečnou vodu, kam mám připojeny 2 zdroje vody. Jedním jsou okapy ze střechy a druhým je čerpadlo z vrtu. Z jímky beru vodu pro závlahu, která má 8 větví. Dnes to mám udělaný tak, že měřím hladinu vody pomocí vyváženého plováku a tenzometru, takže vím, kolik vody tam mám a vím kolik vody sežere zálivka třeba i na jednotlivé okruhy, tedy pokud zrovna neprší a nemám zároveň odtok a přítok z a do nádrže. V podstatě před zálivkou mohu vodu dopustit do požadovaného technologického minima, pokud bych měl nedostatek ze srážek. Takže toto dnes funguje autonomně a toto bych chtěl nějakým způsobem zvizualizovat. Představu mám takovou, že jednak bych to mohl provozovat v autonomním režimu a v HA bych měl vidět poměry spotřebované a dodané vody a taktéž bych tam měl přepínač, kterým bych mohl buď nechat zařízení tak jak je a nebo přepnout do režimu řízení přes HA. Potom bych si představoval v HA nějaké vazby třeba na předpověď počasí, východ/západ slunce, vlhkost, atd. Takže HA by měl nějakým jednoduchým způsobem jako MASTER vyžadovat a zapisovat data ze zmíněného zařízení.
Druhým důvodem k nepoužití bezdrátu je moje občasná na radioamatérských pásmech, takže nejrůznější bezdrátová pojítka jsou i z tohoto důvodu pro mně až nejnouzovějším řešením. Předpokládám, že bych postupně nabaloval jednotlivá aplikovaná zařízeníčka a každé by muselo mít nějaké pojítko, tak jich nakonec může být cca 40.
Tak asi tak. Navíc si myslím, že by takovou obecnou možnost uvítalo více lidí. Kdysi jsem něco podobného dělal v OpenHABu, ale tenkrát to bylo ve verzi 2.4, kdy OpenHAB měl podporu TCP/UDP Binding, jenže ta od verze 2.5 zmizela bez náhrady. V OpenHABu jsem to řešil tak, že jsem měl v C napsaný jakýsi kolotoč, který periodicky zajišťoval komunikaci s jednotlivými zařízeními a veškeré stavy a požadavky ukládal a vybíral přes MySQL databázi. OpenHAB přes TCP šahal do databáze a staral se o vizualizaci a případné ovládání.
Ještě mi připadá, že novodobí programátoři jsou v podstatě jakýsi lepiči. Něco někde vezmou, splácají to s něčím jiným, ono to nějak funguje, ale ne úplně ideálně, tak to trošku přiohnou a kdyby to za půl roku nešlo nebo se něco vyvalilo, tak udělají záplatu. Takovéto naplnění výzvy - vymyslet lepší kolo, to mi u těch lidí chybí. Člověk by se neměl spokojit s tím co je, ale měl by jít dál a pokusit se udělat to líp. Tím se nechci dotknout nikoho ze zdejších přispívajících uživatelů.
Dokážeš mi tedy nějak pomoci?

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 2626
Registrován: 30. září 2020, 20:33
Dal poděkování: 130 poděkování
Dostal poděkování: 287 poděkování

Re: Jak vytvořit Integraci

Příspěvek od Pete30 »

Já určitě nepomůžu, nejsem programátor jen jsem se naučil spoustu věcí okolo HA a ESPHome protože mě to baví :sorry:
Možná by byl dobrý začátek zde https://developers.home-assistant.io/do ... ent_index/
Pokud nejsem přítomen tak jsem na rybách ;)

kiklhorn
Moderátor
Moderátor
Příspěvky: 553
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 71 poděkování
Dostal poděkování: 133 poděkování

Re: Jak vytvořit Integraci

Příspěvek od kiklhorn »

Asi bych si objednal https://www.laskakit.cz/laskakit-esplan ... max485-poe a zkusil to napsat pod ESPHome...

Pokud stále chceš vlastní integraci tak by to chtělo konkrétní kód a konkrétní chybové hlášky.
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

jirkap
Nováček na fóru
Nováček na fóru
Příspěvky: 4
Registrován: 06. září 2023, 22:58
Dal poděkování: 1 poděkování

Re: Jak vytvořit Integraci

Příspěvek od jirkap »

On konkrétní kód neexistuje, neboť nejsem schopen spustit dle popisu https://developers.home-assistant.io/do ... ent_index/ vytvoření první integrace. Z vývojového prostředí HA spustím dle pokynů "python3 -m script.scaffold integration" a dostánu hlášku, že script.scaffold je nedostupný.

OK, tak cestu vlastní integrace odložím na později, až o tom budu více vědět a mohl bych zkusit cestu AppDaemon. Předpokládám, že v Pythonu bych napsal kód, který by jednak čekal na provoz na sériové lince, pokud by tam nic nebylo po nějaký čas, tak bych odeslal paket do prvního řídící jednotky, ta by odpověděla (nebo taky třeba ne, tak zkouším třeba 2x znovu) a zpracuju to co poslala - nějaké aktuální měřené hodnoty a stavy. Přesunu se na další jednotku a opět zažádám o aktuální stavy. Atd..., třeba 30x podle počtu jednotek. Jako začátečník s HA si to představuju asi moc jednoduše. Nevím ale, jak dostanu ty přijaté hodnoty do konkrétních entit. Tedy spíš jak vytvořím třeba pro první řídící jednotku entitu měřená hodnota hladiny, dále stav výstupního relé pro ovládání čerpadla, a třeba entiru nějaké požadované hodnoty. A potom jak ty entity napáruju na ta přijatá data. A třeba obráceně kdybych měl entitu požadované hodnoty, jejíž hodnotu změním v HA, tak jak to protlačím do komunikačního kódu v AppDaemonu. Dokáže mně prosím někdo nasměrovat, jak toto provádět?
Díky za přečtení a případné nasměrování.

kiklhorn
Moderátor
Moderátor
Příspěvky: 553
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 71 poděkování
Dostal poděkování: 133 poděkování

Re: Jak vytvořit Integraci

Příspěvek od kiklhorn »

Opravdu to pouštíš z vývojového prostředí HA? https://developers.home-assistant.io/do ... nvironment
Teď jsem návod zkoušel:
Snímek obrazovky 2023-09-07 222416.jpg

S AppDaemon zkušenosti nemám, ale asi bych postupoval klasickým způsobem - prostudovat dokumentaci, pochopit, vyzkoušet, použít.

Když jsem s HA začínal tak jsem psal kamarádovi vlasní integraci pro dva spřažené solární invertory a automatizaci pro přepínání zdrojů energie.
Jede na tom dodnes. Někde to tu na fóru bude, ale téměř jistě už nefunkční na aktuální verzi HA. Dnes bych už touto cestou nešel.
----------

Teď druhá věc.
Z textu prvního dotazu chápu následující:
- Ne bezdrát
- RS485
- Na konci běžná relé, analogové vstupy (Tak proč vlastní integraci? Tu bych chápal třeba u kávovaru)

Nevidím na tom žádný důvod proč se starat o nějaký pooling zařízení a další low-level operace. To už je všechno vymyšlené a funkční.
Připojovat věci přímo na (asi máš Raspberry) mi nepřijde vůbec jako dobrý nápad.
Neberu do úvahy jen elektrické poruchy, ale i to že HA běží na všem možném a třeba u RPi nezůstaneš.
Vývoj systému se tímto směrem i ubírá - GPIO integrace už není součástí HA (ale jako doplněk existuje)
Je to mozek, tak ať řídí a různé svaly ať jsou jinde...

Desku https://www.laskakit.cz/laskakit-esplan ... ax485-poe/ už jsem odkazoval, případně ji doplnit o PoE modul.

Desku jsme připomínkovali už ve fázi vývoje, takže je podporovaná síťová karta
https://esphome.io/components/ethernet. ... ht=lan8720
i ten RS485
https://esphome.io/components/modbus_controller.html

Tímto by byl vyřešen RS485 kontrolér připojený ethernetem. Takže to vyhovuje podmínce žádný bezdrát.

A jako koncová zařízení RS485 s relátky a analogy - Nějaký převodník serial/RS485, modul s procesorem co podporuje CircuitPython/Micropython - třeba RP2040, nebo Arduino (ATMEGA, ESP32, SAMD21, PSoC4000...) k tomu případný level shifter, relátka... Na analogové vstupy dtto třeba s multiplexorem CD74HC4067


Osobně bych asi při podmínce žádný bezdrát používal rovnou všude ESP32 s ethernetem a vůbec se nezabýval RS485, ale v pricipu je to asi jedno.


Teď k automatizacím
- na úrovni ESPHome je nejblíže HW - pokud na modulu je jak tlačítko nebo senzor tak relé které to má ovládat tak se to přímo nabízí
- na úrovni HA (funkční, většina nejen běžných věcí v tom jde udělat)
- doplňek NodeRED (automatizace na steroidech, nic není nemožné)
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

jirkap
Nováček na fóru
Nováček na fóru
Příspěvky: 4
Registrován: 06. září 2023, 22:58
Dal poděkování: 1 poděkování

Re: Jak vytvořit Integraci

Příspěvek od jirkap »

OK, díky za nakopnutí - otestování vývojovýho prostředí. Zkusím to nainstalovat do stroje znovu a uvidím.
Každopádně vzdát se bez boje tvorby integrace nechci, tak to alespoň zkusím nějak jednoduše. Jdu tedy bojovat.
Pěkněj den
Jirka

vitaka
Nováček na fóru
Nováček na fóru
Příspěvky: 6
Registrován: 04. duben 2023, 12:50

Re: Jak vytvořit Integraci

Příspěvek od vitaka »

Ahoj, na WiFi mám podobný názor. Tvořím zařízení na ovládání RGB osvětlení bazénu, spínání spotřebičů napájených z FVE atd. Zatím jsem ve fázi testovacího zapoojení na kontaktním poli a ovládání několika LED a relé. Použil jsem W5100S-EVB-PICO (v podstatě RPI Pico s ethernet shieldem na jedné desce). Pro komunikaci s HA jsem použil integraci MQTT a funguje to perfektně. Připojený jsem ethernetem a přes MQTT Mosquito posílám příkazy na spínání výstupů. Stejně tak můžu do HA přijímat zprávy od zařízení a reagovat na ně.

Odpovědět

Zpět na „Integrace“