Hi,
schau doch mal im Debug nach dem genauen Wert. Was hast du im Code eingetragen?
Gruß
Hi,
schau doch mal im Debug nach dem genauen Wert. Was hast du im Code eingetragen?
Gruß
Ups. Der Trockner genehmigt sich doch noch etwas mehr Saft im Nachlauf. Konnte im Debug eben sehen, dass der Spitzenwert bei 201 Watt lag. Es waren weitere Werte knapp drunter dabei - also höher als meine aktuell eingetragenen 170. Werde dann heute Abend den Code nochmal anpassen. Danke!
Ich nutze das Script:
–[[
%% properties
99 power
%% globals
–]]
local power_socket = 99 – wallplug
local powerlive = fibaro:getValue(power_socket, “power”)
fibaro:debug(“Verbrauch = “…powerlive…” Watt”)
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
local run = 0
local currentDate = os.date("*t");
local power = fibaro:getValue(power_socket, “power”)
local counter = 0
if ( tonumber(fibaro:getValue(power_socket, “power”)) > 35 ) and run == 0 then
local start = (os.time())
fibaro:debug(“Trockner läuft…”)
fibaro:debug(“Verbrauch = “…power…” Watt”)
run = 1
end
while run == 1 do
if (tonumber(fibaro:getValue(power_socket, “power”)) < 2) then
counter = counter + 1
local power2 = fibaro:getValue(power_socket, “power”)
fibaro:debug('counter = ’ …counter… " : "…power2…“Watt”)
end
if (tonumber(fibaro:getValue(power_socket, “power”)) > 3 ) then
counter = 0
end
if (tonumber(fibaro:getValue(power_socket, “power”)) < 1.0) and counter > 60 then
fibaro:debug(“Trockner ist fertig.”)
local power3 = fibaro:getValue(power_socket, “power”)
fibaro:debug(“Verbrauch (3) = “…power3…” Watt”)
fibaro:debug(“Send Push”)
Figaro:call(21, “sendPush”, “Trockner ist durchgelaufen”, “Trockner”);
Figaro:call(91, “sendPush”, “Trockner ist durchgelaufen”, “Trockner”);
run = 0
end
fibaro:sleep(1*1000)
end
Ich bekomme leider jedoch keine Push Nachrichten , als auch schaltet der WallPlug nicht aus. Was mache ich falsch, bzw. muss ich das Pushen noch irgend wo anders konfigurieren?
Liebe Grüße
Marc
Hast du die IDs angepasst? In dem Skript schaltet der Wallplug nicht aus.
Gruß
Ja, die Wallplug ID ist die 99, die IDs für mein iPhone sollten entweder die 21 oder die 91 sein. Gibt es das script auch mit Wallplus ausschalten?
Kannst du doch hinter run = 0
einfach einfügen. Hast du mal in der API geschaut, welche ID dein iPhone hat? Was sagt der Debug?
Gruß
[DEBUG] 12:03:26: line 45: unexpected symbol near char(226)
fibaro:call(99, „turnOff“); – Wallplug aus
[{“id”:21,“name”:“MaXX iPhone”,“roomID”:0,“type”:“iOS_device”,“baseType”:"",“enabled”:true,“visible”:true,“isPlugin”:false,“parentId”:0,“remoteGatewayId”:0,“viewXml”:false,“configXml”:false,“interfaces”:[],“properties”:{“DeviceToken”:“15b596b4a29948c78640df64934276e7aaeb232940d23c2424081aa47c0daXXX”,“DeviceUID”:“FC0C8FE6-5085-4826-86A9-578F4F271BCB”,“Push”:“true”,“deviceIcon”:“91”},“actions”:{“sendDefinedPushNotification”:1,“sendPush”:1},“created”:1455034514,“modified”:1455034514,“sortOrder”:14},{“id”:101,“name”:“JulXX iPhone”,“roomID”:0,“type”:“iOS_device”,“baseType”:"",“enabled”:true,“visible”:true,“isPlugin”:false,“parentId”:0,“remoteGatewayId”:0,“viewXml”:false,“configXml”:false,“interfaces”:[],“properties”:{“DeviceToken”:“6a69b7791882f033b2481b7953c526f70fd6316cc8a9b7c2d81ec11261b9XXX”,“DeviceUID”:“2573BC7E-C497-48BB-BC24-1CB87D27CE39”,“Push”:“true”,“deviceIcon”:“91”},“actions”:{“sendDefinedPushNotification”:1,“sendPush”:1},“created”:1461925010,“modified”:1461925010,“sortOrder”:91}]
Daher die ID 21 für mein iPhone und die ID 101 für das meiner Frau
Wenn das Skript nicht läuft, kannst du natürlich auch keine Push-Nachrichten bekommen
--[[
%% properties
99 power
%% globals
--]]
local power_socket = 99 -- wallplug
local powerlive = fibaro:getValue(power_socket, "power")
fibaro:debug("Verbrauch = "..powerlive.." Watt")
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
local run = 0
local currentDate = os.date("*t");
local power = fibaro:getValue(power_socket, "power")
local counter = 0
if ( tonumber(fibaro:getValue(power_socket, "power")) > 35 ) and run == 0 then
local start = (os.time())
fibaro:debug("Geschirrspüler läuft...")
fibaro:debug("Verbrauch = "..power.." Watt")
run = 1
end
while run == 1 do
if (tonumber(fibaro:getValue(power_socket, "power")) < 2) then
counter = counter + 1
local power2 = fibaro:getValue(power_socket, "power")
fibaro:debug('counter = ' ..counter.. " : "..power2.."Watt")
end
if (tonumber(fibaro:getValue(power_socket, "power")) > 3 ) then
counter = 0
end
if (tonumber(fibaro:getValue(power_socket, "power")) < 1.0) and counter > 60 then
fibaro:debug("Geschirrspüler ist fertig.")
local power3 = fibaro:getValue(power_socket, "power")
fibaro:debug("Verbrauch (3) = "..power3.." Watt")
fibaro:debug("Send Push")
fibaro:call(68, "sendPush", "Geschirrspüler ist durchgelaufen", "Dischwasher");
fibaro:call(113, "sendPush", "Geschirrspüler ist durchgelaufen", "Dischwasher");
run = 0
end
fibaro:sleep(1*1000)
end
Was muss ich beim Script entfernen damit die Waschmaschine nur eine Push-Nachricht sendet aber nicht abschaltet?
Ich habe alle Werte eingetragen und die WallPlug eingeschalten , aber nach 10 Sekunden tut sich nichts!?
--[[
%% properties
140 value
%% globals
--]]
WallplugID = 387; -- ID des Wallplug, hier ändern.
Phone1 = 8; -- ID Telefon1, hier ändern.
local sourceTrigger = fibaro:getSourceTrigger();
if (sourceTrigger["type"] == "property") -- Trigger Wallplug
then
fibaro:debug('Wallplug Auslösung an/aus');
fibaro:sleep(10); -- 10 min Wartezeit
local Wallplug = (tonumber(fibaro:getValue(WallplugID, "value")) > 0 ); -- Ist Wallplug an
if (Wallplug)
then
while true do
fibaro:debug('Loop läuft');
local PushAus = (tonumber(fibaro:getValue(WallplugID, "valueSensor")) < 8 ); -- Wallplug kleiner als 8 Watt
if (PushAus) then
fibaro:debug('Sende Push');
fibaro:call(Phone1, "sendPush", "Wäsche ist fertig"); -- Push Handy
fibaro:sleep(10); -- 10 min Wartezeit
fibaro:debug('Schalte aus');
fibaro:call(Phone1, "sendPush", "Waschmaschine wird ausgeschaltet"); -- Push Handy
fibaro:call(WallplugID, "turnOff"); -- Wallplug aus
break;
end
fibaro:sleep(10);
end
end
end
Hi,
du hast den Trigger nicht geändert. Deshalb startet das Skript nicht.
Gruß
Vielen Dank. Du meinst if (sourceTrigger["type"] == "property") – Trigger Wallplug
oder? Was gehört da rein?
Nein, die 140 im Header.
http://www.siio.de/fibaro-homecenter-einsteigerguide-teil-2-getriggerte-szenen/
Hallo,
das Skript für den Trockner läuft seit Wochen einwandfrei. Es generiert dur gelegentlich zu viele Instanzen. hmmm
Aber irgendwie will das für die Waschmaschine nicht richtig funzen. Es löst die Nachrict aus, wenn ich die Maschine beim Entladen ausschalte.
--[[
%% properties
107 power
%% globals
--]]
local power_socket = 107 -- wallplug
local powerlive = fibaro:getValue(power_socket, "power")
fibaro:debug("Verbrauch = "..powerlive.." Watt")
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
local run = 0
local currentDate = os.date("*t");
local power = fibaro:getValue(power_socket, "power")
local counter = 0
if ( tonumber(fibaro:getValue(power_socket, "power")) > 5 ) and run == 0 then
local start = (os.time())
fibaro:debug("Waschmaschine alt läuft...")
fibaro:debug("Verbrauch = "..power.." Watt")
run = 1
end
while run == 1 do
if (tonumber(fibaro:getValue(power_socket, "power")) < 2) then
counter = counter + 1
local power2 = fibaro:getValue(power_socket, "power")
fibaro:debug('counter = ' ..counter.. " : "..power2.."Watt")
end
if (tonumber(fibaro:getValue(power_socket, "power")) > 3 ) then
counter = 0
end
if (tonumber(fibaro:getValue(power_socket, "power")) < 1.0) and counter > 60 then
fibaro:debug("Waschmaschine alt ist fertig.")
local power3 = fibaro:getValue(power_socket, "power")
fibaro:debug("Verbrauch (3) = "..power3.." Watt")
fibaro:debug("Send Push")
fibaro:call(46, "sendPush", "Waschmaschine alt ist durchgelaufen", "Waschmaschine alt");
fibaro:call(81, "sendPush", "Waschmaschine alt ist durchgelaufen", "Waschmaschine alt");
fibaro:call(23, "sendEmail", "Waschmaschine alt", "Waschmaschine alt ist durchgelaufen");
fibaro:call(79, "sendEmail", "Waschmaschine alt", "Waschmaschine alt ist durchgelaufen");
run = 0
end
fibaro:sleep(1*1000)
end
Mit dem Wert in Zeile 35 habe ich schon etwas experimentiert. leider ohne Erfolg. Hat jemand eine Idee?
Danke!
Hi,
was hat denn die Waschmaschine für einen Verbrauch, wenn diese durchgelaufen ist? Hier wird der Verbrauch über 3 Watt liegen, wodurch das Skript immer weiter läuft. Poste doch am besten mal ein Debug von der Szene, wenn diese einmal durchgelaufen ist.
Gruß
Ich habe den verbacuh mal etwas hochgesetzt. aber irgendwie startet der counter erst, wenn ich die Maschine ausschalte. Und exakt 60 sev später kommt die Benachrichtigung.
Hier nochmal mein aktuelles Skript:
--[[
%% properties
107 power
%% globals
--]]
local power_socket = 107 -- wallplug
local powerlive = fibaro:getValue(power_socket, "power")
fibaro:debug("Verbrauch = "..powerlive.." Watt")
if (fibaro:countScenes()>1)
then
fibaro:abort();
end
local run = 0
local currentDate = os.date("*t");
local power = fibaro:getValue(power_socket, "power")
local counter = 0
if ( tonumber(fibaro:getValue(power_socket, "power")) > 15 ) and run == 0 then
local start = (os.time())
fibaro:debug("Waschmaschine alt läuft...")
fibaro:debug("Verbrauch = "..power.." Watt")
run = 1
end
while run == 1 do
if (tonumber(fibaro:getValue(power_socket, "power")) < 2) then
counter = counter + 1
local power2 = fibaro:getValue(power_socket, "power")
fibaro:debug('counter = ' ..counter.. " : "..power2.."Watt")
end
if (tonumber(fibaro:getValue(power_socket, "power")) > 10 ) then
counter = 0
end
if (tonumber(fibaro:getValue(power_socket, "power")) < 1.0) and counter > 60 then
fibaro:debug("Waschmaschine alt ist fertig.")
local power3 = fibaro:getValue(power_socket, "power")
fibaro:debug("Verbrauch (3) = "..power3.." Watt")
fibaro:debug("Send Push")
fibaro:call(46, "sendPush", "Waschmaschine alt ist durchgelaufen", "Waschmaschine alt");
fibaro:call(81, "sendPush", "Waschmaschine alt ist durchgelaufen", "Waschmaschine alt");
fibaro:call(23, "sendEmail", "Waschmaschine alt", "Waschmaschine alt ist durchgelaufen");
fibaro:call(79, "sendEmail", "Waschmaschine alt", "Waschmaschine alt ist durchgelaufen");
run = 0
end
fibaro:sleep(1*1000)
end
Und anbei noch Screens vom Debug. Danke für die Geduld!
Hi,
das liegt an dem Verbrauch der Waschmaschine nach Beendigung des Waschgangs. Dieser ist 2,2 Watt, weshalb der counter nie starten kann. Dieser geht von einem Wert unter 1 Watt aus.
Ändere Zeile 30 mal in
if (tonumber(fibaro:getValue(power_socket, "power")) < 3) then
und 38
if (tonumber(fibaro:getValue(power_socket, "power")) < 3.0) and counter > 60 then
Dann sollte es gehen.
Gruß
@boomx, das war bei mir genauso, da die Waschmaschine auch im Stand so ca. 2,5 W Verbrauchte musste ich hier die Zeile 30 und 38 auch auf 3.0 anpassen und seitdem läufts.
Noch was anderes, ist es möglich in dem Skript noch zwei weitere Infos in die Push Nachricht mit einzubringen?