Försöker att förstå hur man hanterar VD's i scener.
Jag har en antal vd's som tänder och släcker lampor och liknande som fortfarande körs i min switch king system och jag trodde att man kanske skulle kunna hantera dessa vd's som "vanliga" enheter men där går jag på pumpen
Naturligtvis kan man ta LUA scripten från respektive vd och lägga dom i en scen för att tända och släcka men känns otroligt klumpigt.
Kan man inte associera en vd till att vara en del av belysningen eller så?
Hoppas att någon har ett bra svar
Hur hanteras virtuella enheter i scener?
GEA (av Steven Piccand) kan utföra det du beskriver samt väldigt mycket mer.
Senaste versionen hittar du på
https://github.com/sjauquet/GEA
Säg till om du behöver hjälp att komma igång
Senaste versionen hittar du på
https://github.com/sjauquet/GEA
Säg till om du behöver hjälp att komma igång
Hej SirMaggot,
TILL
Det där var inte helt enkelt att komma igång och Franska är inte min starka sida. Däremot GEA scriptet eller vad jag skall kalla det är verkligen inte något jag tittar på och tänker - Ja visst ja
Jag behöver nog lite hjälp att komma igång. Något lätt exempel om det nu finns vill säga annars blir det många långa nätter.
TILL
Det där var inte helt enkelt att komma igång och Franska är inte min starka sida. Däremot GEA scriptet eller vad jag skall kalla det är verkligen inte något jag tittar på och tänker - Ja visst ja
Jag behöver nog lite hjälp att komma igång. Något lätt exempel om det nu finns vill säga annars blir det många långa nätter.
Jag klistrar in en kraftigt rensad version som du inte ska använda (den fungerar helt enkelt inte), jag försöker förklara lite i texten.
Det blir säkert några sena kvällar med GEA, men det är värt det.
Börja med att skapa en global variabel som heter GEA_TASKS (lämna den tom)
Det blir säkert några sena kvällar med GEA, men det är värt det.
Börja med att skapa en global variabel som heter GEA_TASKS (lämna den tom)
Code: Select all
--[[
%% autostart
%% properties
71 value -- rörelsesensor som tänder en lampa
97 value -- detta är en lampa som ska tändas på tid
%% globals
TimeOfDay -- dina globala värden som ska ingå i GEA
PresentState
KollarFilm
--]]
-- Auteur : Steven P. with modification of Hansolo and Shyrka973
-- Version : 5.34
-- Special Thanks to :
-- jompa68, Fredric, Diuck, Domodial, moicphil, lolomail, byackee,
-- JossAlf, Did, sebcbien, chris6783, carfnann and all other guy from Domotique-fibaro.fr
-- ------------------------------------------------------------
-- L'historique complet est diponible ici :
-- http://www.domotique-fibaro.fr/index.php/topic/1082-gea-gestionnaire-dévénements-automatique/?p=12428
function yourcode()
-- [EN] YOUR TIME TO PLAY
-- ==================================================
GEA.isVersionFour = true -- True om du kör v4, false annars
-- [EN] Your language : EN
GEA.language = "EN"; -- Ändra till engelska
-- GEA kollar om det finns nåt att göra var 30:e sekund
GEA.checkEvery = 30
-- Vilka enheter (telefon, surfplattor) som ska få push när det händer nåt
GEA.portables = {98, 122, 123}
-- Det är oftast lättare att komma ihåg namn än nummer, så här gör du om nummer till namn (om du vill.)
local id = {
VRUM_PIR = 71,
VRUM_LUX = 73,
VRUM_LEDLIST = 97,
PARKERING_PIR = 140,
PARKERING_LUX = 142,
PARKERING_LAMPA = 138,
ZIPATO_UTE = 120,
------- Virtuella enheter
VD_TEMPERATUR_NU = 12,
VD_TIMEOFDAY = 13,
VD_DOMOTICZ_PING = 14,
VD_CLOCKSYNC = 15,
VD_EMONCMS = 16,
VD_REBOOT = 17,
VD_DOMOTICZ_TEMP = 163 (Sista ID:t har inget kommatecken)
}
-- Timer var 3:e minut. (Var 3:e minut trycker GEA på knapp 1 i VD_TEMPERATUR_NU)
GEA.add( true , 3*60, "",{
{"VirtualDevice", id["VD_TEMPERATUR_NU"], "1"}, {"Repeat"}
})
-- Timer var 10:e minut
GEA.add( true , 10*60, "",{
{"VirtualDevice", id["VD_THINGSPEAK"], "1"},
{"VirtualDevice", id["VD_DOMOTICZ_TEMP"], "1"},
{"Repeat"}
})
-- Timer var 60 minut
GEA.add( true , 60*60, "",{
{"VirtualDevice", id["VD_DOMOTICZ_PING"], "1"}, {"Repeat"}
})
--== Sätter variabel FILM till Nej efter 3 timmar ==--
GEA.add({"Global", "KollarFilm", "Ja"}, 180*60, "", {{"Global", "KollarFilm", "Nej"}})
--== Sätt TimeOfDay (global parameter) ==--
GEA.add(true, 30, "", {{"Time", "06:00", "06:01"}, {"VirtualDevice", id["VD_TIMEOFDAY"], "1"}})
GEA.add(true, 30, "", {{"Time", "10:00", "10:01"}, {"VirtualDevice", id["VD_TIMEOFDAY"], "2"}})
GEA.add(true, 30, "", {{"Time", "17:00", "17:01"}, {"VirtualDevice", id["VD_TIMEOFDAY"], "3"}})
GEA.add(true, 30, "", {{"Time", "21:30", "21:31"}, {"VirtualDevice", id["VD_TIMEOFDAY"], "4"}, {"Days", "Monday, Tuesday, Wednesday, Thursday, Sunday"}})
GEA.add(true, 30, "", {{"Time", "22:30", "22:31"}, {"VirtualDevice", id["VD_TIMEOFDAY"], "4"}, {"Days", "Friday, Saturday"}})
--== Lampa Parkering och entrelampa==--
GEA.add(true, 30, "", {{"Time", "Sunset+09", "Sunset+10"}, {"turnOn", id["PARKERING_LAMPA"]}})
GEA.add(true, 30, "", {{"Time", "23:00", "23:01"}, {"turnOff", id["PARKERING_LAMPA"]}})
-- GEA.add(id["PARKERING_PIR"], -1, "", {{"Time", "22:00", "Sunrise+10"}, {"turnOn", id["PARKERING_LAMPA"]}})
-- GEA.add(id["PARKERING_LAMPA"], 3*60, "", {{"Inverse"}, {"Time", "22:00", "Sunrise+40"}, {"turnOff", id["PARKERING_LAMPA"]}})
-- Zipato entre utomhus--
GEA.add(true, 30, "", {{"Time", "Sunset+10", "Sunset+11"}, {"Function", function() fibaro:call(id["ZIPATO_UTE"], "setValue", "75") end}})
GEA.add(true, 30, "", {{"Time", "23:30", "23:31"}, {"Function", function() fibaro:call(id["ZIPATO_UTE"], "setValue", "50") end}})
GEA.add(true, 30, "", {{"Time", "01:30", "01:31"}, {"Function", function() fibaro:call(id["ZIPATO_UTE"], "setValue", "25") end}})
GEA.add(true, 30, "", {{"Time", "Sunrise+30", "Sunrise+31"}, {"Function", function() fibaro:call(id["ZIPATO_UTE"], "setValue", "0") end}})
--== Våra sänglampor ==-- (Mellan kl 11-19 tänds lamporna om dörren öppnas. Kl19 till 22 är lamporna tända)
GEA.add(id["SOVRUM_DORR"], -1, "", {{"Time", "11:00", "19:00"}, {"turnOn",id["M_SANGLAMPA"]}, {"turnOn",id["F_SANGLAMPA"]}})
GEA.add(id["SOVRUM_DORR"], -1, "", {{"inverse"}, {"Time", "11:00", "19:01"}, {"turnOff",id["M_SANGLAMPA"]}, {"turnOff",id["F_SANGLAMPA"]}})
GEA.add(true, 30, "", {{"Time", "19:00", "19:01"}, {"turnOn", id["F_SANGLAMPA"]}})
GEA.add(true, 30, "", {{"Time", "22:00", "22:01"}, {"turnOff", id["F_SANGLAMPA"]}})
GEA.add(true, 30, "", {{"Time", "19:00", "19:01"}, {"turnOn", id["M_SANGLAMPA"]}})
GEA.add(true, 30, "", {{"Time", "22:00", "22:01"}, {"turnOff", id["M_SANGLAMPA"]}})
-- Laddare surfplatta --
GEA.add(true, 30, "", {{"Time", "21:00", "21:01"}, {"turnOn", id["SOVRUM_LADDARE"]}})
GEA.add(true, 30, "", {{"Time", "08:00", "08:01"}, {"turnOff", id["SOVRUM_LADDARE"]}})
--== Allrum uppe, Lampa ==--
GEA.add(true, 30, "", {{"Time", "Sunset+10", "Sunset+11"}, {"turnOn", id["ALLRUM_LAMPA"]}})
GEA.add(true, 30, "", {{"Time", "Sunrise+30", "Sunrise+31"}, {"turnOff", id["ALLRUM_LAMPA"]}})
--== Vardagrum nere ==--
-- Tv-lampa --
GEA.add(true, 30, "", {{"Time", "Sunset-30", "Sunset-29"}, {"turnOn", id["VRUM_TVLAMPA"]}})
GEA.add(true, 30, "", {{"Time", "22:30", "22:31"}, {"turnOff", id["VRUM_TVLAMPA"]}})
-- Lampan på skänken --
GEA.add(true, 30, "", {{"Time", "Sunset-50", "Sunset-49"}, {"turnOn", id["VRUM_SKANK"]}})
GEA.add(true, 30, "", {{"Time", "Sunrise+30", "Sunrise+31"}, {"turnOff", id["VRUM_SKANK"]}})
--== Ledlist vardagsrum ==--
local FilmJa = GEA.add(id["VRUM_PIR"], -1, "", {{"If",{{"Value-", id["VRUM_LUX"], 50}}}, {"turnOn", id["VRUM_LEDLIST"]}})
GEA.add({"Global","KollarFilm","Ja"}, 30 , "" , {{"StopTask",FilmJa}, {"repeat"}})
GEA.add(id["VRUM_PIR"], 4*60, "", {{"Inverse"}, {"turnOff", id["VRUM_LEDLIST"]}})
--== Entrelampan i hallen. Qubino ==--
GEA.add(id["HALL_PIR"], -1, "", {{"Time", "06:00", "07:00"}, {"Function", function() fibaro:call(id["HALL_LAMPA"], "setValue", "6") end}})
GEA.add(id["HALL_PIR"], -1, "", {{"Time", "07:00", "21:00"}, {"If",{{"Value-", id["HALL_LUX"], 100}}},{"Function", function() fibaro:call(id["HALL_LAMPA"], "setValue", "60") end}})
GEA.add(id["HALL_PIR"], -1, "", {{"Time", "21:00", "06:00"}, {"Function", function() fibaro:call(id["HALL_LAMPA"], "setValue", "1") end}})
GEA.add(id["HALL_PIR"], 2*60, "", {{"Inverse"}, {"Function", function() fibaro:call(id["HALL_LAMPA"], "setValue", "0") end}}) --{"turnOff", id["HALL_LAMPA"]}, {"Repeat"}})
--== Push om post i brevlådan ==--
GEA.add(id["POSTLADA"], 1*30, "Kolla posten (#date# #time#)", {{"Time", "08:00", "21:00"}})
--== Push om TV stått på i x timmar
GEA.add({"Sensor+", id["TILDE_TV"], 100}, 180*60, "Tv:n på i 3 timmar - #value# watt", {{"Portable", 122, 123}})
GEA.add({"Sensor+", id["ALLRUM_TV"], 100}, 240*60, "Tv:n på i 4 timmar - #value# watt", {{"Portable", 122, 123}})
--== Saker som stänger av sig på tid ==--
GEA.add(id["TILDE_LEDLIST"], 20*60, "", {{"turnOff", id["TILDE_LEDLIST"]}})
-- GEA.add(id["SKRIVARE_HP"], 60*60, "", {{"turnOff", id["SKRIVARE_HP"]}})
-- GEA.add(id["SKRIVARE_CANON"], 60*60, "", {{"turnOff", id["SKRIVARE_CANON"]}})
--== Kylskåp och frys, rapportera öppen dörr och hög temp ==--
GEA.add({"Value+", id["KYL_TEMP"], 15}, 7*60, "Kolla kylen, #value# grader (#date# #time#)")
GEA.add(id["KYL_DORR"], 3*60, "Öppen kylskåpsdörr #duration# (#date# #time#)")
--== Kolla döda noder ==--
GEA.add({"Dead", id["PARKERING_LAMPA"]}, 15*60, "Kolla lampan på parkeringen", {{"WakeUp", id["PARKERING_LAMPA"]}, {"Portable", 122, 123}})
GEA.add({"Dead", id["AVFUKTARE_STOR"]}, 10*60, "Kolla stora avfuktaren", {{"WakeUp", id["AVFUKTARE_STOR"]}, {"Portable", 122, 123}})
GEA.add({"Dead", id["AVFUKTARE_LITEN"]}, 10*60, "Kolla lilla avfuktaren", {{"WakeUp", id["AVFUKTARE_LITEN"]}, {"Portable", 122, 123}})
-- GEA.add({"Dead", id["VRUM_LEDLIST"]}, 10*60, "Väcker ledlist i vrum", {{"WakeUp", id["VRUM_LEDLIST"]}, {"Portable", 122, 123}})
-- GEA.add({"Dead", id["TVATT_PIR"]}, 10*60, "Väcker PIR i tvättstugan", {{"WakeUp", id["TVATT_PIR"]}, {"Portable", 122, 123}})
GEA.add({"Dead", id["POSTLADA"]}, 30*60, "Kolla brevlådan", {{"WakeUp", id["POSTLADA"]}, {"Portable", 122, 123}})
-- ==================================================
-- [FR] NE PLUS RIEN TOUCHER
-- [EN] DON'T TOUCH UNDER THIS POINT
-- ==================================================
Här är GEA:s supportforum, finns mycket bra där. Google translate funkar utmärkt.
http://www.domotique-fibaro.fr/index.ph ... pport-gea/
Här postar medlemmar sina konfigurationer.
http://www.domotique-fibaro.fr/index.ph ... nfigs-gea/
http://www.domotique-fibaro.fr/index.ph ... pport-gea/
Här postar medlemmar sina konfigurationer.
http://www.domotique-fibaro.fr/index.ph ... nfigs-gea/
GEA - installation av ny enhet med lite kod.
Idag installerade jag en ny Qubino-dimmer i dotterns rum.
Tanken är att tända taklampan gradvis för att väcka henne när det är dagis.
Jag skapar en global variabel som heter "Dagis" med värde "Ja" och "Nej"
Dimmern fick id 174, lägger in den under properties
Jag vill kunna stänga av väckningen med lampan när det inte är dagis (barnen går inte på dagis när det är lov)
Den globala variabeln Dagis läggs in under globals.
För att lättare komma ihåg enhetens nummer skapar vi en lokal variabel. Enhet 174 heter numera T_TAKLAMPA
Nu till kodsnutten som ska in i GEA. Jag delar upp det för lättare översyn.
local DagisJa = Vi gör om kodsnutten till en lokal variabel så att vi kan använda ett annat kommando senare.
Time = är tiden när saker ska hända
{"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "15") end} = sätter taklaklampan till 15%
{"Days", "Monday, Tuesday, Wednesday, Thursday"}}) = Utförs dessa dagar.
Om den globala variablen "Dagis" = Nej. Stoppa den lokala variabeln "DagisJa"
DagisJa är kodsnutten som tänder lampan.
Sen släcker vi lampan kl 08:15 (Får hoppas dottern lär sig släcka själv)
Hela kodsnutten ser ut som följande.
Nu hoppas jag att det funkar också, får se imorgon bitti
Idag installerade jag en ny Qubino-dimmer i dotterns rum.
Tanken är att tända taklampan gradvis för att väcka henne när det är dagis.
Jag skapar en global variabel som heter "Dagis" med värde "Ja" och "Nej"
Dimmern fick id 174, lägger in den under properties
Code: Select all
%% properties
174 value
Den globala variabeln Dagis läggs in under globals.
Code: Select all
%% globals
Dagis
Code: Select all
local id = {
T_TAKLAMPA = 174,
Code: Select all
local DagisJa = GEA.add(true, 30, "", {{"Time", "06:30", "06:30"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "15") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
Time = är tiden när saker ska hända
{"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "15") end} = sätter taklaklampan till 15%
{"Days", "Monday, Tuesday, Wednesday, Thursday"}}) = Utförs dessa dagar.
Om den globala variablen "Dagis" = Nej. Stoppa den lokala variabeln "DagisJa"
DagisJa är kodsnutten som tänder lampan.
Code: Select all
GEA.add({"Global","Dagis","Nej"}, 30 , "" , {{"StopTask",DagisJa}, {"repeat"}})
Code: Select all
local DagisJa = GEA.add(true, 30, "", {{"inverse"}, {"Time", "08:15", "08:15"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "0") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
Code: Select all
local DagisJa = GEA.add(true, 30, "", {{"Time", "06:30", "06:30"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "15") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
local DagisJa = GEA.add(true, 30, "", {{"Time", "06:32", "06:32"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "20") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
local DagisJa = GEA.add(true, 30, "", {{"Time", "06:34", "06:34"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "30") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
local DagisJa = GEA.add(true, 30, "", {{"Time", "06:36", "06:36"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "40") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
local DagisJa = GEA.add(true, 30, "", {{"Time", "06:39", "06:39"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "50") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
local DagisJa = GEA.add(true, 30, "", {{"Time", "06:42", "06:42"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "75") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
local DagisJa = GEA.add(true, 30, "", {{"Time", "06:44", "06:44"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "99") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
-- Släck lampan vid kl 08:15 --
local DagisJa = GEA.add(true, 30, "", {{"inverse"}, {"Time", "08:15", "08:15"}, {"Function", function() fibaro:call(id["T_TAKLAMPA"], "setValue", "0") end}, {"Days", "Monday, Tuesday, Wednesday, Thursday"}})
GEA.add({"Global","Dagis","Nej"}, 30 , "" , {{"StopTask",DagisJa}, {"repeat"}})