Scen med variabler funkar dåligt

Hjälp varandra att vara kreativa för att göra hemmet mer bekvämt.
Post Reply
engehov
Medlem
Posts: 104
Joined: 08 Feb 2014, 22:21
10
Location: Krokom, Sweden

Hej!
Har ett antal scener som innehåller både exempelvis klockslag och en eller fler variabler.

T ex. Tända ett antal lampor när de blir mörkt, men ej efter en viss tid, alltså beroende av Variabeln TimeOfDay = Day/Evening.

Själva tändscenen funkar oftast, problemet blir då variabeln ändrar tillstånd, ex på morgonen när TimeOfDay = Day så triggar detta tändscenen jag har på kvällen.

Tycker att om jag lägger in en eller flera variabler, som "när solen gått ner" "och" om variabeln är rätt så skall inte den ena delen trigga hela scenen då jag begär att båda delarna skall vara uppfylld innan något skall ske.

tips på detta?

MVH
Fredrik
Elinstallatör på Elkedjan Krokoms El AB

Tillhandahåller och monterar Z-wave produkter, främst Fibaro.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Kan du lägga in scenen här så vi kan kolla på den. Det kanske är något villkor som som behöver justeras lite.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
engehov
Medlem
Posts: 104
Joined: 08 Feb 2014, 22:21
10
Location: Krokom, Sweden

RH_Dreambox wrote: 28 Jul 2018, 10:40 Kan du lägga in scenen här så vi kan kolla på den. Det kanske är något villkor som som behöver justeras lite.
Detta är en av dem, men om ni ser nåt fel i denna kanske jag klara att fixa de andra själv :lol:

--[[
%% autostart
%% properties
%% weather
%% events
%% globals
TimeOfDay
LightOrDark
--]]

local startSource = fibaro:getSourceTrigger();
if (
( fibaro:getGlobalValue("TimeOfDay") == "Evening" )
or
( fibaro:getGlobalValue("TimeOfDay") == "Day" )
and
( fibaro:getGlobalValue("LightOrDark") == "Dark" )

)
then
fibaro:call(57, "turnOn");
fibaro:call(200, "turnOn");
fibaro:call(31, "turnOn");
end
Elinstallatör på Elkedjan Krokoms El AB

Tillhandahåller och monterar Z-wave produkter, främst Fibaro.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Scenen ser ju riktig ut. Kan det vara så att det är variabeln "LightOrDark" som spökar? Vad visar den då TimeOfDay växlar?
Jag antar att TimeOfDay har dessa parametrar "Day, Night, Dawn, Dusk" (Dag, Natt, Gryning, Skymning). Att "Day" och "Night" styrs av klockslag och att det är solens upp och nedgång som triggar "Dawn" och "Dusk" (om du nu använder engelska parametrar), samt att "LightOrDark" triggas av en ljussensor.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
User avatar
Bamsefar
Z-Wave Kung
Posts: 1230
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Du behöver parantes runt de två första, annars blir testet x or (y and z) rent automagiskt.... Dvs (x or y) and z.
Testar Home Assistant på Raspberry Pi4B - nice :mrgreen:
engehov
Medlem
Posts: 104
Joined: 08 Feb 2014, 22:21
10
Location: Krokom, Sweden

RH_Dreambox wrote: 29 Jul 2018, 09:05 Scenen ser ju riktig ut. Kan det vara så att det är variabeln "LightOrDark" som spökar? Vad visar den då TimeOfDay växlar?
Jag antar att TimeOfDay har dessa parametrar "Day, Night, Dawn, Dusk" (Dag, Natt, Gryning, Skymning). Att "Day" och "Night" styrs av klockslag och att det är solens upp och nedgång som triggar "Dawn" och "Dusk" (om du nu använder engelska parametrar), samt att "LightOrDark" triggas av en ljussensor.
"LightOrDark" triggas av solen upp respektive nedgång.
"TimeOfDay" triggas av olika klockslag,

alltså kväll 18.30 vilket då triggar tändning av lamporna trots att "LightOrDark" ej har ändrat till "Dark"

"LightOrDark" ändrar som de är tänkte vilket också "TimeOfDay" gör..
Elinstallatör på Elkedjan Krokoms El AB

Tillhandahåller och monterar Z-wave produkter, främst Fibaro.
engehov
Medlem
Posts: 104
Joined: 08 Feb 2014, 22:21
10
Location: Krokom, Sweden

Bamsefar wrote: 31 Jul 2018, 22:47 Du behöver parantes runt de två första, annars blir testet x or (y and z) rent automagiskt.... Dvs (x or y) and z.

--[[
%% autostart
%% properties
%% weather
%% events
%% globals
TimeOfDay
LightOrDark
--]]

local startSource = fibaro:getSourceTrigger();
if (
(( fibaro:getGlobalValue("TimeOfDay") == "Evening" )) <------- så?
or
(( fibaro:getGlobalValue("TimeOfDay") == "Day" )) <--------- ?
and
( fibaro:getGlobalValue("LightOrDark") == "Dark" )

)
then
fibaro:call(57, "turnOn");
fibaro:call(200, "turnOn");
fibaro:call(31, "turnOn");
end
Elinstallatör på Elkedjan Krokoms El AB

Tillhandahåller och monterar Z-wave produkter, främst Fibaro.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Om jag inte har helt fel så är det så har Bamsefar menar.
En parentes som innesluter båda TimeOfDay.

if (
( ( fibaro:getGlobalValue("TimeOfDay") == "Evening" )
or
( fibaro:getGlobalValue("TimeOfDay") == "Day" ) )
and
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Post Reply