Klassískt er að vilja að heimstýringakerfi láti vita þegar þvottavél er búin. Það er hægt að fara ýmsar leiðir til þess, en sú leið sem ég fór var að fylgjast með rafmagnstenglinum fyrir þvottavélina. Ef þvottavélin fer að stað dregur hún ákveðið mörg wött, þannig að ég segi í kóðanum að ef þvottavélin er farin að draga meira en 4 wött, þá sé hún farin af stað. Eftir það bý ég til lykkju (loop) sem athugar á mínútu fresti hvort að þvottavélin sé aftur komin undir 4 wött. Ef hún er stöðugt undir 4 wött í eina mínútu, þá dreg ég þá ályktun að hún sé búin og sendir skilaboð þess efnis í síma. Vélin á það nefnilega til að detta undir 4 wött í smá tíma og ég vil ekki að það sé misskilið þannig að haldið sé að vélin sé búin.
Þvottavélin mín dregur minna en 2.5kW þegar hún er að vinna, ég fór því þá leið að nota Fibaro Wall plug, sem er stykki sem maður stingur í innstungu og inn í hinn enda stykkisins stingur maður klónni fyrir þvottavélina, svona lítur Fibaro Wall plug út:
Ef þið ætlið að gera þetta svona og nota Fibaro Wall plug þurfið þið að vera viss um að þvottavélin dragi ekki meira en 2.5kW. Plugið rífur reyndar strauminn til þvottavélarinnar ef það fer yfir 2.5kW þannig að það á ekki að vera hættulegt, en allur er varinn góður.
Fyrsta sem ég geri er að finna Wall plugið í vefviðmótinu fyrir Fibaro Home Center 3. Það geri ég með því að skrá mig inn, smella á hústáknið efst vinstra megin og finna táknið fyrir Wall plugið, í mínu tilfelli er það svona:
Ef ég smelli á örvarnar í hægra horninu opnast mynd með nánari upplýsingum um hlutinn/þvottavélina:
Það sem ég hef áhuga á þarna er númer sem er undir græna hringnum, ID: 1045. Ég skrifa það hjá mér, loka þessari mynd og smelli síðan á tannhjólið sem er lengst vinstra megin á vefsíðunni og smelli á lið númer „11. Scenes“ í valmyndinni sem þá kemur upp:
Þar smelli ég á bláa takkann „Add“ og fylli út í „Name“ í myndinni sem þá kemur upp. Annað má vera óbreytt, þið getið líka valið eitthvað skemmtilegra „Icon“ ef þið viljið:
Þá kemur upp tómur gluggi sem hægt er að setja kóða inn í:
Vinstra megin setjum við svona skilyrði fyrir að kóðinn keyrist, þar sem stendur „DECLARATIONS“:
{
conditions = { {
id = 1045,
isTrigger = true,
operator = ">",
property = "power",
type = "device",
value = 4
} },
operator = "all"
}
Þarna notum við númerið sem við skrifuðum áðan hjá okkur, númerið fyrir Wall plug-ið. Í mínu tilfelli var það 1045. Þið mynduð þurfa að skrifa númerið á samsvarandi Wall plug/snjallhlut hjá ykkur. Í „value“ set ég 4, það merkir að kóðinn verður keyrður ef þvottavélin dregur meira en 4 wött. Hún ætti að vera um 0 wött ef hún er ekki að vinna en þó getur verið að vélin hjá ykkur dragi eitthvað smá til að hafa eitthvað ljós eða skjá í gangi. Þetta getur því verið önnur tala hjá ykkur, en sennilegt er samt að hún liggi á þessu róli. Það er hægt að fylgjast með hve mörg wött vélin tekur frá því að hún fer í gang þar til að hún er búin með því að horfa á táknið fyrir hana í vefviðmótinu, þetta er t.d. táknið fyrir mína vél þegar hún er í fullum gangi:
Þarna sjáum við að hún dregur 1916 wött (1,9kW) á þeim tíma sem ég tók skjáskotið. Á sama hátt getið þið séð á þessari mynd hvað hún dregur þegar kveikt er á henni en jafnframt þegar ekki er búið að setja hana af stað.
Vinstra megin, í hlutann fyrir „ACTIONS“ set ég þennan kóða:
local power_socket = 1045
local power_threshold = 4
local sec_no_power = 60
local run = 0
local power = fibaro.getValue(power_socket, "power")
local counter = 0
-- ef vélin dregur meira en 4 wött álítum við að vélin sé farin af stað.
if ( tonumber(fibaro.getValue(power_socket, "power")) > power_threshold ) and run == 0 then
fibaro.alert('push', {[1] = 2, }, 'Þvottavélin fór af stað ' .. os.date("%H:%M", os.time()))
run = 1
end
while run == 1 do
if ( tonumber(fibaro.getValue(power_socket, "power")) < power_threshold) then
counter = counter + 1
end
if ( tonumber(fibaro.getValue(power_socket, "power")) > power_threshold) then
counter = 0
end
-- talan 60 í línunni hér fyrir neðan táknar að vélin þurfi að vera undir 4 wött í eina mínútu
if ( tonumber(fibaro.getValue(power_socket, "power")) < power_threshold) and counter > sec_no_power then
fibaro.alert('push', {[1] = 2, }, 'Þvottavélin er búin ' .. os.date("%H:%M", os.time()))
run = 0 -- tíminn liðinn, klárum og dettum úr lykkjunni
end
fibaro.sleep(1*1000) -- pásar í eina sekúndu
end
Skoðum efstu þrjár línurnar:
local power_socket = 1045
local power_threshold = 4
local sec_no_power = 60
Þarna er númerið sett aftur í efstu línunni, þar sem stendur 1045, þið mynduð þurfa að setja númer á ykkar snjallhlut þar. Annað sem gæti þurft að breyta er við hvaða þröskuld við viljum miða við varðandi hve mörg wött við viljum hafa til að tákna að vélin sé farin af stað eða að hún sé búin. Það er talan 4 þarna. Að lokum er talan 60 sem táknar hve margar sekúndur þurfa að líða undir 4 wöttum til að við getum sagt að hún sé búin og þá sent skilaboð í síma um það.
Þannig að myndin öll lítur þá svona út:
Við smellum á Save. Næsta skref er þá að setja þvottavélina af stað og sjá hvort þetta virki ekki. Þetta er dæmi um skjáskot úr símanum mínum:
Ef það fer ekki af stað (það eiga að koma skilaboð í símann um að þvottavélin hafi farið af stað) er líklegast að það þurfi að stilla wattatöluna sem setur kóðann af stað. Eins og áður var sagt er hægt að fylgjast með vélinni í vefviðmótinu þegar kveikt er á henni en jafnframt áður en hún fer að stað og sjá hvernig rafmagnseyðslan er á meðan, talan sem ég set sem 4 wött ætti þá að vera hærri ef „tómagangurinn“ í ykkar vél er hærri.
Möguleiki er einnig að sjá línurit yfir rafmagnseyðslu snjallhlutarins með því að fara í stillingu hans og smella á „Advanced“ flipann, þá birtist línurit yfir rafmagnseyðslu hans yfir valinn tíma, en hitt er sennilega fljótlegra.