HomeMatic Funk-Steckdose mit Leistungsmessung: Deine Waschmaschine ist fertig

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Wie im Artikel HomeMatic Funk-Steckdose mit Leistungsmessung: Erweiterte Szenarien mit FHEM erstellen bereits einleitend erkl√§rt, l√§sst sich der Homematic Funk-Schaltaktor 1-fach mit Leistungsmessung HM-ES-PMSw1-PI (Affiliate-Link) in Kombination mit FHEM idealerweise auch dazu nutzen, bei bestimmten Messwerten entsprechende Aktionen zu triggern. Da der vorgestellte Funk-Schaltaktor bis zu 3680 Watt vertr√§gt, ist er nat√ľrlich geradezu pr√§destiniert im Hauswirtschaftsraum die Waschmaschine zu schalten und deren Leistungswerte zu √ľberwachen, um bspw. bei fertigem Waschprogramm eine entsprechende Push-Nachricht aufs Smartphone zu schicken und kurze Zeit sp√§ter den Strom zur Waschmaschine komplett zu trennen, um den Standbyverbrauch der Waschmaschine zu eliminieren. Wie die Einrichtung, die in der Tat etwas aufw√§ndiger ist, funktioniert, wird nachfolgend in einem Howto beschrieben.

Anlernen des Funk-Aktors in FHEM

Gekoppelt wird der Homematic Funk-Schaltaktor HM-ES-PMSw1-PI (Affiliate-Link), wie jeder andere Homematic-Adapter auch, direkt in der Weboberfl√§che des FHEM-Servers √ľber den Kommandozeilenbefehl:

set HMLAN1 hmPairForSec 60

Mit einem anschlie√üenden Druck auf die Enter-Taste ist der¬†HMLan-Adapter (Affiliate-Link) ab jetzt f√ľr 60 Sekunden bereit f√ľr neue Ger√§teanmeldungen. Wer statt HMLAN1 einen anderen Namen vergeben hat, muss den Eintrag entsprechend anpassen.

Um den Anlernvorgang einzuleiten, muss die einzige Ger√§tetaste des Funk-Schaltaktors (Affiliate-Link) f√ľr mindestens vier Sekunden gedr√ľckt werden. Daraufhin steht der Adapter sofort in FHEM zur Verf√ľgung. Der Funk-Stellantrieb besitzt jede Menge Kan√§le (Channels), von denen nachfolgend nur die Ben√∂tigten beschrieben und genutzt werden. Hier wird auch gleich eine Umbenamung √ľber die FHEM-Kommandozeile vorgenommen, um sprechende Namen (in diesem Fall HR.Waschmaschine) zu erhalten.

#Hier wird das Hauptdevice umbenannt, welches den darunter aufgelisteten Channel beinhaltet.
rename CUL_HM_HM_ES_PMSw1_Pl_24A726_Sw HR.Waschmaschine
attr HR.Waschmaschine room Hauswirtschaftsraum

#Hier wird der Channel umbenannt, welcher die Leistung in Watt verwaltet.
rename CUL_HM_HM_ES_PMSw1_Pl_24A726_Pwr HR.Waschmaschine_Power
attr HR.Waschmaschine_Power room Hauswirtschaftsraum

Danach „Save config“ in FHEM anklicken, um die √Ąnderungen dauerhaft zu speichern.

fhem.cfg erweitern

Als erstes wird der Dummy HR.WaschmaschineWatt in der fhem.cfg definiert, welcher die aktuelle Leistung in Watt anzeigt. Das ist zwar nicht zwingend notwendig aber dennoch zumindest f√ľr Testzwecke sinnvoll, da der Verbrauch sonst nur im Reading von HR.Waschmaschine_Power steckt und nicht direkt im FHEM-Interface angezeigt wird.

#Dummy HR.WaschmaschineWatt f√ľr die Anzeige des aktuellen Watt-Verbrauchs definieren
define HR.WaschmaschineWatt dummy
attr HR.WaschmaschineWatt room Hauswirtschaftsraum

#Dummy HR.WaschmaschineWatt mit Werten versorgen
define HRWaschmaschineWattSet notify HR.Waschmaschine_Power {my $power =ReadingsVal(„HR.Waschmaschine_Power“,“power“,““);; fhem („set HR.WaschmaschineWatt $power“)}

Jetzt wird der Dummy HR.WaschmaschineBetrieb benötigt, welcher signalisiert, ob die Waschmaschine gerade arbeitet (on), oder nicht (off) bzw. ob ein Waschvorgang gerade abgeschlossen wurde (standby).

#Dummy HR.WaschmaschineBetrieb definieren
define HR.WaschmaschineBetrieb dummy
attr HR.WaschmaschineBetrieb event-on-change-reading state
attr HR.WaschmaschineBetrieb room Hauswirtschaftsraum

Nun wird der Dummy HR.WaschmaschineBetrieb eingeschaltet, sobald der Funk-Schaltaktor (Affiliate-Link) einen Stromverbrauch von mehr als 30 Watt erkennt und somit angenommen werden kann, dass die Waschmaschine den Waschvorgang gestartet hat. Den Wert kann man nat√ľrlich auch entsprechend den eigenen Bed√ľrfnissen anpassen. Zus√§tzlich wird noch der sp√§ter ben√∂tigte watchdog HRWaschmaschineAutoOff auf „defined“ gesetzt.

#Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
define HRWaschmaschineBetriebAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb on;; setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}

Update¬†vom 13.03.2014: Bisher (rot markiert) wurde durch einen kurzzeitigen Verbrauch von unter 5 Watt signalisiert, dass der Waschvorgang abgeschlossen ist. Einige hatten aber das Problem, dass sich die Waschmaschine beim laufenden Betrieb zeitweise kleine Pausen geg√∂nnt hat, in welchen der Verbrauch unter diese Grenze gesunken ist. Infolgedessen wurde f√§lschlicherweise eine Push-Nachricht „Waschvorgang abgeschlossen“ verschickt, obwohl die Waschmaschine noch nicht fertig war. Um dieses Problem zu beheben, habe ich mir eine L√∂sung f√ľr dieses Problem mit Hilfe eines Watchdogs (gr√ľn markiert) √ľberlegt. Es kann also ENTWEDER der rot markierte Text ODER der gr√ľn markierte Text verwendet werden.

Update¬†vom¬†12.01.2015:¬†Wer seine Waschmaschine automatisch abschalten bzw. vom Strom trennen m√∂chte, sollte sich bewusst sein, dass die¬†eingebaute Aqua-Stop nicht mehr funktioniert. Danke an spilu f√ľr den Hinweis.

Der Dummy¬†HR.WaschmaschineBetrieb wird wieder ausgeschaltet, sobald der Verbrauch unter 5 Watt f√§llt und damit angenommen werden kann, dass die Waschmaschine den Waschvorgang abgeschlossen hat. Diese f√ľr jede Maschine individuelle Grenze l√§sst sich relativ einfach ermitteln, indem man den aktuellen Wert in FHEM ablie√üt, wenn die gerade nicht arbeitende Waschmaschine am eingeschalteten Funk-Schaltaktor (Affiliate-Link) h√§ngt. Bei meiner etwas √§lteren Waschmaschine kommt dabei ein Standby-Verbrauch von 4,4 Watt heraus – v√∂llig verr√ľckt, wenn man bedenkt, dass EINE WASCHMASCHINE im ausgeschalteten Zustand knapp 5 Watt verjubelt und dabei NICHTS macht.

#Dummy HR.WaschmaschineBetrieb ausschalten bei Verbrauch kleiner gleich 5 Watt
define HRWaschmaschineBetriebAus notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb standby“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) <= 5 && Value(„HR.WaschmaschineBetrieb“) eq „on“)}

Dummy HR.WaschmaschineBetrieb wird wieder ausgeschaltet, sobald der Verbrauch f√ľr mindestens 5 Minunten unter 5 Watt verbleibt und damit sicher angenommen werden kann, dass die Waschmaschine den Waschvorgang tats√§chlich abgeschlossen hat. Dazu wird der Dummy HR.WaschmaschineHoherVerbrauch definiert, welcher je √ľber ein Notify auf On bzw. Off geschaltet wird, sobald im laufenden Betrieb der angegebene Schwellwert (5 Watt) √ľber bzw. unterschritten wird. Abschlie√üend wird dann √ľber einen Watchdog √ľberwacht, ob der Schwellwert f√ľr eine gewisse Zeit (hier 5 Minuten) kontinuierlich unter dem Schwellwert bleibt und in diesem Fall das Ende des Waschgangs signalisiert (set HR.WaschmaschineBetrieb standby).

#Dummy HR.WaschmaschineHoherVerbrauch definieren
define HR.WaschmaschineHoherVerbrauch dummy
attr HR.WaschmaschineHoherVerbrauch event-on-change-reading state
attr HR.WaschmaschineHoherVerbrauch room Hauswirtschaftsraum

#Dummy HR.WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
define HRWaschmaschineHoherVerbrauchAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch on;; setstate HRWaschmaschineAutoStandby defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) > 5 && Value(„HR.WaschmaschineBetrieb“) eq „on“)}

#Dummy HR.WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
define HRWaschmaschineHoherVerbrauchAus notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) <= 5 && Value(„HR.WaschmaschineBetrieb“) eq „on“)}

#Wenn der Verbrauchswert f√ľr mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tats√§chlich abgeschlossen ist
define HRWaschmaschineAutoStandby watchdog HR.WaschmaschineHoherVerbrauch:off 00:05 HR.WaschmaschineHoherVerbrauch:on set HR.WaschmaschineBetrieb standby
attr HRWaschmaschineAutoStandby regexp1WontReactivate 1
attr HRWaschmaschineAutoStandby room Hauswirtschaftsraum

Da der Dummy HR.WaschmaschineBetrieb den Status „standby“ verpasst bekommt, kann dies genutzt werden, um eine Push-Nachricht per „Pushover“ aufs Smartphone zu schicken. Die Voraussetzung daf√ľr werden im Artikel Howto: Mit FHEM Push-Nachrichten aufs iPhone schicken (Update) beschrieben.

#Pushover-Notification bei abgeschlossenem Waschvorgang verschicken Рtoken und user ist bei jedem anders und muss entsprechend geändert werden
define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {system („curl -s -F ‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‚ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‚ -F ‚message=HauswirtschaftsraumnWaschvorgang abgeschlossen‘ https://api.pushover.net/1/messages.json“)}

Wer noch eine entsprechende Sprachausgabe nutzen m√∂chte, kann dies nat√ľrlich auch realisieren. Die Voraussetzungen daf√ľr werden im Artikel ‚ÄúWillkommen Zuhause!‚ÄĚ ‚Äď Sprachausgabe in FHEM realisieren beschrieben. Die beiden nachfolgend genutzten MP3-Sprachdateien sind im zip-File geupdatet: Funkgong-Beispiel-mp3s.zip (5554 Downloads)

#Sprachausgabe bei abgeschlossenem Waschvorgang wiedergeben
define HRWaschmaschineWaschvorgangAbgeschlossenMP3 notify HR.WaschmaschineBetrieb:standby set FL.GongMP3 playTone 012

Wie bereits oben erw√§hnt, kann eine Waschmaschine im Standby ordentlich Strom fressen – in meinem Fall etwas mehr als 4 Watt, was im Jahr knapp 10 Euro entspricht (bei 30 Cent pro KWh). Um dem entgegenzuwirken, soll der Funk-Schaltaktor (Affiliate-Link) den Strom zur Waschmaschine automatisch nach 15 Minuten trennen, nachdem diese den Waschvorgang abgeschlossen hat und kein neuer Waschvorgang gestartet wurde. Das bedeutet im Umkehrschluss auch, dass vor einem Waschvorgang die Taste am Funk-Schaltaktor (Affiliate-Link) kurz gedr√ľckt werden muss, wenn ein vorhergehender Waschgang mehr als 15 Minuten zur√ľckliegt, um die Waschmaschine wieder mit Strom zu versorgen. (Wer einen Bewegungsmelder im Hauswirtschaftsraum hat, k√∂nnte das nat√ľrlich auch umgehen, indem durch die erkannte Bewegung der Funk-Schaltaktor (Affiliate-Link) einschaltet und nach x Minuten wieder ausschaltet, sofern kein neuer Waschvorgang gestartet wird.)

#HR.Waschmaschine 15 Minuten nach dem letzten Waschgang vom Strom trennen
define HRWaschmaschineAutoOff watchdog HR.WaschmaschineBetrieb:standby 00:15 HR.WaschmaschineBetrieb:on set HR.Waschmaschine off set HR.WaschmaschineBetrieb off
attr HRWaschmaschineAutoOff regexp1WontReactivate 1
attr HRWaschmaschineAutoOff room Hauswirtschaftsraum

Und zum Schluss noch die entsprechenden Benachrichtigungen, sobald die Waschmaschine ausgeschaltet bzw. durch den Funk-Schaltaktor (Affiliate-Link) vom Strom getrennt wird.

#Pushover-Notification sobald die Waschmaschine ausgeschaltet wird Рtoken und user ist bei jedem anders und muss entsprechend geändert werden
define HRWaschmaschineWirdAusgeschaltetPushover notify HR.WaschmaschineBetrieb:off {system(„curl -s -F ‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‚ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‚ -F ‚message=HauswirtschaftsraumnWaschmaschine wird ausgeschaltet‘ https://api.pushover.net/1/messages.json“)}

#Sprachausgabe wiedergeben sobald die Waschmaschine ausgeschaltet wird
define WRWaschmaschineWirdAusgeschaltetMP3 notify HR.WaschmaschineBetrieb:off set FL.GongMP3 playTone 013

Aus meinem täglichen Leben

Das hier vorgestellte Szenario verrichtet bei mir bereits seit L√§ngerem zuverl√§ssig seinen Dienst. Ich hatte jedoch bisher einen¬†AVM FRITZ!DECT 200 (Affiliate-Link) Zwischenstecker im Einsatz, welcher zwar ebenfalls eine Strommessfunktion hatte, aber nur f√ľr Ger√§te bis 2.300 Watt ausgelegt war, was aber f√ľr meine Waschmaschine gerade noch ausreichte. Zudem hat er bei mir nicht zuverl√§ssig seinen aktuellen An-Aus-Zustand an die Zentrale zur√ľckgemeldet, wenn man am Zwischenstecker selbst manuell ein- bzw. ausgeschaltet hatte.

Der Homematic Funk-Schaltaktor HM-ES-PMSw1-PI (Affiliate-Link) verkraftet dagegen Ger√§te bis zu 3.680 Watt und meldet seinen Zustand bis jetzt zuverl√§ssig an die FHEM-Zentrale. Auch werden sich √§ndernde Verbr√§uche fast in Echtzeit an die Zentrale mitgeteilt, wodurch die Reaktionszeit sehr kurz ist und das obige Szenario zuverl√§ssig und zeitnah √ľber sich √§ndernde Zust√§nde informiert. Insgesamt bleibt es nat√ľrlich „nur“ eine lustige Spielerei, die ich jedoch nicht mehr missen m√∂chte.

Affiliate-Links

[easyazon_image align=“none“ height=“102″ identifier=“B00GHDNWF4″ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/21cuU8XAQsL.SL1106.jpg“ tag=“meintechblog-140117-1-21″ width=“110″][easyazon_image align=“none“ height=“82″ identifier=“B00315QNQQ“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/419LXMBaugL.SL1106.jpg“ tag=“meintechblog-140117-1-21″ width=“110″][easyazon_image align=“none“ height=“110″ identifier=“B008LUMEKK“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/519UFknCqeL.SL1101.jpg“ tag=“meintechblog-140117-1-21″ width=“110″][easyazon_image align=“none“ height=“110″ identifier=“B001R4VAJI“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31EGCqSB2BML.SL110.jpg“ tag=“meintechblog-140117-1-21″ width=“46″]

 

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Verpasse keine Inhalte mehr! Trage dich in den Newsletter ein und folge uns auf Facebook.

Was ist ein Affiliate-Link? Wenn du auf einen Affiliate-Link klickst und √ľber diesen Link einkaufst, bekomme ich vom betreffenden Online-Shop oder Anbieter eine Provision, was mich u.A. bei den laufenden Kosten den Blogs unterst√ľtzt. F√ľr dich ver√§ndert sich der Preis nicht.

Jörg

hat meintechblog.de ins Leben gerufen, um seine Technikbegeisterung und Erkenntnisse zu teilen. Er veröffentlicht regelmäßig Howtos in den Bereichen Smart Home und Home Entertainment. Mehr Infos

209 Gedanken zu „HomeMatic Funk-Steckdose mit Leistungsmessung: Deine Waschmaschine ist fertig“

  1. Hallo,

    echt netter Artikel und verständlich erklärt. Finde ich echt super.

    Aber mal ne doofe Frage nebenbei…
    Wenn Du jetzt eine neue Maschine anstellen willst, musst Du vorher erstmal in FHEM die Steckdose einschalten, dann zur Maschine gehen und dann das Programm wählen etc.
    Ist das so?
    Wenn ja, ist das nicht Hausfrauengerecht, denn wie meine Frau fluchen w√ľrde wenn Sie vor der Maschine steht und das Smartphone oben vergessen hat m√∂chte ich nicht erleben :-)

    Meine Maschine kann ich nicht mechanisch voreinstellen, und dann die Maschine per PowerOn loslaufen lassen. Ich muss immer noch an der Maschine ein „Start“ dr√ľcken.

    1. Hi Holger,
      danke f√ľr das positive Feedback!
      Die Steckdose (bzw. der Zwischenstecker) l√§sst sich direkt √ľber den An-Aus-Schalter am Zwischenstecker selbst einschalten. Dachte das hatte ich im Artikel eigentlich kurz erkl√§rt… Sollte also insgesamt „hausfrauengerecht“ genug sein… :)

    1. Ich hab ihn √ľber Amazon bezogen. Ein Marketplace-Lieferant gab mir eine Absage, der andere hat ihn verschickt. Aber sehe auch gerade, dass der Adapter aktuell gar nicht mehr √ľber Amazon verf√ľgbar ist. Ich w√ľrde einfach mal einige Tage warten und es nochmal √ľber diesen Link (Affiliate-Link) versuchen…

  2. Hi Jörg,
    ich verfolge die Seite schon eine Weile, da ich gerade in die Hausautomation gestartet bin. Deine Artikel haben mir beim Einrichten und verstehen der Materie extrem geholfen! Daf√ľr erstmal ein fettes Dankesch√∂n!

    Nun habe ich heute auch den HM-ES-PMSw1-PI aktiviert und wollte auch gleich einen Plot erstellen, was auch nicht weiter schwierig war, nachdem ich eine weitere Logdatei angelegt habe. Aber ein wenig komme ich doch ins schwimmen mit den Werten die geloggt werden.

    Hier kleine Ausz√ľge der Log-Datei
    eingeschaltet:
    2014-01-20_23:33:22 PW_Wohnzimmer_Pwr frequency: 52.52
    2014-01-20_23:33:22 PW_Wohnzimmer_Pwr boot: on
    2014-01-20_23:35:25 PW_Wohnzimmer_Pwr energy: 298.6
    2014-01-20_23:35:25 PW_Wohnzimmer_Pwr power: 0.08
    2014-01-20_23:35:25 PW_Wohnzimmer_Pwr current: 1
    2014-01-20_23:35:25 PW_Wohnzimmer_Pwr voltage: 232.9
    2014-01-20_23:35:25 PW_Wohnzimmer_Pwr frequency: 52.53

    ausgeschaltet:
    2014-01-20_23:40:54 PW_Wohnzimmer_Pwr boot: on
    2014-01-20_23:43:17 PW_Wohnzimmer_Pwr energy: 298.6
    2014-01-20_23:43:17 PW_Wohnzimmer_Pwr power: 0.08
    2014-01-20_23:43:17 PW_Wohnzimmer_Pwr current: 1
    2014-01-20_23:43:17 PW_Wohnzimmer_Pwr voltage: 233
    2014-01-20_23:43:17 PW_Wohnzimmer_Pwr frequency: 50.01

    Was f√ľr Werte werden dort neben Watt noch angezeigt?
    Power = Watt (klar)
    Energy = Ws, J? (unklar)
    Current = Aktuelle Energie? (unklar)

    Und warum, obwohl Funksteckdose ausgeschaltet ist, ist die Energie noch relativ hoch, bei gerade 298,6?
    Hast du vielleicht Ideen dazu?

    Gruß & Danke
    CarlMcCoy

  3. Hi Jörg,

    bin im forum.fhem.de f√ľndig geworden.

    Energy ‚Čô Wh
    Power ‚Čô W
    current ‚Čô mA

    Mein Problem mit den gemessenen 298,6 schien durch ein Trennen der Funksteckdose behoben worden zu sein. Jetzt werden plausible Werte angezeigt.

    Gruß
    CarlMcCoy

  4. Hallo Jörg,
    wieder einmal eine super Anleitung. Vielen Dank daf√ľr!
    Ich habe nur folgendes Problem, nach der Programmierung wie hier beschrieben lief beim ersten test alles 1a, als ich dann einen Tag später die Steckdose an der Waschmaschine anschaltete sagte mir der Gong die Waschmaschine sei fertig allerdings schaltete die Steckdose nicht aus. Vor dem nächsten Versuch habe ich den Raspberry vom Strom kurz getrennt, dann ging wieder beim ersten Versuch alles wie es soll und beim zweiten Waschvorgang wieder das selbe Problem die Steckdose schaltet nicht ab.
    Hier einen auszug meiner cfg.

    define CUL_HM_HM_ES_PMSw1_Pl_24A7D7 CUL_HM 24A7D7
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 .devInfo 3F0100
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 .stc 51
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 IODev HMLAN1
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 actCycle 000:10
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 actStatus alive
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 autoReadReg 4_reqStatus
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 expert 2_full
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 firmware 1.4
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 peerIDs
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 room CUL_HM
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 serialNr KEQ0966121
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7 subType powerMeter
    define FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A7D7 FileLog ./log/CUL_HM_HM_ES_PMSw1_Pl_24A7D7-%Y.log CUL_HM_HM_ES_PMSw1_Pl_24A7D7
    attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A7D7 logtype text
    attr FileLog_CUL_HM_HM_ES_PMSw1_Pl_24A7D7 room CUL_HM
    define Waschmaschine CUL_HM 24A7D701
    attr Waschmaschine expert 1
    attr Waschmaschine model HM-ES-PMSw1-Pl
    attr Waschmaschine peerIDs 00000000,
    attr Waschmaschine room Waschk√ľche
    define Waschmaschine_Power CUL_HM 24A7D702
    attr Waschmaschine_Power expert 1
    attr Waschmaschine_Power model HM-ES-PMSw1-Pl
    attr Waschmaschine_Power peerIDs
    attr Waschmaschine_Power room Waschk√ľche
    define CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenPwr CUL_HM 24A7D703
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenPwr expert 1
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenPwr model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenPwr peerIDs 00000000,
    define CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenI CUL_HM 24A7D704
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenI expert 1
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenI model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenI peerIDs 00000000,
    define CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenU CUL_HM 24A7D705
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenU expert 1
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenU model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenU peerIDs 00000000,
    define CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenF CUL_HM 24A7D706
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenF expert 1
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenF model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_24A7D7_SenF peerIDs 00000000,
    define ActionDetector CUL_HM 000000
    attr ActionDetector actCycle 600
    attr ActionDetector event-on-change-reading .*

    #Dummy WaschmaschineWatt f√ľr die Anzeige des aktuellen Watt-Verbrauchs definieren
    define WaschmaschineWatt dummy
    attr WaschmaschineWatt room Waschk√ľche

    #Dummy WaschmaschineWatt mit Werten versorgen
    define WaschmaschineWattSet notify Waschmaschine_Power {my $power =ReadingsVal(„Waschmaschine_Power“,“power“,““);; fhem („set WaschmaschineWatt $power“)}

    #Dummy WaschmaschineBetrieb definieren
    define WaschmaschineBetrieb dummy
    attr WaschmaschineBetrieb event-on-change-reading state
    attr WaschmaschineBetrieb room Waschk√ľche

    #Dummy WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
    define WaschmaschineBetriebAn notify WaschmaschineWatt {fhem („set WaschmaschineBetrieb on“) if (ReadingsVal(„WaschmaschineWatt“,“state“,““) >= 30 && Value(„WaschmaschineBetrieb“) ne „on“)}

    #Dummy WaschmaschineBetrieb ausschalten bei Verbrauch kleiner gleich 4 Watt
    define WaschmaschineBetriebAus notify WaschmaschineWatt {fhem („set WaschmaschineBetrieb standby“) if (ReadingsVal(„WaschmaschineWatt“,“state“,““) <= 4 && Value("WaschmaschineBetrieb") eq "on")}

    #Sprachausgabe bei abgeschlossenem Waschvorgang wiedergeben
    define WaschmaschineWaschvorgangAbgeschlossenMP3 notify WaschmaschineBetrieb:standby set GongMP3 playTone 012

    #Waschmaschine 6 Minuten nach dem letzten Waschgang vom Strom trennen
    define WaschmaschineAutoOff watchdog WaschmaschineBetrieb:standby 00:06 WaschmaschineBetrieb:on set Waschmaschine off;; set WaschmaschineBetrieb off
    attr WaschmaschineAutoOff room Waschk√ľche

    #Sprachausgabe wiedergeben sobald die Waschmaschine ausgeschaltet wird
    define WaschmaschineWirdAusgeschaltetMP3 notify WaschmaschineBetrieb:off set GongMP3 playTone 013

    Hast du eine Idee was ich da machen kann?

    Gruß
    Dominik

    1. Hi Dominik,
      ch habe den Code im Howto angepasst, jetzt sollte es auch bei dir funktionieren… Bitte mal testen und Bescheid geben, ob es nun klappt.

      Gr√ľ√üe
      Jörg

    2. Hi Jörg,
      vielen Dank f√ľr die schnelle Anpassung des Codes hab jetzt mehrmals die Maschine am laufen gahabt und seit der Anpassung funktioniert alles Top.

  5. Hi Jörg, wirklich gute Anwendung zum Stromsparen!
    Ich habe noch den „alten“ AVM DECT 200 und habe versucht die Anwendung anzupassen. Ich vermute mit der Bef√ľllung der WaschmaschineWATT mache ich einen Fehler da die Readings der HM etwas anders sind als bei der DECT200. Bei mir kommen keine Readings an. Wenn ich es richtig verstanden habe hast du mit der DECT begonnen. Hast du dazu noch die „alten“ Beispiele?
    Gruß Karl

    1. Hi Karl,
      beim AVM DECT 200 hatte ich es so gelöst:
      define HRWaschmaschineWattSet notify HR.Waschmaschine {my $power_w=ReadingsVal(„HR.Waschmaschine“,“power“,““);; my $power=substr($power_w, 0,length($power_w)-2);; fhem („set HR.WaschmaschineWatt $power“)}
      Hier hab ich das ausgelesene Reading, z.B. 30 W, hinten um zwei Stellen gek√ľrzt durch den „substr … -2“-Befehl, damit ein numerischer Wert rauskommt (in diesem Fall dann 30), der genutzt werden kann. Hoffe das hilft dir weiter!
      Gr√ľ√üe
      Jörg

  6. Hallo Jörg, weitere Verständnisfrage. Kann man nicht mit dem Watchdog die zwei Stati 30Watt mit 15 min Zeitinntervall abfragen und dann bei < 5 Watt abschalten ohne die anderen Dummies zu nutzen? Gruß Karl

    1. Hi Karl,
      glaube man kommt nicht umher die Dummies zu nutzen. Der Watchdog wird getriggert durch sich ver√§ndernde Status (values) und so m√ľssen die Readings (in diesem Fall die Watt-Angaben) erstmal genutzt werden, um einer Instanz (dem Dummy) einen entsprechenden Wert (eben die derzeitige Watt-Zahl) zu verpassen und damit dann den Watchdog anzusprechen. Wer es besser wei√ü, kann gerne widersprechen, ich bin hier auch kein Profi… :)
      Gr√ľ√üe
      Jörg

  7. Hallo,

    wirklich sehr gut geschrieben. Werde das Suchmaschine versuchen.

    Was mich interessieren w√ľrde ist die Leistungsaufnahme der Homematic Funk-Steckdose selbst. Hast du das evtl. mal gemessen?

    Gruß
    Deinjo

  8. Hallo, super Anleitung. Ich bin zwar noch totaler Anfänger aber das mit der Waschmaschine läuft super und ist auch gut erklärt. Wie hast du das einschalten mit dem Bewegungsmelder realisiert?

    1. Hi Frank,
      das mit dem Bewegungsmelder habe ich zwar noch nicht umgesetzt, das funktioniert aber mit einem HomeMatic Bewegungsmelder (Affiliate-Link) grundsätzlich folgendermaßen:

      #Waschmaschine f√ľr 15 Minuten einschalten bei erkannter Bewegung
      define HRWaschmaschinePerBewegungEin notify HR.Bewegungsmelder:motion {fhem(„set HR.Waschmaschine on-for-timer 15) if (ReadingsVal(„HR.WaschmaschineBetrieb“,“state“,““) ne „on“)}

      Dabei schaltet der Bewegungsmelder bei jeder erkannten Bewegung die Waschmaschine f√ľr weitere 15 Minuten ein, wenn gerade noch kein Waschvorgang ausgef√ľhrt wird. Damit sich die Waschmaschine nach 15 Minuten nicht wieder ausschaltet, obwohl in der Zwischenzeit ein Waschvorgang gestartet wird, muss weiterhin einer der oben in der Anleitung aufgef√ľhrten Befehle folgenderma√üen erg√§nzt werden:
      #Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
      define HRWaschmaschineBetriebAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.Waschmaschine on set HR.WaschmaschineBetrieb on setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}

      Damit wird dann beim Beginn des Waschvorgangs HR.Waschmaschine dauerhaft auf on gesetzt.

      Gr√ľ√üe
      Jörg

  9. Hallo,
    spitzen Anleitung ich bin Begeistert. Dein ganzer Blog gef√§llt mir. Eine Frage habe ich zu dieser Anleitung mit der Waschmachine. Ich habe das soweit nachstellen k√∂nnen und zum Testen einfach eine Schreibtischlampe genutzt. Dabei ist mir aufgefallen, dass die Nachrichten nicht in nahezu Echtzeit erfolgen wie Du schreibst („Verbr√§uche fast in Echtzeit“). Bei mir ist eine Verz√∂gerung von 3-4 Mintuten vorhanden bei der Darstellung im Web-Interface. Ist das Deine „Echtzeit“ von der Du spricht oder wo kann ich das einstellen. Ich vermute die Steckdose √ľbertr√§gt die Verbrauchs√§nderungen verz√∂gert. In Hoffnung auf eine Antwort Danke ich Dir schon mal im Voraus1

    1. Hi Mibuc,
      welchen Leistungsmesser hast du im Einsatz? Der HomeMatic Leistungsmesser (Affiliate-Link), der hier genutzt wird, √ľbertr√§gt immer 1-2 Sekunden nach einer erkannten Leistungs√§nderung den entpsrechenden neuen Wert an die FHEM-Zentrale, wodurch auch eine „sofortige“ Benachrichtigung m√∂glich ist. Ich hatte daneben auch den DECT 200 von AVM (Affiliate-Link) im Einsatz, welcher nur alle paar Minuten einen Wert √ľbermittelt hatte, was einen entsprechenden Zeitverzug bei der Benachrichtigung mit sich zog. Es kann aber auch sein, dass in FHEM eine Art zeitbezogene Benachrichtigungssperre f√ľr deinen Leistungsmesser eingestellt ist, so dass nur alle paar Minunten ein neuer Messwert von der FHEM-Zentrale angenommen wird. Das hatte ich glaub ich auch mal, hier war das entsprechende Attribut auf 10 Minuten gesetzt. M√ľsstest also mal in deiner fhem.cfg beim entsprechenden Device nach diesem Attribut „event-min-interval“ suchen und es entfernen bzw. einen geringeren Wert (in Sekunden) einstellen, sofern es existiert. Hoffe das hilft erstmal weiter…
      Gr√ľ√üe
      Jörg

    2. Hallo Jörg,
      danke f√ľr die Antwort. Ich nutzte den Homematic Leistungsmesser. event-min-interval ist bei mir √ľberhaupt nicht gesetzt. Vielleicht liegt es daran. Ich werde es testen und R√ľckmeldung geben…

    3. Hallo Jörg,
      event-min-interval ist bei mir systemweit nicht definiert. Egal wo ich es auf 1 Sek. setzte ist das Verhalten wie oben beschrieben. Die √Ąnderung wird erst nach etwa 3 Minuten registriert. Wo muss es denn Deiner Meinung nach gesetzt werden bzw. wie ist der Standardwert wenn es nicht gesetzt ist? Ich habe es beim Powermeter selbst, beim Messkanal bzw. bei dem Dummy Device f√ľr die Watt probiert. Alles ohne Erfolg.
      Gr√ľ√üe
      Michael

    4. Hallo,
      an alle die es Interessiert: Problem erkannt und behoben :-)

      In den Einstellungen des Homematic Leistungsmessers kann man sehr detailliert definieren, wann ein neuer Messwert √ľbermittelt werden soll. Hier war bei mir als default Wert bei Leistung 100Watt eingestellt. Das bedeutet dass nur bei einer Leistungs√§nderung > 100 Watt eine √úbermittlung stattfindet.
      Da die zum Testen genutzte Schreibtischlampe nur 15Watt hat, wurde nat√ľrlich keine √Ąnderung an FHEM √ľbermittelt. Nach √Ąnderung der Schwelle auf 5 Watt funktioniert es perfekt.

      @J√∂rg: Was f√ľr einen Wert hast Du dort eingestellt f√ľr die Waschmaschine / den Trockner? Vielleicht solltest Du das oben in Deiner Anleitung noch mit aufnehmen.

      Gr√ľ√üe
      Michael

    5. Hi Mibuc,
      danke f√ľr den Tipp! War mir nicht bekannt, dass man hier den Wert anpassen kann. Ich hab jedenfalls nichts angepasst und meine Adapter √ľbertragen auch geringe Leistungs√§nderungen (wenige Watt) an den FHEM-Server.
      Wie hast du den Wert angepasst? √úber die Konfigurationssoftware von Homematic oder √ľber FHEM und einem entsprechenden Befehl?
      Gr√ľ√üe
      Jörg

    6. Ich habe das √ľber die Konfigurationssoftware von Homematic angepasst. Ist sicherlich aber auch √ľber FHEM selbst m√∂glich – als „Noch-Laie“ im Bereich FHEM wei√ü ich allerdings nicht wie.

      F√ľr die Waschmaschine bzw. den Trockner macht es aber Sinn den Wert wieder h√∂her zu setzen, da ansonsten das Logfile unn√∂tig gro√ü wird.

  10. Hallo Jörg,
    ich bin gerade dabei, die Waschmaschinen-L√∂sung nachzubauen. Vielen Dank erstmal f√ľr die super Anleitung!
    Bisher habe ich das Device umbenannt, dem richtigen Raum zugeordnet, und den Channel umbenannt und dem richtigen Raum zugeordnet.
    Jetzt sehe ich im Raum Keller das Device mit on/off und den Channel mit XXX_Power.

    Das Problem ist nur, dass mir der Channel nicht die aktuelle Leistung sondern scheinbar die integrierte (kumulierte) Leistung darstellt. Zumindest steht da jetzt folgendes im Channel:

    boot
    off
    2014-02-27 21:34:04
    current
    0
    2014-02-27 21:34:04
    energy
    2055
    2014-02-27 21:34:04
    frequency
    53.4
    2014-02-27 21:34:04
    power
    0
    2014-02-27 21:34:04
    state
    2055
    2014-02-27 21:31:15
    voltage
    224.5

    und in der Raum√ľbersicht steht dann
    KEL_Waschmaschine_Power 2055

    Das kann doch nicht richtig sein, oder?

    Danke Dir und schönen Abend!

    1. Hi Jager,
      verstehe leider nicht, was du mit „integrierte (kumulierte) Leistung“ meinst. Wenn „state“ den Wert 2055 aufweist, dann werden gerade 2055 Watt verbraucht und entsprechend bei „KEL_Waschmaschine_Power“ angezeigt. Oder denkst du, dass der Wert einfach nicht stimmen kann?
      Gr√ľ√üe
      Jörg

    2. Hallo Jörg,
      ich habe den Kanal angeschaut, die Leistung wird immer gr√∂√üer, je √∂fter die Maschine l√§uft. Ich denke, dass es die addierte Leistung (aller Waschvorg√§nge ist) und nicht die aktuelle. Kann es sein, dass in meinem Code oben der Punkt „Energy“ die bisherige Gesamtleistung und der Punkt „Power“ (oben mit „0“) die aktuelle Leistung anzeigt.
      Den Kanal bräuchte ich doch dann. Habe ich da was falsch gemacht??

      Gruß!

    3. Hi Jager,
      du liegst richtig. Der „Power“-Channel beinhaltet u.A. die Readings „energy“, was der kummulierten Leistung in Wh enspricht sowie „power“, was die aktuelle Leistungsaufnahme in Watt ausgibt. Hoffe das hilft dir weiter!
      Gr√ľ√üe
      Jörg

  11. Hi!
    Ich habe das Problem, dass meine Waschmaschine auch während des Betriebs auf die niedrigste Stromaufnahme geht. Wie verhindere ich, dass der Status auf standby springt?

    Gruss Heiner

    1. Hi Heiner,
      konzenptionell kann ich mir vorstellen, dass man dein Problem „relativ einfach“ durch einen zus√§tzlichen Watchdog l√∂sen kann, der bei einem sehr niedrigen Verbrauch den Status erst nach einigen Minuten auf standby setzt und damit verhindert, dass ein einziger niedriger Verbrauchswert die Status√§nderung sofort ausl√∂st. Hoffe das hilft dir weiter! Falls nicht, melde dich nochmal…
      Gr√ľ√üe
      Jörg

    2. Hi!

      Habe es anders gelöst. (Hoffentlich!)

      Ich speichere den vorangegangenen Wert zwischen und lasse ihn als Bedingung, dass er auch unter 3 Watt gewesen sein muss, mitlaufen. Bis jetzt scheint es zu funktionieren. Triggere dar√ľber dann auch gleich den Verbrauch Anfang und Ende des Waschgangs sowie am Ende die Differenz zur Kostenerrechnung.

      Trotzdem Danke. Hab hier viel gelernt. Etwas funktionierendes nachzumachen ist besser als nur die Anleitung zu lesen. ;-)

    3. Hi Heiner,
      ich habe das Problem jetzt auch √ľber einen Watchdog gel√∂st, der den Verbrauchswert √ľberwacht und erst nach einer vordefinierten Zeit ausl√∂st, sofern der Verbrauchswert die ganze Zeit unter einem angegebenen Schwellwert bleibt. Das Ganze ist im Blogartikel gr√ľn hinterlegt.
      Gr√ľ√üe
      Jörg

  12. Hallo Jörg,
    Danke f√ľr die ganzen sehr verst√§ndlichen Anleitungen. Damit habe ich es auf Anhieb geschafft Fhem auf einen Raspberry pi zu installieren. Deine Anleitung zur Funksteckdose mit Leistungsmessung gef√§llt mir ebenso. Ich m√∂chte bei mir eine Emailbenachrichtigung absetzen, sobald die Waschmaschine fertig ist.
    Haste Du ne Idee wie man das hinbekommt?

    Viele Gr√ľ√üe
    Frank

    1. Hallo Jörg,

      ja die Wiki hatte ich mir schon mal angesehen. Probleme habe ich noch mit der TTL Einstellung. Ich werde wohl doch den Pushoverservice nutzen!

  13. Sehr gute Anleitung und auch als
    Laie gut verständlich und umsetzbar.
    Ein kleines Problem habe und zwar kommt
    in Fhem wenn ich √ľber Pushover deine Waschmaschine ist fertig die Meldung
    „unknown command HR.WaschmaschineBetrieb:standby“
    Der andere notify waschmaschine ist fertig funktioniert
    dagegen

    1. Hi Inesa,
      pr√ľfe deine Codezeilen in der FHEM-Config bitte nochmal nach Syntaxfehlern bzw. versuche es nochmal von vorne. Falls es dann nicht klappt, poste doch einfach mal die entsprechenden Zeilen. Dann schau ich mir das mal an…
      Gr√ľ√üe
      Jörg

  14. Habe den code nochmal neu einger√ľckt mu√ü wohl alles in einer Zeile stehen damit es ohne Fehler abgespeichert werden kann.
    define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {system(„curl -s -F ‚token=atxxxxxxxxxxxxxxxxx‘ -F ‚user=uixxxxxxxxxxxxxxxxxxxxxx‘ -F ‚message=Badehaus\nWaschen beeendet‘ https://api.pushover.net/1/messages.json„)}
    Der code in klammern ist wohl Perlcode oder warum wird das in klammern gefaßt?

  15. Ahoi,

    danke f√ľr die super Anleitung.
    Gestern eingerichtet und die Sache läuft soweit (mit dem HM-ES-PMSw1-PI).

    Allerdings fällt der Verbrauch während des Waschprogramms ebenfalls unter die 5 Watt. Also die Maschine macht mal ne kurze Pause beim Waschen ;-)
    Und dummerweise bekomme ich dann ja schon ne Notifcation das der Waschvorgang beendet sei…
    Nach meinem laienhaften Verst√§ndnis w√ľrde ich irgendwie ne Wartezeit einbauen. Also erst wenn die Maschine mehr als 5 Minuten im Standby ist, ist der Waschvorgang beendet.
    Hättest du da ne Idee, ich stell mich da gerade zu dumm an :-P

    Vielen Dank und mfg
    Manuel

    1. Hi Manuel,
      da dein Problem mit den kurzen Waschpausen anscheinend √∂fter auftritt, habe ich mir eine L√∂sung √ľberlegt. Diese ist im Artikel gr√ľn hervorgehoben. W√§re nett, wenn du mir Feedback geben k√∂nntest, ob das so funktioniert, da ich es selbst noch nicht testen konnte. Viel Erfolg!
      Gr√ľ√üe
      Jörg

    2. Hi Jörg,

      wow das ging ja schnell, vielen Dank.
      Hab die Sache bei mir eingebunden, allerdings wird der finale Test evtl noch was dauern (spätestens Montag).
      Single Haushalt produziert nicht so viel Wäsche ;-)

      Mfg
      Manuel

    3. Hi nochmal,

      so nach au√üerplanm√§√üiger W√§sche sieht die Sache so aus als w√ľrde es funktionieren.
      Ich bastele derzeit noch an der Benachrichtung √ľber gcmsend, aber das ist ja ein anderes Kapitel und nicht so spannend f√ľr iPhone User ;-)
      Nochmals vielen Dank
      Manuel

  16. Hallo Jörg

    Mit dem neuen gr√ľnen Code scheint der Aktor sich bei mir nicht mehr auszuschalten.
    Der letzte watchdog 15 min greift nicht mehr, der Watchdog Autostandby steht auf triggered (m√ľ√üte doch nach 5min zustand √§ndern?) vorher hatte alles funktioniert.

    1. Hi Inesa,
      ich glaube ich hab das Problem gefunden und berichtigt. Es hiess bisher f√§lschlicherweise „setstate HRWaschmaschineHoherVerbrauchAutoOff defined“ und muss „setstate HRWaschmaschineAutoStandby defined“ lauten. Bitte mal testen und Bescheid geben, ob es klappt. Viel Erfolg!
      Gr√ľ√üe
      Jörg

  17. Hi Jörg

    Bekomme jetzt diese Meldung im Log
    set HR.WaschmaschineHoherVerbrauch on; setstate HRWaschmaschineHoherVerbrauchAutoStandby defined : Please define HRWaschmaschineHoherVerbrauchAutoStandby first

  18. Hallo!
    Super beschrieben das ganze!
    F√ľr meine Frau die haups√§chlich w√§scht eine tolle Sache , um zu sehen wann die W√§sche fertig ist!
    Kann man die ausschalte Funktion auch ausschalten ,so das der adapter immer die Waschmaschine an lässt?
    Da der HM-ES-PMSw1-PI wohl im abgeschlossenen Schrank w√§re und nicht das abschalten wichtig w√§re sondern nur die fertig Meldung….
    ?
    Gruß
    Jonny

    1. Hi Jonny,
      danke!
      Das sollte relativ einfach möglich sein.
      Einfach die Codepassage:

      #HR.Waschmaschine 15 Minuten nach dem letzten Waschgang vom Strom trennen
      define HRWaschmaschineAutoOff watchdog HR.WaschmaschineBetrieb:standby 00:15 HR.WaschmaschineBetrieb:on set HR.Waschmaschine off;; set HR.WaschmaschineBetrieb off
      attr HRWaschmaschineAutoOff regexp1WontReactivate 1
      attr HRWaschmaschineAutoOff room Hauswirtschaftsraum

      ändern in:

      #HR.WaschmaschineBetrieb 15 Minuten nach dem letzten Waschgang auf off setzen
      define HRWaschmaschineAutoOff watchdog HR.WaschmaschineBetrieb:standby 00:15 HR.WaschmaschineBetrieb:on set HR.WaschmaschineBetrieb off
      attr HRWaschmaschineAutoOff regexp1WontReactivate 1
      attr HRWaschmaschineAutoOff room Hauswirtschaftsraum

      Dann wird der Zwischenstecker nicht mehr ausgeschaltet.

      Gr√ľ√üe und viel Erfolg!
      Jörg

  19. Hallo,
    vielen Dank f√ľr den tollen Blog hier mit den guten Erkl√§rungen. Ich bin ein Newbie und es gibt schon Probleme beim Start. FHEM auf Fritzbox eingerichtet. HMLAN-Adapter wird im FHEM als open gekennzeichnet.
    Ich kann aber eine Funksteckdose (HM-LC-Sw-PI)nicht anlernen:

    set HMLAN1 hmPairForSec 60 und dr√ľcken den Pairung Knopf an der Steckdose dr√ľcken bis s er blinkt: aber es passiert nichts.

    Mit dem MHLAN und de rHersteller-Software lässt sich die Steckdose problemlos anlernen und ablernen und konfigurien.

    (Die Software ist beim Betrieb des FHEM abgeschaltet und der PC neu gestartet.
    Meine Software-Version hat kein BOX um AES Ein-und Auszuschalten ich habe daher bei FEH-Bertieb vorher in der Softeware des AES-Schl√ľssel entfernt.)
    Was mache ich falsch ? Kann ich auch einfach die Steckedose per Hand in der Config eintragen und wie?

    1. Hi,
      schau mal, ob in deiner fhem.cfg die Zeile
      define autocreate autocreate
      vorhanden ist. Erst dann werden beim Anlernvorgang die notwendigen Codezeilen automatisch deiner Config hinzugef√ľgt.
      Au√üerdem kann es nicht schaden, FHEM zu updaten, gerade wenn neue Komponenten nicht erkannt werden. Dazu im FHEM-Webinterface in die FHEM-Kommandozeile „update“ ohne Anf√ľhrungszeichen eingeben und mit der Enter-Taste best√§tigen. Wenn man das erste Mal ein Update ausf√ľhrt, bekommt man die Info angezeigt, dass man eine noch nicht best√§tigte Nachricht best√§tigen muss. Dazu muss dann in die FHEM-Kommandozeile z.B. „notice view update-20130127-001“ ohne Anf√ľhrungszeichen eingegeben und mit der Enter-Taste best√§tigt werden. Evtl. wird eine andere ID beim erstmaligen Update-Vorgang angezeigt, dann muss der Befehl entsprechend der eingeblendeten ID angepasst werden. Nach der Best√§tigung dann nochmal „update“ ohne Anf√ľhrungszeichen eingeben und mit Enter best√§tigen. Dann wird ein Backup erstellt und das Update angesto√üen, was etwas dauern kann.
      Hoffe so kommst du zum Ziel!
      Gr√ľ√üe
      Jörg

    2. Hallo,

      Ich habe die Zeile
      define autocreate autocreate
      in die fhem.cfg eingef√ľgt. Allerdings ohne Erfolg. Auf den Befehl
      set HMLAN1 hmPairForSec 60 und Dr√ľcken auf den Pairing-Knopf bis es blinkt passiert gar nichts.
      Nach dem Befehl update kommt der Info-Text. Nach Eingabe von:
      notice view update-20130127-001
      geht es mit dem Update aber nicht weiter, der Text erscheint wieder. Wie komme ich weiter?

    3. Hallo,
      ich habe es jetzt geschafft. Vor dem Update fehlte das backup. „notice view update“ war auch nicht richt. aber ich habe die Nachricht schlie√ülich quitiert. Beim Backup kam die Meldung: controls_fhem.txt defekt. Ich habe sie gel√∂scht und danach mit update force ein Update hingekommen.
      Aber mein Problem bleibt bestehen:
      Nach Einagbe von: „set HMLAN1 hmPairForSec 60“ und dr√ľcken des pairing Knopfes wird die Steckdose trotzdem nicht erkannt. Auch „set HMLAN1 hmPairSerial JEQ00xxxxx“ hilft nicht weiter. Wiekann ich die Steckdose in Fhem einbinden ? Wo ist der Fehler?

    4. Hallo Thomas,
      ich w√ľrde dir empfehlen die beschriebenen Schritte nochmal ausf√ľhrlich durchzugehen, da ich davon ausgehe, dass irgendein Syntaxfehler bei der Umsetzung vorliegt. Hoffe du kommst ans Ziel!

  20. Hallo, Deine Tipps und Erklärungen sind ja wirklich super. Dennoch habe ich eine Frage:
    Ich versuche die Steckdose einfach bei eine Stromverbrauch von unter 50 Watt nach 1 Minute auszuschalten.
    Ich bekomme es einfach nicht hin und verzweifel langsam. Kannst du helfen?
    Beste Gr√ľ√üe

    # Dummy f√ľr Stromverbrauch und sp√§tere automatische deaktivieren wenn Stromverbrauch wenige 50W √ľber 15 min ist
    # Diagramm
    define StromverbrauchFernseher dummy

    # StromverbrauchFernseher mit WErten versorgen
    define FernseherWattSet notify StromverbrauchFernseher {my $power =ReadingsVal(„wz_fernsehen_1_Pwr“,“power“,““);; fhem („set StromverbrauchFernseher $power“)}
    define FernseherWattUsageAnDummy at +*00:00:05 { my $d= ReadingsVal(„wz_fernsehen_1_Pwr“,“power“,0);; fhem(„set StromverbrauchFernseher $d“);;}
    define FernseherWattUsageAnDummyLog FileLog ./log/FernsherWattLog-%Y-%m-%d.log FernseherWattUsageAnDummy|StromverbrauchFernseher:.*
    attr FernseherWattUsageAnDummyLog logtype text
    define SVG_FernseherWattUsageAnDummyLog_1 SVG FernseherWattUsageAnDummyLog:SVG_FernseherWattUsageAnDummyLog_1:CURRENT

    # dummy StromverbrauchFernseherBetrieb ob on oder off
    define StromverbrauchFernseherBetrieb dummy
    attr StromverbrauchFernseherBetrieb event-on-change-reading state

    # Dummy StromverbracuhFernseherBetrieb ein wenn >50 Watt
    define StromverbrauchFernseherBetriebAn notify StromverbrauchFernseher_Power:power.* {fhem („set StromverbrauchFernseherBetrieb on;; setstate StromverbrauchFernseherAutoOff defined“) if (ReadingsVal(„StromverbrauchFernseher_Power“,“power“,““) >= 50 && Value(„StromverbrauchFernseherBetrieb“) ne „on“)}

    # Hoher Verbrauch definieren
    define StromverbrauchFernseherHoch dummy
    attr StromverbrauchFernseherHoch event-on-change-reading state

    # Hoher Verbrauch einschalten bei >50Watt
    define StromverbrauchFernseherHoch An notify StromverbrauchFernseher_Power:power.* {fhem („set StromverbrauchFernseherHoch on;; setstate StromverbrauchFernseherAutoStandby defined“) if (ReadingsVal(„StromverbrauchFernseher_Power“,“power“,““) > 50 && Value(„StromverbrauchFernseherBetrieb“) ne „on“)}

    # Hoher Verbrauch ausschalten bei <50Watt
    define StromverbrauchFernseherHoch Aus notify StromverbrauchFernseher_Power:power.* {fhem ("set StromverbrauchFernseherHoch off") if (ReadingsVal("StromverbrauchFernseher_Power","power","") 1min unter 50W bleibt aus
    define StromverbrauchFernseherAutoStandby watchdog StromverbrauchFernseherHoch:off 00:01 StromverbrauchFernseherHoch:on set StromverbrauchFernseherBetrieb standby
    attr StromverbrauchFernseherAutoStandby regexp1WontReactivate 1

    1. Hallo Markus,

      warum setzt du Werte in den Dummy „StromverbrauchFernseher“ mit einem NOTIFY, welches auf den selben dummy „StromverbrauchFernseher“ anspringt.
      Hier beisst sich mMn bereits die Katze in den Schwanz.

      Kleine Bitte: 3 Minuten Zeit f√ľr folgende Vorab-Umfrage nehmen: http://ww2.unipark.de/uc/BWL12/b65c/
      VG
      Christoph

    2. Hallo und besten Dank nochmal f√ľr Deine Antwort und Hilfe hier im Protal.
      Wenn ich ehrlich bin, stehe ich hier vor einer Herausforderung. ich habe mir das ganze Equipment gekauft und bin Dank Deines Portals soweit gekommen, dass ich per Handy die Steckdose bedienen kann. Aber jetzt bei der Programmierung habe ich Schweirigkeiten. Gibt es einen Beitrag indem ich die „Basics“ erst mal nachlesen kann? Was z.B. notify bewirkt wei√ü ich nicht einmal.
      Vielen, vielen Dank f√ľr Deine Hilfe
      GR√ľ√üe
      MArkus

    3. Hi Markus,
      schau dir doch einfach mal die verschiedenen Anwendungsf√§lle an, die hier im Blog beschrieben sind und hangle dich am Programmcode entlang. So solltest du recht schnell die Basics kennnelernen. Alternativ gibt es nat√ľrlich auch die FHEM Referenz, die gut dokumentiert die entsprechend Syntax und Semantik inkl. m√∂glichen Befehlen in FHEM aufbereitet. Das kann aber gerade zu Beginn mehr verwirren ale es einem hilft…
      Um noch kurz auf deine notify-Frage einzugehen: Notify bedeutet, dass ein Element bei einem definierten Ereignis eine Aktion ausl√∂st. In nachfolgendem Beispiel wird die frei gew√§hlte Instanz „MeinBefehl“ definiert („define“), bei der das ausl√∂sende Element „FL.Tuerkontakt“ bei einer sich √∂ffnenden T√ľr („open“) die „FL.Deckenlampe“ auf ein („on“) schaltet („set“).
      define MeinBefehl notify FL.Tuerkontakt:open set FL.Deckenlampe on
      Hoffe das hilft dir etwas weiter.
      Gr√ľ√üe
      Jörg

    4. Hi Markus,
      puh, schwierig zu sagen, wenn man deinen Code nicht Zeichen f√ľr Zeichen durchgeht…
      Der im Artikel beschriebene Code funktioniert auf jeden Fall, habe ihn mehrfach im Einsatz. Deshalb w√ľrde ich dir empfehlen diesen nochmal 1:1 zu kopieren und an deine Anforderungen hin anzupassen. Am besten einen Texteditor verwenden, der unformatierten Text erlaubt und dann mit Finden und Ersetzen die jeweiligen Dummies etc. entsprechend umbenennen.
      Gr√ľ√üe
      Jörg

  21. Hallo nochmal,
    kannst du mir sagen, warum der einfache Befehl nicht funktioniert:
    Ich möchte Рwie du beschrieben hast Рeinfach einen dummy anlegen StromverbrauchFernseher, der dann den aktuellen Stromverbrauch anzeigt.
    Dummy anlegen funktioniert, aber es wird nicht der Stromverbrauch angezeigt. Vorher habe ich wz_fernsehen_1_SenPwr renamed, der zeigt auch den richtigen Wert an.

    # Dummy f√ľr Stromverbrauch
    define StromverbrauchFernseher dummy

    # StromverbrauchFernseher mit Werten versorgen
    define StromverbrauchFernseherSet notify wz_fernsehen_1_SenPwr {my $power =ReadingsVal(„wz_fernsehen_1_SenPwr“,“power“,““);; fhem („set StromverbrauchFernseher $power“)}

    Gr√ľ√üe
    Markus

    1. Hi Markus,
      sieht eigentlich spontan richtig aus. Am besten alle Bezeichnungen nochmal genau pr√ľfen und nach der √Ąnderung FHEM am besten komplett neustarten.
      Hoffe das hilft!
      Gr√ľ√üe
      Jörg

  22. habe jetzt den code nach und nach eingegeben ,

    wenn ich mit meiner iphone app Fhem Remote jetzt auf mein Fhem wie Immer zugreifen will kommt:

    FHEM SERVER
    Fehler beim Versuch die Antwort des FHEM Servers auszuwerten!DieAntwort ist kein g√ľltiger JsonString.
    Bitte kontrollieren sie Servereinstellungen (und stellen sie sicher das auf dem FHEM server das JsonList Plugin Funktioniert)

    Need help

    ps. in meinen log steht:
    2014.04.17 19:49:35 3: JsonList: device (CUL_HM_HM_ES_PMSw1_Pl_24A17B) without TYPE
    2014.04.17 19:49:36 3: JsonList: device (CUL_HM_HM_ES_PMSw1_Pl_24A17B) without TYPE
    2014.04.17 19:49:44 3: JsonList: device (CUL_HM_HM_ES_PMSw1_Pl_24A17B) without TYPE
    2014.04.17 19:50:07 3: JsonList: device (CUL_HM_HM_ES_PMSw1_Pl_24A17B) without TYPE

    Hilft euch das ?

  23. Hallo,

    wenn ich den Aktor mit meiner Zentrale paire finde ich die Channel nicht?
    Also ich kann den Aktor schalten, habe habe keinerlei Channel…Was kann das sein?

    1. Hallo Christian,
      am besten die entsprechenden Codezeilen des Device in der fhem.cfg l√∂schen, ein Update machen, neinen Neustart machen und dann einen erneuten Anlernvorgang starten. Manchmal zwickt das leider etwas…

  24. Guten Morgen !
    Vieeelen dank f√ľr diese tolle Anleitung!

    Habe die app pushover gekauft und den user und token eingetragen jedoch bekomme ich keine fertigmeldung
    wie kann mann testen wo es hakt ?
    kann ich dir hier eine Ausgabe posten ?

    gruß

    1. Hallo Jonny,
      schau doch mal im FHEM-Logfile nach, evtl. findest du dann den Fehler. Deine Ausgabe kannst du nat√ľrlich auch posten, wenn du nicht weiterkommst.
      Gr√ľ√üe
      Jörg

  25. Hallo Jörg
    das ist das Logfile aus der Zeit:
    Mir sagt es nix:
    014.04.21 17:16:27 3: Watchdog HRWaschmaschineAutoStandby triggered
    2014.04.21 17:31:27 3: Watchdog HRWaschmaschineAutoOff triggered
    2014.04.21 19:42:47 3: Watchdog HRWaschmaschineAutoStandby triggered
    2014.04.21 19:42:47 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: -1
    2014.04.21 19:57:47 3: Watchdog HRWaschmaschineAutoOff triggered

  26. Guten Morgen,
    Ohne dich bin ich aufgeschmissen, w√ľsste nicht wo ich anfangen soll den Fehler zu finden…
    Sagt dir das Log oben nichts ?

    Ich weiss ja nicht einmal wo und wie ich in fhem die Zeile finde wo von pushover benutzername & Kennwort sind, um das zu kontrollieren .

    Wäre Toll wenn du helfen könntest
    Jonny

    1. Das sieht richtig aus. Wechselt denn der Dummy HR.WaschmaschineBetrieb auch in den Status standby? Du kannst den Status z.B. mal √ľber die FHEM-Kommandozeile erzwingen durch „set HR.WaschmaschineBetrieb standby“ (ohne Anf√ľhrungszeichen)

  27. Guten morgen !
    Muss nochmal nerven ,

    Ich bekomme es nicht hin!

    Vom PC bei pushover auch eingeloggt und test push Meldungen versendet, das klappt!

    Wie kannst du sehen wo ich evtl einen Fehler gemacht habe ?
    Wie kann man das nachvollziehen ?

    Gruß

    Jonny

    1. Puh, gute Frage.
      Generell w√ľrde ich empfehlen bei Fehlern logisch der Reihe nach die einzelnen Befehle durchzugehen und einzeln zu testen. So kommt man eigentlich immer zum Ziel, auch wenn es manchmal l√§nger dauert.

  28. Guten Morgen !

    Tja

    wen ich
    set HR.WaschmaschineBetrieb standby
    mache passiert auch nichts! Es kommt keine pushover Notifikation

    Ich hatte dich ja gefragt wie man das einstellt das sich der stromstecker nicht ausschaltet da hast du mir diese Zeile gegeben, kann das damit zusammenhängen ?:

    Das sollte relativ einfach möglich sein.
    Einfach die Codepassage:
    #HR.Waschmaschine 15 Minuten nach dem letzten Waschgang vom Strom trennen
    define HRWaschmaschineAutoOff watchdog HR.WaschmaschineBetrieb:standby 00:15 HR.WaschmaschineBetrieb:on set HR.Waschmaschine off;; set HR.WaschmaschineBetrieb off
    attr HRWaschmaschineAutoOff regexp1WontReactivate 1
    attr HRWaschmaschineAutoOff room Hauswirtschaftsraum
    ändern in:
    #HR.WaschmaschineBetrieb 15 Minuten nach dem letzten Waschgang auf off setzen
    define HRWaschmaschineAutoOff watchdog HR.WaschmaschineBetrieb:standby 00:15 HR.WaschmaschineBetrieb:on set HR.WaschmaschineBetrieb off
    attr HRWaschmaschineAutoOff regexp1WontReactivate 1
    attr HRWaschmaschineAutoOff room Hauswirtschaftsraum
    Dann wird der Zwischenstecker nicht mehr ausgeschaltet.

    Gibt es nicht eine Zeile wo du siehst ob ich alles richtig eingegeben habe ?
    Wenn ich diese ganzen befehle noch mal eingebe sagt er das sie schon da sind!

    Gruß

    Jonny

  29. Ausersehen eben ein doppelpost…. sorry!

    Aber ich habe was gefunden:
    2014.05.01 08:13:40 3: Watchdog HRWaschmaschineAutoStandby triggered
    sh: curl: not found
    2014.05.01 08:13:40 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: -1
    2014.05.01 08:28:40 3: Watchdog HRWaschmaschineAutoOff triggered
    2014.05.01 10:26:01 3: Watchdog HRWaschmaschineAutoStandby triggered
    sh: curl: not found
    2014.05.01 10:26:01 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: -1
    2014.05.01 11:33:41 3: Watchdog HRWaschmaschineAutoStandby triggered
    sh: curl: not found
    2014.05.01 11:33:41 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: -1
    sh: curl: not found
    2014.05.01 11:41:57 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: -1

    heisst das url not found….. falsche webadresse pushover ?

    1. Ganz einfach, curl ist nicht installiert (sh: curl: not found), was f√ľr das Absetzen der Pushover-Benachrichtigungen ben√∂tigt wird.
      Wenn du dein FHEM auf dem RPI hast, kannst du dich per Terminal einloggen und folgenden Befehl ausf√ľhren, um curl zu installieren:
      sudo apt-get update && sudo apt-get install curl
      Dann klappts auch mit den Pushover-Notifications :)

  30. Hallo Jörg!

    Ahhhh das wusste ich nicht , w√§re in deiner Anleitung interessant f√ľr die copy&paste Leute wie mich :-))

    Ich habe fhem auf einer fritzbox was muss ich da machen ?Gruß&dank
    Jonny

    1. Achso, auf dem RPI w√§re curl auch schon standardm√§√üig vorinstalliert gewesen. Auf der Fritzbox ist das schwieriger. Da lassen sich nachtr√§glich keine Pakete installieren. Hier muss man ein selbst kompilierten Freetz-Image installieren, bei dem curl als Paket bereits implementiert ist (echt stressig, wenn man sich nicht damit auskennt). In deinem Fall w√ľrde ich die mittlerweile verf√ľgbare Pushover-Erweiterung f√ľr FHEM nutzen, die gar kein curl ben√∂tigt und damit ohne jede Anpassung auch auf der Fritzbox in Kombination mit FHEM funktioniert.
      So wird Pushover einmal definiert:
      define Pushover_Jay Pushover am4uA61Gx2Jw9GA24rePRyMJw8B3hz u4zDygNRGFbQUSmcxXj6fGsWJl9d93
      Dabei ganz wichtig: Erst Token (am4…) und danach User (u4zD…) schreiben.
      Und dann sieht der oben im Blogartikel beschriebene Befehl f√ľr das Versenden bspw. so aus:
      #Pushover-Notification bei abgeschlossenem Waschvorgang verschicken
      define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem („set Pushover_Jay msg ‚Wuerzburgbude‘ ‚Hauswirtschaftsraum\nWaschvorgang abgeschlossen‘ “ 0 ““)}

  31. aha, ist es mit einen RPI denn potenter oder besser als auf einer fb7390 ?

    Habe nun deine Zeilen eingegeben, bei der 2ten kommt:

    HRWaschmaschineWaschvorgangAbgeschlossenPushover already defined, delete it first

    Wie mache ich das ?

    sry

    jonny

    1. Ein RPI hat insgesamt schon etwas mehr Power als die Fritzbox, ja. Werde die kommenden Tage aber mal einen Intel NUC mit FHEM testen. Die Celeron NUCs sind auch recht g√ľnstig, haben einen √§hnlich geringen Stromverbrauch wie ein RPI und haben nochmal wesentlich mehr Power. Das macht gerade dann Sinn, wenn man bereits Unmengen an Ger√§ten mit FHEM verwaltet. Bei mir ist das System n√§mlich mittlerweile auch mit einem RPI recht tr√§ge geworden.
      HRWaschmaschineWaschvorgangAbgeschlossenPushover hast du eben schon einmal definiert. Einfach in der fhem.cfg nach dem alten Eintrag suchen und die betreffende Zeile rauslöschen. :)

  32. So .cfg editiert hier die nächste Meldung!:
    wenn ich
    set HR.WaschmaschineBetrieb standby
    mache passiert auch nichts! Es kommt keine pushover Notifikation
    in den logs:

    2014.05.01 18:47:56 3: Device HR.Waschmaschine added to ActionDetector with 000:10 time
    2014.05.01 18:50:03 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: Unrecognized character \xE2; marked by <– HERE after {fhem (<– HERE near column 8 at (eval 31) line 1.

  33. So habe im Fhem forum gefragt und die Lösung bekommen

    da waren falsche Anf√ľhrungszeichen am ende, wenn ich das hier copy&Paste wird’s wieder falsch, komisch

    da musste hochkommas hin.

    Jetzt läuft es!

    gruss

    JOnny

  34. Hallo,

    erstmal muß ich Sagen das eure Artikel der Hammer sind, es Funktioniert alles sehr gut. Habe noch ein Problem wegen der Abschaltung nach den 15 min. am Ende. Die Pushmitteilung mit Waschmaschine wird ausgeschaltet kommt noch aber dann wird sie aber nicht ausgeschaltet. Es kommt immer im Logfile:

    „Unknown argument off, choose one of clear:readings,register,rssi,msgEvents getConfig getRegRaw pair raw regBulk regSet reset unpair“

    Meine fhem.cfg von dem Stecker:

    #Dummy WK.WaschmaschineWatt f√ľr die Anzeige des aktuellen Watt-Verbrauchs definieren
    define WK.WaschmaschineWatt dummy
    attr WK.WaschmaschineWatt room Waschkeller

    #Dummy WK.WaschmaschineWatt mit Werten versorgen
    define WKWaschmaschineWattSet notify WK.Waschmaschine_Power {my $power =ReadingsVal(„WK.Waschmaschine_Power“,“power“,““);; fhem („set WK.WaschmaschineWatt $power“)}

    #Dummy WK.WaschmaschineBetrieb definieren
    define WK.WaschmaschineBetrieb dummy
    attr WK.WaschmaschineBetrieb event-on-change-reading state
    attr WK.WaschmaschineBetrieb room Waschkeller

    #Dummy WK.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
    define WKWaschmaschineBetriebAn notify WK.Waschmaschine_Power:power.* {fhem („set WK.WaschmaschineBetrieb on;; setstate WKWaschmaschineAutoOff defined“) if (ReadingsVal(„WK.Waschmaschine_Power“,“power“,““) >= 30 && Value(„WK.WaschmaschineBetrieb“) ne „on“)}

    #Dummy WK.WaschmaschineHoherVerbrauch definieren
    define WK.WaschmaschineHoherVerbrauch dummy
    attr WK.WaschmaschineHoherVerbrauch event-on-change-reading state
    attr WK.WaschmaschineHoherVerbrauch room Waschkeller

    #Dummy WK.WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
    define WKWaschmaschineHoherVerbrauchAn notify WK.Waschmaschine_Power:power.* {fhem („set WK.WaschmaschineHoherVerbrauch on;; setstate WKWaschmaschineAutoStandby defined“) if (ReadingsVal(„WK.Waschmaschine_Power“,“power“,““) > 5 && Value(„WK.WaschmaschineBetrieb“) eq „on“)}

    #Dummy WK.WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
    define WKWaschmaschineHoherVerbrauchAus notify WK.Waschmaschine_Power:power.* {fhem („set WK.WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„WK.Waschmaschine_Power“,“power“,““) <= 5 && Value("WK.WaschmaschineBetrieb") eq "on")}

    #Wenn der Verbrauchswert f√ľr mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tats√§chlich abgeschlossen ist
    define WKWaschmaschineAutoStandby watchdog WK.WaschmaschineHoherVerbrauch:off 00:05 WK.WaschmaschineHoherVerbrauch:on set WK.WaschmaschineBetrieb standby
    attr WKWaschmaschineAutoStandby regexp1WontReactivate 1
    attr WKWaschmaschineAutoStandby room Waschkeller

    #Pushover-Notification bei abgeschlossenem Waschvorgang verschicken
    define WKWaschmaschineWaschvorgangAbgeschlossenPushover notify WK.WaschmaschineBetrieb:standby {system ("curl -s -F 'token=aHkVK3pXDebZBX9BVKPtzcRhpsWfc7' -F 'user=uVDNEX3kqH3PFoaNe7wsVMeJUy3zfT' -F 'message=Waschkeller\nWaschvorgang abgeschlossen' https://api.pushover.net/1/messages.json&quot;)}

    #HR.Waschmaschine 15 Minuten nach dem letzten Waschgang vom Strom trennen
    define WKWaschmaschineAutoOff watchdog WK.WaschmaschineBetrieb:standby 00:15 WK.WaschmaschineBetrieb:on set WK.Waschmaschine off;; set WK.WaschmaschineBetrieb off
    attr WKWaschmaschineAutoOff regexp1WontReactivate 1
    attr WKWaschmaschineAutoOff room Waschkeller

    #Pushover-Notification sobald die Waschmaschine ausgeschaltet wird
    define WKWaschmaschineWirdAusgeschaltetPushover notify WK.WaschmaschineBetrieb:off {system("curl -s -F 'token=aHkVK3pXDebZBX9BVKPtzcRhpsWfc7' -F 'user=uVDNEX3kqH3PFoaNe7wsVMeJUy3zfT' -F 'message=Waschkeller\nWaschmaschine wird ausgeschaltet' https://api.pushover.net/1/messages.json&quot;)}

    Könnt ihr mir da bitte Helfen.

    Danke

    1. Hi Michael,
      sieht erstmal nicht falsch aus…
      Was passiert denn bspw., wenn du in die FHEM-Konsolenzeile „set WK.Waschmaschine off“ ohne Anf√ľhrungszeichen eingibst und dann Enter dr√ľckst?
      Gr√ľ√üe
      Jörg

    2. Hallo Jörg,
      da kommt wie oben beschrieben im Logfile das „Unknown argument off, choose one of clear:readings,register,rssi,msgEvents getConfig getRegRaw pair raw regBulk regSet reset unpair“.

    3. Hmmm, schon mal mit einem FHEM-Update versucht? Evtl. ist die eingesetzte Version bzw. die darin enthaltenen Pakete noch nicht aktuell genug…

    4. Doch alles Aktuell. Kann es daran liegen das es set WK.Waschmaschine_Betrieb off heißen muß und nicht set WK.WaschmaschineBetrieb off?

  35. Hi,

    super Blog hast du da. Deine Anleitungen sind echt spitze.

    Ich habe eben probiert die „HM-ES-PMSw1-Pl“ in Fhem anzulernen leider scheint sie nicht richtig zu erkannt zu werden. (im HM Konfi ist sie normal drin)
    fhem.cfg schaut dann so aus:

    define CUL_HM_ID_00AC_2B2BB4 CUL_HM 2B2BB4
    attr CUL_HM_ID_00AC_2B2BB4 .devInfo 3F0100
    attr CUL_HM_ID_00AC_2B2BB4 .stc 51
    attr CUL_HM_ID_00AC_2B2BB4 firmware 1.6
    attr CUL_HM_ID_00AC_2B2BB4 model unknown
    attr CUL_HM_ID_00AC_2B2BB4 room CUL_HM
    attr CUL_HM_ID_00AC_2B2BB4 serialNr LEQ0472587
    attr CUL_HM_ID_00AC_2B2BB4 subType
    define FileLog_CUL_HM_ID_00AC_2B2BB4 FileLog ./log/CUL_HM_ID_00AC_2B2BB4-%Y.log CUL_HM_ID_00AC_2B2BB4
    attr FileLog_CUL_HM_ID_00AC_2B2BB4 logtype text
    attr FileLog_CUL_HM_ID_00AC_2B2BB4 room CUL_HM

    ich habe sie schon mehrfach einem Werksreset unterzogen leider bleibt das Resultat immer das Selbe.. Evtl hast du einen Rat was ich falsch mache ..

    Gr√ľ√üe

  36. Hallo,

    ich habe erst k√ľrzlich fhem installiert.
    Ich versuche die Anleitung mit einer DECT 200 zu realisieren. Leider scheitere ich gerade noch an den Basics. Die DECT 200 wird ja nicht per CUL eingebunden, daher kennt ich gerade den Channel „Power“ nicht:

    #Hier wird der Channel umbenannt, welcher die Leistung in Watt verwaltet.
    rename CUL_HM_HM_ES_PMSw1_Pl_24A726_Pwr HR.Waschmaschine_Power
    attr HR.Waschmaschine_Power room Hauswirtschaftsraum

    Wie muss dieser Schritt bei einer DECT 200 realisiert werden?
    Das Skript greift ja im weiteren Verlauf immer wieder auf HR.Waschmaschine_Power zu.

    MfG und Danke
    Daniel

  37. Hallo,
    ich habe mich gestern noch einmal an die Umsetzung mit der AVM DECT 200 gemacht. Mit dem nachfolgenden Code, habe ich es zum Laufen gebracht.
    Vielleicht kann ihn jemand ja gebrauchen:

    copy FBDECT_16 HR.Waschmaschine
    attr HR.Waschmaschine room Hauswirtschaftsraum

    #Dummy HR.WaschmaschineWatt f√ľr die Anzeige des aktuellen Watt-Verbrauchs definieren
    define HR.WaschmaschineWatt dummy
    attr HR.WaschmaschineWatt room Hauswirtschaftsraum

    define HRWaschmaschineWattSet notify HR.Waschmaschine {my $power_w=ReadingsVal(„HR.Waschmaschine“,“power“,““);; my $power=substr($power_w, 0,length($power_w)-2);; fhem („set HR.WaschmaschineWatt $power“)}

    #Dummy HR.WaschmaschineBetrieb definieren
    define HR.WaschmaschineBetrieb dummy
    attr HR.WaschmaschineBetrieb event-on-change-reading state
    attr HR.WaschmaschineBetrieb room Hauswirtschaftsraum

    #Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
    define HRWaschmaschineBetriebAn notify HR.Waschmaschine:power.* {fhem („set HR.WaschmaschineBetrieb on;; setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}

    #Dummy HR.WaschmaschineHoherVerbrauch definieren
    define HR.WaschmaschineHoherVerbrauch dummy
    attr HR.WaschmaschineHoherVerbrauch event-on-change-reading state
    attr HR.WaschmaschineHoherVerbrauch room Hauswirtschaftsraum

    #Dummy HR.WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
    define HRWaschmaschineHoherVerbrauchAn notify HR.Waschmaschine:power.* {fhem („set HR.WaschmaschineHoherVerbrauch on;; setstate HRWaschmaschineAutoStandby defined“) if (ReadingsVal(„HR.Waschmaschine“,“power“,““) > 5 && Value(„HR.WaschmaschineBetrieb“) eq „on“)}

    #Dummy HR.WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
    define HRWaschmaschineHoherVerbrauchAus notify HR.Waschmaschine:power.* {fhem („set HR.WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„HR.Waschmaschine“,“power“,““) <= 5 && Value("HR.WaschmaschineBetrieb") eq "on")}

    #Wenn der Verbrauchswert f√ľr mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tats√§chlich abgeschlossen ist
    define HRWaschmaschineAutoStandby watchdog HR.WaschmaschineHoherVerbrauch:off 00:05:00 HR.WaschmaschineHoherVerbrauch:on set HR.WaschmaschineBetrieb standby
    attr HRWaschmaschineAutoStandby regexp1WontReactivate 1
    attr HRWaschmaschineAutoStandby room Hauswirtschaftsraum

    define Pushover1 Pushover Token User
    # Pushover-Notification bei abgeschlossenem Waschvorgang verschicken
    define TrocknerWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem ("set Pushover1 msg 'Waschmachine fertig!' 'Bitte leeren.'")}

  38. Guten Morgen!
    Da Fhem auf der fritzbox nicht mehr unterst√ľtzt wird, habe ich mir einen cubietruck geholt,
    Kann mir jemand ein Image daf√ľr empfehlen wo ich dann fhem installiere?

    Sollte doch alles mit dem cubietruck laufen oder ?
    Kann ich mein fhem auf der fritzbox auf dem cubietruck irgendwie √ľbernehmen?

    Gruß.
    Jonny

    1. Ich selbst hab mit dem Cubietruck noch keine Erfahrungen machen k√∂nnen. Unter http://docs.cubieboard.org/tutorials/a10-cubieboard_lubuntu_server_releases findest du aber schon mal Ubuntu-Images. Damit sollte schon mal alles funktionieren, was du machen willst. Die Portierung von FHEM sollte auch funktionieren. Du musst √ľber den FHEM-Konsolenbefehl „backup“ deine bisherigen Einstellungen sichern, die Backupdatei dann auf den Cubietruck schieben und ins das passende Verzeichnis entpacken. Bzw. Backup von FHEM gibt es unter http://www.fhemwiki.de/wiki/Backup noch weitere Infos. Hoffe damit kommst du weiter!
      Gr√ľ√üe
      Jörg

  39. Mittlerweile gibt es das Hilfsmodul DOIF was eine menge an Code erspart.
    Hier mein Zweizeiler:
    define DI_washer DOIF ([Steckdose_Pwr:power]>5) (set SteckdoseBetrieb on) DOELSEIF ([Steckdose_Pwr:power]<2) (set SteckdoseBetrieb standby)
    attr DI_washer wait 60:300

    Hier muss mindestens 1 Minute lang mehr als 5 Watt anliegen damit SteckdoseBetrieb angeht und mindestend 5 Minuten weniger als 2 Watt anliegen damit er wieder ausgeht.

    1. Könntest Du mal den ganzen Code posten und sagen welche Notifier und Watchdogs dadurch gelöscht werden? Das wäre sehr nett. Danke.

    2. das m√ľsste alles sein, zumindest funktioniert es bei mir ;-)

      ****
      #Pushover per DOIF – Waschen

      define WaMaBetrieb dummy
      attr WaMaBetrieb room Keller

      define WaMa_di DOIF ([HM_MessFunk_Pwr:power]>5) (set WaMaBetrieb on) DOELSEIF ([HM_MessFunk_Pwr:power]<4) (set WaMaBetrieb standby, {fhem ("set Pushover_name msg 'zu Hause' 'Keller\nWaschmaschine ist fertig' '' 0 ''")})

      attr WaMa_di room Keller
      attr WaMa_di wait 60:900

      ****

    3. PS:

      ja, das ist im Grunde der gesamte Code, die HM-Steckdose muss nat√ľrlich noch eingerichtet werden und FHEM l√§uft bei mir auf einer Fritzbox, deswegen ist die Pushover-Anweisung etwas k√ľrzer als oben gezeigt …

  40. Hallo,
    auch ich habe nach dieser Anleitung und etwas basteln, das geh√∂rt nat√ľrlich dazu,
    den WAF bei mir zuhause drastisch erhöht.
    Da meine Frau nun mal nicht immer in einem Raum ist, um die Sprachausgabe eines Funkgongs zu h√∂hren, der ja auch ein paar Euronen kostet, lasse ich mir auf meinem Android mit der zus√§tzlichen Applikation „Tasker“ bei eintreffen der entsprechenden Pushover-Nachricht den Text der Meldung laut vorlesen. Sogar im gesperrten Zustand des Handys, also wenn es gerade nicht benutzt wird.

    Sehr praktisch!

  41. Hallo, erst einmal HUT AB.
    Super bis ins Detail erkl√§rte Anleitungen. Vielen DANK daf√ľr….
    Ich habe oben gennantes Script in FHEM programmiert.
    Allerdings √§ndert sich der State nicht von on auf standby, oder anders herum…
    Momentan stehe ich total auf dem Schlauch…
    Hoffe mir kann einer helfen…

    #############WASCHMASCHINE##########################
    define Steckdose CUL_HM 251D17
    attr Steckdose IODev HMLAN1
    attr Steckdose actCycle 000:10
    attr Steckdose actStatus alive
    attr Steckdose autoReadReg 4_reqStatus
    attr Steckdose expert 2_full
    attr Steckdose firmware 1.4
    attr Steckdose model HM-ES-PMSw1-Pl
    attr Steckdose room CUL_HM
    attr Steckdose serialNr KEQ0971903
    attr Steckdose subType powerMeter
    attr Steckdose webCmd getConfig:clear msgEvents
    define FileLog_Steckdose FileLog ./log/Steckdose-%Y.log Steckdose
    attr FileLog_Steckdose logtype text
    attr FileLog_Steckdose room CUL_HM
    define HR.Waschmaschine CUL_HM 251D1701
    attr HR.Waschmaschine fm_type offbutton,onbutton,socket
    attr HR.Waschmaschine model HM-ES-PMSw1-Pl
    attr HR.Waschmaschine peerIDs 00000000,
    attr HR.Waschmaschine room Erdgeschoss
    define CUL_HM_HM_ES_PMSw1_Pl_251D17_Power CUL_HM 251D1702
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_Power model HM-ES-PMSw1-Pl
    define CUL_HM_HM_ES_PMSw1_Pl_251D17_SenPwr CUL_HM 251D1703
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_SenPwr model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_SenPwr peerIDs 00000000,
    define CUL_HM_HM_ES_PMSw1_Pl_251D17_SenI CUL_HM 251D1704
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_SenI model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_SenI peerIDs 00000000,
    define CUL_HM_HM_ES_PMSw1_Pl_251D17_SenU CUL_HM 251D1705
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_SenU model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_SenU peerIDs 00000000,
    define CUL_HM_HM_ES_PMSw1_Pl_251D17_SenF CUL_HM 251D1706
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_SenF model HM-ES-PMSw1-Pl
    attr CUL_HM_HM_ES_PMSw1_Pl_251D17_SenF peerIDs 00000000,

    #Dummy HR.WaschmaschineWatt f√ľr die Anzeige des aktuellen Watt-Verbrauchs definieren#

    define HR.WaschmaschineWatt dummy
    attr HR.WaschmaschineWatt room Erdgeschoss

    #Dummy HR.WaschmaschineWatt mit Werten versorgen#

    define HRWaschmaschineWattSet notify HR.Waschmaschine_Power {my $power =ReadingsVal(„HR.Waschmaschine_Power“,“power“,““);; fhem („set HR.WaschmaschineWatt $power“)}

    #Dummy HR.WaschmaschineBetrieb definieren#

    define HR.WaschmaschineBetrieb dummy
    attr HR.WaschmaschineBetrieb event-on-change-reading state
    attr HR.WaschmaschineBetrieb room Erdgeschoss

    #Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 15 Watt#

    define HRWaschmaschineBetriebAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb on;; setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) >= 15 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}

    #Dummy HR.WaschmaschineBetrieb ausschalten bei Verbrauch kleiner gleich 5 Watt#

    define HRWaschmaschineBetriebAus notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb standby“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) <= 5 && Value("HR.WaschmaschineBetrieb") eq "on")}

    Gruß Thomas

    1. Hi Thomas,
      ganz einfach, du hast deinen HM-Aktor „CUL_HM_HM_ES_PMSw1_Pl_251D17“ einfach noch nicht umbenannt…
      Gib mal in die FHEM-Konsole Folgendes ein, um die Umbenennung durchzuf√ľhren:
      rename CUL_HM_HM_ES_PMSw1_Pl_251D17_Power HR.Waschmaschine_Power
      Dann sollte es eigentlich funktionieren. Zum Schluss das Anklicken von „Save config“ nicht vergessen!

    2. PERFEKT.
      Da ist wieder das Beispiel mit dem Wald und den vielen Bäumen :-)

      Vielen lieben Dank…
      Nochmals: HUT AB f√ľr die ganzen Beispiele hier… TOP

  42. Hallo zusammen,

    ich habe das Script mit dem AVM DECT 200 eingebunden. Es funktioniert, jedoch erhalte ich im Log immer :

    2014.10.31 12:46:25 1: PERL WARNING: Argument „726.34 W“ isn’t numeric in numeric le (<=) at (eval 937) line 1.
    2014.10.31 12:46:25 3: eval: {fhem ("set HR.WaschmaschineHoherVerbrauch off") if (ReadingsVal("HR.Waschmaschine","power","") <= 50 && Value("HR.WaschmaschineBetrieb") eq "on")}

    Bin leider totaler Anfänger in FHEM, sehe zwar das er wohl ein nummerischen Wert erwartet, aber ein String kommt.

    Kann mir jemand helfen?

    Vielen Dank!

    Gruß Sebastian

  43. Hi
    ich wollte mich f√ľr diesen Beitrag recht herzlich bedanken. Habe es vorgestern in FHEM eingef√ľgt und es funktioniert perfekt.

    Vielen Dank
    Stefan

  44. Hi,
    vielen Dank f√ľr diese „Anleitung“.
    Ich w√ľrde die Funktion noch weiter ausbauen – bzw. ich w√ľrde gern die Werte loggen, die berechnet wurden. Sch√∂n w√§ren auch monatliche Werte √ľber den Gesamtverbrauch. Aber leider ist mir das noch nicht gelungen.

    Meine Angaben unter DEF des Logs sehen so aus:
    ./log/WaschmaschineBetrieb-%Y.log WaschmaschineBetrieb:.*|WaschmaschineBetrieb:EUR_letzte_Waschung:.*|WaschmaschineBetrieb:kWh_letzte_Waschung:.*|WaschmaschineBetrieb:standby.*|WaschmaschineBetrieb:state:.*

    Im Log stehen nur die ON-OFF-Static Angaben.

    1. Puh, dazu bräuchte man zumindest Teile des restlichen Codes, um hier weiterzuhelfen. Aggregierte Werte, um bspw. monatliche Kosten zu ermitteln, habe ich bereits erfolgreich getestet. Hier muss ich aber noch etwas am Code feilen, ein entsprechender Post folgt in absehbarer Zeit.

  45. Hallo Zusammen,

    ich brauche mal bitte eure Hilfe. Bin gerade dabei den beschrieben Ablauf nach zu stellen. Aber der Dummy ‚ÄěHR.WaschmaschineHoherVerbrauch‚Äú liefet nur „???‚Äú zur√ľck.
    der Watchdog ‚ÄěHRWaschmaschineAutoStandby‚Äú hat den Status ‚Äědefined‚Äú.
    Das FHEM-Log meldet :
    2014.11.25 22:36:31 3: HRWaschmaschineHoherVerbrauchAn return value: Can’t find string terminator ‚“‚ anywhere before EOF at (eval 339) line 1.

    2014.11.25 22:36:31 3: HRWaschmaschineHoherVerbrauchAus return value: Can’t find string terminator ‚“‚ anywhere before EOF at (eval 340) line 1.

    der Code ist:
    #Dummy HR.WaschmaschineHoherVerbrauch definieren
    define HR.WaschmaschineHoherVerbrauch dummy
    attr HR.WaschmaschineHoherVerbrauch event-on-change-reading state
    attr HR.WaschmaschineHoherVerbrauch room Waschkeller

    define HRWaschmaschineHoherVerbrauchAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch on;; setstate HRWaschmaschineAutoStandby defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) > 5 && Value(„HR.WaschmaschineBetrieb“) eq „on‚Äú)}

    define HRWaschmaschineHoherVerbrauchAus notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) <= 5 && Value("HR.WaschmaschineBetrieb") eq "on‚Äú)}

    define HRWaschmaschineAutoStandby watchdog HR.WaschmaschineHoherVerbrauch:off 00:05 HR.WaschmaschineHoherVerbrauch:on set HR.WaschmaschineBetrieb standby
    attr HRWaschmaschineAutoStandby regexp1WontReactivate 1
    attr HRWaschmaschineAutoStandby room Waschkeller

    Was √ľbersehe ich hier?

    Danke

    1. Altbekanntes Problem… Schau dir mal die Anf√ľhrungszeichen bei „on‚Äú an. Jeweils das letzte Anf√ľhrungszeichen ist falsch formatiert, so dass es FHEM nicht korrekt interpretieren kann. Einfach √§ndern in „on“ und schon sollte es klappen.
      Gr√ľ√üe und viel Erfolg
      Jörg

  46. Hi Jörg,

    netter blog (-;

    bräuchte mal hilfe

    meine fhem.cfg
    -code-
    define TrocknerWatt dummy
    attr TrocknerWatt room Waschkeller

    #Dummy TrocknerWatt mit Werten versorgen
    define TrocknerWattSet notify Trockner_Pwr {my $power =ReadingsVal(„Trockner_Pwr“,“power“,““);; fhem („set TrocknerWatt $power“)}

    #Dummy TrocknerBetrieb definieren
    define TrocknerBetrieb dummy
    attr TrocknerBetrieb event-on-change-reading state
    attr TrocknerBetrieb room Waschkeller

    #Dummy TrocknerBetrieb einschalten bei Verbrauch größer 30 Watt
    define TrocknerBetriebAn notify Trockner_Pwr:power.* {fhem („set TrocknerBetrieb on;; setstate TrocknerAutoOff defined“) if (ReadingsVal(„Trockner_Pwr“,“power“,““) >= 30 && Value(„TrocknerBetrieb“) ne „on“)}

    #Dummy TrocknerBetrieb ausschalten bei Verbrauch kleiner gleich 5 Watt
    define TrocknerBetriebAus notify Trockner_Pwr:power.* {fhem („set TrocknerBetrieb standby“) if (ReadingsVal(„Trockner_Pwr“,“power“,““) <= 5 && Value("TrocknerBetrieb") eq "on")}

    -code-

    bekomme im log folgenden Fehler:
    2014.12.09 15:57:11 3: set TrocknerBetrieb on; setstate TrocknerAutoOff defined : Please define TrocknerAutoOff first
    2014.12.09 15:57:11 3: TrocknerBetriebAn return value: Please define TrocknerAutoOff first
    2014.12.09 15:57:20 3: Trockner_Pushover return value: -1
    2014.12.09 15:57:55 3: set TrocknerBetrieb on; setstate TrocknerAutoOff defined : Please define TrocknerAutoOff first
    2014.12.09 15:57:55 3: TrocknerBetriebAn return value: Please define TrocknerAutoOff first
    2014.12.09 16:06:42 3: Trockner_Pushover return value: -1
    2014.12.09 16:07:16 3: set TrocknerBetrieb on; setstate TrocknerAutoOff defined : Please define TrocknerAutoOff first
    2014.12.09 16:07:16 3: TrocknerBetriebAn return value: Please define TrocknerAutoOff first
    2014.12.09 16:08:01 3: Trockner_Pushover return value: -1
    2014.12.09 16:09:33 3: set TrocknerBetrieb on; setstate TrocknerAutoOff defined : Please define TrocknerAutoOff first
    2014.12.09 16:09:33 3: TrocknerBetriebAn return value: Please define TrocknerAutoOff first
    2014.12.09 16:10:00 3: Trockner_Pushover return value: -1

    gruß m

    1. Hi,
      zu deiner Fehlermeldung:
      „Please define TrocknerAutoOff first“ -> In deinem Code kann ich nicht erkennen, dass ein „define TrocknerAutoOff …“ vorhanden ist. Deshalb auch die Fehlermeldung.

  47. bin etwas weiter
    hab aber noch einen Fehler

    -Log-
    2014.12.10 08:15:25 3: Trockner_Pushover return value: -1
    2014.12.10 08:30:24 3: Watchdog TrocknerAutoOff triggered
    2014.12.10 08:30:24 3: Unknown argument off, choose one of clear:readings,trigger,register,rssi,msgEvents,all fwUpdate getConfig getRegRaw raw regBulk regSet reset unpair

    -Log-

    gruß m

    1. Hi,
      worauf sich „2014.12.10 08:30:24 3: Unknown argument off, choose one of clear:readings,trigger,register,rssi,msgEvents,all fwUpdate getConfig getRegRaw raw regBulk regSet reset unpair“ bezieht, kann ich leider nicht nachvollziehen… Der Rest ist ja normal.

  48. Hallo Jörg!

    Nachdem lange lange mein fhem √ľber die FB7390 lief, und ich dank eurer anleitung auch noch die waschmaschine dazu gebracht habe sich zu melden wenn sie fertig ist,
    habe ich dann den umstieg von der seitens fritzbox avm nicht mehr unterst√ľtzten fhem installation, zu der 7490 getan und f√ľr fhem einen cubietruck gekauft.

    Ab da passiert leider nicht mehr viel,
    ein netter user hat mir mein image f√ľr den cubietruck fertig gemacht, incl. meines backup!

    Das lief dann auch wie vorher auf der Fritzbox.

    Auch Waschmaschine fertig ging.

    Nun geht ohne das ich was gemacht habe kein fhem gerät mehr
    im webinterface kam IO error bzw missing ack

    √ľber meine app fhem remote kam
    Fehler beim auswerten angeblich kein g√ľltiger Json String,bitte kontr.sie die server einstellungen und stellen sie sicher das das JsonList Plugin funktioniert.

    Die Frage habe ich auch schon im Fhem board gestellt, aber das ist ein sehr unfreundliches Forum, die akzeptieren nur Profis…..

    Gibt es noch ein nette fhem forum ?

    Gruß

    Und schöne Feiertage

    Jonny

  49. Hallo Jörg!
    das ist genau mein Anwendungsfall. Auf das Abschalten nach Fertigmeldung könnte ich auch verzichten, es geht mir primär um die Info, die ich einerseits per Mail andererseits per Gong absetzen möchte.
    Wenn ich mir die IFTT-M√∂glichkeiten anschaue, stelle ich fest, dass der o.g. Mechanismus auch dar√ľber realisierbar sein m√ľsste. Gibt es einen Grund, warum Du Dich f√ľr die – wie Du selbst sagst – „etwas aufw√§ndigere“ Variante entschieden hast? √úbersehe ich etwas?

    Viele Gr√ľ√üe!

  50. Ganz toll! Vielen Dank f√ľr das super Blog und die genialen Tutorials ;-)
    macht immer wieder Freude beim Nachbasteln und dem obligatorischen Einkaufen diverser Gimmicks …

    Eine Anmerkung noch zur Abschaltung der Steckdose/Waschmaschine: Bei modernen Ger√§ten mit Aqua-Stop sollte auf die Abschaltung besser verzichtet werden … der braucht Strom zum funktionieren (hier ca. 0,4W im Tiefschlaf).

    Evtl. kann man das auch √ľber einen direkten „Aus/An-Schaltvrorgang“ realisieren, wenn einem der normale Standby zuviel zieht.

    1. Aqua Stop ist ein Magnetventil am Eingang/Anfang des Wasserschlauch. Dieser wird auf Durchlass gesetzt bzw Strom und Spannung angelegt wenn die Maschine eingeschaltet wird. Wenn also OFF von FHEM gesetzt wird ist das kein Problem da das Magnetventil dann schliest wie bei Auslösen des Aqua Stop oder ein normales auschalten. Problematisch wird es bei Systemen mit Mororbetrieben Kugelhahn den gibt es aber nur bei Großanlagen mit Zentraller absperrung https://de.wikipedia.org/wiki/Aquastop

  51. Hallo ich versuche jetzt schon l√§nger den Trockner / Waschmaschinen Script zum laufen zu bringen, leider erhalte ich aber immerwieder Fehler im Log File und auch die Notyfier f√ľr HoherVerbrauch wollen nicht funktionieren.

    Im Logfile steht jetzt immer:
    2015.01.20 21:26:09 1: PERL WARNING: Argument „0.78 W“ isn’t numeric in numeric ge (>=) at (eval 109375) line 2.
    2015.01.20 21:26:09 3: eval: {
    if (ReadingsVal(„HR.Waschmaschine“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“) {
    fhem („set HR.WaschmaschineBetrieb on“);
    fhem („setstate UGWaschmaschineAutoOff defined“);

    Ich habe folgendes im Config File:

    #—————————————————————————————————–
    #Dummy HR.WaschmaschineWatt f√ľr die Anzeige des aktuellen Watt-Verbrauchs definieren

    define HR.WaschmaschineWatt dummy
    attr HR.WaschmaschineWatt room Keller

    define NTFY_UGWaschmaschineWattSet notify HR.Waschmaschine {\
    my $power_w=ReadingsVal(„HR.Waschmaschine“,“power“,““);;\
    my $power=substr($power_w, 0,length($power_w)-2);;\
    fhem („set HR.WaschmaschineWatt $power“);;\
    }

    #Dummy HR.WaschmaschineBetrieb definieren
    define HR.WaschmaschineBetrieb dummy
    attr HR.WaschmaschineBetrieb event-on-change-reading state
    attr HR.WaschmaschineBetrieb room Keller

    #Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
    define NTFY_UGWaschmaschineBetriebAn notify HR.Waschmaschine:power.* {\
    if (ReadingsVal(„HR.Waschmaschine“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“) {\
    fhem („set HR.WaschmaschineBetrieb on“);;\
    fhem („setstate UGWaschmaschineAutoOff defined“);;\
    }\
    }

    #Dummy HR.WaschmaschineHoherVerbrauch definieren
    define HR.WaschmaschineHoherVerbrauch dummy
    attr HR.WaschmaschineHoherVerbrauch event-on-change-reading state
    attr HR.WaschmaschineHoherVerbrauch room Keller

    #Dummy HR.WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 2 Watt bei laufendem Betrieb
    define NTFY_UGWaschmaschineHoherVerbrauchAn notify HR.Waschmaschine:power.* {\
    if (ReadingsVal(„HR.Waschmaschine“,“power“,““) > 2 && Value(„HR.WaschmaschineBetrieb“) eq „on“) {\
    fhem („set HR.WaschmaschineHoherVerbrauch on“);;\
    fhem („setstate UGWaschmaschineAutoStandby defined“);;\
    }\
    }

    #Dummy HR.WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 2 Watt bei laufendem Betrieb
    define NTFY_UGWaschmaschineHoherVerbrauchAus notify HR.Waschmaschine:power.* {\
    if (ReadingsVal(„HR.Waschmaschine“,“power“,““) <= 2 && Value("HR.WaschmaschineBetrieb") eq "on") {\
    fhem ("set HR.WaschmaschineHoherVerbrauch off");;\
    }\
    }

    #Wenn der Verbrauchswert f√ľr mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tats√§chlich abgeschlossen ist
    define UGWaschmaschineAutoStandby watchdog HR.WaschmaschineHoherVerbrauch:off 00:00:05 HR.WaschmaschineHoherVerbrauch:on set HR.WaschmaschineBetrieb standby
    attr UGWaschmaschineAutoStandby regexp1WontReactivate 1
    attr UGWaschmaschineAutoStandby room Keller

    # Pushover-Notification bei abgeschlossenem Waschvorgang verschicken
    define WaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {\
    {DebianMail('mail1@@gmx.de','Waschmaschine','Die Waschmaschine ist fertig!')};; {DebianMail('mail2@@gmx.de','Waschmaschine','Die Waschmaschine ist fertig!')};;\
    }

    1. Hi Christian,
      ich denke ich habe deinen Fehler gefunden.
      Dein Watt-Wert „power“ von deiner „HR.Waschmaschine“ wird mit “ W“ am Ende ausgegeben. Die Zeile mit dem Befehl

      define NTFY_UGWaschmaschineWattSet notify HR.Waschmaschine {\
      my $power_w=ReadingsVal(„HR.Waschmaschine“,“power“,““);;\
      my $power=substr($power_w, 0,length($power_w)-2);;\
      fhem („set HR.WaschmaschineWatt $power“);;\
      }

      bewirkt dabei, dass die letzten beiden Stellen, also “ W“ des Readings abgeschnitten werden und in einem neuen Dummy namens „HR.WaschmaschineWatt“ gespeichert werden, so dass der Watt-Wert nun ausschlie√ülich eine Zahl ist und nachfolgend in if-Abfragen genutzt werden kann. Diesen Wert bzw. diesen Dummy musst du dann nat√ľrlich auch im weiteren Verlauf verwenden, damit es klappt.

      Also anstatt:

      #Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
      define NTFY_UGWaschmaschineBetriebAn notify HR.Waschmaschine:power.* {\
      if (ReadingsVal(„HR.Waschmaschine“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“) {\
      fhem („set HR.WaschmaschineBetrieb on“);;\
      fhem („setstate UGWaschmaschineAutoOff defined“);;\
      }\
      }

      muss es dann lauten:

      #Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
      define NTFY_UGWaschmaschineBetriebAn notify HR.WaschmaschineWatt {\
      if (ReadingsVal(„HR.WaschmaschineWatt“,“state“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“) {\
      fhem („set HR.WaschmaschineBetrieb on“);;\
      fhem („setstate UGWaschmaschineAutoOff defined“);;\
      }\
      }

      Die beiden nachfolgenden notify-Befehle m√ľssen dann analog angepasst werden. Dann sollte es funktionieren.

      Also insgesamt alle Einträge mit
      HR.Waschmaschine:power.*
      durch
      HR.WaschmaschineWatt
      tauschen und dann noch
      (ReadingsVal(„HR.Waschmaschine“,“power“,““)
      durch
      (ReadingsVal(„HR.WaschmaschineWatt“,“state“,““)

      Gr√ľ√üe und viel Erfolg
      Jörg

  52. Nochmal zum Hinweis Aquastop und Maschine nicht vom Netz nehmen. Dazu ist grunds√§tzlich erst zu Pr√ľfen ob der Wasserstopp nicht auch gleich das Einlassventil ist, was bei den Anschl√ľssen mit dem dicken Kasten am Wasseranschluss eigentlich der Fall ist. Bei diesen Ger√§ten scheint es so zu sein, dass sie nur Wasser in die Maschine lassen, wenn eine Spannung angelegt wird und zudem die Elektronik keine Undichtigkeit im Doppelschlauch messen kann. Ich denke ein einfaches messen einer ausgeschalteten Maschine kl√§rt √ľber die verwendete Technik auf, wenn eine Ausgeschaltete Maschine 0W verbraucht, dann kann auch keine elektrische Kraft aufgewendet werden um das Ventil geschlossen zu halten. Ich bin kein Haushaltsger√§tetechniker, aber die Maschinen die ich habe verhalten sich so.

    1. gibt es zu diesem Kommentar weitere Meinungen oder sogar Fakten?
      Ich w√ľrde das gerne hier umsetzen, habe aber im Waschraum tats√§chlich keinen Ablauf und muss daher sicher gehen, dass der Wasserstop auch bei ausgeschaltetem Strom noch seinen Dienst tut.

    2. Hi,
      da bin ich der gleichen Meinung. Mit Fakten kann ich es nicht belegen, weil ich mich nicht so tief mit Waschmaschinen auskenne. Ich weiß, wie ich sie anbekomme, habe aber manchmal Probleme, die richtige Wäsche dem richtigen Programm zuzuordnen.
      Wenn ich meine Waschmaschine vom Strom nehme, wenn Wasser zuläuft, stoppt die Wasserzufuhr sofort.
      Viele Gr√ľ√üe

  53. Moin Jörg,

    erst einmal danke f√ľr den und einige andere Artikel zum Thema FHEM. Du hast mir das Thema n√§her gebracht mich auch die dunkle Seite der Heimautomatiserung gezogen :)

    Nun zu meiner Frage….
    Ich m√∂chte f√ľr Aufzeichnungszwecke nur die Leistungsaufnahme der Steckdose aufzeichen und verzweifle langsam daran

    Der Code

    define TV_Leistung_Watt dummy
    define SetTVLeistung notify SD_WOHN_TV_Wnow {my $power =ReadingsVal(„SD_WOHN_TV_Wnow“,“power“,““);; fhem („set TV_Leistung_Watt $power“)}

    LOG-File

    2015.02.05 21:01:29 3: set TV_Leistung_Watt : no set value specified
    2015.02.05 21:01:29 3: SetTVLeistung return value: no set value specified

    Ich habe es auch schon mit einer 1:1 Kopie von deinem Code versucht, Name der Steckdose nat√ľrlich angepasst….selbes Ergebnis
    Ich k√∂nnte etwas Hilfe gebrauchen…

    Danke

    Flo

    1. Hi Florian,
      anscheinend hat dein Device „SD_WOHN_TV_Wnow“ kein Reading mit der Bezeichnung „power“, oder das Reading hat keinen Wert („no set value specified“). Schau dir doch einfach dessen Readings mal in den Details n√§her an. Vielleicht hei√üt das zu nutzende Reading bei dir einfach anders. Welches Ger√§t nutzt du denn genau?

      Gr√ľ√üe und viel Erfolg bei der Fehlersuche!
      Jörg

    2. Moin Jörg,

      erstmal danke f√ľr die Antwort.
      Ich nutze die selbe Steckdose wie du. Daher war ich davon ausgegangen das ich dadurch nichts anpassen muss.
      Nach den Readings muss ich mal gucken sobald ich wieder daheim bin.
      Aber wenn ich in FHEM die Steckdose anw√§hle kann ich die ganzen Messwerte sehen aber wo sollte ich die Bezeichnung „power“ finden?

      Flo

    3. Moin,

      so das Problem lag wie erwartet zwischen den Ohren.
      Es muss bei mir so aussehen:
      define SetTVLeistung notify SD_WOHN_TV_Wnow {my $power =ReadingsVal(„SD_WOHN_TV_Wnow“,“state“,““);; fhem („set TV_Leistung_Watt $power“)}
      Die Bezeichung „power“ gibt es bei mir nicht.
      Ist nat√ľrlich interessant dass die Bezeichnung bei der selben Steckdose unterschiedlich ist (oder wurde da noch was umbenannt?!).

      Danke nochmal f√ľr die Hilfe.

      Flo

    1. Ah, gerade gesehen, gibt es ja bereits hier in den Kommentaren :D

      Danke daf√ľr, hab das mal √ľbernommen und ein wenig angepasst, scheint auch zu funktionieren.

  54. Sehr Coole Sache. Habe bisher nur bis zum WattDummy eingerichtet um ein paar mal zu beobachten wie viel die Maschine in div Programmen braucht und vor allem wenn sie in den Standby geht.
    Was mich nun etwas stört ist das das LOG File des Dummys voll geschrieben wird.
    Da kommen zur selben Zeit 5-7 Werte.

    define PM_WaschmaschineWatt dummy
    attr PM_WaschmaschineWatt event-on-change-reading state
    attr PM_WaschmaschineWatt room Waschmaschine

    event-on-chance-reading ist gesetzt.

    Eine idee?

  55. Eine sehr schöne Umsetzung. Läuft in meinem Haushalt nun schon seit ein paar Monaten zuverlässig. In Ergänzung zur Lösung mit Pushover habe ich eine Benachrichtigung mit Anzeige und blinkender Taste auf meinem Snom 370 IP-Telefon realisiert.

  56. Hallo zusammen
    so langsam verzweifel ich an meinem Versand. Ich habe jetzt bereits mehrfach alles penibel aus deinem Blog eingef√ľgt aber irgendwie klappt es nur teilweise.

    HR.Waschmaschine_Power liefert einen immer gr√∂√üer werdenden Wert zur√ľck. Das habe ich zwar weiter oben beits gefunden wei√ü aber nicht wie ich das l√∂sen kann.

    bei den beiden anderen Dummys kommt
    HR.WaschmaschineHoherVerbrauch ???
    HR.WaschmaschineWatt ???

    zur Anzeige.

    in der Logdatei kommt im Sekundentakt:

    2015.06.19 13:56:32 1: PERL WARNING: Bareword found where operator expected at (eval 10944) line 1, near „) fhem“
    2015.06.19 13:56:32 3: eval: {my $power =ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) fhem („set HR.WaschmaschineWatt $power“)}
    2015.06.19 13:56:32 3: HRWaschmaschineWattSet return value: syntax error at (eval 10944) line 1, near „) fhem “

    2015.06.19 13:56:32 1: PERL WARNING: Bareword found where operator expected at (eval 10945) line 1, near „) fhem“
    2015.06.19 13:56:32 3: eval: {my $power =ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) fhem („set HR.WaschmaschineWatt $power“)}
    2015.06.19 13:56:32 3: HRWaschmaschineWattSet return value: syntax error at (eval 10945) line 1, near „) fhem “

    komischerweise habe ich die Syntax exakt aus dem Blog genommen.

    Ich hoffe ihr könnt mir helfen.

    Gruß Sebastian

    1. Hi Sebastian,
      keine Sorge, das bekommst du sicherlich hin!

      Das h√∂rt sich schwer nach einem Syntaxproblem an. Hast du einen Editor genutzt oder den Code 1:1 in die fhem.cfg √ľbernommen? Gerade bei den Anf√ľhrungszeichen kann es zu Formatierungsproblemen kommen. Hier am besten noch einmal alles genau pr√ľfen. Es kann auch Sinn machen alle potenziell betroffnen Codezeilen kurzerhand mit einer f√ľhrenden Raute am Anfang der Codezeile auszukommentieren und dann Schritt f√ľr Schritt wieder zu aktivieren und parallel das Log anzusehen, um den Fehler besser eingrenzen zu k√∂nnen.

      Insgesamt kann ich nat√ľrlich nicht garantieren, dass die im Blogpost angegebene Inhalte 100%ig fehlerfrei sind, da ich und Leser den Code aber auch selbst nutzen, sollte es schon funktionieren. Sofern du dennoch einen Fehler finden solltest, w√ľrde ich mich freuen, wenn du dich nochmal meldest.

      Hoffe das hilft dir erstmal weiter.

      Gr√ľ√üe und viel Erfolg
      Jörg

  57. Schon mal Danke f√ľr die schnelle Antwort.

    Ich poste den Code mal hier da ich ja auch gerne von den Fehlern und Lösungen der anderen profitiere.

    define HM_38B7A1 CUL_HM 38B7A1
    attr HM_38B7A1 IODev HMLAN1
    attr HM_38B7A1 actCycle 000:10
    attr HM_38B7A1 actStatus alive
    attr HM_38B7A1 autoReadReg 4_reqStatus
    attr HM_38B7A1 expert 2_full
    attr HM_38B7A1 firmware 1.6
    attr HM_38B7A1 model HM-ES-PMSw1-Pl
    attr HM_38B7A1 room CUL_HM
    attr HM_38B7A1 serialNr MEQ0170451
    attr HM_38B7A1 subType powerMeter
    attr HM_38B7A1 webCmd getConfig:clear msgEvents
    define FileLog_HM_38B7A1 FileLog ./log/HM_38B7A1-%Y.log HM_38B7A1
    attr FileLog_HM_38B7A1 logtype text
    attr FileLog_HM_38B7A1 room CUL_HM
    define HR.Waschmaschine CUL_HM 38B7A101
    attr HR.Waschmaschine model HM-ES-PMSw1-Pl
    attr HR.Waschmaschine peerIDs 00000000,
    attr HR.Waschmaschine room Hauswirtschaftsraum
    define HR.Waschmaschine_Power CUL_HM 38B7A102
    attr HR.Waschmaschine_Power model HM-ES-PMSw1-Pl
    attr HR.Waschmaschine_Power room Hauswirtschaftsraum
    define HM_38B7A1_SenPwr CUL_HM 38B7A103
    attr HM_38B7A1_SenPwr model HM-ES-PMSw1-Pl
    attr HM_38B7A1_SenPwr peerIDs 00000000,
    define HM_38B7A1_SenI CUL_HM 38B7A104
    attr HM_38B7A1_SenI model HM-ES-PMSw1-Pl
    attr HM_38B7A1_SenI peerIDs 00000000,
    define HM_38B7A1_SenU CUL_HM 38B7A105
    attr HM_38B7A1_SenU model HM-ES-PMSw1-Pl
    attr HM_38B7A1_SenU peerIDs 00000000,
    define HM_38B7A1_SenF CUL_HM 38B7A106
    attr HM_38B7A1_SenF model HM-ES-PMSw1-Pl
    attr HM_38B7A1_SenF peerIDs 00000000,
    define HR.WaschmaschineWatt dummy
    attr HR.WaschmaschineWatt room Hauswirtschaftsraum
    define HR.WaschmaschineBetrieb dummy
    attr HR.WaschmaschineBetrieb event-on-change-reading state
    attr HR.WaschmaschineBetrieb room Hauswirtschaftsraum
    define HRWaschmaschineBetriebAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb on setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}
    define HR.WaschmaschineHoherVerbrauch dummy
    attr HR.WaschmaschineHoherVerbrauch event-on-change-reading state
    attr HR.WaschmaschineHoherVerbrauch room Hauswirtschaftsraum
    define HRWaschmaschineHoherVerbrauchAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch on setstate HRWaschmaschineAutoStandby defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) > 5 && Value(„HR.WaschmaschineBetrieb“) eq „on“)}
    define HRWaschmaschineHoherVerbrauchAus notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) <= 5 && Value("HR.WaschmaschineBetrieb") eq "on")}
    define HRWaschmaschineAutoStandby watchdog HR.WaschmaschineHoherVerbrauch:off 00:05 HR.WaschmaschineHoherVerbrauch:on set HR.WaschmaschineBetrieb standby
    attr HRWaschmaschineAutoStandby regexp1WontReactivate 1
    attr HRWaschmaschineAutoStandby room Hauswirtschaftsraum
    define HRWaschmaschineWattSet notify HR.Waschmaschine_Power {my $power =ReadingsVal("HR.Waschmaschine_Power","power","") fhem ("set HR.WaschmaschineWatt $power")}

    Vielleicht mache ich auch einfach einen grundsätzlichen Fehler da es mein erster Versuch ist mit Fhem um meiner Frau das waschen der ganzen Babykleidung zu erleichtern.

    Beim ersten mal habe ich alles von Hand aus deinem Blog abgeschrieben und ganz oben Zeile f√ľr Zeile in das Eingabefenster bei Fhem eingegeben. Jeweils mit Enter best√§tigt und gespeichert. In den letzteren Versuchen habe ich nachdem ich alles gel√∂scht habe per Copy&Paste mit dem gleichen Fenster gearbeitet.

    Gruß Sebastian

  58. Hallo Sebastian, auf den ersten Blick sieht es so aus, als ob die Semikolons vor „fhem“ fehlen w√ľrden. Also zwischen ReadingsVal(…,…,…) und fhem(…

    Ich habe es jetzt nur auf dem Handy, da ist die Schrift ziemlich klein :-)

    Möchtest du eine Benachrichtigung, wenn die Waschmaschine fertig ist? Das habe ich mittlerweile mit einem DOIF gemacht. Beispiele wurden glaube ich schon in den Kommentaren gezeigt.

    Wegen dem „der Wert wird immer gr√∂√üer“ habe ich die Vermutung, dass du den falschen Channel abfragst. Der Sensor liefert mehrere Werte. Einer davon wird immer gr√∂√üer, das ist glaube ich die Summe. Ein anderes Reading gibt den momentanen Stromverbrauch an.

    Aus dem Kopf heraus w√ľrde ich sagen, ich habe die ganze Benachrichtigung mit nur einer DOIF-Anweisung gemacht – ohne Dummy-Definitionen.

    Hilft dir das weiter?

    Viele Gr√ľ√üe
    Bernd

  59. ich habe nochmal in den Code geschaut. Da ist kein Semikolon vorhanden auch im Blog steht keiner. Leider bekomme ich es auch nicht eingef√ľgt. Sobald ich den define HRWaschmaschineWattSet notify HR.Waschmaschine_Power {my $power =ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) fhem („set HR.WaschmaschineWatt $power“)} mit Semikolon versuche einzuf√ľgen ist es nicht m√∂glich den Befehl √ľberhaupt zu speichern.

    1. So Code habe ich geändert
      define HRWaschmaschineWattSet notify HR.Waschmaschine_Power {my $power =ReadingsVal(„HR.Waschmaschine_Power“,“power“,““);; fhem („set HR.WaschmaschineWatt $power“)}

      die Semikolons sind drin

      jetzt kommt folgender Fehler
      2015.06.19 21:28:18 3: set HR.WaschmaschineWatt : no set value specified
      2015.06.19 21:28:18 3: HRWaschmaschineWattSet return value: no set value specified
      2015.06.19 21:30:52 3: set HR.WaschmaschineWatt : no set value specified
      2015.06.19 21:30:52 3: HRWaschmaschineWattSet return value: no set value specified

      Den Fehler mit den steigenden Werten habe ich behoben in dem ich _Pwr gegen _SenPwr getauscht habe. Ich hoffe das war richtig

    2. Sieht so aus, als w√§re $power leer. Das w√ľrde die Fehlermeldungen mit „no set value specified“ erkl√§ren.

      Was kommt, wenn du auf deiner Fhem-Weboberfläche in die Eingabezeile ganz oben
      { ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) }
      eintr√§gst und Enter dr√ľckst? Bei mir wird z. B. folgendes angezeigt:
      156.95

    3. Morgen
      habe den Befehl nochmal gel√∂scht und neu angelegt. Jetzt wird ein wert zur√ľckgegeben der auch plausibel ist. Das einzige wo noch ??? angezeigt wird ist HR.WaschmaschineHoherVerbrauch.

    4. Vielleicht könnt ihr mir nochmal helfen.

      Der Dummy HR.WaschmaschineBetrieb reagiert auf das Einschalten und geht auf Betrieb. Leider erkennt er das Ende des Waschvorganges nicht, h√§ngt das mit dem Dummy WaschmaschineHoherVerbrauch zusammen dieser liefert nur ??? zur√ľck.

      Anbei der Code
      define HR.WaschmaschineWatt dummy
      attr HR.WaschmaschineWatt room Hauswirtschaftsraum
      define HRWaschmaschineWattSet notify HR.Waschmaschine_Power {my $power =ReadingsVal(„HR.Waschmaschine_Power“,“power“,““);; fhem („set HR.WaschmaschineWatt $power“)}
      define HRWaschmaschineBetriebAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb on setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) >= 10 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}
      attr HRWaschmaschineBetriebAn room Hauswirtschaftsraum
      define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {system („curl -s -F ‚token=a3JwMmuVpnzSijiYHRNLMSGsrwCSRy‘ -F ‚user=ucC74GBhzHYvkx3SszufmWiYWNAZbt‘ -F ‚message=HauswirtschaftsraumnWaschvorgang abgeschlossen‘ https://api.pushover.net/1/messages.json„)}
      define HR.WaschmaschineHoherVerbrauch dummy
      attr HR.WaschmaschineHoherVerbrauch event-on-change-reading state
      attr HR.WaschmaschineHoherVerbrauch room Hauswirtschaftsraum
      define HRWaschmaschineHoherVerbrauchAus notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) 5 && Value(„HR.WaschmaschineBetrieb“) eq „on“)}

  60. In der letzten Zeile sehe ich nur „…) 5 && Value(…“.

    Da fehlt der Vergleichsoperator: ein Kleiner-Zeichen (<) oder ein Kleiner-Gleich-Zeichen (<=).

  61. Ok, dann fehlt es nur hier im Kommentar.

    In der Definition von HRWaschmaschineBetriebAn m√ľssten auch Semikolons drin sein.

    Hier:
    fhem („set HR.WaschmaschineHoherVerbrauch on ; setstate HRWaschmaschineAutoStandby defined“) if …

    Ich bin mir nicht sicher, ob eines reicht oder das auch mit einem zweiten maskiert werden muss.

    1. Danke f√ľr den super Tip.
      Die L√∂sung brachte das setzen von einigen Semikolons. Auch in einigen anderen Befehlen habe ich welche eingef√ľgt und es l√§uft. Ich denke das ist gerade f√ľr den Rest der Copy&Paste Fraktion interessant.

  62. Hallo,

    vielen Dank f√ľr die tolle Anleitung, eine Frage habe ich aber noch.
    Im Block
    #HR.Waschmaschine 15 Minuten nach dem letzten Waschgang vom Strom trennen
    define HRWaschmaschineAutoOff watchdog HR.WaschmaschineBetrieb:standby 00:15 HR.WaschmaschineBetrieb:on set HR.Waschmaschine off set HR.WaschmaschineBetrieb off
    attr HRWaschmaschineAutoOff regexp1WontReactivate 1
    attr HRWaschmaschineAutoOff room Hauswirtschaftsraum

    klappt bei mir nur der erste Befehl „set HR.Waschmaschine off“.
    „set HR.WaschmaschineBetrieb off“ hingegen wird nicht durchgef√ľhrt.
    Je nachdem welchen Befehl ich an erster Stelle schreibe, wird immer nur dieser ausgef√ľhrt. Wurde da ein Zeichen vergessen, so da√ü der zweite Befehl nicht ignoriert wird?
    Ich hoffe es kann mir jemand helfen.

    Gruß
    Stephan

  63. Hallo Stefan bei mir sieht der Block so aus mit jeder Menge Semiklons drin

    define HRWaschmaschineAutoOff watchdog HR.WaschmaschineBetrieb:standby 00:15 HR.WaschmaschineBetrieb:on;; set HR.Waschmaschine off;; set HR.WaschmaschineBetrieb off

    Falls es immer noch nicht klappt gucke ich zuhause nach der Arbeit nochmal genau drauf. Gruß Sebastian

  64. Hallo Sebastian,

    Vielen Dank, das hat geklappt.
    Ich habe in der Zwischenzeit auch noch eine andere Lösung durch mehrmaliges Probieren herausgefunden:

    „set HR.Waschmaschine,HR.WaschmaschineBetrieb off“ funktioniert ebenfalls.

    Gruß

    Stephan

  65. Hallo Jörg,

    danke f√ľr diese gut strukturierte Anleitung. Auch ich habe diese vor einem knappen Jahr umgesetzt was auch bis zu meinem Umzug einwandfrei funktioniert hat. Nun bin ich vor einiger Zeit umgezogen und habe nun das Problem das die Funk-Steckdose im Keller kein Signal mehr bis zu meinem HMLAN Adapter bekommt der 3 Stockwerke (Mehrfamilienhaus) h√∂her steht. Leider h√§ngt die Steckdose im Keller auch nicht an der gleichen Fase wie mein Sicherungskasten. Kennst du evtl eine M√∂glichkeit wie ich trotzdem zuk√ľnftig wieder eine Benachrichtigung von meiner Waschmaschine erhalten kann?

  66. Hallo Jörg,

    ich habe lange an einem √§hnlichen Fall gebastelt und es nicht hinbekommen. Es geht um einen Rasenroboter, der mit einer Ladestation an einer HM-ES-PMSW1 angeschlossen ist. Ich bekomme brav √ľber Pushover eine Benachrichtigung wenn der Roboter l√§dt.

    Beispiel: Robi_Verbrauchsmessung:power:.* {fhem(„set RobiAktivBetriebRobi_laedt“) if (ReadingsVal(„Robi_Verbrauchsmessung“,“power“,““)>20.0)}

    Funktioniert wunderbar, Pushover habe ich mir hier gespart.
    Jetzt aber meine Frage: Wie bekomme ich es hin einen Wertebereich zwischen 6.0 und 6.5 auszuwerten.
    Der Verbrauch schwankt leider in diesem Bereich wenn der Rasenroboter unterwegs
    ist. Hast Du eine Idee? Ich habe schon das fhem Forum durchforstet, leider ohne Erfolg

    Gruß

    Christian

    1. Hi Christian,
      ich weiss nicht genau, ob ich deine Frage korrekt verstanden habe, aber falls doch könnte dir das hier weiterhelfen:

      define RobiUnterwegs notify Robi_Verbrauchsmessung:power:.* {fhem(„set RobiAktivBetriebRobi_unterwegs“) if (ReadingsVal(„Robi_Verbrauchsmessung“,“power“,““)>6 && ReadingsVal(„Robi_Verbrauchsmessung“,“power“,““)<6.5)}

      Gr√ľ√üe
      Jörg

  67. Hallo Jörg,

    vielen Dank f√ľr Deine Hilfe. Der Knackpunkt war die Klammersetzung. Ich
    hatte schon nicht mehr geglaubt das && hier funktioniert. Ich werde noch versuchen einen watchdog mit pushover einzubauen wenn Robi länger
    als 90 Minuten unterwegs ist, denn dann hat er sich irgendwo festgefahren und braucht Hilfe.

    Viele Gr√ľ√üe

    Christian

  68. Hallo Jörg,

    ich habe meine alte Bosch Waschmaschine (ohne Uhr, ohne programmierbaren Timer, etc) nun auch mit dem Zwischenstecker versorgt und FHEM mit deinen Code-Zeilen gef√ľttert – funktioniert soweit alles prima, vielen Dank!

    Was bei mir auch funktioniert, ist die Unterbrechung des aktuellen Waschprogramms bei Stromausfall und sofortige Wiederaufnahme des Programms, sobald der Strom wieder anliegt. Ich nutze dies, um morgens die Trommel zu f√ľllen, ein Programm zu starten und dann den Strom am Zwischenstecker auszuschalten. Dann gehe ich in¬īs B√ľro und lasse per ‚at‘-Job oder manuellem Klick in der Weboberfl√§che das Waschprogramm wieder laufen, sobald ich wei√ü, wann ich zu Hause sein werde. Dann ist die Waschmaschine kurz vorher fertig und die W√§sche liegt nicht stundenlang nass in der Trommel.

    Leider fängt die Maschine sowohl sofort mit dem Heizen an, wenn ein Programm startet Рes wird also sofort ein Betrieb mit hohem Verbruach erkannt. Wenn ich dann die Stromversorgung unterbreche, signalisiert mir FHEM 2 Minuten später, dass die Wäsche fertig ist.

    Kann man hier noch irgendwie eine Verz√∂gerung einbauen, so dass der Betrieb bzw. der hohe Verbrauch erst nach einer Minute erkannt wird, so dass man gen√ľgend Zeit hat, die Maschine vom Strom zu trennen und die Fertig-Meldung erst bekommt, wenn die W√§sche wirklich (nachmittags) fertig ist?

    1. Hi Tino,
      guter Punkt! Ich hab mir den gesamten Programmcode nochmal angesehen und denke deinen Vorschlag mittlerweile mit einem Bruchteil des urspr√ľnglichen Codes mithilfe des DOIF-Befehls umsetzen zu k√∂nnen.

      Im Grunde ist insgesamt nur folgender Code notwendig:

      define HR.WaschmaschineBetrieb dummy
      attr HR.WaschmaschineBetrieb event-on-change-reading state
      attr HR.WaschmaschineBetrieb room Hauswirtschaftsraum

      define HRWaschmaschineBetriebSet DOIF ([HR.Waschmaschine_Power:power]>30) (set HR.WaschmaschineBetrieb on) DOELSEIF ([HR.Waschmaschine_Power:power]<5) (set HR.WaschmaschineBetrieb off)
      attr HRWaschmaschineBetriebSet wait 60:300
      attr HRWaschmaschineBetriebSet room Hauswirtschaftsraum

      Der Dummy "HR.WaschmaschineBetrieb" wird dabei nach einem Verbrauch von durchgehend mehr als 30 Watt nach 60 Sekunden auf "on" gesetzt und umgekehrt bei einem geringeren Verbrauch von durchgehend weniger als 5 Watt nach 300 Sekunden wieder zur√ľck auf "off". Eine Pushover-Mitteilung l√§sst sich dann auch recht einfach umsetzen durch:

      define PushoverJay Pushover au5SMKWXRJey7ApemEaLSg21Xxxxxx u4zDygNRGFbQUSmcxXj6fGsWJxxxxx

      define PushoverJayHRWaschmaschineBetriebOff notify HR.WaschmaschineBetrieb:off {fhem ("set PushoverJay msg 'Hauswirtschaftsraum' 'Waschvorgang beendet' '' 0 ''")}

      Hoffe das hilft dir weiter!

      Gr√ľ√üe
      Jörg

    2. Es geht sogar noch geschickter ganz ohne Dummy :)

      define HR.WaschmaschineBetrieb DOIF ([HR.Waschmaschine_Power:power]>30) DOELSEIF ([HR.Waschmaschine_Power:power]<5)
      attr HR.WaschmaschineBetrieb wait 60:300
      attr HR.WaschmaschineBetrieb cmdState on|off
      attr HR.WaschmaschineBetrieb room Hauswirtschaftsraum

      define PushoverJay Pushover au5SMKWXRJey7ApemEaLSg21Xxxxxx u4zDygNRGFbQUSmcxXj6fGsWJxxxxx

      define PushoverJayHRWaschmaschineBetriebOff notify HR.WaschmaschineBetrieb:off {fhem ("set PushoverJay msg 'Hauswirtschaftsraum' 'Waschvorgang beendet' '' 0 ''")}

  69. Nachfrage bzgl. Codeoptimierung:

    Das ’notify‘ kann man sich doch eigentlich sparen, wenn man die ’set PushoverJay‘ Anweisung oben mit in die Klammer setzt, in der ‚HR.WaschmaschineBetrieb‘ auf off gesetzt wird, oder? Nichts anderes √ľberwacht das ’notify‘ ja.

  70. Funktioniert perfekt :-) Hier mal meine komplette Keller-Konfiguration:

    define Keller_Waschmaschine CUL_HM xxxxxx
    attr Keller_Waschmaschine IOgrp vCCU:HMLAN
    attr Keller_Waschmaschine model HM-ES-PMSw1-Pl
    attr Keller_Waschmaschine subType powerMeter
    attr Keller_Waschmaschine room Keller

    define Keller_Waschmaschine_Sw CUL_HM xxxxxx01
    attr Keller_Waschmaschine_Sw model HM-ES-PMSw1-Pl
    attr Keller_Waschmaschine_Sw room Keller

    define Keller_Waschmaschine_Pwr CUL_HM xxxxxx02
    attr Keller_Waschmaschine_Pwr model HM-ES-PMSw1-Pl
    attr keller_Waschmaschine_Pwr stateformat power
    attr Keller_Waschmaschine_Pwr room Keller

    define Keller_Waschmaschine_FileLog FileLog ./log/Keller_Waschmaschine.log Keller_Waschmaschine.*
    attr Keller_Waschmaschine_FileLog logtype text
    attr Keller_Waschmaschine_FileLog room Logfiles

    define Keller_Waschmaschine_Plot SVG Keller_Waschmaschine_FileLog:Keller_Waschmaschine:CURRENT
    attr Keller_Waschmaschine_Plot label „Stromverbrauch Waschmaschine“
    attr Keller_Waschmaschine_Plot room Keller

    define Keller_Waschmaschine_Betrieb DOIF \
    ( [Keller_Waschmaschine_Pwr:power]>30 ) \
    DOELSEIF \
    ( [Keller_Waschmaschine_Pwr:power]<2 )
    attr Keller_Waschmaschine_Betrieb wait 60:300
    attr Keller_Waschmaschine_Betrieb cmdState on|off
    attr Keller_Waschmaschine_Betrieb room Keller

    define Alarm_Waschmaschine notify Keller_Waschmaschine_Betrieb:off { \
    GoogleTalk("Waschmaschine ist fertig");; \
    }
    attr Alarm_Waschmaschine room Keller

    1. Hallo Tino,
      du hast bei dir einen Plot per SVG definiert; das f√§nde ich interessant, dazu m√ľsste es dann noch eine .gplot-Datei geben, richtig? W√ľrdest du die auch zur Verf√ľgung stellen?

    2. Hier die GPLOT-Datei, nichts besonderes, funktioniert aber ;-)

      set terminal png transparent size crop
      set output ‚.png‘
      set xdata time
      set timefmt „%Y-%m-%d_%H:%M:%S“
      set xlabel “ “
      set title ‚Waschmaschine – Stromverbrauch‘
      set ytics
      set y2tics
      set grid
      set ylabel „Watt“
      set yrange [0:2500]

      #FileLog 4:Keller_Waschmaschine_Pwr.power:0:

      plot „“ using 1:2 axes x1y1 title ‚Watt‘ ls l1 lw 1 with lines

  71. Hallo Jörg

    wie von Dir angeregt möchte ich hier mal mein Problem schildern.

    Trotz copy and paste läuft beir mir die Leistungsmessung und Steuerung nicht korrekt.

    Hier ein Auzug meiner fhem.cfg.

    define HR.Waschmaschine CUL_HM 2B3467
    attr HR.Waschmaschine IODev HMLAN1
    attr HR.Waschmaschine actCycle 000:10
    attr HR.Waschmaschine actStatus alive
    attr HR.Waschmaschine autoReadReg 4_reqStatus
    attr HR.Waschmaschine expert 2_full
    attr HR.Waschmaschine firmware 1.6
    attr HR.Waschmaschine model HM-ES-PMSw1-Pl
    attr HR.Waschmaschine room Hauswirtschaftsraum
    attr HR.Waschmaschine serialNr LEQ0274312
    attr HR.Waschmaschine subType powerMeter
    attr HR.Waschmaschine webCmd getConfig:clear msgEvents
    define FileLog_HR.Waschmaschine FileLog ./log/HR.Waschmaschine-%Y.log HR.Waschmaschine
    attr FileLog_HR.Waschmaschine logtype text
    attr FileLog_HR.Waschmaschine room CUL_HM
    define HM_2B3467_Sw CUL_HM 2B346701
    attr HM_2B3467_Sw model HM-ES-PMSw1-Pl
    attr HM_2B3467_Sw peerIDs 00000000,
    define HR.Waschmaschine_Power CUL_HM 2B346702
    attr HR.Waschmaschine_Power model HM-ES-PMSw1-Pl
    define HM_2B3467_SenPwr CUL_HM 2B346703
    attr HM_2B3467_SenPwr model HM-ES-PMSw1-Pl
    attr HM_2B3467_SenPwr peerIDs 00000000,
    define HM_2B3467_SenI CUL_HM 2B346704
    attr HM_2B3467_SenI model HM-ES-PMSw1-Pl
    attr HM_2B3467_SenI peerIDs 00000000,
    define HM_2B3467_SenU CUL_HM 2B346705
    attr HM_2B3467_SenU model HM-ES-PMSw1-Pl
    attr HM_2B3467_SenU peerIDs 00000000,
    define HM_2B3467_SenF CUL_HM 2B346706
    attr HM_2B3467_SenF model HM-ES-PMSw1-Pl
    attr HM_2B3467_SenF peerIDs 00000000,
    define ActionDetector CUL_HM 000000
    attr ActionDetector event-on-change-reading .*
    attr ActionDetector model ActionDetector
    define HR.WaschmaschineWatt dummy
    attr HR.WaschmaschineWatt room Hauswirtschaftsraum
    define HRWaschmaschineWattSet notify HR.Waschmaschine_Power {my $power =ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) fhem („set HR.WaschmaschineWatt $power“)}
    define HR.WaschmaschineBetrieb dummy
    attr HR.WaschmaschineBetrieb event-on-change-reading state
    attr HR.WaschmaschineBetrieb room Hauswirtschaftsraum
    define HRWaschmaschineBetriebAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb on setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}
    define HR.WaschmaschineHoherVerbrauch dummy
    attr HR.WaschmaschineHoherVerbrauch event-on-change-reading state
    attr HR.WaschmaschineHoherVerbrauch room Hauswirtschaftsraum
    define HRWaschmaschineHoherVerbrauchAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch on setstate HRWaschmaschineAutoStandby defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) > 5 && Value(„HR.WaschmaschineBetrieb“) eq „on“)}
    define HRWaschmaschineHoherVerbrauchAus notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) <= 5 && Value("HR.WaschmaschineBetrieb") eq "on")}
    define HRWaschmaschineAutoStandby watchdog HR.WaschmaschineHoherVerbrauch:off 00:05 HR.WaschmaschineHoherVerbrauch:on set HR.WaschmaschineBetrieb standby
    attr HRWaschmaschineAutoStandby regexp1WontReactivate 1
    attr HRWaschmaschineAutoStandby room Hauswirtschaftsraum

  72. Und noch ein fehler wieso es bei mir nicht ging:
    #Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
    define HRWaschmaschineBetriebAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb on setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}

    da fehlt das ;; nach on. So muss es sein :
    #Dummy HR.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
    define HRWaschmaschineBetriebAn notify HR.Waschmaschine_Power:power.* {fhem („set HR.WaschmaschineBetrieb on;; setstate HRWaschmaschineAutoOff defined“) if (ReadingsVal(„HR.Waschmaschine_Power“,“power“,““) >= 30 && Value(„HR.WaschmaschineBetrieb“) ne „on“)}

  73. Hallo Chris

    vielen,vielen herzlichen Dank f√ľr Deinen Tip.

    Hat mir schon mal einen Teilerfolg gebracht.

    Habe leider bei dummy

    HR.WaschmaschineHoherVerbrauch
    immer noch ???

    Hast noch nen Tip ?

    Vielen schon mal im voraus

    Gruß Ole

  74. Hallo Zusammen, ich bin erst seit Kurzem mit Pi und FHEM am Probieren und „Herumspielen“. Dank dieser genialen Seiten hier hab ich doch schon das ein oder andere realisieren k√∂nnen.

    Nat√ľrlich soll auch unsere Waschmaschine „Meldung machen“, wenn sie fertig ist. Das klappt auch, aber ich m√∂chte einfach nur den Zeitraum festlegen, in dem sie melden darf (09:00 bis 24:00 Uhr)… Ich lese mir nun seit zwei Tagen die Augen wund und bekomme es einfach nicht hin…

    Mein Ansatz:

    define HRWaschmaschineWaschvorgangAbgeschlossenMP3 notify HR.WaschmaschineBetrieb:standby { fhem („set Sonos_Wohnzimmer PlayURITemp \\192.168.xxx.xxx\SonosSpeak\012_Waschmaschine_ist_fertig.mp3 15‚Äú) if ( $hour >= 9 && $hour < 24 ) }

    …ich vermute, dass einige laut lachen werden, wenn sie das lesen, aber ich komme einfach nicht weiter. Vermutlich ist es nur eine Kleinigkeit…

    Bitte helft mir…

    Danke u. Gruß BOGI

  75. Hallo
    Habe ein Problem mit dem Ende der Waschmaschine.
    Wir haben eine Miele Waschmaschine die am Ende in Knitterschutz √ľbergeht.
    Dann ist der Verbrauch wechselnd wie im Log zu sehen.

    2016-01-19_19:44:31 PM_WaschmaschineWatt 491.45
    2016-01-19_19:44:38 PM_WaschmaschineWatt 475.76
    2016-01-19_19:44:39 PM_WaschmaschineWatt 484.96
    2016-01-19_19:44:47 PM_WaschmaschineWatt 504.8
    2016-01-19_19:44:55 PM_WaschmaschineWatt 349.21
    2016-01-19_19:45:14 PM_WaschmaschineWatt 333.49
    2016-01-19_19:47:34 PM_WaschmaschineWatt 318.62
    2016-01-19_19:47:59 PM_WaschmaschineWatt 316.53
    2016-01-19_19:48:09 PM_WaschmaschineWatt 152.99
    2016-01-19_19:48:17 PM_WaschmaschineWatt 16.56
    2016-01-19_19:48:43 PM_WaschmaschineWatt 63
    2016-01-19_19:48:51 PM_WaschmaschineWatt 6.17
    2016-01-19_19:48:59 PM_WaschmaschineWatt 22.4
    2016-01-19_19:49:07 PM_WaschmaschineWatt 67.35
    2016-01-19_19:49:16 PM_WaschmaschineWatt 17.1
    2016-01-19_19:49:23 PM_WaschmaschineWatt 65.31
    2016-01-19_19:49:31 PM_WaschmaschineWatt 6.06
    2016-01-19_19:49:39 PM_WaschmaschineWatt 6.2
    2016-01-19_19:49:47 PM_WaschmaschineWatt 22.33
    2016-01-19_19:49:56 PM_WaschmaschineWatt 67.59
    2016-01-19_19:50:04 PM_WaschmaschineWatt 6.13
    2016-01-19_19:50:12 PM_WaschmaschineWatt 22.11
    2016-01-19_19:50:15 PM_WaschmaschineWatt 6.21
    2016-01-19_19:50:20 PM_WaschmaschineWatt 63.65
    2016-01-19_19:50:28 PM_WaschmaschineWatt 6.12
    2016-01-19_19:50:36 PM_WaschmaschineWatt 10.48
    2016-01-19_19:50:44 PM_WaschmaschineWatt 22.55
    2016-01-19_19:50:54 PM_WaschmaschineWatt 63.81
    2016-01-19_19:51:02 PM_WaschmaschineWatt 6.17
    2016-01-19_19:51:10 PM_WaschmaschineWatt 16.99
    2016-01-19_19:51:18 PM_WaschmaschineWatt 60.38
    2016-01-19_19:51:27 PM_WaschmaschineWatt 6.21
    2016-01-19_19:51:34 PM_WaschmaschineWatt 6.22
    2016-01-19_19:51:42 PM_WaschmaschineWatt 21.84
    2016-01-19_19:51:51 PM_WaschmaschineWatt 67.58
    2016-01-19_19:51:59 PM_WaschmaschineWatt 6.15
    2016-01-19_19:52:07 PM_WaschmaschineWatt 21.86
    2016-01-19_19:52:15 PM_WaschmaschineWatt 72.44
    2016-01-19_19:52:23 PM_WaschmaschineWatt 6.21
    2016-01-19_19:52:31 PM_WaschmaschineWatt 6.15
    2016-01-19_19:52:39 PM_WaschmaschineWatt 23.86
    2016-01-19_19:52:42 PM_WaschmaschineWatt 6.18
    2016-01-19_19:52:47 PM_WaschmaschineWatt 6.11
    2016-01-19_19:52:55 PM_WaschmaschineWatt 6.15
    2016-01-19_19:53:03 PM_WaschmaschineWatt 21.12
    2016-01-19_19:53:11 PM_WaschmaschineWatt 58.13
    2016-01-19_19:53:19 PM_WaschmaschineWatt 6.12
    2016-01-19_19:53:27 PM_WaschmaschineWatt 21.18
    2016-01-19_19:53:35 PM_WaschmaschineWatt 65.18
    2016-01-19_19:53:43 PM_WaschmaschineWatt 6.13
    2016-01-19_19:53:51 PM_WaschmaschineWatt 10.28
    2016-01-19_19:53:59 PM_WaschmaschineWatt 22.62
    2016-01-19_19:54:08 PM_WaschmaschineWatt 30.63
    2016-01-19_19:54:16 PM_WaschmaschineWatt 6.1
    2016-01-19_19:54:43 PM_WaschmaschineWatt 32.82
    2016-01-19_19:54:51 PM_WaschmaschineWatt 6.16
    2016-01-19_19:54:55 PM_WaschmaschineWatt 6.08
    2016-01-19_19:55:17 PM_WaschmaschineWatt 69.11
    2016-01-19_19:55:25 PM_WaschmaschineWatt 6.26
    2016-01-19_19:55:50 PM_WaschmaschineWatt 54.8
    2016-01-19_19:55:58 PM_WaschmaschineWatt 6.25
    2016-01-19_19:56:24 PM_WaschmaschineWatt 68.49
    2016-01-19_19:56:32 PM_WaschmaschineWatt 6.15
    2016-01-19_19:56:57 PM_WaschmaschineWatt 60.4
    2016-01-19_19:57:05 PM_WaschmaschineWatt 6.09
    2016-01-19_19:57:30 PM_WaschmaschineWatt 19.25
    2016-01-19_19:57:38 PM_WaschmaschineWatt 6.14
    2016-01-19_19:57:57 PM_WaschmaschineWatt 6.11
    2016-01-19_19:58:04 PM_WaschmaschineWatt 62.64
    2016-01-19_19:58:12 PM_WaschmaschineWatt 6.13
    2016-01-19_19:58:37 PM_WaschmaschineWatt 32.08
    2016-01-19_19:58:45 PM_WaschmaschineWatt 6.12
    2016-01-19_19:59:11 PM_WaschmaschineWatt 66.07
    2016-01-19_19:59:19 PM_WaschmaschineWatt 5.82
    2016-01-19_19:59:44 PM_WaschmaschineWatt 55.37
    2016-01-19_19:59:52 PM_WaschmaschineWatt 5.78
    2016-01-19_20:00:18 PM_WaschmaschineWatt 64.21
    2016-01-19_20:00:26 PM_WaschmaschineWatt 5.83
    2016-01-19_20:00:45 PM_WaschmaschineWatt 5.92
    2016-01-19_20:00:51 PM_WaschmaschineWatt 62.55
    2016-01-19_20:00:59 PM_WaschmaschineWatt 5.77
    2016-01-19_20:01:24 PM_WaschmaschineWatt 19.06
    2016-01-19_20:01:32 PM_WaschmaschineWatt 5.78
    2016-01-19_20:01:58 PM_WaschmaschineWatt 66.77
    2016-01-19_20:02:06 PM_WaschmaschineWatt 5.96
    2016-01-19_20:02:31 PM_WaschmaschineWatt 33.52
    2016-01-19_20:02:39 PM_WaschmaschineWatt 5.76
    2016-01-19_20:03:05 PM_WaschmaschineWatt 65.41
    2016-01-19_20:03:13 PM_WaschmaschineWatt 5.58
    2016-01-19_20:03:19 PM_WaschmaschineWatt 5.78
    2016-01-19_20:03:38 PM_WaschmaschineWatt 52.82
    2016-01-19_20:03:46 PM_WaschmaschineWatt 5.81
    2016-01-19_20:04:12 PM_WaschmaschineWatt 66.31
    2016-01-19_20:04:20 PM_WaschmaschineWatt 5.75
    2016-01-19_20:04:45 PM_WaschmaschineWatt 54.75
    2016-01-19_20:04:53 PM_WaschmaschineWatt 5.85
    2016-01-19_20:05:19 PM_WaschmaschineWatt 66.04
    2016-01-19_20:05:27 PM_WaschmaschineWatt 5.79
    2016-01-19_20:05:38 PM_WaschmaschineWatt 5.93
    2016-01-19_20:05:52 PM_WaschmaschineWatt 63.63
    2016-01-19_20:06:00 PM_WaschmaschineWatt 5.82
    2016-01-19_20:06:26 PM_WaschmaschineWatt 67.72
    2016-01-19_20:06:34 PM_WaschmaschineWatt 5.78
    2016-01-19_20:06:59 PM_WaschmaschineWatt 62.55
    2016-01-19_20:07:07 PM_WaschmaschineWatt 5.79
    2016-01-19_20:07:24 PM_WaschmaschineWatt 17.07

    Eine Idee wie man das lösen könnte?

    1. Hatte mich nicht getraut, dies vorzuschlagen ;-)

      Wenn man darauf wartet, dass die Maschine fertig ist, benötigt man den Knitterschutz nicht (man holt die Wäsche ja direkt raus). Wenn man die Maschine morgens einschaltet und sowieso erst mehrere Stunden später wieder nach Hause kommt, ist eigentlich klar, dass die Wäsche fertig ist (und man benötigt die Benachrichtigung nicht).

    2. Ich habe nun auch direkt nach dem Einbinden der Waschmaschine dieses Problem bei unserer Miele beobachtet. Dadurch kommt die PushNachricht 35 Minuten verzögert.

      Ich w√§re dennoch daran Interessiert das Problem zu l√∂sen ohne den Knitterschutz auszuschalten. Habe aber so gar keine Idee. Ich habe schon mit dem average Modul die Durchschnittswerte dem Device hinzugef√ľgt aber ich glaube das bringt mich nicht wirklich weiter.

      Irgendeine Idee wie der Knitterschutz zuverlässig erfasst werden kann?

  76. Hallo, bin in Sachen Fhem Anfänger. Bis jetzt Rolladensteuerung hinbekommen.
    M√∂chte gerne jetzt auch die Waschmschine mit integrieren, habe auch soweit per markieren und einf√ľgen alles √ľbernommen. HomeMatic 130248 Zwischenstecker-Schaltaktor mit Leistungsmessung l√§sst sich schalten und bei laufender Waschmschine sehe ich auch alle Werte und der Watchdog versetzt auch die Waschmaschine in Standby leider bekomme ich keine Pushnachricht von Pushover.
    Auf der Seite von Pushover angemeldet und getestet, an was kann es liegen.
    Bitte um Hilfe.
    Danke

  77. Hallo Jörg,

    vielen Dank f√ľr diese Anleitung. Allerdings finde ich meinen Fehler nicht. Mein Dummy WaschmachineHoherVerbrauch √§ndert seinen Status nicht. Daher funktionieren nat√ľrlich dann auch die nach gelagerten Funktionen nicht. Anbei mal der Auszug aus der Konfig.
    √úber einen Tip w√ľrde ich mich freuen.

    Vielen Dank und weiter so

    define Leistungsmesser_02_WattSet notify Leistungsmesser_02_Pwr {my $power =ReadingsVal(„Leistungsmesser_02_Pwr“,“power“,““);; fhem („set Leistungsmesser_02_Watt $power“)}
    attr Leistungsmesser_02_WattSet room Bad

    #Dummy WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
    define WaschmaschineBetriebAn notify Waschmaschine_Pwr:power.* {fhem („set WaschmaschineBetrieb on;; setstate WaschmaschineAutoOff defined“) if (ReadingsVal(„Waschmaschine_Pwr“,“power“,““) >= 30 && Value(„WaschmaschineBetrieb“) ne „on“)}
    attr WaschmaschineBetriebAn room Bad
    #Dummy WaschmaschineHoherVerbrauch definieren
    define WaschmaschineHoherVerbrauch dummy
    attr WaschmaschineHoherVerbrauch event-on-change-reading state
    attr WaschmaschineHoherVerbrauch room Bad

    #Dummy WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
    define WaschmaschineHoherVerbrauchAn notify Waschmaschine_Pwr:power.* {fhem („set WaschmaschineHoherVerbrauch on;; setstate WaschmaschineAutoStandby defined“) if (ReadingsVal(„Waschmaschine_Pwr“,“power“,““) > 5 && Value(„WaschmaschineBetrieb“) eq „on“)}
    attr WaschmaschineHoherVerbrauchAn room Bad
    #Dummy WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
    define WaschmaschineHoherVerbrauchAus notify Waschmaschine_Pwr:power.* {fhem („set WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„Waschmaschine_Pwr“,“power“,““) <= 5 && Value("WaschmaschineBetrieb") eq "on")}
    attr WaschmaschineHoherVerbrauchAus room Bad

    #Wenn der Verbrauchswert f√ľr mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tats√§chlich abgeschlossen ist
    define WaschmaschineAutoStandby watchdog WaschmaschineHoherVerbrauch:off 00:05 WaschmaschineHoherVerbrauch:on set WaschmaschineBetrieb standby
    attr WaschmaschineAutoStandby regexp1WontReactivate 1
    attr WaschmaschineAutoStandby room Bad

  78. Toller Beitrag!
    Ich stehe gerade vor einem kleinem Problem. HR.Waschmaschine nimmt nur den Status ON & OFF an. F√ľr mein TabletUI w√ľrde ich aber auch den Status „standby“ ben√∂tigen. Auch wenn ich mit HR.Waschmaschine nur das ein und ausschalten durchf√ľhren kann,gibt es eine M√∂glichkeit sich den standby Status dort anzeigen zu lassen. Somit k√∂nnte ich im TabletUI √ľber ein Symbol alle 3 Status ablesen und f√ľr diese drei unterschiedliche Farben definieren. Dank

  79. Hallo Jörg,

    ich wollte ebenfalls den oben genannten Beitrag umsetzen – bekomme aber nicht den gew√ľnschten Effekt.

    Ich habe alles gem√§√ü der Anleitung durchgef√ľhrt (Umbenennungen/R√§ume usw.)

    Allerding wird folgendes ausgegeben:

    HR.Waschmaschine on on off
    HR.Waschmaschine_Power 0.18

    dummy
    HR.WaschmaschineBetrieb ???
    HR.WaschmaschineWatt ???

    Die ??? werden nicht mit leben gef√ľllt, wenn die Powerwerte sich √§ndern.

    Kannst du mir eine Hilfestellung geben?

    Gruß
    Frank

  80. Hallo Jörg ,
    erst einmal Danke f√ľr deinen Super Blog . Hat mir bei der Einrichtung von Fhem sehr geholfen. Nun m√∂chte ich auch meine Waschmaschine √ľberwachen. Den Code hast Du ja mit DOIF schon ordendlich verk√ľrzt. Nun habe ich ein Verst√§ndnisproblem : Wird die Pushmeldung “ Fertig “ nicht laufend abgesetzt solange die Leistungsaufnahme <3 Watt ist ? D.h. auch bei ausgeschalteter Maschine ? W√ľrde mich √ľber eine Info freuen , bevor ich das Projekt starte .

    1. Hi Dieter,
      gerade nochmal getestet. Funktioniert 1a. Die Pushmitteilung kommt nur einmal, sobald der Schwellwert von 5 Watt f√ľr den angegebenen Zeitraum von 300 Sekunden unterschritten wird. Bleibt der Wert dann unter dem Schwellwert, werden keine weiteren Push-Mitteilungen verschickt.

      Du kannst das auch einfach mit einem Dummy vorab testen.

      Trag in die fhem.cfg ein:

      define HR.Waschmaschine_Power dummy
      attr HR.Waschmaschine_Power room Test

      define HR.WaschmaschineBetrieb DOIF ([HR.Waschmaschine_Power:power]>30) DOELSEIF ([HR.Waschmaschine_Power:power]<5)
      attr HR.WaschmaschineBetrieb wait 3:6
      attr HR.WaschmaschineBetrieb cmdState on|off
      attr HR.WaschmaschineBetrieb room Test

      Dann machst du in einem zweiten Tab den "Event monitor" (im FHEM Webinterface links unten) auf, um dort die Nachrichten gleich kontrollieren zu können. Im ersten Tab setzt du dann in der FHEM-Kommandozeile den Befehl ab:

      setreading HR.Waschmaschine_Power power 100

      Nach 3 Sekunden sollte dann im Event-Monitor (zweiter Tab) der Eintrag "DOIF HR.WaschmaschineBetrieb on" erscheinen.
      Setzt du daraufhin den FHEM-Konsolenbefehl (Tab 1)

      setreading HR.Waschmaschine_Power power 1

      ab, sollte sechs Sekunden sp√§ter im Event-Monitor (Tab 2) der Eintrag "DOIF HR.WaschmaschineBetrieb off" auftauchen. Dann kannst du nat√ľrlich versuchen weitere Befehle abzusetzen mit Werten, die den Schwellwert unterschreiten. Es sollten aber keine weiteren DOIF-Eintr√§ge mehr im Event-Monitor auftauchen. Entsprechend werden dann auch keine doppelten Pushover-Benachrichtigungen abgesetzt.

      Hoffe das hilft dir weiter.

      Gr√ľ√üe und viel Erfolg bei der Umsetzung
      Jörg

  81. Guten Abend,
    vielen Dank f√ľr die super Anleitung.
    Ich habe das soweit f√ľr mein Ger√§t (Fibaro WallPlug) angepasst. Es wird alles so gemacht, wie es beschrieben ist, bis auf den letzten Watchdog, der das Ger√§t ausschalten soll. Es geht das Ger√§t nicht aus und der Dummy Betrieb springt nicht von standby auf off.
    Mein Code dazu sieht wie folgt aus:

    #WallPlug.right 15 Minuten nach dem letzten Waschgang vom Strom trennen
    define WallPlug.rightAutoOff watchdog WallPlug.rightBetrieb:standby 00:03 WallPlug.rightBetrieb:on set WallPlug.right off set WallPlug.rightBetrieb off
    attr WallPlug.rightAutoOff regexp1WontReactivate 1
    attr WallPlug.rightAutoOff room test

    Ich habe spa√üeshalber mal den Teil „set WallPlug.right off“ aus der DEF des watchdogs herausgenommen und dann sprang zumindest der Status des Betriebs von standby auf off. Demnach dachte ich, dass es an dem Teil in den Anf√ľhrungszeichen liegt, wenn ich den aber in der Kommandozeile eingebe, geht das Ger√§t aus. Das ergibt f√ľr mich keinen Sinn, hat vielleicht jemand das selbe Ger√§t und eine L√∂sung?

    1. Hallo Jörg,
      vielen Dank f√ľr den Tipp.

      M√ľsste das dann so aussehen?

      define WallPlug.rightBetrieb DOIF ([WallPlug.right:power]>30) DOELSEIF ([WallPlug.right:power]<5) (set WallPlug.right off)
      attr WallPlug.rightBetrieb wait 60:120
      attr WallPlug.rightBetrieb cmdState on|off
      attr WallPlug.rightBetrieb room test

      Wie w√ľrde ich es dann machen, dass auch die Steckdose aus geht, da momentan ja nur der Status des WallPlug.rightBetrieb gesetzt werden w√ľrde.
      M√ľsste ich dann noch zu der Funktion die letzte Klammer, (set WallPlug.right off), hinzuf√ľgen, damit auch die Steckdose ausgeht?

      Hei√üt das dann auch, dass die beiden watchdogs AutoOff und AutoStandby, sowie die dummys hoherverbrauchan/aus wegfallen w√ľrden?

    2. Hi Marius,
      ich √ľberblicke jetzt ehrlich gesagt nicht so ganz, was du eigentlich genau machen willst.
      Du brauchst jedenfalls nach dem DOIF und vor dem DOELSEIF noch eine Anweisung, richtig. So kann es aussehen:

      define WallPlug.rightBetrieb DOIF ([WallPlug.right:power]>30) (set WallPlug.right on) DOELSEIF ([WallPlug.right:power]<5) (set WallPlug.right off)
      attr WallPlug.rightBetrieb wait 60:120
      attr WallPlug.rightBetrieb cmdState on|off
      attr WallPlug.rightBetrieb room test

      Das macht aktuell aber nur bedingt Sinn, da der WallPlug.right ja bereits eingeschaltet ist, wenn der Verbrauch größer als 30 Watt ist. Aber egal, das sollte dennoch funktionieren.

      Die DOIF-Funktion löst die Watchdogs und alles weitere ab, richtig.

      Gr√ľ√üe
      Jörg

      PS: Die DOIF-Funktion ist √ľbrigens in der FHEM-Commandref sehr ausf√ľhrlich erkl√§rt. Vielleicht kannst du dich hier auch noch mehr einlesen, um das Konstrukt besser zu verstehen (m√ľssste ich auch mal machen :-). Insgesamt kommt man wohl nie umhin selbst damit zu experimentieren…

    3. Sehr gut, das nimmt aus der ganzen Sache ein wenig Komplexit√§t raus. Ich probiere das die Tage mal aus und berichte dann √ľber das Ergebnis.

  82. Hallo Jörg,

    ich hatte dich schon mal am 21.02.16 mit der Bitte um Hilfestellung angeschrieben.

    Ich wollte ebenfalls den oben genannten Beitrag umsetzen – bekomme aber nicht den gew√ľnschten Effekt.

    Ich habe alles gem√§√ü der Anleitung durchgef√ľhrt (Umbenennungen/R√§ume usw.)

    Allerding wird folgendes ausgegeben:

    HR.Waschmaschine on on off (Ein/Aus i.O)
    HR.Waschmaschine_Power 0.18 (Richtiger Wert wird angezeigt)

    dummy
    HR.WaschmaschineBetrieb ???
    HR.WaschmaschineWatt ???

    Die ??? werden nicht mit Leben gef√ľllt, wenn die Powerwerte sich √§ndern.

    Kannst du mir eine Hilfestellung geben?

    Gruß
    Frank

    1. Welche Komponenten setzt du genau ein? Auch wäre ein Auszug der Log-Datei nicht schlecht, da man hier oftmals recht gut erkennen kann, was schief läuft.

  83. Hallo Jörg,

    danke f√ľr die R√ľckmeldung.

    Ich verwende die Homematic Funksteckdose in Verbindung mit einem CUL. Die Logdatei kann ich gerne heute Abend zusenden.

    Frank

  84. Hallo Jörg,

    nach dem ich meine Grippe √ľberstanden habe nun die Auff√§lligkeiten im Log.

    2016.03.01 16:31:08 3: set HR.WaschmaschineWatt : no set value specified
    2016.03.01 16:31:08 3: HRWaschmaschineWattSet return value: no set value specified
    2016.03.01 16:31:28 3: set HR.WaschmaschineWatt : no set value specified
    2016.03.01 16:31:28 3: HRWaschmaschineWattSet return value: no set value specified
    2016.03.01 16:31:36 3: set HR.WaschmaschineWatt : no set value specified
    2016.03.01 16:31:36 3: HRWaschmaschineWattSet return value: no set value specified

    Gruß
    Frank

  85. Hi Jörg,

    super Anleitung :). ich habe allerdings das Problem das der Dummy Waschmaschine Betrieb nicht in standby/off geht obwohl der Watt Verbrauch dauerhaft unten ist:

    define HM_331D1B CUL_HM 331D1B
    attr HM_331D1B IODev HMLANHOME1
    attr HM_331D1B actCycle 000:10
    attr HM_331D1B actStatus alive
    attr HM_331D1B autoReadReg 4_reqStatus
    attr HM_331D1B expert 2_full
    attr HM_331D1B firmware 1.6
    attr HM_331D1B model HM-ES-PMSw1-Pl
    attr HM_331D1B room CUL_HM
    attr HM_331D1B serialNr LEQ0928871
    attr HM_331D1B subType powerMeter
    attr HM_331D1B webCmd getConfig:clear msgEvents
    define FileLog_HM_331D1B FileLog ./log/HM_331D1B-%Y.log HM_331D1B
    attr FileLog_HM_331D1B logtype text
    attr FileLog_HM_331D1B room CUL_HM
    define Waschmaschine CUL_HM 331D1B01
    attr Waschmaschine model HM-ES-PMSw1-Pl
    attr Waschmaschine peerIDs 00000000,
    define Waschmaschine_Power CUL_HM 331D1B02
    attr Waschmaschine_Power model HM-ES-PMSw1-Pl
    define HM_331D1B_SenPwr CUL_HM 331D1B03
    attr HM_331D1B_SenPwr model HM-ES-PMSw1-Pl
    attr HM_331D1B_SenPwr peerIDs 00000000,
    define HM_331D1B_SenI CUL_HM 331D1B04
    attr HM_331D1B_SenI model HM-ES-PMSw1-Pl
    attr HM_331D1B_SenI peerIDs 00000000,
    define HM_331D1B_SenU CUL_HM 331D1B05
    attr HM_331D1B_SenU model HM-ES-PMSw1-Pl
    attr HM_331D1B_SenU peerIDs 00000000,
    define HM_331D1B_SenF CUL_HM 331D1B06
    attr HM_331D1B_SenF model HM-ES-PMSw1-Pl
    attr HM_331D1B_SenF peerIDs 00000000,
    define ActionDetector CUL_HM 000000
    attr ActionDetector event-on-change-reading .*
    attr ActionDetector model ActionDetector
    define WaschmaschineWatt dummy
    attr WaschmaschineWatt room Keller
    define WaschmaschineWattSet notify Waschmaschine_Power {my $power =ReadingsVal(„Waschmaschine_Power“,“power“,““);; fhem („set WaschmaschineWatt $power“)}
    define WaschmaschineBetrieb dummy
    attr WaschmaschineBetrieb event-on-change-reading state
    attr WaschmaschineBetrieb room Keller
    define WaschmaschineHoherVerbrauch dummy
    attr WaschmaschineHoherVerbrauch event-on-change-reading stat
    attr WaschmaschineHoherVerbrauch room Keller
    define WaschmaschineHoherVerbrauchAn notify Waschmaschine_Power:power.* {fhem („set WaschmaschineHoherVerbrauch on;; setstate WaschmaschineAutoStandby defined“) if (ReadingsVal(„Waschmaschine_Power“,“power“,““) > 25 && Value(„WaschmaschineBetrieb“) eq „on“)}
    define WaschmaschineHoherVerbrauchAus notify Waschmaschine_Power:power.* {fhem („set WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„Waschmaschine_Power“,“power“,““) <= 25 && Value("WaschmaschineBetrieb") eq "on")}
    define WaschmaschineAutoStandby watchdog WaschmaschineHoherVerbrauch:off 00:05 WaschmaschineHoherVerbrauch:on set WaschmaschineBetrieb standby
    attr WaschmaschineAutoStandby regexp1WontReactivate 1
    attr WaschmaschineAutoStandby room Keller

    Hoffe du kannst mir ein paar Tipps geben.

    Gruß
    Steffen

  86. Mich hat f√ľr den Waschmaschinen-Switch noch gest√∂rt, dass hier die Gl√ľhbirne angezeigt wird. Ein

    attr devStateIcon on:scene_washing_machine@green off:scene_washing_machine@red

    schafft Abhilfe

  87. Hallo Jörg,

    erstmal vielen Dank f√ľr deine tollen Anleitungen. Das Thema mit der Waschmaschine hat bei mir genau einen wunden Punkt getroffen.

    Ich habe alles umgesetzt, funktioniert (theoretisch) auch super.

    Allerdings habe ich das Problem dass es weder mit einer Fritz!Powerline Dose (Leistung der Waschmaschine zu hoch) noch mit der Homematic Steckdose (Reichweiter zu gering in Verbindung mit einem CUL) funktioniert. Hat noch jemand eine Idee f√ľr ein anderes Device?
    Wie sind denn die Erfahrungen mit dem HMLAN Adapter, ist hier die Reichweiter höher als mit nem CUL?

    Gruß
    Markus

  88. Ich stehe gerade irgenwie auf dem Schlauch :D Kann es sein das sich die Bezeichnungen geändert haben? Hier ein Auszug aus meiner FHEM.cfg:

    define HM_338F90 CUL_HM 338F90
    attr HM_338F90 IODev HMLAN
    attr HM_338F90 actCycle 000:10
    attr HM_338F90 actStatus alive
    attr HM_338F90 autoReadReg 4_reqStatus
    attr HM_338F90 expert 2_raw
    attr HM_338F90 firmware 1.6
    attr HM_338F90 model HM-ES-PMSw1-Pl
    attr HM_338F90 room CUL_HM
    attr HM_338F90 serialNr LEQ1344810
    attr HM_338F90 subType powerMeter
    attr HM_338F90 webCmd getConfig:clear msgEvents
    define FileLog_HM_338F90 FileLog ./log/HM_338F90-%Y.log HM_338F90
    attr FileLog_HM_338F90 logtype text
    attr FileLog_HM_338F90 room CUL_HM
    define CUL_HM CUL_HM 338F9001
    attr CUL_HM model HM-ES-PMSw1-Pl
    attr CUL_HM peerIDs 00000000,
    define HM_338F90_Pwr CUL_HM 338F9002
    attr HM_338F90_Pwr model HM-ES-PMSw1-Pl
    define model CUL_HM 338F9003
    attr model model HM-ES-PMSw1-Pl
    attr model peerIDs 00000000,
    define HM_338F90_SenI CUL_HM 338F9004
    attr HM_338F90_SenI model HM-ES-PMSw1-Pl
    attr HM_338F90_SenI peerIDs 00000000,
    define HM_338F90_SenU CUL_HM 338F9005
    attr HM_338F90_SenU model HM-ES-PMSw1-Pl
    attr HM_338F90_SenU peerIDs 00000000,
    define HM_338F90_SenF CUL_HM 338F9006
    attr HM_338F90_SenF model HM-ES-PMSw1-Pl
    attr HM_338F90_SenF peerIDs 00000000,
    define ActionDetector CUL_HM 000000
    attr ActionDetector event-on-change-reading .*
    attr ActionDetector model ActionDetector

  89. Hallo Zusammen,

    ich verwende PCA301 Adapter um den Verbrauch zu messen. Den Verbrauch bekomme ich in der Oberfläche auch angezeigt.

    Ich möchte das Beispiel mit der Waschmaschine umsetzen bin aber bisher gescheitert. Die Variablen:
    WaschmaschineBetrieb
    WaschmaschineHoherVerbrauch
    WaschmaschineWatt
    werden leider nie gef√ľllt.

    Untenstehenden Code habe ich in der Config.

    Bin f√ľr jeden Tipp dankbar :-)

    Viele Gr√ľ√üe
    Michael

    attr Waschmaschine_Power room Hauswirtschaftsraum
    #Dummy WaschmaschineWatt f√ľr die Anzeige des aktuellen Watt-Verbrauchs definieren
    define WaschmaschineWatt dummy
    attr WaschmaschineWatt room Hauswirtschaftsraum

    #Dummy WaschmaschineWatt mit Werten versorgen
    define WaschmaschineWattSet notify Waschmaschine_Power {my $power =ReadingsVal(„Waschmaschine_Power“,“power“,““);; fhem („set WaschmaschineWatt $power“)}

    #Dummy WaschmaschineBetrieb definieren
    define WaschmaschineBetrieb dummy
    attr WaschmaschineBetrieb event-on-change-reading state
    attr WaschmaschineBetrieb room Hauswirtschaftsraum

    #Dummy WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
    define WaschmaschineBetriebAn notify Waschmaschine_Power:power.* {fhem („set WaschmaschineBetrieb on;; setstate WaschmaschineAutoOff defined“) if (ReadingsVal(„Waschmaschine_Power“,“power“,““) >= 5 && Value(„WaschmaschineBetrieb“) ne „on“)}

    #Dummy WaschmaschineHoherVerbrauch definieren
    define WaschmaschineHoherVerbrauch dummy
    attr WaschmaschineHoherVerbrauch event-on-change-reading state
    attr WaschmaschineHoherVerbrauch room Hauswirtschaftsraum

    #Dummy WaschmaschineHoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
    define WaschmaschineHoherVerbrauchAn notify Waschmaschine_Power:power.* {fhem („set WaschmaschineHoherVerbrauch on;; setstate WaschmaschineAutoStandby defined“) if (ReadingsVal(„Waschmaschine_Power“,“power“,““) > 5 && Value(„WaschmaschineBetrieb“) eq „on“)}

    #Dummy WaschmaschineHoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
    define WaschmaschineHoherVerbrauchAus notify Waschmaschine_Power:power.* {fhem („set WaschmaschineHoherVerbrauch off“) if (ReadingsVal(„Waschmaschine_Power“,“power“,““) <= 5 && Value("WaschmaschineBetrieb") eq "on")}

    #Wenn der Verbrauchswert f√ľr mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tats√§chlich abgeschlossen ist
    define WaschmaschineAutoStandby watchdog WaschmaschineHoherVerbrauch:off 00:05 WaschmaschineHoherVerbrauch:on set WaschmaschineBetrieb standby
    attr WaschmaschineAutoStandby regexp1WontReactivate 1
    attr WaschmaschineAutoStandby room Hauswirtschaftsraum

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert