Waschmaschine Push Nachricht

Das ist die saubere Variante!

Ich hab einfach meine iPad ID angegeben und die Zeile in der die Push gesendet wird kopiert und angepasst

Hi,
hab ein neues handy und möchte die pushnachrichten jetzt auf das aktuellste gerät bekommen. hab die ID des neuen Handys eingetragen, aber da kommt keine push an.
muss ich sonst noch was ändern? über die fibaro app kann ich vom neuen handy auf meine aktoren etc zugreifem.
danke
bademeister

Hi Leute,

wäre es möglich mein Sonos einzubinden und zusätzlich zur Push-Nachricht ne TTS über Sonos zu bekommen?

Grüße

Hi,

klar :slight_smile:

Du musst einfach nur an entsprechender Stelle (Versendung Push-Nachricht) den Button von deinem Virtuellen Device drücken.

Gruß

Bei mir läuft das Skript jetzt auch schon 2 Monate recht zuverlässig.
Das einzige was mir auffiel war, dass das Skript nicht beendet wird sobald die Waschmaschine abgeschaltet wird, sondern im Debug Fenster alle 10 sek “Waschmaschine im Standby” kommt. Wenn die Maschine aus ist hat der Wallplug n Grundverbrauch von 0,3 Watt. Was muss ich ändern damit das Skript nicht bis zum nächsten Waschgang in der Standby Schleife hängt?

Dank euch

Hallo zusammen!

Meine läuft ebenfalls permanent durch!
Wie kann ich das ändern?

Viele Grüße

Christian

Einfach nach der Push Nachricht die folgenden Zeilen ergänzen.

fibaro:sleep(5*60000) -- 5 Min Verzögerung
fibaro:call(wallplug, "turnOff");

Ähh, hätte ich vielleicht vorher fragen sollen, welches Script benutzt ihr überhaupt?
Wollt ihr den Wallplug abschalten oder nur die Schleife beenden?

Hallo AlexM,
ich habe das Skript von heikoh auf Seite 2 am laufen. Der Wallplug sollte an bleiben nachdem die Waschmaschine aus geschaltet wurde. Daher fällt Dein Vorschlag für mich leider schon raus. Sollte der Befehl in Zeile 47 nicht eigentlich das Skript beenden?

Gruss

Hi,

da geht dein Skript aber nie rein, weil die Steckdose nicht ausgeht :wink:

Nimm mal dies hier: http://www.siio.de/board/thema/script-waschmaschine/

Da endet die Schleife, sobald der Verbrauch länger als 60 Sekunden unter 1 Watt (kannst du natürlich auch anpassen).

Gruß

Hey Daniel,
danke für den Link werd das später testen.

Gruss

bitte dein eintrag hier löschen. muss etwas schreiben damit ich die email benachrichtigung abschalten kann :wink:

@Daniel: Ich verwende die Szene, auf die Du oben in dem Post per Link hinweist! Die funktioniert auch super. Dennoch endet sie bei mir auch nie. Hier der Debug:

[DEBUG] 07:01:50: Verbrauch = 0 Watt
[DEBUG] 07:01:52: Verbrauch = 0.3 Watt
[DEBUG] 07:01:54: Verbrauch = 0 Watt
[DEBUG] 07:01:56: Verbrauch = 0.3 Watt
[DEBUG] 07:01:58: Verbrauch = 0 Watt
[DEBUG] 07:02:02: Verbrauch = 0.3 Watt
[DEBUG] 07:02:03: Verbrauch = 0 Watt
[DEBUG] 07:02:10: Verbrauch = 0.3 Watt

Hier die Szene:

--[[
%% properties
521 power
%% globals
--]]
 
local power_socket = 521 -- 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("Waschmaschine 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")) < 5) and counter > 60 then
          fibaro:debug("Waschmaschine ist fertig.")
          local power3 =  fibaro:getValue(power_socket, "power")
          fibaro:debug("Verbrauch (3) = "..power3.." Watt")
          fibaro:debug("Send Push")
    	  fibaro:call(531, "sendPush", "Waschmaschine ist durchgelaufen", "Washer");
    	  fibaro:call(774, "sendPush", "Waschmaschine ist durchgelaufen", "Washer");
    	  fibaro:call(775, "sendPush", "Waschmaschine ist durchgelaufen", "Washer");
	  	  fibaro:call(777, "sendPush", "Waschmaschine ist durchgelaufen", "Washer");
	  	  --fibaro:call(529, "sendPush", "Waschmaschine ist durchgelaufen", "Washer");
   run = 0
       end 
  fibaro:sleep(1*1000)
end

Vielleicht kannst Du bei Gelegenheit nochmals drüber schauen. Vielen lieben Dank

Christian

Hi,

kommentier Zeile 9 aus, dann kommt die Meldung nicht mehr :wink:

Zur Erklärung:

Die Szene startet immer, wenn sich der Verbrauch von dem angeschlossenen Gerät ändert. Anders funktioniert es nicht, da ja irgendwann der erhöhte Stromverbauch erkannt werden muss.

Gruß

Hallo Daniel,
ich habe Dein Script jetzt auch laufen. Sowohl an der Waschmaschine als auch am Trockner. Läuft bei der Waschmaschine wie gewünscht. Bei dem Trockner habe ich allerdings das Problem, dass dieser nach Beendigung des Trockenprogramms alle ca. 27sek. den Knitterschutz anschmeisst. Soll also heissen, dass ich immer wieder wenn der Trockner kurz anläuft ne neue Push bekomme. Gibts n Befehl mit dem ich die Szene nach der ersten Push beende oder so? Hatte schon überlegt ob ich den Wallplug nicht nach der ersten Push einmal aus & wieder ein schalte, aber dann würde auch der Knitterschutz beendet werden. Das findet widerrum meine Frau nicht so toll wenn man dann nicht gleich ausräumt. Hättest Du da n Tip für mich was ich einfügen oder ändern muss damit ich nicht zugespamt werde. Zeile 9 hab ich jetzt auch mal rausgeschmissen wie im letzten Post von Dir empfohlen.
So sieht das Script bei mir aus:


--[[
%% properties
9 power
%% globals
--]]
 
local power_socket = 9 -- wallplug
local powerlive = fibaro:getValue(power_socket, "power")
 
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")) > 4 ) 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")) < 4) 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")) > 4 ) then
       counter = 0
      end
       if (tonumber(fibaro:getValue(power_socket, "power")) < 3.9) and counter > 23 then
          fibaro:debug("Trockner ist fertig.")
          local power3 =  fibaro:getValue(power_socket, "power")
          fibaro:debug("Verbrauch (3) = "..power3.." Watt")
          fibaro:debug("Send Push")
    	  fibaro:call(37, "sendPush", "Trockner ist fertig");
    	  fibaro:call(38, "sendPush", "Trockner ist fertig");
          fibaro:call(40, "sendPush", "Trockner ist fertig");
          fibaro:call(75, "pressButton", "48");    
    run = 0
       end 
  fibaro:sleep(1*1000)
end

Danke schonmal

Hi,

mit fibaro:abort(); beendest du die Szene. Du hast ja schon die Zeit runtergesetzt. Damit geht es nicht?

Du musst auch die Zeit erhöhen, nach der die Szene erneut getigert wird. Was verbraucht er denn im Knitterschutz? Das müsstest du in Zeile 21 anpassen.

Gruß

Also im Knitterschutz geht der so auf ca. 200 - 300 Watt hoch glaube ich. Genau weiß ich es jetzt aber nicht.
Evtl. teste ich das mal mit nem Wert darüber. Denn wenn der Trockner normal anläuft geht der da ja locker drüber.
Kann ich den Befehl fibaro:abort(); einfach so hinter die letzte Push Zeile einfügen oder muss da noch was angepasst werden?

Danke für die Tips

Ja, sollte so gehen. Könnte eventuell sein, dass die Szene dann von neuem startet. Da müsste man sich dann etwas überlegen :confused:

Gruß

Hi,

ich benutze das Folgende Script:

--[[
%% properties
85 value
%% globals
--]]

WallplugID = 85;  -- ID des Wallplug, hier ändern.
Phone1 = 4;       -- ID Telefon1, hier ändern.

local sourceTrigger = fibaro:getSourceTrigger();

if (sourceTrigger["type"] == "property") -- Trigger Wallplug
   then 
   fibaro:debug('Wallplug Auslösung an/aus');
   fibaro:sleep(600000);    -- 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")) < 20 ); -- Wallplug kleiner als 8 Watt
       if (PushAus) then
        fibaro:debug('Sende Push');
       	fibaro:call(Phone1, "sendPush", "Wäsche ist fertig"); -- Push Handy
        fibaro:sleep(600000);   -- 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(60000);
      end
   end
end 

Dazu habe ich einige Fragen. Also erstmal funktioniert es leider nicht. Dabei schon die erste Frage: WAS triggert die Szene? Das manuelle Einschalten des Wallplug?

Und dann pusht sie nicht und schaltet auch nicht aus. Statdessen geht die Szene in den Loop, wie auch im Debug zu sehen.

Seht ihr wo der Fehler ist?

[DEBUG] 15:07:00: Wallplug Auslösung an/aus
[DEBUG] 15:17:00: Loop läuft
[DEBUG] 15:17:00: line 21: attempt to compare nil with number

Vielen Dank

NeoWob

Hallo
Habe das Script von hier und nach meiner Vorstellung umgebaut.
Wer se braucht…bitte schön.
Die optimierung ereicht man am besten wenn man den strom verbraucht verfolgt und dementsprechend anpast.

--[[
%% autostart
%% properties
14 power
%% globals
--]]

local wallplug = 14				-- wallplug.
local start = 20				-- Start "Watt" bevor die Waschmaschiene einschaltet.
local standby = 5				-- Verbrauch, unter dem der Standby-Modus erkannt werden soll.
local phone1 = 20				-- ID Handy #####.
local phone2 = 84				-- ID Handy ####.
local radio = 34				-- ID RadioTablet.
local aus = 1					-- wenn unter ... Wat dann Waschmaschiene wird ausgeschaltet.
local countermax = 1			        -- Conter je eine minute bis Nachricht  verschikt wird.
local counterfertigmax = 1		        -- Countermax vieviele nachrichte du erhalten willst.

-------------------------------------------------------------------
debug = function ( color, message )
  fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end
-------------------------------------------------------------------
if (fibaro:countScenes()>1) then	
	--debug('red', "Stoppe Szene - zu viele Instanzen")
	fibaro:abort();
    fibaro:sleep(1*6*1000)
end
-------------------------------------------------------------------
local run = 0
local counter = 0
local counterfertig = 0
local currentDate = os.date('*t');
local power = fibaro:getValue(wallplug, "power")

if ((tonumber(fibaro:getValue(wallplug, "power")) > start ) and run == 0) then
	local start = (os.time())
	debug('coral', "Waschmaschine ist an...")
	debug('green', "Verbrauch = "..power.." Watt")
	run = 1
end

while run == 1 do
  if ((tonumber(fibaro:getValue(wallplug,"power")) < standby)) then
    debug('coral', "Waschmaschine im Standby; ...zähle counter hoch")
    debug('orange', ""..counter.."Minute bis zur nächsten Nachricht!")
    
    if ((tonumber(fibaro:getValue(wallplug, "power")) < aus ) or counterfertig == counterfertigmax) then
      
      debug('mistyrose', "Du hast "..counterfertig.." nachrichet....... erhalten.")
      run = 0
      counter = 0
      counterfertig = 0
      debug('red',"Waschmaschine aus... Abort scene")
      
      elseif (counter == countermax) then
      
      debug('aqua', "Waschmaschine im Standby;  ..kleine pause; ..........Versende PushNachricht")
      fibaro:call(phone1, "sendPush", "Waesche ist fertig"); -- Push Handy #####
      fibaro:call(phone2, "sendPush", "Masina de spalat este gata."); -- Push Handy #####
      fibaro:call(radio, "sendPush", "Masina de spalat este gata...Waesche ist fertig"); -- Push Handy RadioTablet
      
      ------------------------------------------------------------------------------
      fibaro:call(86, "pressButton", "47")--WZ maesage waschmaschine... an VU+!
      fibaro:call(87, "pressButton", "47")--KZ maesage waschmaschine... an VU+!
      fibaro:call(88, "pressButton", "47")--SZ maesage waschmaschine... an VU+!
      fibaro:call(89, "pressButton", "47")--Keller maesage waschmaschine... an VU+!
      ------------------------------------------------------------------------------
      
      counter = 0
      counterfertig = counterfertig + 1
      
    end
    
    counter = counter + 1
    fibaro:sleep(1*60*1000)
    
  elseif (tonumber(fibaro:getValue(wallplug, "power")) > standby) then
    debug('lightsteelblue', "Waschmaschine tut noch waschen!!! ...counter resettet")
    counter = 0
    fibaro:sleep(1*60*1000)
  end
  
  if ((tonumber(fibaro:getValue(wallplug, "power")) == 0 ))then
    
    debug('red',"Waschmaschine aus... Abort scene")
    run = 0
    counter = 0
    counterfertig = 0
  end
end