Integrace RichPear Home

Python Scripts

Python Scripts umožňuje spouštět jednoduché Python skripty z RichPear Home. Hodí se pro malé lokální úlohy, které nepotřebují plnou vlastní integraci.

Doména
python_script
Kategorie
Automatizace
Komunikace
podle nastavení integrace
Nastavení
ruční konfigurace
00

Co návod pokrývá

Návod popisuje praktické zapojení integrace Python Scripts v RichPear Home, přípravu zařízení nebo účtu, kontrolu entit a zásady bezpečného použití v automatizacích.

Uživatelé obvykle otevírají systém na http://rphome.local:8123. Pokud tato adresa nefunguje, použijte http://IP-ADRESA:8123.

Hlavní témata

  1. Writing your first script, reading input and logging the activity
  2. Triggering events
  3. Calling services
  4. Returning data
  5. Documenting your Python scripts
  6. Akce
01

Příprava

Povolte složku pro Python skripty a připravte skripty tak, aby běžely v omezeném prostředí. Nepočítejte s libovolnými importy ani s přístupem ke všem systémovým funkcím.

Nastavení provádějte z účtu správce. Před přidáním si připravte názvy místností, očekávané entity a pravidla, kde se smí integrace používat.

Před prvním testem

Nejdřív ověřte dostupnost účtu, zařízení nebo služby mimo automatizace. Teprve potom zapojujte hodnoty do scén, notifikací nebo řízení domácnosti.

02

Nastavení v RichPear Home

V konfiguraci zapněte podporu Python skriptů, vytvořte soubor ve složce python_scripts a restartujte nebo znovu načtěte skripty. Potom skript spusťte jako akci z automatizace nebo vývojářských nástrojů.

Po dokončení nastavení otevřete detail integrace v části Nastavení, Zařízení a služby. Zkontrolujte vytvořená zařízení, pojmenujte je podle skutečného umístění a vypněte entity, které nechcete používat.

Lokální adresa systému

Při práci v místní síti používejte http://rphome.local:8123. Pokud se lokální jméno nepřeloží, otevřete systém přes http://IP-ADRESA:8123.

CFG

Ukázka konfigurace

Ukázku berte jako kostru. Adresy, tokeny, názvy entit a přístupové údaje upravte podle vlastní instalace a citlivé hodnoty ukládejte do tajných proměnných.

python_script:

# python_scripts/pozdrav.py
logger.info(f"Ahoj {data.get('name', 'světe')}")
03

Vstupy a logování

Parametry předávejte skriptu jako data akce. Skript by měl logovat jen stručné provozní informace a neměl by vypisovat tokeny, hesla ani osobní údaje.

Po změně nastavení sledujte reálný stav zařízení nebo služby přímo v RichPear Home. Pokud se hodnota chová jinak, než čekáte, nejdřív opravte zdroj dat a teprve potom automatizaci.

04

Události a služby

Skript může vyvolat událost nebo zavolat službu podle předaných dat. Každý skript otestujte samostatně, než ho zapojíte do automatizace s reálným dopadem.

Po změně nastavení sledujte reálný stav zařízení nebo služby přímo v RichPear Home. Pokud se hodnota chová jinak, než čekáte, nejdřív opravte zdroj dat a teprve potom automatizaci.

05

Znovunačtení skriptů

Akce reload načte změněné skripty bez plného restartu. Po úpravě logiky vždy spusťte test s bezpečnými daty, aby chyba v kódu nespustila nežádoucí službu.

Po změně nastavení sledujte reálný stav zařízení nebo služby přímo v RichPear Home. Pokud se hodnota chová jinak, než čekáte, nejdřív opravte zdroj dat a teprve potom automatizaci.

99

Kontrola po nasazení

Po nastavení integrace Python Scripts sledujte alespoň jeden běžný provozní cyklus. U cloudových služeb počítejte se zpožděním, u lokálních zařízení ověřte chování po restartu routeru, zařízení i RichPear Home.

Do automatizací vkládejte jen hodnoty, které jste viděli v reálném provozu. Důležité akce doplňte podmínkou dostupnosti entity a rozumnou prodlevou, aby jednorázový výpadek nespustil chybnou reakci.

Před předáním běžným uživatelům ověřte názvy entit, práva uživatelů a chování při nedostupnosti služby. U zařízení, která něco fyzicky spínají nebo řídí, ponechte dostupné i ruční ovládání mimo automatizace.

Hotový provozní test

Integrace je připravená pro běžné použití, když se entity aktualizují, názvy odpovídají skutečným zařízením a automatizace mají ošetřený výpadek nebo nedostupný stav.