Szene wird falsch getriggert

Hallo Zusammen,

habe folgendes Problem mit meiner Bewässerungsszene und zwar wird diese auch vom Regensensor und Wasserfüllstandssensor getriggert, sollte eigentlich nur über die eingestellte Zeit aktiviert werden können.
D.h. sagt der Regensensor es regnet nicht mehr, springt sofort diese Szene an ob wohl es vor oder auch nach 20 Uhr ist.
Wo liegt der Fehler?

Vielen Dank
Grüße Volker

image.jpeg

Hi,

du musst die Trigger entfernen. Es handelt sich um eine Zeitgesteurte Szene, weshalb diese entfernt werden müssen.

http://www.siio.de/szenen-im-fibaro-homecenter-einsteigerguide-teil-1/

Gruß

Sag mal, die erste Benachrichtigung kommt erst nach 4 x 1200 Sekunden, oder?

Denke, ich habe alle Trigger Variablen deaktiviert, oder stehen die noch irgendwo anders als oben im Header? Trozdem bekomme ich dieses Verhalten.

Bezüglich den Benachrichtigeungen, die scheinen zu gehen, mit dem Start bekomme ich “Bewässerung An” nach 1200s “Bewässerung Aus”.

Besten Dank

Hast Du Autostart und aktive Szene aktiviert?

Meinst du das hier?

Danke.

image-1.jpeg

Ja, das sieht gut aus.
Auch die deaktivierten Trigger passen.
Hast Du mal einen Neustart durchgeführt?

Ich habe heute eine ähnliche Szene erstellt, die nicht wie erwartet ausgeführt wurde.

Wandele den Code mal in LUA um.

Hallo Hoggle,

hier die Konvertierung in LUA.
Neustart ist durchgeführt, muss aber erst noch den Regen simulieren…

–[[
%% autostart
%% properties
%% events
%% globals
–]]

local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) … “:” … string.format("%02d", currentDate.min) == “20:00”) and fibaro:getGlobalValue(“Regensensor”) == “trocken” and fibaro:getGlobalValue(“Regenwassertank”) == “voll” and fibaro:getValue(3, “WeatherConditionConverted”) ~= “rain” )
)
then
fibaro:call(77, “turnOn”);
fibaro:call(96, “turnOn”);
fibaro:call(98, “turnOn”);
fibaro:call(100, “turnOn”);
fibaro:setGlobal(“Bewaesserung”, “Aus”);
fibaro:call(5, “sendDefinedPushNotification”, “96”);
setTimeout(function()
fibaro:call(77, “turnOff”);
fibaro:call(96, “turnOff”);
fibaro:call(98, “turnOff”);
fibaro:call(100, “turnOff”);
fibaro:call(5, “sendDefinedPushNotification”, “97”);
end, 1200000)
end

setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger[“type”] == “autostart”) then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and fibaro:getGlobalValue(“Regensensor”) == “trocken” and fibaro:getGlobalValue(“Regenwassertank”) == “voll” and fibaro:getValue(3, “WeatherConditionConverted”) ~= “rain” )
or
startSource[“type”] == “other”
)
then
fibaro:call(77, “turnOn”);
fibaro:call(96, “turnOn”);
fibaro:call(98, “turnOn”);
fibaro:call(100, “turnOn”);
fibaro:setGlobal(“Bewaesserung”, “Aus”);
fibaro:call(5, “sendDefinedPushNotification”, “96”);
setTimeout(function()
fibaro:call(77, “turnOff”);
fibaro:call(96, “turnOff”);
fibaro:call(98, “turnOff”);
fibaro:call(100, “turnOff”);
fibaro:call(5, “sendDefinedPushNotification”, “97”);
end, 1200000)
end

end`

Ok, scheint so als ob der Neustart die Lösung war, konnte das Fehlerbild nicht mehr reproduzieren.

Besten Dank für die Hilfe.

Perfekt!