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
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
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
@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
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
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