ich hab ein LUA Script gebaut, was erstmal nur eine Lampe einschalten soll, wenn einer von mehreren Fenster Sensoren anspringt. Es gibt hier aber ewin seltsames Phänomen. Ich starte das Script, und wenn ich noch was ändern möchte bekommen ich zuerst Acces forbidden. Wenn ich die Seite aktualisiere sehe ich aber, dass das Skript verschwunden ist. Wenn ich das HC2 neustarte, dann ist es wieder da. Das passiert nur mit diesem einen Script, alle anderen laufen. Es sieht so aus, als wäre da irgendwas drin, was das HC2 nicht mag. Oder bin ich einfach zu dämlich?
Meine Konfiguratzion, HC2, Version 4.032, die Sensoren sind die Fibaro Fenster Sensoren.
Hier da Script:
--[[
%% properties
97 value
12 value
89 value
58 value
84 value
89 value
93 value
%% globals
--]]
local Kueche = 97
local Essen = 12
local Gaeste = 89
local Terasse = 58
local Bad = 84
local GaesteWC = 89
local Haustuer = 93
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(Kueche, "value")) > 0 )
or
( tonumber(fibaro:getValue(Essen, "value")) > 0 )
or
( tonumber(fibaro:getValue(Gaeste, "value")) > 0 )
or
( tonumber(fibaro:getValue(Terasse, "value")) > 0 )
or
( tonumber(fibaro:getValue(Bad, "value")) > 0 )
or
( tonumber(fibaro:getValue(GaesteWC, "value")) > 0 )
or
( tonumber(fibaro:getValue(Haustuer, "value")) > 0 )
or
startSource["type"] == "other"
)
then
fibaro:call(15, "turnOn");
fibaro:debug("Schalte Licht ein");
-- fibaro:call(2, "sendDefinedEmailNotification", "2"); --Fenster offen
-- fibaro:call(2, "sendEmail", "Fenster geöffnet","Es wurde irgendein Fenster geöffnet")
end
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
P.S.: Ein Super Board hier!!
Sowas liest man immer gerne
Sehr seltsam wie sich das bei dir verhält, kann ich mir keinen reim draus machen warum und weshalb das so ist.
Sollte in den Script ein Fehler sein bekommst du diesen eigentlich im Debug Fenster angezeigt.
Logst du dich per remote ein?
Habe dein Script ein bisschen überarbeitet. Damit könntest du das Licht in dementsprechenden Raum anschalten und bekommst Raumbezogen eine Email.
Hoffe ist Fehlerfrei…ohne Gewähr…hab es nicht getestet…
--[[
%% properties
97 value
12 value
89 value
58 value
84 value
89 value
93 value
%% globals
--]]
local Kueche = 97
local Essen = 12
local Gaeste = 89
local Terasse = 58
local Bad = 84
local GaesteWC = 89
local Haustuer = 93
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
if (tonumber(fibaro:getValue(Kueche, "value")) > 0)
then
fibaro:call(15, "turnOn");
fibaro:call(2, "sendEmail", "Fenster Küche wurde geöffnet.");
fibaro:debug('Fenster Küche wurde geöffnet.')
elseif (tonumber(fibaro:getValue(Essen, "value")) > 0)
then
fibaro:call(15, "turnOn");
fibaro:call(2, "sendEmail", "Fenster Esszimmer wurde geöffnet.");
fibaro:debug('Fenster Esszimmer wurde geöffnet.')
elseif (tonumber(fibaro:getValue(Gaeste, "value")) > 0)
then
fibaro:call(15, "turnOn");
fibaro:call(2, "sendEmail", "Fenster Gästezimmerzimmer wurde geöffnet.");
fibaro:debug('Fenster Gästezimmer wurde geöffnet.')
elseif (tonumber(fibaro:getValue(Terasse, "value")) > 0)
then
fibaro:call(15, "turnOn");
fibaro:call(2, "sendEmail", "Terassentür wurde geöffnet.");
fibaro:debug('Terassentür wurde geöffnet.')
elseif (tonumber(fibaro:getValue(Bad, "value")) > 0)
then
fibaro:call(15, "turnOn");
fibaro:call(2, "sendEmail", "Fenster Badezimmer wurde geöffnet.");
fibaro:debug('Fenster Badezimmer wurde geöffnet.')
elseif (tonumber(fibaro:getValue(GaesteWC, "value")) > 0)
then
fibaro:call(15, "turnOn");
fibaro:call(2, "sendEmail", "Fenster Gäste WC wurde geöffnet.");
fibaro:debug('Fenster Gäste WC wurde geöffnet.')
elseif (tonumber(fibaro:getValue(Haustuer, "value")) > 0)
then
fibaro:call(15, "turnOn");
fibaro:call(2, "sendEmail", "Haustür wurde geöffnet.");
fibaro:debug('Haustür wurde geöffnet.')
end
Ich bin einfach übers Webinterface im Home Center 2. Ich bin im gleichen Netz, also nicht Remote.
Ich habe Deine Varinate jetzt mal genommen. Ich bin ins Webinterface, unter Szenen dann Szene hinzufügen, LUA Script, dann Szene noch benannt und einem Raum zugeordnet. Dann hab ich abgespeichert, soweit alles gut. Dann kopiere ich Deinen Code per Zwischenablage rein, speicher ab, immer noch alles gut. Jetzt möchte ich nur nochmal abspeichern, dann sagt er mir schon Access forbidden. Zuerst hab ich das nicht verstanden, aber das sagt er, weil das Script schon nicht mehr da ist. Wenn ich die Seite im Browser aktualisiere, ist sie weg. Wenn ich jetzt das HC2 neue starte, dann ist das SCript kurz da. So lange, bis ich was damit mache, dann wieder selbe Effekt. Spooky, oder? Vielleicht ein Bug in der 4.032?