Autor Thema: Waschmaschine fertig  (Gelesen 12099 mal)

Offline moes

  • New Member
  • *
  • Beiträge: 45
Waschmaschine fertig
« am: 07 Februar 2016, 09:19:27 »
Hallo @all

Ich versuche nun schon ein paar Tage diese Anleitung umzusetzen.
http://www.meintechblog.de/2014/01/homematic-funk-steckdose-mit-leistungsmessung-deine-waschmaschine-ist-fertig/

Der aktuelle Wert wird in den dummy Leistungsmesser_02_Watt geschrieben. Soweit gut. Allerdings finde ich nicht den Fehler warum sich der dummy WaschmaschineHoherVerbrauch ändert. Da der dummy nicht gesetzt wird kann ich auch noch nicht sagen ob die weiteren Schritt funktionieren. Über einen Tip wäre ich sehr dankbar.

Hier der Auszug aus meiner Fhem Config
define Leistungsmesser_02_Watt dummy
attr Leistungsmesser_02_Watt room Bad
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 WaschmaschineBetriebAn on;; setstate WaschmaschineAutoOff defined") if (ReadingsVal("Waschmaschine_Pwr","power","") >= 30 && Value("WaschmaschineBetriebAn") eq "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("WaschmaschineBetriebAn") 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("WaschmaschineBetriebAn") 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 WaschmaschineBetriebAn standby
attr WaschmaschineAutoStandby regexp1WontReactivate 1
attr WaschmaschineAutoStandby room Bad

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3589
Antw:Waschmaschine fertig
« Antwort #1 am: 07 Februar 2016, 18:10:41 »
Ich habe es mit einem DOIF gelöst:

Ergänzter Auszug aus dem DEF-Editor:
Waschmasch_di DOIF ([Waschmaschine_Pwr:power] > 0.1 and [?Waschmasch_di] =~ "cmd_4|initialized")
      (({Log 3, "Waschmaschine: Ein"}))## Schalter ein
DOELSEIF ([Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_1")
     (({Log 3, "Waschmaschine: Programmstart"}))
DOELSEIF ([Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_2") ## Ende (wenn länger als 5 min < 20)
     (({Log 3, "Waschmaschine: Programmende"}))
DOELSEIF ([Waschmaschine_Pwr:power] < 0.1 or [Waschmaschine_Pwr:power] > 20 and [?Waschmasch_di] eq "cmd_3")
     (({Log 3, "Waschmaschine: Aus"}))## Schalter aus oder Neustart ohne aus

und die Attribute

do resetwait
repeatcmd 0:0:300:0
wait 0:0:300:0

Das DOIF startet, wenn die Waschmaschine aus ist (cmd_4) oder das DOIF initialisiert ist und power > 0.1 ist.
Wenn power > 20 nach cmd_1 wird der Programmstart angezeigt.
Wenn power länger als 5 Minuten unter 20 liegt nach cmd_2, dann ist die Maschine fertig.
Nach cmd_3 und bei power < 0.1 ist die Maschine ausgeschaltet oder falls eine weitere Maschine gewaschen wird, ohne auszuschalten, geht die Maschine über "Aus" (cmd_4) in den "Ein" Zustand.

siehe http://fhem.de/commandref_DE.html#DOIF
Gefällt mir Gefällt mir x 4 Liste anzeigen

Offline Yil

  • Full Member
  • ***
  • Beiträge: 221
Antw:Waschmaschine fertig
« Antwort #2 am: 14 Februar 2016, 21:57:42 »
Coole Sache. Ich hab den DOIF-Ausdruck mal bei mir übernommen und auf einen Fibaro-Stecker angewandt mit dem Ergebnis, dass dieser bei:

ZWAVE_Schalter_6:power
z.B. einen  Wert von "20.4 W" ausgibt.

Frage hierzu: wie filtert man das Leerzeichen und das "W" weg, so dass sich ein korrekter numerischer Ausdruck ergibt?

(Ich weiß, Anfängerfrage ...)

VG Yil
« Letzte Änderung: 16 Februar 2016, 16:25:49 von Yil »
HM CCU2 mit ca. 35 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth
Osram Lightify

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21711
Antw:Waschmaschine fertig
« Antwort #3 am: 14 Februar 2016, 22:13:26 »
Gib mal Deinen ganzen Code bitte.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline Bennemannc

  • Hero Member
  • *****
  • Beiträge: 2726
Antw:Waschmaschine fertig
« Antwort #4 am: 14 Februar 2016, 22:16:24 »
Hallo,

commandref lesen - readingsnum finden - umsetzen als userReading und das nehmen.

Gruß Christoph

PS. Das habe ich auch gerade erst nachgeschaut ;-)
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6466
Antw:Waschmaschine fertig
« Antwort #5 am: 14 Februar 2016, 22:16:59 »
Colle Sache. Ich hab den DOIF-Ausdruck mal bei mir übernommen und auf einen Fibaro-Stecker angewandt mit dem Ergebnis, dass dieser bei:

ZWAVE_Schalter_6:power
z.B. einen  Wert von "20.4 W" ausgibt.

Frage hierzu: wie filtert man das Leerzeichen und das "W" weg, so dass sich ein korrekter numerischer Ausdruck ergibt?

(Ich weiß, Anfängerfrage ...)

VG Yil
[ZWAVE_Schalter_6:power:d]
http://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen

Gruß

Damian
Programmierte FHEM-Module: DOIF mit uiTable, DOIF-Perl, THRESHOLD, FHEM-Befehl: IF

Offline Yil

  • Full Member
  • ***
  • Beiträge: 221
Antw:Waschmaschine fertig
« Antwort #6 am: 14 Februar 2016, 22:24:55 »
Das DOIF-Modul ist schon der Hammer!  8) Danke!

Zur Vollständigkeit der ganze (nun aktualisierte Code):

define Waschmasch_di DOIF ([ZWAVE_Schalter_6:power:d] > 0.1 and [?Waschmasch_di] =~ "cmd_4|initialized") \
      (({Log 3, "Waschmaschine: Ein"}))  \
DOELSEIF ([ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_1") \
     (({Log 3, "Waschmaschine: Programmstart"})) \
DOELSEIF ([ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_2") \
     (({Log 3, "Waschmaschine: Programmende"})) \
DOELSEIF ([ZWAVE_Schalter_6:power:d] < 0.1 or [ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_3") \
     (({Log 3, "Waschmaschine: Aus"}))
HM CCU2 mit ca. 35 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth
Osram Lightify

Offline kvo1

  • Hero Member
  • *****
  • Beiträge: 1473
  • FHEMonaut
Antw:Waschmaschine fertig
« Antwort #7 am: 15 Februar 2016, 08:41:01 »
danke für Lösung !
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Offline willib

  • Full Member
  • ***
  • Beiträge: 243
Antw:Waschmaschine fertig
« Antwort #8 am: 16 Mai 2017, 16:07:20 »
Die Aus Meldung kommt, so wie ich das sehe, nur wenn alle Schleifen durchlaufen sind. Wie bekomme ich den Status der Maschine sauber dargestellt wenn ich die Maschine zwischendurch abschalte? z.B. Weil ich sie versehentlich eingeschaltet habe?
Müsste hier nicht ein < stehen?DOELSEIF ([ZWAVE_Schalter_6:power:d] > 20 and [?Waschmasch_di] eq "cmd_2") \
     (({Log 3, "Waschmaschine: Programmende"})) \

Raspberry Pi 3B, Homematic, Hue, Intertechno, Jeelink, Harmony Hub, VU+ Uno 4K, Sonos

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3589
Antw:Waschmaschine fertig
« Antwort #9 am: 17 Mai 2017, 11:10:51 »
Wie bekomme ich den Status der Maschine sauber dargestellt wenn ich die Maschine zwischendurch abschalte? z.B. Weil ich sie versehentlich eingeschaltet habe?
Zitat
DOELSEIF ([ZWAVE_Schalter_6:power:d] < 0.1 or ...

Einfach mal ausprobieren ;)

Offline willib

  • Full Member
  • ***
  • Beiträge: 243
Antw:Waschmaschine fertig
« Antwort #10 am: 13 Januar 2018, 22:41:47 »
Ich bekomme mit dem Code von Yil einen Error in den readings.
condition c02: Unrecognized character \xC2; marked by <-- HERE after ','d') > 4<-- HERE near column 56, line 1.Was muss ich tun um den los zu werden?
Danke
« Letzte Änderung: 14 Januar 2018, 00:32:27 von willib »
Raspberry Pi 3B, Homematic, Hue, Intertechno, Jeelink, Harmony Hub, VU+ Uno 4K, Sonos

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3589
Antw:Waschmaschine fertig
« Antwort #11 am: 14 Januar 2018, 09:02:25 »
Ersetze das nicht erkannte Zeichen durch eines, das Perl kennt oder lösche es.
« Letzte Änderung: 14 Januar 2018, 09:04:31 von Ellert »

Offline willib

  • Full Member
  • ***
  • Beiträge: 243
Antw:Waschmaschine fertig
« Antwort #12 am: 14 Januar 2018, 10:32:28 »
Danke für den Hinweis. Leider verstehe ich nicht welches das nicht erkannte Zeichen ist. Ich habe den code eins zu eins von Yil übernommen.
Raspberry Pi 3B, Homematic, Hue, Intertechno, Jeelink, Harmony Hub, VU+ Uno 4K, Sonos

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3589
Antw:Waschmaschine fertig
« Antwort #13 am: 14 Januar 2018, 11:20:14 »
Danke für den Hinweis. Leider verstehe ich nicht welches das nicht erkannte Zeichen ist. Ich habe den code eins zu eins von Yil übernommen.
Es ist das Zeichen mit Hex-Format \xC2, wie hier gemeldet: Unrecognized character \xC2.

Offline willib

  • Full Member
  • ***
  • Beiträge: 243
Antw:Waschmaschine fertig
« Antwort #14 am: 16 Januar 2018, 12:18:21 »
Ich habe mal die Leerzeichen hinter 4 gelöscht und neu geschrieben. Hier war anscheinend das \xC2 unsichtbar drin. Jetzt geht es. Danke.
Raspberry Pi 3B, Homematic, Hue, Intertechno, Jeelink, Harmony Hub, VU+ Uno 4K, Sonos

 

decade-submarginal