Fibaro HC2: Nabíjení bezpečně pod dohledem, a navíc s úsporou

Fibaro HC2: Nabíjení bezpečně pod dohledem, a navíc s úsporou

Nabíjení bezpečně pod dohledem, a navíc s úsporou

Jakékoli elektrické zařízení může mít poruchu a může selhat. Většina elektrických spotřebičů a domácí elektroniky je proto vybavena nejrůznějšími obvody, které spotřebič nebo zařízení chrání či jistí a v případě poruchy odpojí od napájení. V posledních letech došlo k velkému rozšíření zařízení, které jsou vybaveny vlastním akumulátorem, který potřebuje každý den nabít. A to nemám na mysli jen mobilní telefony, notebooky nebo tablety, ale také například robotické vysavače nebo mopy.

Každý, kdo se jen trochu orientuje v elektrotechnice ví, že nabíjení akumulátorů není zcela bez rizika. Akumulátory také mohou selhat, přehřejí se a mohou nejen shořet, ale dokonce i vybuchnout. Když si k tomu ještě uvědomíme, že masově rozšířená zařízení, jakými jsou nabíječky akumulátorů všeho druhu, zrovna neoplývají dokonalou kvalitou, je větší opatrnost na místě. Proto není dobré nechávat cokoli nabíjet v době, kdy nejsme doma a nabíječka s akumulátorem zůstane bez dozoru.

Robotické vysavače dnes běžně používají vlastní základnovou stanici, ve které zaparkují a po vykonané práci se v klidu nabíjejí. Tato základna je trvale napájena ze sítě a její elektronika sama rozhoduje o tom, kdy zahájí a kdy ukončí nabíjení. Je to praktické a pohodlné, nemusíme se o to starat sami, ale má to dvě vady. Nabíjení může probíhat i v době, kdy nejsme doma a pokud zrovna neprobíhá, základna hezky potichu papá elektřinu, a to často i několik Wattů, což v konečném ročním zúčtování nákladů na elektrickou energii může dělat pár stokorun korun, ale i více. Zbytečně.

Následující příspěvek řeší majitelům řídící jednotky Fibaro HC2 oba problémy současně. V mém případě toto řešení používám pro dohled nad nabíjením mopu iRobot Braava a vysavače iRobot Roomba.

Nabíječku nebo nabíjecí základnu připojíte k elektrické síti prostřednictvím zásuvkového modulu Fibaro Wall Plug, který je schopen nabíječku nejen zapínat a vypínat, ale také měřit její spotřebu. Do „páru“ k modulu si vytvoříte LUA scénu, která bude automaticky spouštěna událostí „modul zapnut / vypnut“.

 

… A do vytvořené scény napíšete následující kód v jazyce 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šechny výskyty čísla 106 nahraďte unikátním číslem (ID) svého zásuvkového modulu. První část kódu vypisuje informaci o tom, jakou událostí byla scéna spuštěna. Pokud byla spuštěna jinak než fyzickým tlačítkem zásuvkového modulu, tj. jinou scénou, zapne se nabíjení.

Na řádku č. 32, je definováno pole „powerTable“, do kterého jsou ve stanoveném intervalu ukládány informace o naměřené spotřebě nabíječky. Počet měření i pauza mezi měřeními jsou uloženy v proměnných „tableSize“ a „sleepTime“. Proměnná „endPower“ obsahuje hranici spotřeby nabíječky, kterou zjistíte pokusně vysledováním spotřeby nabíječky při a po ukončení nabíjení (nebo skutečným změřením). Hodnota musí být mírně vyšší nežli spotřeba nabíječky v klidovém stavu a nabitém akumulátoru.

Smyčka, začínající na řádku č. 41, každých 30 sekund vypustí nejstarší naměřenou hodnotu a načte novu. Poté pomocí funkce, definované na řádku č. 23, spočítá průměrnou spotřebu za všechna měření uložená v poli. Program opustí smyčku až tehdy, kdy průměrná spotřeba klesne pod stanovenou hranici, tj. pod hodnotu proměnné „endPower“. Poté se nabíječka odpojí od elektrické sítě.

Výpis může na začátku nabíjecího procesu vypadat například takto:

 

… a na konci nabíjení takto:

 

 

Celý použitý algoritmus se dá stručně popsat asi takto: „Po zapnutí scéna měří průběžně spotřebu připojeného zařízení a pokud průměrná spotřeba z několika posledních měření klesne na úroveň spotřeby v klidovém stavu, nabíjení se ukončí.“.

Že to není nic převratného? Jasně, že není. Vtip je v tom, že máte nabíjení plně pod kontrolou. Můžete jej zapínat ručně, prostřednictvím tlačítka na zásuvkovém modulu, můžete jej zapínat automaticky jinou scénou vždy, když přijdete domů a vypínat vždy, když odcházíte. Nemusíte nic vytahovat ze zásuvky ani nic zapojovat. Nemusíte na to myslet, nemusíte se o to starat. Vždy máte akumulátor plně nabitý a zařízení připravené k použití. A pokud se nenabíjí, skoro nic to „nežere“.

Program lze volně parametrizovat, tj. měnit počet měření i dobu mezi měřeními, resp. měnit hranici klidové spotřeby. Použitý algoritmus najde skvělé uplatnění zejména všude tam, kde se spotřeba připojeného zařízení v čase stále mění. Krásným příkladem je měření spotřeby pračky, sušičky nebo myčky nádobí s cílem upozornit obsluhu (manželku), že se prádlo již vypralo či vysušilo, a že jej může pověsit nebo vyžehlit. Jak? Zasláním notifikace na mobil, posláním e-mailu nebo třeba příjemným mužským hlasem linoucím se z reproduktorů SONOS prostřednictvím služby TTS (Text-To-Speach) zrovna tam, kde se manželka pohybuje.

P.S. Myčku vyklízím 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, Měření spotřeby, LUA scripty pre HC2 2 8839

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ď

Vyhledávání v blogu

Najnovšie názory

Naposledy prohlížené

Žádné produkty

Menu

Porovnat 0