AN55 - Integromat a NETIO PowerCable - spotřeba do Google Sheets | Chytré zásuvky NETIO ovládané pomocí WiFi a LAN
Tagy: 
3rd party HW-SW

Integromat je online služba propojení třetích stran přes cloud integromatu. NETIO AN55 ukazuje, jak periodicky každou hodinu zapisovat data průběhu spotřeby elektřiny jedné elektrické zásuvky do Google sheetu.  NETIO PowerCable REST volá periodicky http push do webhook prvku v zákaznickém cloudového účtu Integromatu. Integromat data zformátuje podle nastavené šablony a uloží do zákaznického účtu na Google sheets.

Můžeme Vám nějak pomoci?

Podporovaná zařízení:

 

Cílem NETIO AN55 je ukázat možnost propojení všech NETIO zařízení s Google Sheets pomocí služby Integromat. Na vstupu je NETIO zařízení, které měří na 4 výstupech spotřebu elektřiny. Na výstupu je Google Sheet, který ukazuje spotřebu Wh za každou hodinu (24 sloupců za den).

 

 

Integromat

Integromat je cloudová služba, které je zaměřená na automatizaci procesů, které byste jinak museli dělat manuálně. Integromat je schopen nejen propojovat aplikace, ale i posílat nebo upravovat data. Díky tomu, že Integromat je cloudová služba tak funguje 24 hodin denně, sedm dní v týdnu a bez nutnosti zásahu uživatele. Výhodou Integromatu je grafické rozhraní. Částečně nahrazuje nutnost umět programovat.

 


 

Struktura AN55

  1. První spuštění NETIO AN55
  2. Přizpůsobení příkladu pro Integromat a možnosti úprav
  3. FAQ
DOWNLOAD

Stažení AN55 konfigurace pro Integromat

 

1)  První spuštění NETIO AN55

Nastavení Data store

Po vytvoření účtu a přihlášení se naleznete na hlavní stránce vašeho účtu a z ní se přesuneme na stránku Data stores, kde si nastavíme náš Data store, který budeme používat.

Integromat neumí uložit hodnotu mezi jednotlivými běhy scénáře do proměnných. Jako náhradu lze použít Data store blok, který slouží jako databáze. My místo toho abychom přidávali nové záznamy do databáze, tak budeme updatovat jeden, čímž vytvoříme de facto proměnné.

Pro použití Data store bloků je nejprve nutné nastavit váš Data store (databázi).

 

Nový data store lze přidat tlačítkem Add data store vpravo nahoře.

 

Otevře se vám okno, kde je možné si nastavit jméno vašeho data storu a strukturu dat (Data structure). Datová struktura v Data storu určuje, jaká data bude možné zapsat do vašeho Data storu.

Přidáme novou datovou strukturu (Data structure) tlačítkem Add. Následně se otevře další okno, ve kterém nastavíme formát dané datové struktury. Nastavit formát lze dvěma způsoby:

  1. Ručně pomocí přidávání a nastavování jednotlivých prvků pomocí tlačítka Add item
  2. Automaticky pomocí tlačítka Generator, který z vloženého datového formátu automaticky vytvoří datovou strukturu

 

My použijeme automatickou možnost. Po kliknutí na tlačítko Generator se vám otevře další okno, kde máme možnost vložit náš datový formát. Zvolte typ JSON a zkopírujte obsah přiloženého JSON souboru do Sample data oblasti a následně kliněte na tlačítko Safe.

Integromat_data_structure.json

 

Nyní byste měli vidět automaticky vygenerovanou datovou strukturu. Nakonec uložte vaší datovou strukturu a poté váš data store (pokud kliknete jinam, než aktuální otevřené okno, tak se okno zavře a neuloží, takže doporučuji dodržet pořadí otevřených oken).

 

Po úspěšném vytvoření a nastavení data storu se vám váš data store zobrazí.

 

Vytvoření a nastavení scénáře

Vaše scénáře (aktivní i neaktivní) naleznete na stránce Scenarios.

 

Na stránce Scenarios, která obsahuje všechny vaše scénáře (zatím prázdná) klikněte vpravo nahoře na tlačítko Create a new scenario.

 

Otevře se vám stránka se všemi aplikacemi, které Integromat umí propojit. Toto přeskočte.

 

Nyní naimportujte scénář, který je ke stažení zde:

Integromat_import.json

 

 

Pokud jste úspěšně naimportovali scénář, tak byste nyní měli vidět toto:

 

Nastavení Webhook bloku

Webhook blok slouží pro propojení vašeho scénáře s vaším NETIO zařízením. NETIO zařízení posílá pomocí NETIO Push protokolu periodicky data na adresu vygenerovanou Webhookem. Webhook je v Integromatu přijímá a následně zpracovává.

U Webhook bloku je nejprve nutné nastavit čas kdy má zpracovávat příchozí data. V tomto příkladu je interval posílání dat z NETIO zásuvky nastaven v NETIO zařízení, (jednou za X minut), takže interval Webhook bloku nastavíme na Immediately, díky čemuž bude Webhook blok zpracovávat data okamžitě.

 

Následně je třeba vygenerovat adresu na kterou bude vaše NETIO chytrá zásuvka posílat data.

 

Poznámka: Interval zpracovávání dat se nastaví po kliknutí na hodiny zobrazené u bloku a nastavení samotného bloku se zobrazení normálně po kliknutí na blok.

 

Nyní je potřeba vygenerovat nový webhook (adresu na kterou bude zásuvka posílat data).

 

Zde je možné si nastavit jméno webhooku pro přehlednost a restrikci IP adresy, ze které se budou přijímat data.

 

Po uložení se vám se vygeneruje nový webhook (adresa). Adresu si zkopírujte do schránky pomocí tlačítka Copy address to clipboard.

 

Nyní si otevřete webové rozhraní vaší NETIO chytré zásuvky podporující NETIO Push protokol.

 

Zkopírujte webhook ze schránky do kolonky Target host http server:. Zbytek nastavte podle obrázku níže.

 

Push Period [s] definuje jak často bude NETIO posílat data do Integromatu.

 

Následně uložte a klikněte na tlačítko Push NOW, čímž manuálně pošlete data do Webhook bloku, který na ně čeká, aby mohl určit datovou strukturu příchozích dat.

 

Po úspěšném určení datové struktury uložte nastavený Webhook blok.

 

Poznámka: Je možné, že Webhook blok nezachytí data hned na poprvé, takže data zkuste poslat po pár vteřinách znovu.

 

Nastavení Data store bloků

 

Data store bloky slouží pro přístup do vaší databáze. V AN55 jsou použity dva typy Data store bloků:

 

  • Update a record – tento typ je použit pro updatování hodnoty pro danou hodinu hodnotou energie vyčtenou z NETIO chytré zásuvky
  • Get a record – tento typ je použit pro načtení hodnot energie za celý den

 

Update a record

Jediné, co je potřeba u Data store bloků je vybrat váš Data store, který jsme nastavovali v předchozí části AN55.

 

Jednoduše stačí vybrat váš Data store.

 

Následně se vám otevře nastavený Data store blok s poli, do kterých lze zapisovat hodnoty dle Datové struktury, která je nastavená v Data store.

 

Poznámka: Nastavení všech bloků je importováno přes import json soubor, ale u některých bloků je potřeba nejdříve vybrat nějaký prvek na pozadí (Data store bloky = Data store, Google Sheets bloky = Google connection a sheet)

 

  1. Key – podle této hodnoty se hledá záznam v databázi (Data store) a s ním se následně pracuje (v AN55 se v něm updatují hodnoty). Je důležité, aby všechny Data store bloky (Update a record a Get a record) v jednom scénáři (později vysvětlím) měli stejnou hodnotu klíče.

 

  1. Insert missing record – tento parametr určuje, zdali se má vytvořit nový záznam v databázi (Data store), pokud databáze neobsahuje záznam se stejným klíčem. Zde je použit proto, aby při prvním spuštění automaticky vytvořil záznam, který bude následně jenom updatován.

 

Get a record

 

Zde stejně jako u Update a record Data store bloku stačí pouze vybrat váš Data store.

 

Poznámka: Opět připomínám, že Key hodnota musí být identická ve všech Data store blocích v jednom scénáři. Hodnota je importovaná spolu s celým scénářem, ale je možné ji změnit.

 

Funkčnost Data store bloků

Primární funkčnost Data store bloků je každou hodinu updatovat hodnotu energie v databázi (Data store) hodnotou vyčtenou z elektroměru z NETIO chytré zásuvky pro danou hodinu. To je řešeno pomocí if() funkce.

 

Například tato funguje takto: Pomocí funkce formatDate a now získám aktuální hodinu (například 12 nebo 23 atd..) a pokud se aktuální hodina rovná hodině zapsané bloku, tak se zapíše aktuální hodnota energie ze zásuvky do databáze do příslušné hodiny. Pokud se hodina nerovná tak se nestane nic.

 

 

Nastavení Google sheets bloku

Nejprve si vytvořte nový sheet v Google sheets s následujícím prvním řádkem:

 

Poznámka: Doporučuji si vytvoření Google Sheet pojmenovat nějak rozumně později budete jméno potřebovat.

 

Poté si do buňky AB2 zkopírujte následující funkci:

=ARRAYFORMULA(IF(ISBLANK($A3:$A);"";MINUS($AA3:$AA; $D3:$D)))

 

Poznámka: Je možné, že budete muset použít čárku místo středníku ve vaší funkci. Záleží na jazyku a zemi.

 

Tato funkce slouží k výpočtu spotřeby výstupu zásuvky za den (hodina 24 – hodina 1). A toto se počítá pro každý přidaný řádek, který nám Integromat zapíše.

 

Nyní si u obou Google sheets bloků nastavte Google connection a váš Google sheet, který jste si vytvořili.

 

Nejprve je nutné přidat váš google účet.

 

Otevře se vám další okno, kde je možné si pojmenovat vaše google připojení. Po kliknutí na tlačítko Continue se vám otevře klasické okno na přihlášení na Google účet, kde se přihlásíte a povolíte Integromatu přístup na váš Google Disk a Google Sheets.

 

Po úspěšném přihlášení se vám otevře nastavení Googe Sheets bloku. V kolonce Spreadsheet vyberte váš vytvořený Google Sheet. Ostatní kolonky byste měli mít identické.

 

Výsledná tabulka bude vypadat takto:

 

Poznámka:

Jako zdroj dat je v tomto případě použitý NETIO PowerDIN 4PZ, kde jsou dva měřené výstupy (definované sloupcem Output). Na výstupu 2 nebylo nic připojeno. Cílem bylo ukázat v AN55, jak řešit připojení NETIO zařízení s několika měřenými výstupy.

 

A na tuto tabulku je možné napojit další, která bude zpracovávat data z této a rozšířit AN55 dle vašich preferencí.

A je to AN55 máte kompletně nastaveno.

 

2) Přizpůsobení a možnosti úprav

Použití pouze jednoho výstupu

AN55 je připraveno na zařízení se 4 měřenými výstupy. Pokud chcete pushovat data pouze z jednoho výstupu, tak je třeba upravit AN55 příklad pro Integromat na dvou místech:

1) Data structures
Otevřete se Data structures záložku.

 

Následně klikněte na Edit vaší datové struktury, kterou používáte.

 

A nakonec smažte výstupy (output_2, output_3, output_4), které nechcete používat z datové struktury. Toto navíc smaže tyto kolonky z Data structure bloků z vašeho scénáře.

 

2) Scenarios
Smažtě druhý Google Sheets blok. Každý blok je pro jeden výstup.

 

Použití 3 až 4 výstupů

Pokud chcete pushovat data ze třech či čtyřech výstupů, tak je třeba upravit AN55 na dvou místech:

1) Data store bloky (pouze Update a record)

 

Otevřete si nastavení Data store bloku a zkopírujte následující kód do všech polí v příslušném výstupu, který chcete používat.

 

{{if(formatDate(now; "HH") = 00; 1.Status.Outputs[3].Energy; ignore)}}

 

1.Status.Outputs[3].Energy
Toto znamená hodnota energie z třetího výstupu (zde se indexuje od jedničky) z bloku číslo 1.
Pravděpodobně to bude váš Webhooks blok, ale pokud jste ho například smazali a pak zase vložili, tak se číslo může lišit a je nutné kód příslušně upravit.

 

 

Po vložení kódu je nutné upravit porovnávanou hodnotu hodiny (zde 0) na hodinu odpovídající kolonce. Například pokud budu mít kolonku hour_14, tak hodnota hodiny bude 13, protože hour_14 je 13:00 až 13:59 (první kolonka je hour_1, která je od 00:00 do 00:59).

Jako poslední je nutné mít správný index výstupu. Zde je Outputs[3] (Třetí výstup je [3] a čtvrtý [4]), ale toto číslo doporučuji přepsat v textovém editoru, než ho začnete kopírovat, protože si ušetříte 24 úprav.

 

Takto doporučuji upravit jeden ze dvou Data store bloků a následně ho zkopírovat místo druhého (kopírovat lze mocí pravého kliknutí a možnosti Clone).

 

Ručně lze index měnit po kliknutí na číslo v hranatých závorkách ([3]).

 

Poznámka: pokud se vám nějaká část kódu zbarví černě, tak je špatně (syntaxe).

 

2) Google sheets bloky

Jeden Google Sheet blok je pro jeden výstup, takže je nutné přikopírovat další bloky do počtu, který chcete.

 

Klikněte pravým tlačítkem na blok, který chcete zkopírovat a vyberte Clone možnost, následně blok připojte za poslední Google Sheets blok.

 

V nastavení zkopírovaného bloku ne třeba změnit číslo výstupu, aby odpovídal (pouze pro přehlednost) a všechny hodnoty v kolonkách (nejdříve smažte starou hodnotu), aby odpovídal výstup.

Například zde je zkopírovaný Google Sheets blok z výstupu 2, který chceme upravit na výstup 3. Tudíž musíme změnit číslo výstupu na 3 a pak následně vyměnit hodnoty z výstupu 2 za hodnoty z výstupu 3 (dejte si pozor abyste vždy vybrali hodnotu ze správného výstupu).

 

Použití více NETIO chytrých zařízení

Pokud chcete používat více NETIO zařízení souběžně a posílat data do jednoho Google Sheetu, tak nejprve je nutné nakopírovat si váš scénář za každé zařízení, které chcete používat (Pokud chci číst data ze třech zásuvek, tak potřebuji 3 scénáře).

 

V nově vytvořeném scénáři je třeba ve všech třech Data store blocích nastavit novou Key hodnotu, aby nové zařízení mělo vlastní záznam v databázi (Data store).

 

Navíc je nutné u každého scénáře vytvořit nový webhook a propojit ho se zařízením.

 

Tudíž každý nový scénář bude mít vlastní zařízení, webhook a vlatní Key hodnotu (v každém scénáři je klíč identický ve všech Data store blocích)

 

FAQ

  1. Je možné otestovat AN55 s online demem NETIO produktů?

Ne, NETIO produkty v režimu Online demo neumožňují použití protokolu http push (nelze vložit cílovou adresu), není tedy jak v Integromatu vyvolat webhook.

 

  1. Na jak dlouho mi vystačí akce ve free verzi Integromat účtu?

S jednou NETIO chytrou zásuvkou vystačí akce ve free verzi účtu zhruba na 20 dní. Pokud chcete, aby vám 1000 akcí (free verze Integromatu) vystačilo na celý měsíc (28-31 dní), musíte prodloužit periodu posílání dat ze zásuvky z 1 hodiny na 2 a více hodiny.

 

  1. Lze použít NETIO AN55 s NETIO PowerPDU 4C?

Ne, protože PowerPDU 4C (ani NETIO 4 / 4All) nepodporuje „Http Push“ protokol.

 

  1. Lze použít s NETIO PowerBOX 3Px?

Ne, NETIO PowerBOX 3Px ani PowerPDU 4PS nepodporuje měření elektrických veličin.
Připravovaná PowerPDU 8QS podporuje měření na výstupu 1 a 0 (celé zařízení), tam bude možné použití.

 

  1. Co mám dělat, pokud se část kódu v nastavení bloku Integromatu píše černě?

Pokud se část kódu v nastavení bloku Integromatu  píše černě, tak to znamená, že je špatně syntaxe.

 

 

Podporované verze FW pro NETIO 4x:

3.1.0 a vyšší (Archiv firmware)

 

Podporované verze FW pro PowerCable xxx:

2.0.2 a vyšší (Archiv firmware)

 

Zeptejte se na cenu nebo technické parametry

Pro otestování zařízení použijte jméno/heslo demo/demo