Autor Thema: [Beta] Waschmaschinenstatus  (Gelesen 9516 mal)

Offline traxanos

  • Jr. Member
  • **
  • Beiträge: 96
  • Webentwickler, Sysadmin, IT-Sicherheit
[Beta] Waschmaschinenstatus
« am: 27 Juli 2015, 23:50:40 »
Ich möchte euch heute mein Waschmaschinenstatus vorstellen. Das Ganze gilt erstmal als Beta, da noch paar Anpassungen im DOIF fehlen. Außerdem möchte ich noch etwas länger testen bevor ich sagen kann, dass alles läuft.



Zuerst definieren wir einen Dummy. Auf diesem werden per Syncscript alle Werte von
einer Steckdose mit Leistungsmessung übertragen sowie der Status der Waschmaschine gespeichert.

define Waschmaschine.Status dummy
attr Waschmaschine.Status userattr configPowerOff configWaitOff configPowerDone configWaitDone configTimerAutoOff
attr Waschmaschine.Status configPowerDone 3
attr Waschmaschine.Status configPowerOff 1
attr Waschmaschine.Status configTimerAutoOff 900
attr Waschmaschine.Status configWaitDone 60
attr Waschmaschine.Status configWaitOff 5
attr Waschmaschine.Status event-on-change-reading state, energy
attr Waschmaschine.Status event-on-update-reading power
attr Waschmaschine.Status stateFormat { my $state = ReadingsVal($name, "state", "");; my $power = ReadingsVal($name, "power", "");; if($state eq 'on') { "An" } elsif($state eq "done") { "Fertig" } elsif($state eq "running") { "Läuft ($power W)" } else { "Aus" } }

Folgende Readings existieren:
  • state Aktueller Zustand der Waschmaschine (on, off, done, running)
  • switch Aktueller Zustand der Steckdose (on, off)
  • energy Aktueller Energiezähler
  • power Aktueller Verbrauch
  • preEnergy Energiezähler vor dem Waschgang
  • lastEngery Verbrauch des letzten Waschgangs

Folgende Attribute können angepasst werden:
  • configPowerOff Angabe in Watt. Bei Unterschreitung ändert sicht der Status zu "Aus" unter Beachtung des configWaitOff
  • configPowerDone Angabe in Watt. Bei Unterschreitung ändert sicht der Status zu "Fertig" unter Beachtung des configWaitDone
  • configWaitOff Angabe in Sekunden. Wie lange muss der Wert configPowerOff unterschritten sein, damit sich der Status auf "Aus" ändert (! Wir noch nicht beachtet da eine anpassung im DOIF fehlt.)
  • configWaitDone Angabe in Sekunden. Wie lange muss der Wert configPowerDone unterschritten sein, damit sich der Status auf "Fertig" ändert (! Wir noch nicht beachtet da eine anpassung im DOIF fehlt.)



Dann definieren wir ein Syncscript, welches eine Steckdose an den Waschmaschinenstatus anbindet.
Dieses Script muss entsprechend der eigenen Steckdose mit Leistungsmessung angepasst werden.
Ansonsten existeren keine Abhängigkeiten zur Steckdose.

define Programm.Waschmaschine.Sync DOIF ([Waschmaschine_Pwr:power] or [Waschmaschine_Pwr:energy] or [Waschmaschine_Sw:state]) (\
  setreading Waschmaschine.Status power [Waschmaschine_Pwr:power],\
  setreading Waschmaschine.Status energy [Waschmaschine_Pwr:energy],\
  setreading Waschmaschine.Status switch [Waschmaschine_Sw:state]\
)
attr Programm.Waschmaschine.Sync do always



Hier habe ich das Herzstück, die Statusermittlung.

define Programm.Waschmaschine.Status DOIF ([Waschmaschine.Status:power] < AttrVal("Waschmaschine.Status", "configPowerOff", 1)) (\
  \
  set Waschmaschine.Status off,\
  setreading Waschmaschine.Status preEnergy 0\
\
) DOELSEIF ([Waschmaschine.Status:power] >= AttrVal("Waschmaschine.Status", "configPowerOff", 1) and [Waschmaschine.Status:state] eq 'off') (\
\
  set Waschmaschine.Status on,\
  setreading Waschmaschine.Status preEnergy [Waschmaschine.Status:energy]\
\
) DOELSEIF ([Waschmaschine.Status:power] >= AttrVal("Waschmaschine.Status", "configPowerDone", 3)) (\
\
  set Waschmaschine.Status running\
\
) DOELSEIF ([Waschmaschine.Status:power] < AttrVal("Waschmaschine.Status", "configPowerDone", 3) and [Waschmaschine.Status:state] eq 'running') (\
\
  set Waschmaschine.Status done,\
  setreading Waschmaschine.Status lastEnergy {([Waschmaschine.Status:energy]-[Waschmaschine.Status:preEnergy])},\
  setreading Waschmaschine.Status totalEnergy {([Waschmaschine.Status:totalEnergy]+[Waschmaschine.Status:lastEnergy])},\
  setreading Waschmaschine.Status lastCost {([Waschmaschine.Status:lastEnergy]/1000*0.25)},\
  setreading Waschmaschine.Status totalCost {([Waschmaschine.Status:totalEnergy]/1000*0.25)},\
  setreading Waschmaschine.Status preEnergy [Waschmaschine.Status:energy]\
\
)
attr Programm.Waschmaschine.Status wait 5:0:0:60

Hier muss leider der Wait-Wert configWaitOff (Spalte 1) und configWaitDone (Spalte 4) noch manuell gepflegt werden.
Sobald Damian sein DOIF gefixt hat, werden diese Werte aus der entsprechenden Konfiguration (Attribute) ausgelesen.

Außerdem muss man den totalEnergy Wert auf 0 setzten. Das kann man immer wieder wiederholen um den Zähler zu resetten.

setreading Waschmaschine.Status totalEnergy 0


Nun können wir eine Benachrichtigung auf den Status "Fertig" einrichten. Wie Ihr Benachrichtig werden wollt, müsst Ihr selber entscheiden.
Ich schicke in dieser Vorlage z.B. eine Nachricht per Pushover auf das Handy und per Enigma2 auf den TV. Das Ganze ist natürlich Optional.

define Programm.Waschmaschine.Benachrichtigung DOIF ([Waschmaschine.Status:state] eq 'done') (\
  set Wohnzimmer.PVR showText Die Waschmaschine ist fertig,\
  set Pushover msg 'FHEM' 'Die Waschmaschine ist fertig'\
)



Das letzte DOIF soll die Steckdose automatisch nach X Minuten abschalten, wenn die Waschmaschine nicht läuft.
Hier muss ebenfalls das Device für das set_off angepasst werden. Wielange gewartet wird, ist abhängig vom Wait-Wert der in Sekunden arbeitet. Das ist ebenfalls optional.

define Programm.Waschmaschine.AutoOff DOIF ([Waschmaschine.Status:state] ne "running" and [Waschmaschine.Status:switch] eq "on") (set Waschmaschine_Sw off)
attr Programm.Waschmaschine.AutoOff wait 900
attr Programm.Waschmaschine.AutoOff do always



Ich hoffe euch gefällt das Ganze! Übrigens, das ganze geht natürlich auch bei einer Spülmaschine oder einem Trockner :D
« Letzte Änderung: 10 August 2015, 21:21:23 von traxanos »
Im Einsatz:
FHEM: Latest auf RPi2
HM: vCCU, HMLAN, HMUSB2, HM-CC-RD-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-ES-PMWs1-Pl, HM-LC-Sw1PBU-FM, HM-PB-2-WM55-2, HM-RC-8, HM-BP-6-WM55
CUL: ESA2000, Intertechno
Gefällt mir Gefällt mir x 3 Liste anzeigen

Offline traxanos

  • Jr. Member
  • **
  • Beiträge: 96
  • Webentwickler, Sysadmin, IT-Sicherheit
Antw:[Beta] Waschmaschinenstatus
« Antwort #1 am: 29 Juli 2015, 08:31:44 »
So habe eine kleine Anpassung am AutoOff vorgenommen. Die Waschmaschine soll nicht automatisch abgeschaltet werden, wenn sie nur eingeschaltet wurde. Das ist notwendig, damit einer Timer der Waschmaschine nicht unterbrochen wird.
Im Einsatz:
FHEM: Latest auf RPi2
HM: vCCU, HMLAN, HMUSB2, HM-CC-RD-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-ES-PMWs1-Pl, HM-LC-Sw1PBU-FM, HM-PB-2-WM55-2, HM-RC-8, HM-BP-6-WM55
CUL: ESA2000, Intertechno

Offline spilu

  • New Member
  • *
  • Beiträge: 18
Antw:[Beta] Waschmaschinenstatus
« Antwort #2 am: 30 Juli 2015, 10:54:49 »
schau mal hier: http://www.meintechblog.de/2014/01/homematic-funk-steckdose-mit-leistungsmessung-deine-waschmaschine-ist-fertig/

das dürfte doch in etwa das sein, was du gebaut hast? In den Kommentaren findest du auch die Variante mit DOIF. Ansonsten ist auch
http://www.meintechblog.de/2014/02/homematic-funk-steckdose-mit-leistungsmessung-dein-trockner-ist-fertig-0-31-eur/ sicher einen Blick wert.

Lief bei mir hervorragend :-)

Viele Grüße
spilu

Offline traxanos

  • Jr. Member
  • **
  • Beiträge: 96
  • Webentwickler, Sysadmin, IT-Sicherheit
Antw:[Beta] Waschmaschinenstatus
« Antwort #3 am: 30 Juli 2015, 23:07:42 »
Ja das kannte ich schon und das hat mich überhaupt auf die Idee gebracht. Aber die Umsetzung hat mir nicht gefallen.

Zum Beispiel möchte ich über Attribute das Verhalten kontrollieren. Auch möchte ich über einen DOIF die Readings auf den Status kopiert werden um so die Abhäningkeiten zu reduzieren.
Im Einsatz:
FHEM: Latest auf RPi2
HM: vCCU, HMLAN, HMUSB2, HM-CC-RD-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-ES-PMWs1-Pl, HM-LC-Sw1PBU-FM, HM-PB-2-WM55-2, HM-RC-8, HM-BP-6-WM55
CUL: ESA2000, Intertechno

Offline harway2007

  • Full Member
  • ***
  • Beiträge: 117
Antw:[Beta] Waschmaschinenstatus
« Antwort #4 am: 01 August 2015, 10:33:29 »
wo wird das den eingebaut ?
Das letzte DOIF soll die Steckdose automatisch nach X Minuten abschalten, wenn die Waschmaschine nicht läuft.
Hier muss ebenfalls das Device für das set_off angepasst werden. Wielange gewartet wird, ist abhängig vom Wait-Wert der in Sekunden arbeitet. Das ist ebenfalls optional.

Code: [Auswählen]
([Waschmaschine.Status:state] ne "running" and [Waschmaschine.Status:state] ne "on" and [Waschmaschine.Status:switch] ne "off") (set Waschmaschine_Sw off)
attr Programm.Waschmaschine.AutoOff wait 900
attr Programm.Waschmaschine.AutoOff do always

Offline andiw

  • New Member
  • *
  • Beiträge: 33
Antw:[Beta] Waschmaschinenstatus
« Antwort #5 am: 01 August 2015, 11:03:26 »
ich lasse mich regelmäßig erinnern dass die Wäsche fertig gewaschen ist, solange bis ich die Maschine ausgeschaltet habe:

([WaschmaschineStatus] eq "ready" or ([+900] and [WaschmaschineStatus:?ready])) (set PushAndreasJasmin msg 'Waschmaschine' 'Wäsche fertig!' '' 0 'tugboat')

Offline traxanos

  • Jr. Member
  • **
  • Beiträge: 96
  • Webentwickler, Sysadmin, IT-Sicherheit
Antw:[Beta] Waschmaschinenstatus
« Antwort #6 am: 01 August 2015, 13:11:41 »
@harway2007

Hab die Schreibweise mit dem DOIF ergänzt. Ist beim letzten aktualisieren verloren gegangen.
Im Einsatz:
FHEM: Latest auf RPi2
HM: vCCU, HMLAN, HMUSB2, HM-CC-RD-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-ES-PMWs1-Pl, HM-LC-Sw1PBU-FM, HM-PB-2-WM55-2, HM-RC-8, HM-BP-6-WM55
CUL: ESA2000, Intertechno

Offline traxanos

  • Jr. Member
  • **
  • Beiträge: 96
  • Webentwickler, Sysadmin, IT-Sicherheit
Antw:[Beta] Waschmaschinenstatus
« Antwort #7 am: 01 August 2015, 13:14:04 »
ich lasse mich regelmäßig erinnern dass die Wäsche fertig gewaschen ist, solange bis ich die Maschine ausgeschaltet habe:

([WaschmaschineStatus] eq "ready" or ([+900] and [WaschmaschineStatus:?ready])) (set PushAndreasJasmin msg 'Waschmaschine' 'Wäsche fertig!' '' 0 'tugboat')

Hatte ich auch mal überleg brauche ich für mich nicht. Aber gut umgesetzt!
Im Einsatz:
FHEM: Latest auf RPi2
HM: vCCU, HMLAN, HMUSB2, HM-CC-RD-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-ES-PMWs1-Pl, HM-LC-Sw1PBU-FM, HM-PB-2-WM55-2, HM-RC-8, HM-BP-6-WM55
CUL: ESA2000, Intertechno

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4055
Antw:[Beta] Waschmaschinenstatus
« Antwort #8 am: 01 August 2015, 19:40:59 »


([+900] and [WaschmaschineStatus:?ready])
kann eigentlich nicht sinnvoll sein, denn der Timer und das Ereignis können nie zum gleichen Zeitpunkt wahr sein.

Du meinst wahrscheinlich eine Statusabfrage ohne Trigger:

([+900] and [?WaschmaschineStatus] eq "ready")
Gruß

Damian
FHEM-Module: DOIF, THRESHOLD; FHEM-Befehl: IF

Offline andiw

  • New Member
  • *
  • Beiträge: 33
Antw:[Beta] Waschmaschinenstatus
« Antwort #9 am: 01 August 2015, 20:00:32 »
@Damian: jetzt wo du es sagst ... ;-) aber es hat bisher trotzdem funktioniert, nur die erste zyklische Meldung kam nicht unbedingt 15min nach der aller ersten ...

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4055
Antw:[Beta] Waschmaschinenstatus
« Antwort #10 am: 01 August 2015, 20:11:14 »
@Damian: jetzt wo du es sagst ... ;-) aber es hat bisher trotzdem funktioniert, nur die erste zyklische Meldung kam nicht unbedingt 15min nach der aller ersten ...

ja, dann kannst du auch gleich schreiben:

([WaschmaschineStatus] eq "ready" or ![+900]) (set PushAndreasJasmin msg 'Waschmaschine' 'Wäsche fertig!' '' 0 'tugboat')
Gruß

Damian
FHEM-Module: DOIF, THRESHOLD; FHEM-Befehl: IF

Offline andiw

  • New Member
  • *
  • Beiträge: 33
Antw:[Beta] Waschmaschinenstatus
« Antwort #11 am: 01 August 2015, 21:04:26 »
OK, danke! das sieht noch eleganter aus ;-)

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4055
Antw:[Beta] Waschmaschinenstatus
« Antwort #12 am: 01 August 2015, 21:10:06 »
OK, danke! das sieht noch eleganter aus ;-)
wenn einem die Wiederholung zuviel wird, kann man auch

attr <di_modul> reapeatsame 5
setzen.

Gruß

Damian
FHEM-Module: DOIF, THRESHOLD; FHEM-Befehl: IF

Offline inesa394

  • Full Member
  • ***
  • Beiträge: 145
Antw:[Beta] Waschmaschinenstatus
« Antwort #13 am: 10 August 2015, 18:54:39 »
Hi

Ein zusätzliches reading wie
DOELSEIF ([Trockner.Status:power] < AttrVal("Trockner.Status", "configPowerDone", 3) and [Trockner.Status:state] eq 'running') (

  set Trockner.Status done,
  setreading Trockner.Status lastEnergy {([Trockner.Status:energy]-[Trockner.Status:preEnergy])},
  setreading Trockner.Status lastEeuro {([Trockner.Status:energy]-[Trockner.Status:preEnergy] /1000 *0,312)},
  setreading Trockner.Status GesamtEuro {([Trockner.Status:energy] /1000 *0,312)},
  setreading Trockner.Status preEnergy [Trockner.Status:energy]

)
schluckt dein dummy nicht. Wollte mir noch zum Energieverbrauch die Kosten in euro anzeigen lassen.

cu

Offline traxanos

  • Jr. Member
  • **
  • Beiträge: 96
  • Webentwickler, Sysadmin, IT-Sicherheit
Antw:[Beta] Waschmaschinenstatus
« Antwort #14 am: 10 August 2015, 18:58:04 »
Da bin ich aktuell auch noch dran. Ich will global einen Preis definieren. Und dann überall verwenden. Sobald ich das fertig habe, aktualisiere ich das noch.
Im Einsatz:
FHEM: Latest auf RPi2
HM: vCCU, HMLAN, HMUSB2, HM-CC-RD-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-ES-PMWs1-Pl, HM-LC-Sw1PBU-FM, HM-PB-2-WM55-2, HM-RC-8, HM-BP-6-WM55
CUL: ESA2000, Intertechno

Offline inesa394

  • Full Member
  • ***
  • Beiträge: 145
Antw:[Beta] Waschmaschinenstatus
« Antwort #15 am: 10 August 2015, 20:44:09 »
Ich habe mir im Aktor HR.Waschmaschine_Power ein userReading angelegt

energy_kwh:energy { ReadingsVal("HR.Waschmaschine_Power","energy",0)/1000 . " kWh";;},kosten:energy {ReadingsVal("HR.Waschmaschine_Power","energy",0)/1000*0.29 . "€";; },einwaschvorgang:energy {(ReadingsVal("HR.Waschmaschine_Power","energy","0") - ReadingsVal("HR.WaschmaschineBetrieb","energy","0"))/1000*0.29 . "€";;}
aber um den vieleicht in dein dummy zu bekommen reichen meine Kenntnisse leider nocht nicht  :-[

Offline traxanos

  • Jr. Member
  • **
  • Beiträge: 96
  • Webentwickler, Sysadmin, IT-Sicherheit
Antw:[Beta] Waschmaschinenstatus
« Antwort #16 am: 10 August 2015, 21:22:48 »
Habe das Hauptscript um eine Berechnung für die Kosten erweitert. Leider klappt das AttrVal noch nicht, so dass die Kosten im Script direkt angepasst werden müssen. Bei uns liegt der Preis aktuell bei 25 Cent und habe daher 0.25 eingetragen.
Im Einsatz:
FHEM: Latest auf RPi2
HM: vCCU, HMLAN, HMUSB2, HM-CC-RD-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-ES-PMWs1-Pl, HM-LC-Sw1PBU-FM, HM-PB-2-WM55-2, HM-RC-8, HM-BP-6-WM55
CUL: ESA2000, Intertechno

Offline inesa394

  • Full Member
  • ***
  • Beiträge: 145
Antw:[Beta] Waschmaschinenstatus
« Antwort #17 am: 12 August 2015, 21:57:37 »
Bei mir funktioniert das mit den readings "lastCost" "totalCost" nicht
seitdem ich sie mit dazu genommen habe erfolgt keine aktualisierung,
die werte ändern sich einfach nicht.

Maschine war seitdem zweimal in Betrieb
« Letzte Änderung: 12 August 2015, 21:59:23 von inesa394 »

Offline HoTi

  • Sr. Member
  • ****
  • Beiträge: 674
  • Automatisierungjunky
Antw:[Beta] Waschmaschinenstatus
« Antwort #18 am: 29 August 2015, 21:14:15 »
Schön schön, danke. werde das jetzt mal testen.

Ich muss es aber noch erweitern da bei meinem Hutschienen Leistungsmessung Waschmaschine und Trockner zusammen dran hängen.

Muss mal sehen wie ich die beiden unterscheiden kann.
Viele Grüße aus  Oberbayern
Tim

Cubian auf Cubitruck (128GB SSD) / FHEM 5.7 / Arbeite mit Homematic

Offline kvo1

  • Hero Member
  • *****
  • Beiträge: 1445
  • FHEMonaut
Antw:[Beta] Waschmaschinenstatus
« Antwort #19 am: 11 September 2015, 10:13:40 »
Hallo traxanos
coole Idee, danke ! werd ich mal testen  ;)
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Offline hjjk

  • New Member
  • *
  • Beiträge: 11
Antw:[Beta] Waschmaschinenstatus
« Antwort #20 am: 27 Januar 2016, 15:40:04 »
Ich habe mal versucht den Waschmaschinenstatus bei mir einzusetzen.
Nach vielen Versuchen komme ich nicht weiter und trete auf der Stelle.

Den Syn Bereich habe ich angepasst.
Als Meldung im Log erhalte ich
Programm.Waschmaschine.Status: reading does not exist: [Waschmaschine.Status:state]

Ich habe mal in die Zeile zu Anfang mit dem attr Waschmaschine.Status stateFormat
in die geschweiften Klammern ein print "State=$state" eingesetzt und sehe das State nie einen Wert zugewiesen bekommt.
Was mache ich falsch ?

Offline tomster

  • Sr. Member
  • ****
  • Beiträge: 722
Antw:[Beta] Waschmaschinenstatus
« Antwort #21 am: 03 Februar 2016, 11:52:32 »
Als Meldung im Log erhalte ich
Programm.Waschmaschine.Status: reading does not exist: [Waschmaschine.Status:state]

Was mache ich falsch ?
Ich glaub da hat sich ein Fehler eingeschlichen...
Probier Mal:
define Programm.Waschmaschine.Sync DOIF ([Waschmaschine_Pwr:power] or [Waschmaschine_Pwr:energy] or [Waschmaschine_Sw:state]) (\
  setreading Waschmaschine.Status power [Waschmaschine_Pwr:power],\
  setreading Waschmaschine.Status energy [Waschmaschine_Pwr:energy],\
  setreading Waschmaschine.Status state [Waschmaschine_Sw:state]\
)
attr Programm.Waschmaschine.Sync do always

Also setreading Waschmaschine.Status state [Waschmaschine_Sw:state] an Stelle von setreading Waschmaschine.Status switch [Waschmaschine_Sw:state]

Offline DJ-Mix

  • Full Member
  • ***
  • Beiträge: 176
Antw:[Beta] Waschmaschinenstatus
« Antwort #22 am: 05 Februar 2016, 21:20:14 »
Hallo,

habe auch ein Problem - es schaltet mir immer den Switch nach 15 Minuten aus (und somit den Waschgang)????
Kann aber den Fehler nicht wirklich finden . . .
Mein Code anbei . . .
define Waschmaschine.Status dummy
attr Waschmaschine.Status userattr configPowerOff configWaitOff configPowerDone configWaitDone configTimerAutoOff
attr Waschmaschine.Status configPowerDone 3
attr Waschmaschine.Status configPowerOff 1
attr Waschmaschine.Status configTimerAutoOff 900
attr Waschmaschine.Status configWaitDone 60
attr Waschmaschine.Status configWaitOff 5
attr Waschmaschine.Status event-on-change-reading state, energy
attr Waschmaschine.Status event-on-update-reading power
attr Waschmaschine.Status room Testraum
attr Waschmaschine.Status stateFormat { my $state = ReadingsVal($name, "state", "");;;; my $power = ReadingsVal($name, "power", "");;;; if($state eq 'on') { "An" } elsif($state eq "done") { "Fertig" } elsif($state eq "running") { "Läuft ($power W)" } else { "off" } }
define Programm.Waschmaschine.Sync DOIF ([Waschmaschine_Pwr:power] or [Waschmaschine_Pwr:energy] or [Waschmaschine_Sw:state]) (setreading Waschmaschine.Status power [Waschmaschine_Pwr:power], setreading Waschmaschine.Status energy [Waschmaschine_Pwr:energy], setreading Waschmaschine.Status switch [Waschmaschine_Sw:state])
attr Programm.Waschmaschine.Sync do always
attr Programm.Waschmaschine.Sync room Testraum
define Programm.Waschmaschine.Status DOIF ([Waschmaschine.Status:power] < AttrVal("Waschmaschine.Status", "configPowerOff", 1)) (set Waschmaschine.Status off, \
setreading Waschmaschine.Status preEnergy 0) DOELSEIF ([Waschmaschine.Status:power] >= AttrVal("Waschmaschine.Status", "configPowerOff", 1) and [Waschmaschine.Status:state] eq 'off') (set Waschmaschine.Status on, \
setreading Waschmaschine.Status preEnergy [WK_Waschmaschine_Power:energy]) DOELSEIF ([Waschmaschine.Status:power] >= AttrVal("Waschmaschine.Status", "configPowerDone", 3)) \
(set Waschmaschine.Status running) DOELSEIF ([Waschmaschine.Status:power] < AttrVal("Waschmaschine.Status", "configPowerDone", 3) and [Waschmaschine.Status:state] eq 'running') (set Waschmaschine.Status done, \
setreading Waschmaschine.Status lastEnergy {([Waschmaschine.Status:energy]-[Waschmaschine.Status:preEnergy])}, \
setreading Waschmaschine.Status totalEnergy {([Waschmaschine.Status:totalEnergy]+[Waschmaschine.Status:lastEnergy])}, \
setreading Waschmaschine.Status lastCost {([Waschmaschine.Status:lastEnergy]/1000*0.25)},\
setreading Waschmaschine.Status totalCost {([Waschmaschine.Status:totalEnergy]/1000*0.25)}, \
setreading Waschmaschine.Status preEnergy [Waschmaschine.Status:energy])
attr Programm.Waschmaschine.Status room Testraum
attr Programm.Waschmaschine.Status wait 5:0:0:60
define Programm.Waschmaschine.Benachrichtigung DOIF ([Waschmaschine.Status:state] eq 'done') (set Pushover1 msg 'FHEM' 'Die Waschmaschine ist fertig' )
attr Programm.Waschmaschine.Benachrichtigung room Testraum
define Programm.Waschmaschine.AutoOff DOIF ([Waschmaschine.Status:state] ne "running" and [Waschmaschine.Status:switch] eq "on") (set Waschmaschine_Sw off)
attr Programm.Waschmaschine.AutoOff do always
attr Programm.Waschmaschine.AutoOff room Testraum
attr Programm.Waschmaschine.AutoOff wait 900

Gruß
DJ-Mix
FHEM - RaspberryPi/Fritz!Box 7390 - 1x HM-CFG-LAN - 3x HM-CC-RT-DN - 3x HM-LC-Bl1PBU-FM - 1x HM-LC-Sw1PBU-FM

Offline wibi_

  • New Member
  • *
  • Beiträge: 33
Antw:[Beta] Waschmaschinenstatus
« Antwort #23 am: 06 Februar 2016, 00:43:25 »
Bei 15 Minuten sind würde ich auf
"attr Waschmaschine.Status configTimerAutoOff 900"
tippen und das mal rausnehmen.

Gruß
Synology 212+ DSM 6.0, fhem 5.7, CULV3_FS20, CULV3_HM, CULV3_RFR, HM-Sec-SC, HM-SW1, HM-Sec-RHS, HM-OU-LED16, HM-KFM100S, FS20-TFK, FS20-SM8, FS20-UTS, FS20-RPT3, HM_WDS10/30, FS20-ST4, HM-Sec-SD, HM-CC-RT-DN, HM-MOD-RE8 u.v.m.

Offline DJ-Mix

  • Full Member
  • ***
  • Beiträge: 176
Antw:[Beta] Waschmaschinenstatus
« Antwort #24 am: 06 Februar 2016, 08:26:59 »
Ok, werde ich ausprobieren. Habe den Code 1zu1 übernommen.
Wundert mich das ich das Problem alleine scheinbar habe ???

Und es soll ja nach Fertigstellung auch ausgeschaltet werden.
Nur nicht schon bereits bei Beginn.

Gruß
DJ-Mix
FHEM - RaspberryPi/Fritz!Box 7390 - 1x HM-CFG-LAN - 3x HM-CC-RT-DN - 3x HM-LC-Bl1PBU-FM - 1x HM-LC-Sw1PBU-FM

Offline uniqueck

  • Developer
  • Full Member
  • ****
  • Beiträge: 383
Antw:[Beta] Waschmaschinenstatus
« Antwort #25 am: 07 Februar 2016, 18:18:53 »
Guten Abend,

ich habe auch versucht diese Anleitung mal umzusetzen, allerdings habe ich eine Steckdose von Edimax, diese liefert die Leistungsdaten im Format xxx W für Watt. Wie kann ich denn in einem DOIF beim Übernehmen der Werte aus der Schaltsteckdose, dass W weglassen?
Ich habe es schon mit einem Regex in der Form /(\d+)/ versucht, allerdings steht dann immer im Dummy der Regex direkt hinten am Wert mit dran.
Mit Hilfe von einer Hilfevariable my $power = [DeviceName:power], allerdings funktioniert das anwenden des regex auch nicht hierauf.

Kann mir hier jemand einen Denkanstoß geben?

Offline Eisix

  • Full Member
  • ***
  • Beiträge: 336
Antw:[Beta] Waschmaschinenstatus
« Antwort #26 am: 12 Februar 2016, 11:15:07 »
Hallo,

falls noch jemand ein StatusIcon für TabletUI braucht

<div data-type="symbol"
                data-device="Waschmaschine.Status"
                data-get-on='["on","off","running","done"]'                 
                data-icons='["oa-scene_washing_machine","oa-scene_washing_machine","oa-scene_washing_machine fa-spin","oa-scene_washing_machine"]'
                data-colors='["white","darkgray","blue","#21a000"]'
                class="cell small">
          </div>
          <div data-type="label" class="cell narrow small">Waschmaschine</div>

Gruß
Eisix

Offline turo

  • New Member
  • *
  • Beiträge: 44
Antw:[Beta] Waschmaschinenstatus
« Antwort #27 am: 12 Februar 2016, 12:46:20 »
@uniqueck:
Problem inzwischen gelöst?

Sonst fällt mir das [DeviceName:power:d] ein oder wenn man es selber machen will:
(my $power = [DeviceName:power]) =~ s/ W//

Gruss,
turo

Offline uniqueck

  • Developer
  • Full Member
  • ****
  • Beiträge: 383
Antw:[Beta] Waschmaschinenstatus
« Antwort #28 am: 13 Februar 2016, 01:31:22 »
@turo: jap vielen dank, ich hatte ein neuen thread explizit zum thema doif erstellt und damian war so freundlich mir auf die sprünge zu helfen. Wobei der Part mit dem regex auch interessant ist, da habe ich nämlich ne ganze Weile rum gebastelt. Die obere Variante habe ich aber nun im Einsatz [DeviceName:power:d].

gruß uniqueck

Offline Kermit20

  • Jr. Member
  • **
  • Beiträge: 90
Antw:[Beta] Waschmaschinenstatus
« Antwort #29 am: 03 August 2016, 15:44:55 »
Hallo Gemeinde,

ich wollte mich mal nachfragen, ob das hier erwähnte Teil


Folgende Attribute können angepasst werden:
•configPowerOff Angabe in Watt. Bei Unterschreitung ändert sicht der Status zu "Aus" unter Beachtung des configWaitOff
•configPowerDone Angabe in Watt. Bei Unterschreitung ändert sicht der Status zu "Fertig" unter Beachtung des configWaitDone
•configWaitOff Angabe in Sekunden. Wie lange muss der Wert configPowerOff unterschritten sein, damit sich der Status auf "Aus" ändert (! Wir noch nicht beachtet da eine anpassung im DOIF fehlt.)
•configWaitDone Angabe in Sekunden. Wie lange muss der Wert configPowerDone unterschritten sein, damit sich der Status auf "Fertig" ändert (! Wir noch nicht beachtet da eine anpassung im DOIF fehlt.)

im DOIF Modul mittlerweile integriert wurde. Und was dann evtl. abgeändert werden kann.
RPi1: FHEM mit HMLAN und CUL Eigenbau: diverse Homematic Geräte; Technoline Temp/Feuchte 868 MHz // Schalsteckdosen 433 MHz
RPi2: FHEM mit Viessmann(optolink) mit VControl und 1W Sensoren
RPi3: Apache / Owncloud 9

Offline miki

  • Newbie
  • Beiträge: 1
Antw:[Beta] Waschmaschinenstatus
« Antwort #30 am: 02 Oktober 2016, 00:06:49 »
Habe das Hauptscript um eine Berechnung für die Kosten erweitert. Leider klappt das AttrVal noch nicht, so dass die Kosten im Script direkt angepasst werden müssen. Bei uns liegt der Preis aktuell bei 25 Cent und habe daher 0.25 eingetragen.

Offline Markus80

  • Full Member
  • ***
  • Beiträge: 109
Antw:[Beta] Waschmaschinenstatus
« Antwort #31 am: 27 Januar 2017, 11:59:47 »
Hi,
Ist hier noch jemand, der sich mit diesem Thema beschäftigt?

Liebe Grüße

Gesendet von meinem C6903 mit Tapatalk


Offline Markus80

  • Full Member
  • ***
  • Beiträge: 109
Antw:[Beta] Waschmaschinenstatus
« Antwort #32 am: 27 Januar 2017, 12:01:03 »
Hi,
Ist hier noch jemand, der sich mit diesem Thema beschäftigt?

Liebe Grüße

Gesendet von meinem C6903 mit Tapatalk


Offline olliwood

  • New Member
  • *
  • Beiträge: 28
Antw:[Beta] Waschmaschinenstatus
« Antwort #33 am: 09 Februar 2017, 20:17:28 »
Hallo Markus,

ich habe heute auch damit begonnen, mich mit dieser Funktion zu beschäftigen. Bisher hab ich den Code allerdings nur theoretisch implementiert. Waschtag ist erst übermorgen.  ;D

Gruß
Oliver

Offline Markus80

  • Full Member
  • ***
  • Beiträge: 109
Antw:[Beta] Waschmaschinenstatus
« Antwort #34 am: 15 Februar 2017, 21:37:18 »
Habe die Lösung über das Doif Modul dafür gewählt und Fertigmeldung über Telegram...
Läuft bisher sehr gut

Gesendet von meinem C6903 mit Tapatalk


Offline Devender

  • Full Member
  • ***
  • Beiträge: 229
  • smart --> smarter --> fhem
Antw:[Beta] Waschmaschinenstatus
« Antwort #35 am: 15 Februar 2017, 22:00:50 »
Habe die Lösung über das Doif Modul dafür gewählt und Fertigmeldung über Telegram...
Läuft bisher sehr gut

Gesendet von meinem C6903 mit Tapatalk

Könntest du deinen Code bitte mal Posten?
Ich habs es auch per DoIF geloest. Leider bekomme ich eine Endlosschleife im DoIF wenn die WaMa fertig ist :(
Vielleicht bekomme ich durch dein laufendes Skript den richtigen Denkanstoß.

Danke
FHEM 5.7 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: Homematic, Intertechno, ELV
FRITZ: Fritzbox 7390, 3xFritzPL543
Sound: Sonos Play3
Mehrere Wandtablets als Steuerungssysteme

Offline Christian Uhlmann

  • Full Member
  • ***
  • Beiträge: 125
Antw:[Beta] Waschmaschinenstatus
« Antwort #36 am: 08 März 2017, 13:20:47 »
Hallo zusammen,

mich würde auch interessieren, ob dies mittlerweile im DOIF eingebunden ist und dort irgendwie dynamisch ohne Attribute genutzt werden kann:
Folgende Attribute können angepasst werden:
  • configWaitOff Angabe in Sekunden. Wie lange muss der Wert configPowerOff unterschritten sein, damit sich der Status auf "Aus" ändert (! Wir noch nicht beachtet da eine anpassung im DOIF fehlt.)
  • configWaitDone Angabe in Sekunden. Wie lange muss der Wert configPowerDone unterschritten sein, damit sich der Status auf "Fertig" ändert (! Wir noch nicht beachtet da eine anpassung im DOIF fehlt.)

Die Lösung ist die für mich bisher die beste Lösung.
Hat das vielleicht jemand schon eingebaut?

@traxanos: vielen Dank für das bereitstellen der Lösung.


Danke und Grüße

Christian
Host: Debian Stretch als XEN Guest
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, CUL FS20, CUL HM, HMLan, HM-USB 2, JeeLink LaCrosse
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, FS20 und andere

Offline loescher

  • Newbie
  • Beiträge: 1
Antw:[Beta] Waschmaschinenstatus
« Antwort #37 am: 11 März 2017, 21:12:52 »
Hi!

Das  mit den Attributen müsste doch so funktionieren:

attr Programm.Waschmaschine.Status wait Attr("Waschmaschine.Status","configPowerDone",5):0:0:Attr("Waschmaschine.Status","configWaitDone",60)

LG,
Stephan.

Offline bstaeheli

  • New Member
  • *
  • Beiträge: 6
Antw:[Beta] Waschmaschinenstatus
« Antwort #38 am: 03 April 2017, 17:01:10 »
Fast richtig:
attr Programm.Waschmaschine.Status wait Attr("Waschmaschine.Status","configWaitOff",5):0:0:Attr("Waschmaschine.Status","configWaitDone",60)
Auch das AutoPowerOff kann im Wait-Attribut angepasst werden:
attr Programm.Waschmaschine.AutoOff wait Attr("Waschmaschine.Status","configTimerAutoOff",900)
« Letzte Änderung: 03 April 2017, 17:07:10 von bstaeheli »