Waschmaschine Push Nachricht

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 :wink:

--[[
%% 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!

Debug_1.png

Debug_2.png

Debug_3.png

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?

  1. Den Gesamtverbrauch dieser Waschung
  2. Die Gesamtzeit dieser Waschung