Script waschmaschine

Hallo zusammen.

Ich habe nun seit einiger Zeit das HC2 und möchte nun mit lua beginnen. Ich habe nun mal versucht die super script mit der Waschmaschine (wenn fertig push Meldung) einfach zu kopieren und einzufügen. Dann habe ich die entsprechenden ID geändert. Aber leider passiert nix. Muss ich da noch etwas beachten?

Vielen Dank schon mal

Welches Skript meinst du?

Habe das Script überarbeitet :slight_smile:

Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
–[[
%% properties
140 value
%% globals
–]]

WallplugID = 140; – ID des Wallplug, hier ändern.
Phone1 = 41; – ID Telefon1, hier ändern.
Phone2 = 192; – ID Telefon2, hier ändern. Wenn nicht benötigt löschen.

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”)) < 8 ); – Wallplug kleiner als 8 Watt
if (PushAus) then
fibaro:debug(‘Sende Push’);
fibaro:call(Phone1, “sendPush”, “Wäsche ist fertig”); – Push Handy
– Phone2 löschen wenn nicht benötigt
fibaro:call(Phone2, “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
– Phone2 löschen wenn nicht benötigt
fibaro:call(Phone2, “sendPush”, “Waschmaschine wird ausgeschaltet”); – Push Handy
fibaro:call(WallplugID, “turnOff”); – Wallplug aus
break;
end
fibaro:sleep(60000);
end
end
end

Das hier.

http://siio.de/board/thema/waschmaschine-push-nachricht/

Dieses hier.

Kann mir denn keiner helfen?

Ich habe jetzt mal eine einfache szene mit dem wallplug erstellt. Wenn wallplug unter 5 watt dann puschnachricht senden.

Das funtioniert eigentlich auch. Was ist denn der Unterschied bei dem oben genannten script?

Veielen Dank im Voraus.

Hi,
über das Script wird abschließend der WallPLug (also die Waschmaschine) ausgeschaltet.

Ich selber habe das auch über zwei Blockszenen laufen.

VG Hoggle

Hallo Hoggle
Danke für deine Antwort.

Hast du das als lua scene oder als normale szene laufen?

Wenn ich die LUA szene kopiere und die id ändere passiert bei mir nix?

Wenn sich die Waschmaschine anschließend abschaltet, wie ist es dann beim nächsten Waschgang muss man das Wallplug dann manuell wieder einschalten?

Wegen dem Abschalten nutze ich das Script nicht. Das wollte ich nicht.
Ich habe mit zwei Blockszenen angefangen.
Zwischenzeitlich musste ich eine Szene in LUA umwandeln, weil ich mal Probleme mit den Push-Nachrichten hatte.

Ja abschalten wollte ich auch nicht. Kannst du diese zwei blockszenen posten?

Das Skript funktioniert:

--[[
%% properties
81 power
%% globals
--]]
 
local power_socket = 81 -- 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

Hallo Boomx,

vielen Dank für das Script! Funktioniert super!!!

Bin begeistert vielen Dank!!

Kein Problem :slight_smile:

Hoffentlich hast du jetzt nicht die ganze Zeit die Waschmaschine laufen lassen, um das Skript zu testen :smiley:

Hi,
anbei zwei Szenen, die mir als Basis gedient haben.
Im Gegensatz zu dem LUA-Script musst Du hier zusätzlich eine Globale Variable “Waschmaschine” mit den Werten “Running” und “On” anlegen.
VG Hoggle

Waschmaschine-ist-an-Szene.jpg

Waschmaschine-ist-fertig-Szene.jpg

Danke Hoggle für die Szenen. Ich schaue jetzt mal wie das Skript von boomx sich bewährt.

Hallo Boomx,

ich habe jetzt das Skript für den Trockner angewandt. Im Gegensatz zur Waschmaschine habe ich aber da das Problem, wenn der Trockner mit dem Programm durch ist und man ihn nicht sofort abschaltet, dreht er die Wäschetrommel alle ca. 60 Sekunden 2-3 Umdrehungen und braucht natürlich immer wieder über die 35 Watt, die der Szene eigentlich sagen müsste das der Trockener fertig ist. Somit sendet die App Keine Push!?

In welcher Zeile kann ich denn evtl. die Zeit einstellen zwischen unter 35 Watt und Push senden? Oder liege ich da falsch mit meiner Idee?

Hi,

pass am Besten Zeile 38 an und mach aus der 60 eine 30. Dann pusht das Skript, wenn die Wattzahl für 30 Sekunden unter 1 Watt (dein Wattverbrauch, wenn der Verbraucher fertig ist; ansonsten musst du die Wattzahl mal abändern. Mit dem Stromverbrauch von 35 Watt erkennt das Skript nur, dass der Verbraucher an ist.) fällt. Müsstest du mal testen.

Gruß

Hallo boomx

Ich bräuchte nochmal deine Hilfe.

Bei mir läuft jetzt dein Skript mit der Waschmaschine und Trockner.
Jetzt wäre es super wenn am Schluss jetzt zusätzlich zur Push Nachricht mein Sonos Lautsprecher sagt “Die Waschmaschine ist fertig!”.

Ich habe dank Hoggle’s Hinweis diesen Sonos Comander installiert und es funktioniert alles super. Ich kann einfache Szenen damit realisieren wie zb. Wenn Türsensor geöffnet dann spiele Musik oder eben einen definierten Text sprechen lassen.

Nur wie binde ich jetzt zu deinem Skript noch den Befehl ein das das VD Sonos Comander spricht?

Grüße

Da brauchst Du nur hinter die Zeilen der Push-Versendung zwei Zeilen einbauen:

  1. die TTS-Variable mit dem zu sprechenden Text füllen
  2. den TTS-Button drücken

das sieht ungefähr so aus (für Radio starten):

fibaro:setGlobal("SONOS_RADIO", "radiohamburg.hoerradar.de/radiohamburg-live-mp3-192?");
fibaro:call(206, "pressButton", "1");

die “206” ist die ID des SONOS-Commanders, der TTS-Button wäre bei mir “3”.

Danke Hoggle :slight_smile:

Hey Danke! Ich werde es ausprobieren und berichten.

Ihr seit einfach spitze!!

Nicht dafür.