Liksom flera andra blev jag efter att ha läst hek’s fantastiska projekt inspirerad att testa.
Köpte en Fibaro HCL och insåg i princip så snart den var uppe att det var ett misstag, den klarade inte vad jag ville, fel sol upp & ned, inte mjöligt att sätta tider innan etc, begränsade scen möjligheter. Vill tro att det berodde på den begränsade produkt beskrivningen från Fibaro men kanske lika mycket dålig research av mig själv
Efter insett misstaget började jag surfa runt och hittade bland annat ett forum där en användare som kallar sig CopyCatz hade en HCL och kombinerat det med en opensource som heter Domoticz.
Han hade hoppat in som programmerare i projektet och lagt till en länk till HCL för att komma förbi de begränsningar som HCL hade, bland annat sol upp & ned utmaningen.
Jag hittade på andra ställen, bland annat här, önskemål om mer disk för lagring och mer kraft (RAM/CPU).
Efter den lite mer omfattande researchen satte jag ihop nedanstående system
- 1 x Fibaro HCL (primary controller)
- 1 x Domoticz (secondary controller)
- 1 x Asus eee win7 (motsvarande ”ASUS VivoPC VM40B-S023K”)
- 1 x Aeon Labs Z-Stick S2
- 1 x prowl (notifiering I telefon)
- 2 x Aeon Labs Multi Sensor
- 8 x FIBARO System FGS211 Switch 3kW
- 4 x FIBARO System FGS221 Double Relay Switch 2x1.5kW
- 2 x FIBARO System FGD211 Universal Dimmer 500W
Efter att ha börjat testa lite fram och tillbaka insåg jag att åtminstone för min del blev misstaget kanske egentligen en tillgång. Tittar man på priset för controllers så är det knappa 5 tusen, dvs något mindre än en HC2 (jag hade dessutom redan windows burken). Om man tittar på vad funktionen är så har jag nu:
- Redundanta controllers
- ”Obegränsad” disk, asusen mappad mot NASet
- Utbyggnadsmöjlighet med pc standardkomponenter om det skulle behövas
- Fibaro scener
- Lua scripting
- Blockly (googles visuella programmeringsspråk, jmf ”Zipato”)
Man kan använda konfigurationen ovan på minst 2 sätt, CopyCatz har valt ett inspirerad av honom valde jag ett annat. Endera låter man Domoticz vi api starta scener i HCL (CopyCatz val) eller så låter man Domoticz skicka Z-wave instruktionen via Aeon stickan.
Vill man spara pengar väljer man alternativ 1 och kan skippa Aeon stickan men då tappar man många möjligheter med scener kombinerade av status på enheter och tid eller vad man för annat som man kan hitta på.
Jag har ju valt Windows men Domoticz kan gärna köras på Linux i olika tappningar (förmodligen snabbare men inte inom mitt kunskaps område). Det skall väl tilläggas att med Aeon stickan som skickar instruktionen så används OpenZWave protokollet som är ett försök att likna det ”riktiga” licensierade protokollet, jag har inte haft något problem men skulle man stöta på en enhet som inte vill så kan man använda fibaro länken och trigga scener i HCL som komplement.
Som sagt jag har inte behövt det utan kunnat köra alla instruktioner direkt från Domoticz.
Fibaro delarna känner förmodligen de flesta här till så jag kanske skall påpeka att lua scriptandet skiljer sig lite, inte mycket dock.
Eftersom jag inte har en HC2 så kan jag inte ”Fibaro” språk men tittade på Bamsefar och ex så kan man göra dessa jämförelser:
Vi antar att vi vill trigga på enheten som heter ”LUX” och har ID ”52” vi vill läsa ut värdet ur den enheten.
Fibaro kod
Code: Select all
--[[
%%properties
52 value
%% globals
local ArbetsrumTEmp = tonumber(fibaro:getvalue(52, ‘value’))
fibaro:debug(‘vad man nu vill skriva ut I loggen’)
Code: Select all
commandArray = {}
if (devicechanged['LUX'])
ArbetsrumTEmp = tonumber(otherdevices_svalues['LUX'])
print(‘vad man nu vill skriva ut I loggen’)
Tänkte komplettera med lite skärm dumpar sen, svarar förstås på frågor om någon vill veta mer om min lite udda installation.
Alla enheter läggs alltså till i HCL och syncas sen automatiskt över till Domoticz, man sätter den bara på inkludera ny hårdvara automatisk så dyker dom upp där.
Jag har alltså alla enheter styrbara från Fibaro appen, men automationen ligger i Domoticz.
Länken mellan Domoticz och HCL är väldigt lätt att sätta upp och konfigurera.
Komunicationen går via lan så den är alltså inte via z-wave nätet, det är bara då nya enheter hämtas till Domoticz.
I HCL sätter man ex upp en variabel som används som start trigger i de scener man vill skjuta igång från Domoticz. Nedan ett exempel.
Variabel i HCL: Länk Domoticz: Scen i HCL: Virtuell switch (dummy) i Domoticz: När man slår om brytaren I Domoticz körs scenen I HCL. Trigger till brytaren i Domoticz kan förstås vara vad som helst som kan skapas med Blockly eller lua script.
Jag har som exempel en brytare som stänger av några andra script en dag varannan vecka. Koden är enkel och ser ut så här för att slå på brytaren:
Code: Select all
-- script som sätter städdag till 'On'
commandArray = {}
d = (os.date('%w'))
h = (os.date('%H'))
w = (os.date('%U'))
d = tonumber(d)
h = tonumber(h)
w = tonumber(w + 1)
if ((d == 4)
and (h == 1)
and (w % 2 == 0)
and (otherdevices['CleaningDay'] == 'Off'))
then
commandArray['CleaningDay'] = 'On'
print('Turn on')
print(d)
print(h)
print(w)
else
end
return commandArray
/lennart
[/color]