Fibaro HC2: Nabíjanie bezpečne pod dohľadom, a navyše s úsporou

Fibaro HC2: Nabíjanie bezpečne pod dohľadom, a navyše s úsporou

Nabíjanie bezpečne pod dohľadom, a navyše s úsporou

Akékoľvek elektrické zariadenie môže mať poruchu a môže zlyhať. Väčšina elektrických spotrebičov a domácej elektroniky je preto vybavená najrôznejšími obvodami, ktoré spotrebič alebo zariadenie chránia či istia a v prípade poruchy odpoja od napájania. V posledných rokoch došlo k veľkému rozšíreniu zariadení, ktoré sú vybavené vlastným akumulátorom, ktorý potrebuje každý deň nabiť. A to nemám na mysli len mobilné telefóny, notebooky alebo tablety, ale tiež napríklad robotické vysávače alebo mopy.

Každý, kto sa len trochu orientuje v elektrotechnike vie, že nabíjanie akumulátorov nie je úplne bez rizika. Akumulátory tiež môžu zlyhať, prehrejú sa a môžu nielen zhorieť, ale dokonca aj vybuchnúť. Keď si k tomu ešte uvedomíme, že masovo rozšírenými zariadeniami, akými sú nabíjačky akumulátorov všetkého druhu, zrovna neoplývajú dokonalou kvalitou, je väčšia opatrnosť na mieste. Preto nie je dobré nechávať čokoľvek nabíjať v čase, keď nie sme doma a nabíjačka s akumulátorom zostane bez dozoru.

Robotické vysávače dnes bežne používajú vlastné základňovú stanicu, v ktorej zaparkujú a po vykonanej práci sa v pokoji nabíjajú. Táto základňa je trvalo napájaná zo siete a jej elektronika sama rozhoduje o tom, kedy začne a kedy ukončí nabíjanie. Je to praktické a pohodlné, nemusíme sa o to starať sami, ale má to dve vady. Nabíjanie môže prebiehať aj v čase, keď nie sme doma a pokiaľ práve neprebieha, základňa pekne potichu papá elektrinu, a to často aj niekoľko Wattov, čo v konečnom ročnom zúčtovaní nákladov na elektrickú energiu môže robiť pár eur, ale i viac. Zbytočne.

Nasledujúci príspevok rieši majiteľom riadiacej jednotky Fibaro HC2 oba problémy súčasne. V mojom prípade toto riešenie používam pre dohľad nad nabíjaním mopu iRobot Braava a vysávača iRobot Roomba.

Nabíjačku alebo nabíjaciu základňu pripojíte k elektrickej sieti prostredníctvom zásuvkového modulu Fibaro Wall Plug, ktorý je schopný nabíjačku nielen zapínať a vypínať, ale tiež merať jej spotrebu. Do "páru" k modulu si vytvoríte LUA scénu, ktorá bude automaticky spúšťaná udalosťou "modul zapnúť / vypnúť".

... A do vytvorenej scény napíšete nasledujúci kód v jazyku LUA:

 

--[[
%% properties
106 value
%% events
%% globals
]]--

-- udalost
local trigger = fibaro:getSourceTrigger();
fibaro:debug("trigger = " .. json.encode(trigger))

-- hodnota udalosti
local wallPlug = fibaro:getValue(106, "value") -- stav zasuvky
fibaro:debug("wallPlug = " .. wallPlug)

-- zapnuti nabijeni
if ( trigger["type"] == "other" ) then
	fibaro:call(106,"turnOn")
	fibaro:debug("nabijeni Brrava zapnuto")
end

-- definice funkce pro vypocet prumeru hodnot v tabulce
function mean (table, size)
	local sum = 0
	for i = 1, size do
		sum = sum + table[i]
	end
	return sum / size
end

-- prubeh nabijani
local powerTable = {} -- prazdna tabulka spotrieb
local tableSize = 5 -- pocet nactenych hodnot
local sleepTime = 30000 -- pauza medzi ctenim hodnot
local endPower = 2 -- hranica spotreby na konci nabijani

for i = 1, tableSize do
	powerTable[i] = 15 -- naplnenie tabulky pociatocnymi hodnotami
end

repeat
	fibaro:sleep(sleepTime)
	table.remove(powerTable, 1)
	table.insert(powerTable, tonumber(fibaro:getValue(106, "power")))
	meanPower = mean(powerTable, tableSize)  -- volani funkcie "mean"
	fibaro:debug("spotreba = " .. json.encode(powerTable) .. " " .. math.floor (meanPower))
until (meanPower < endPower)
fibaro:call(106, "turnOff")
fibaro:debug("pocet mereni =" .. tableSize .. ", " .. "prumerna spotreba = " .. meanPower .. " W" .. ", " .. "nabijeni ukonceno")

-- konec sceny
fibaro:debug("END ................................")

Všetky výskyty čísla 106 nahraďte unikátnym číslom (ID) svojho zásuvkového modulu. Prvá časť kódu vypisuje informáciu o tom, akú udalosťou bola scéna spustená. Ak bola spustená inak ako fyzickým tlačidlom zásuvkového modulu, tj. Inou scénou, zapne sa nabíjanie.

Na riadku č. 32, je definované pole "powerTable", do ktorého sú v stanovenom intervale ukladané informácie o nameranej spotrebe nabíjačky. Počet meraní aj pauza medzi meraniami sú uložené v premenných "tableSize" a "sleepTime". Premenná "endPower" obsahuje hranicu spotreby nabíjačky, ktorú zistíte pokusne vysledovaním spotreby nabíjačky pri a po ukončení nabíjania (alebo skutočným zmeraním). Hodnota musí byť mierne vyššia ako spotreba nabíjačky v kľudovom stave a nabitom akumulátora.

Slučka, začínajúca na riadku č. 41, každých 30 sekúnd vypustí najstaršiu nameranú hodnotu a načíta novú. Potom pomocou funkcie, definovanej na riadku č. 23, spočíta priemernú spotrebu za všetky merania uložené v poli. Program opustí slučku až vtedy, keď priemerná spotreba klesne pod stanovenú hranicu, tj. Pod hodnotu premennej "endPower". Potom sa nabíjačka odpojí od elektrickej siete.

Výpis môže na začiatku nabíjacieho procesu vyzerať napríklad takto:

 

 

... a na konci nabíjania takto:

 

Celý použitý algoritmus sa dá stručne opísať asi takto: "Po zapnutí scéna meria priebežne spotrebu pripojeného zariadenia a ak priemerná spotreba z niekoľkých posledných meraní klesne na úroveň spotreby v kľudovom stave, nabíjania sa ukončí."

Že to nie je nič prevratné? Jasne, že nie je. Vtip je v tom, že máte nabíjanie plne pod kontrolou. Môžete ho zapínať ručne, prostredníctvom tlačidla na zásuvkovom modulu, môžete ho zapínať automaticky inou scénou vždy, keď prídete domov a vypínať vždy, keď odchádzate. Nemusíte nič vyťahovať zo zásuvky ani nič zapájať. Nemusíte na to myslieť, nemusíte sa o to starať. Vždy máte akumulátor plne nabitý a zariadenie pripravené na použitie. A ak sa nenabíja, skoro nič to "nežerie".

Program možno voľne parametrizovať, tj. Meniť počet meraní i dobu medzi meraniami, resp. meniť hranicu kľudovej spotreby. Použitý algoritmus nájde skvelé uplatnenie hlavne všade tam, kde sa spotreba pripojeného zariadenia v čase stále mení. Krásnym príkladom je meranie spotreby práčky, sušičky alebo umývačky riadu s cieľom upozorniť obsluhu (manželku), že sa bielizeň už vyprala či vysušilo, a že ho môže zavesiť alebo vyžehliť. Ako? Zaslaním notifikácia na mobil, poslaním e-mailu alebo napríklad príjemným mužským hlasom vychádzajúcim z reproduktorov SONOS prostredníctvom služby TTS (Text-To-speach) zrovna tam, kde sa manželka pohybuje.

P.S. Umývačku vypratávam sám.

 

Moje heslo: „Skutečná domácí automatizace nepotřebuje žádný ovladač“

Autor: Jiří Chábera

Autor 27.02.2018 dna Jiří Chábera Návody a Tipy, FIBARO, FIBARO HC2, Meranie spotreby, LUA scripty pre HC2 2 8828

2 Komentáre

  • Remco

    Remco 23.02.2023 Odpovedať

    Hi,

    Is there a new version this script available for the HC3 ? :)

    Would love to use it, but my coding skills are not good enough to update this script to HC3 myself...

    Cheers.
    • SmarterHOME Team

      SmarterHOME Team 23.02.2023 Odpovedať

      Hi,
      you can write us email at podpora@smarterhome.sk, and we can give you price offer for rewriting LUA code for HC3.
      Thanks.
      Have a nice day.
      SmarterHOME

Zanechajte nám Váš názorZanechajte odpoveď

Vyhľadávanie v blogu

Najnovšie názory

Naposledy navštívené

Žiadne produkty

Menu

Porovnať 0