Anpassung Waschmaschie fertig auf Revolt

Begonnen von masterpete23, 01 Dezember 2015, 14:49:57

Vorheriges Thema - Nächstes Thema

masterpete23

Ja so langsam frage ich mich auch was ich brauch und du hast recht: testen und dann nochmal überlegen ob das nicht reicht wenn 5 Minuten unter 3 Watt dann fertig.
Ich berichte ...

Brice

Ich habe mich mehr als 2 Jahre mit einer FS20FMS (Funk-Master-Slave) und unbefriedigenden Ergebnissen für "Waschmaschine-fertig" gequält und den "WAF" in den Keller gebracht  ;D

Zitat von: masterpete23 am 03 Dezember 2015, 15:32:04
Ja so langsam frage ich mich auch was ich brauch

Seit ich die DECT200 von AVM nutze, läuft es per THRESHOLD perfekt: Waschmaschine oder Trockner gehen in den Standby und "fertig" wird ohne Verzögerung gemeldet.
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

masterpete23

Hättest du netterweise den Code dafür. Danke

Gesendet von meinem Huawei Honor 7


drhirn

DOIF = notify + at + threshold + watchdog
Schau dir also lieber das mal genauer an. Da z.B. http://www.fhemwiki.de/wiki/DOIF#Waschmaschine_Fertigmeldung

Damian

Zitat von: drhirn am 03 Dezember 2015, 20:06:58
DOIF = notify + at + threshold + watchdog
Schau dir also lieber das mal genauer an. Da z.B. http://www.fhemwiki.de/wiki/DOIF#Waschmaschine_Fertigmeldung

oder einfach das Beispiel aus der Commandref zu DOIF:

Anwendungsbeispiel: Benachrichtung "Waschmaschine fertig", wenn Verbrauch mindestens 5 Minuten unter 2 Watt (Perl-Code wird in geschweifte Klammern gesetzt):

define di_washer DOIF ([power:watt]<2) ({system("wmail washer finished")})
attr di_washer wait 300


Eine erneute Benachrichtigung wird erst wieder ausgelöst, wenn zwischendurch der Verbrauch über 2 Watt angestiegen war.

Gruß

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

Brice

@masterpete23
DECT200 ist als "Waschmaschine definiert:

define Waschmaschine FBDECT 17 switch

Threshold (im Standby verbraucht die Waschmaschine 1,35 Watt, also Threshold auf 1,5 Watt definiert):

define th_Waschmaschine THRESHOLD Waschmaschine:power:0:1.5||||on:off|_sc
attr th_Waschmaschine state_cmd1_gt on
attr th_Waschmaschine state_cmd2_lt off
attr th_Waschmaschine state_format _sc


Pushnachricht via PushNotifier bei Ende:
define Notify_Waschmaschine_Push notify th_Waschmaschine:off set PushNachricht message Die Waschmaschine ist fertig, bitte die Wäsche entnehmen

Ich denke mal über eine Änderung auf DOIF nach....
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

Damian

Zitat von: Brice am 03 Dezember 2015, 21:55:21
@masterpete23
DECT200 ist als "Waschmaschine definiert:

define Waschmaschine FBDECT 17 switch

Threshold (im Standby verbraucht die Waschmaschine 1,35 Watt, also Threshold auf 1,5 Watt definiert):

define th_Waschmaschine THRESHOLD Waschmaschine:power:0:1.5||||on:off|_sc
attr th_Waschmaschine state_cmd1_gt on
attr th_Waschmaschine state_cmd2_lt off
attr th_Waschmaschine state_format _sc


Pushnachricht via PushNotifier bei Ende:
define Notify_Waschmaschine_Push notify th_Waschmaschine:off set PushNachricht message Die Waschmaschine ist fertig, bitte die Wäsche entnehmen

Ich denke mal über eine Änderung auf DOIF nach....

ja. DOIF ist natürlich universeller, auch wenn es mit THRESHOLD funktioniert. THRESHOLD ist auch kryptischer in der Syntax und auf Zweipunktregelung spezialisiert. Ein weiterer Vorteil bei DOIF ist es, eine Verzögerung anzugeben, um Schwankungen zu ignorieren  - das kann THRESHOLD nicht.

Gruß

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

masterpete23

Moin,
mit meiner Lösung erhalte ich
2015.12.03 22:45:06 3: Watchdog Revolt_Trockner.AutoStandby triggered
2015.12.03 22:45:06 3: Revolt_Trockner.WaschvorgangAbgeschlossen.Telegram.notify return value: syntax error at (eval 474389) line 1, near "fertig !"

2015.12.03 22:48:05 3: setstate Revolt_Trockner.AutoOff defined : Please define Revolt_Trockner.AutoOff first
2015.12.03 22:48:05 3: Revolt_Trockner.Betrieb.An.notify return value: Please define Revolt_Trockner.AutoOff first


Code:
define Revolt_Trockner.WaschvorgangAbgeschlossen.Telegram.notify notify Revolt_Trockner.Betrieb:standby { set teleBot message Der Trockner ist fertig !}
Ich denke mal die { können weg oder?

und bei
fhem ("setstate Revolt_Trockner.AutoOff defined");;\
Muss es wohl
fhem ("setstate Revolt_Trockner.AutoStandby defined");;\
heißen.

Gut wenn man copy und paste macht - besser wenn man es versteht.
DOIF scheint ja echt das ganze in einem Einzeiler zu schaffen.
Mal sehen wie es so geht...
Danke und ihr könnt erstmal weiter über euers diskutieren :)


Tedious

Das ist immer Geschmackssache :) Ich nutze die DoIfs einfach gerne weil Basic auf dem C64 seinerzeit die erste Sprache war die ich gelernt habe. Da war das "If-Then-Else" quasi Standard, daher finde ich das am übersichtlichsten und (für mich) am einfachsten zu verstehen.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

masterpete23

So mit beiden Lösungen hatte ich heute morgen telegram.me Nachrichten obwohl der Trockner nicht lief. Wie kann ich das Debuggen?

Gesendet von meinem Huawei Honor 7