Ég sá í einhverri umræðu spjall um sorphirðudagatal Reykjavíkurborgar og virtust menn vera áhugasamnir um að birta slíkt í heimastýringarkerfum sínum. Það fylgdi ekki nein útfærsla en í sjálfu sér er frekar einfalt að útfæra það, amk. í sinni einföldustu mynd. Ég ætla hér að fara í gegnum hvernig hægt er að gera það í Fibaro Home Center 3.
Ég gerði fyrst senu (scene) sem lætur vita með skilaboðum í síma kvöldið áður en sorp er hirt. Sorphirðan í Árbæ er amk. þannig að það eru gefnir upp þrír dagar sem sorp er hirt, maður veit ekki á hvaða degi af þessum þrem þeir koma til manns. Þannig að ég tók þá ákvörðun senda bara skilaboðin kvöldið fyrir fyrsta daginn af þessum þrem. Einnig bjó ég einnig til svokallað “Quick app”, það er eitthvað sem hægt er að búa til í HC3 stjórntölvunni þannig að það er hægt að birta texta eða gera aðgerðir í boxi sem lítur út eins og hver annar snjallhlutur innan stjórntölvunnar. Það er hægt að átta sig síðar betur á hvað er meint með því að skoða leiðbeiningarnar fyrir það síðar í þessum texta. Í þessu Quick appi er sýnt hvenær næsti dagur er fyrir hirðingu fyrir hverja tegund tunnu. Í sjálfu sér væri hægt að hafa þetta bæði í einum hlut, þ.e. Quik appinu en ég ákvað að hafa þetta svona hjá mér.
Að búa til senu sem sendir skilaboð daginn áður en sorp er hirt
Til að búa til senuna skráir maður sig inn í vefviðmót HC3 kerfisins, smellir á tannhjólið sem er vinstra megin á síðunni rétt fyrir neðan miðju og velur þá lið “11. Scenes” í valmyndinni sem þá kemur upp.
Nú smellir maður á bláa “Add” hnappinn og þá poppar upp svona mynd:
Þarna setjið þið inn eitthvað í “Name” svæðið, annað má vera óbreytt. Smellið eftir það á “Save”. Þá fáið þið upp svona mynd:
Vinstra megin í Lua Editornum setur maður hvaða skilyrði eigi að vera fyrir að skriptið verði keyrt. Ég ætla að setja það skilyrði það það sé keyrt einu sinni á dag, kl 21:00. Skilaboðin eru þá send í símann kl. 21:00 daginn áður en sorphirðan er. Nú setur maður þennan kóða í “DECLARATIONS” hlutann, í stað slaufusvigana tveggja sem þar eru:
{
isTrigger = true,
operator = "match",
property = "cron",
type = "date",
value = { "00", "21", "*", "*", "*", "*" }
}
Hægra megin, í “ACTIONS” hlutann setur maður kóðann sem maður vill keyra ef skilyrðið er uppfyllt, þ.e. að klukkan sé 21:00 að kvöldi. Þar setur maður þennan kóða. Efst í kóðanum má sjá dagsetningar á forminu ár-mánuður-dagur. Þetta eru þær dagsetningar sem eru fyrsti dagurinn af þeim þrem dögum sem hirt er sorp, miðað við Árbæjarhverfi. Þessum dagsetningum má breyta ef miða á við annað hverfi. Á þessari síðu er hægt að fá sorphirðudaga fyrir hverfi Reykjavíkur: https://reykjavik.is/sorphirdudagatal
Ef nánar er skoðað í dagatalskóðann efst má sjá að þetta eru þrjár dagatalsrunur, ein fyrir gráu tunnurnar, ein fyrir bláar/grænar tunnur og ein fyrir dagsetningar þar sem allar tunnurnar eru tæmdar.
Ef notuð eru tvö strik, –, fyrir framan texta er verið að tákna að sá texti sé komment, sá texti er ekki tekinn sem hluti af kóðanum sem er keyrður. Í þessum kóða má smá nokkrar “print” skipanir sem eru kommentaðar út þannig út. Ef notandi vill prófa og sjá hvernig kóðinn virkar og hvaða hlutar hans eru keyrðir miðað við skilyrði innan kóðans er hægt að þurrka þessi tvö strik út og þá verða print skipanirnar virkar. Til að sjá hvað skipanirnar prenta út er smellt á táknið sem er undir tannhjólinu lengst til vinstri á vefsíðunni, þá kemur upp svartur gluggi neðst á vefsíðunni sem sýnir hvað prentað er út:
En þetta er kóðinn sem er settur í “ACTIONS” hlutann í Lua Editornum:
--Sorphirðudagatal Árbæjar
local greyDates={"2021-01-19","2021-02-02","2021-03-02","2021-04-13","2021-04-27","2021-05-25",
"2021-06-08","2021-07-06","2021-07-20","2021-08-17","2021-08-31","2021-09-28","2021-10-12"
,"2021-11-09","2021-11-23","2021-12-21","2021-12-21"}
local bluegreenDates={"2021-01-26","2021-03-09","2021-04-20","2021-06-01",
"2021-07-13","2021-08-24","2021-10-05","2021-11-16","2021-12-28"}
local allDates={"2021-01-5","2021-02-16","2021-03-30","2021-05-11",
"2021-06-22","2021-08-03","2021-09-14","2021-10-26","2021-12-07"}
local lCurrentDate = os.date("*t")
--Bæti við einum dag til að fá skilaboð daginn áður en fyrsti dagur sorphirðunnar er
lCurrentDate.day = lCurrentDate.day + 1
--print(string.format("%04d-%02d-%02d", lCurrentDate.year, lCurrentDate.month, lCurrentDate.day))
for _, date in ipairs(greyDates) do
if (string.format("%04d-%02d-%02d", lCurrentDate.year, lCurrentDate.month, lCurrentDate.day) == date) then
--print("Gráar tunnur")
fibaro.alert("push", {[1] = 2}, "Sorphirða: Grá tunna á morgun eða +2 daga")
end
end
for _, date in ipairs(bluegreenDates) do
if (string.format("%04d-%02d-%02d", lCurrentDate.year, lCurrentDate.month, lCurrentDate.day) == date) then
--print("Blá grænar tunnur")
fibaro.alert("push", {[1] = 2}, "Sorphirða: Blá/græn tunna á morgun eða +2 daga")
end
end
for _, date in ipairs(allDates) do
if (string.format("%04d-%02d-%02d", lCurrentDate.year, lCurrentDate.month, lCurrentDate.day) == date) then
--print("Allar tunnur")
fibaro.alert("push", {[1] = 2}, "Sorphirða: Allar tunnur á morgun eða +2 daga")
end
end
--print("Sorphirðudagatalskeyrslu lokid")
Þá lítur glugginn svona út:
Þið smellir á “Save”. Til að prófa kóðann er hægt að setja inn skáldaða dagsetningu í til dæmis dagarununa fyrir gráu tunnuna, setja þá inn dagsetningu fyrir næsta dag á eftir þeirri dagsetningu sem þið eru að setja þennan kóða inn, þar sem skilaboðin eiga að koma daginn áður gráa tunnan er tæmd. Ef dagurinn í dag er til dæmis 18. apríl setjið þið inn dagsetninguna 19. apríl. Athugið að þetta er einungis til að prófa hvort allt virki.
Ef þið setjið inn slíka dagsetningu, smellið á “Save” og síðan á “Run action”, þá er kóðinn undir Actions keyrður, þó að skilyrðið vinstra megin sé ekki uppfyllt. Þar af leiðandi ættuð þið að fá svona skilaboð í símann hjá ykkur þegar smellt er á “Run action” hnappinn:
“Quick app” sem að sýnir næstu sorphirðudaga.
“Quick app” eru forritsbútar sem geta sýnt viðmót, þ.e. box sem líta eins út og aðrir snjallhlutir í stjórntölvunni, ekki bara kóði sem keyrir í bakgrunni eins og við vorum að gera hér fyrir ofan. Það er hægt að smella á boxin og sjá þá nánari upplýsingar. Quick appið sem við ætlum að búa til lítur til dæmis svona út í vefviðmótinu hjá mér:
Ef smellt er á örvarnar í hægra horninu uppi sjást nánari upplýsingar, næstu dagar sem hver gerð af tunnu er hirt.
Það er hægt að flytja svona „Quick app“ kóða milli stjórntölva, hér er útgáfan sem ég bjó til, þið getið halað henni niður með því að hægri smella á skrána og velja “save link as”.
Til að setja hana inn í kerfið fer maður inn í vefviðmót HC3 stjórntölvunnar, smellir á tannhjólið sem er í valmyndinni vinstra megin á síðunni og velur lið „5. Devices“. Þá eigið þið að sjá mynd líkt og þessa:
Ef nú er smellt á bláa plús takkann kemur upp svona mynd, þið veljið „Other Device“:
Á myndinni sem þá kemur upp smellið þið á „Upload file“:
Þá kemur upp gluggi þar sem hægt er að velja skrá úr skráarkerfinu á tölvunni ykkar, þar veljið þið skrána sem var hér að ofan „Sorpdagatal.fqa“. Hún er væntanlega í „Downloads“ möppunni ef þið eruð að vinna á tölvu með Windows stýrikerfið.
Ef allt gengur upp koma upp tvö box í nokkrar sekúndur neðst í vinstra horni vefskoðarans:
Ef þið skoðið neðst í Devices listann hjá ykkur á að vera komin ný lína fyrir þetta Quick app:
Ef þið smellið á örina sem er lengst til hægri sjáið þið nánari upplýsingar um þennan snjallhlut. Smellið núna á „Edit & Preview“ flipann sem kemur í ljós eftir að þið eruð búin að smella á örina:
Smellið núna á „Edit“ hnappinn sem er til hægri á myndinni:
Þarna sjáið þið vinstra megin textann sem sýndur er þegar smellt er á boxið fyrir þetta Quik app, hvenær næsti hirðingardagur er fyrir hverja tegund tunnu. Hægra megin er sjálfur kóðinn. Eins og sjá má er hann mjög svipaður í byrjun og kóðinn sem notaður var til að senda skilaboð deginum áður en sorp er hirt.
Hér þarf að breyta dagsetningunum sem eru efst í kóðanum miðað við þitt hverfi. Þessar dagsetningar miðast við hirðingu í Árbæ. Athugið að dagsetningarnar þurfa að vera í tímaröð til að kóðinn virki rétt, þ.e. fyrsta dagsetning að vera t.d. í janúar og síðasta dagsetning t.d. í desember.
Þegar þið eruð búin að breyta dagsetningunum þarf bara að smella á „Save“ og þetta er tilbúið. Smellið nú á „Close“ takkann og farið aftur í yfirlit hússins og veljið það herbergi/svæði sem þið settuð hlutinn í, ég lét hann vera á svæðinu „Úti“ hjá mér eins og sjá má hér einhversstaðar hér að ofan. Þið eigið nú að sjá tákn fyrir þennan snjallhlut og með því að smella á örvarnar í hægra horni snjallhlutarins sjáið þið næstu hirðingardaga fyrir hverja tegund tunnu, myndina sem einnig mátti sjá hér ofar í þessum pistli: