FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Gruvol am 19 September 2017, 11:56:33

Titel: HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Gruvol am 19 September 2017, 11:56:33
Hallo allerseits,

ich habe mittlerweile die Füllstandsanzeige erfolgreich in die Zisterne eingebaut und konfiguriert.
Nun würde ich gerne über pushover informiert werden, wenn der Füllstand und 15% fällt. Dabei will ich aber nur einmal informiert werden und nicht bei jedem weiteren Zustand unter 15%.
Des Weiteren soll bei einem Füllstand über 90% ebenfalls einmalig eine Meldung über Pushover ausgelöst werden.

Meine Frage ist nun, welches Modul sollte man dafür nehmen? Aktuell denke ich, dass notify und doif in Frage kommen könnten. Mir stellt sich nur die Frage, wie ich das umsetzen soll, dass ich nur einmal informiert werde und nicht bei weiteren Zuständen, die sich in der Range befinden würden.

Ich hoffe, dass mich jemand unterstützen kann, bzw. Tipps für die Umsetzung.

Gruß
Gruvol
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 19 September 2017, 12:26:47
Hi,

DOIF macht das was Du willst von sich aus. Es verharrt in den Zuständen wenn sich das Ergebnis der Bedingung nicht ändert. Wäre mein simpelster Ansatz.
nur symbolisch:

DOIF (Wert < 15) (Nachricht1) DOELSEIF (Wert > 95) (Nachricht2)

Gruß Otto
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Gruvol am 19 September 2017, 16:41:27
Hallo,
danke für deine Bestätigung. Das habe ich soweit nun umgesetzt. Nachdem ich mir noch einmal die Commandref angeschaut habe, habe ich gesehen, dass man noch einige Attribute setzen kann. Dabei bin ich auf das "Do" aufmerksam geworden. Muss ich in meinen Fall demnach, wenn ich es richtig verstanden habe, das Do auf "always" setzen, damit er dies nicht nur Einmalig ausführt, sondern immer wenn die Bedingungen eintreffen?

Gruß
Gruvol
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 19 September 2017, 17:17:55
So ist es. Aber Du wolltest es doch einmalig?!

Gruß Otto
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 27 Oktober 2018, 20:30:05
Hallo,

hab das auch probiert, da ich von einem in einen anderen Tank umpumpen will, aber leider löst der Event nicht aus. Hier mein Code:

# ----- Programm für Bodentank voll ------


define Bodentank_voll DOIF ([Bodentank:level] > 98 ) (set Tankbefuellung on) DOELSE (set Tankbefuellung off)
attr Bodentank_voll room Garten

Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 27 Oktober 2018, 22:20:46
Hat gar nichts mit dem eigentlichen Problem zu tun, aber hier fehlt jegliche Bedingung
... DOELSEIF (set Tankbefuellung off)

Also DOELSE oder was willst Du für ein IF ?

Gruß Otto
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 29 Oktober 2018, 05:44:04
Im Prinzip will ich umpumpen wenn der Tank voll ist. Aber auch die Heizungsanlage funktioniert nicht mehr:

define 1OG_Clima_off DOIF ([HM_4CF5DB_Clima:measured-temp] > [HM_4CF5DB_Clima:desired-temp] or [Sommer:"on"]) (set HM_471C00_Sw_01 off)
attr 1OG_Clima_off room Heizung

define 1OG_Clima_on DOIF ([HM_4CF5DB_Clima:measured-temp] < [HM_4CF5DB_Clima:desired-temp] and [Sommer:"off"]) (set HM_471C00_Sw_01 on)
attr 1OG_Clima_on room Heizung

define EG_Clima_off DOIF ([HM_4CF5C7_Clima:measured-temp] > [HM_4CF5C7_Clima:desired-temp] or [Sommer:"on"]) (set HM_471C00_Sw_02 off)
attr EG_Clima_off room Heizung

define EG_Clima_on DOIF ([HM_4CF5C7_Clima:measured-temp] < [HM_4CF5C7_Clima:desired-temp] and [Sommer:"off"]) (set HM_471C00_Sw_02 on)
attr EG_Clima_on room Heizung
# ----- Programm für Bodentank voll ------


define Bodentank_voll DOIF ([Bodentank:level] > 99 ) (set Tankbefuellung on) DOELSE (set Tankbefuellung off)
attr Bodentank_voll room Garten


# ----- Programm für Bodentank voll ENDE ------

define BewaesserungsPumpeOnOff DOIF ([Bewaesserungskreis1:"on"] or [Bewaesserungskreis2:"on"] or [Bewaesserungskreis3:"on"] or [Tankbefuellung:"on"] or [Tropfschlauch:"on"]) (set Bewaesserungspumpe on) DOELSE (set Bewaesserungspumpe off)
attr BewaesserungsPumpeOnOff room Garten



Was irgendwie sehr komisch ist und ich find den Fehler nicht.

Lg

Alex
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 29 Oktober 2018, 09:04:57
Moin,

Du musst schon beschreiben was nicht geht. https://tty1.net/smart-questions_de.html#beprecise

Und Du kannst ein list Bodentank_voll zeigen, dort erkennt man eventuell was nicht geht.

Liefert [Bodentank:level] denn wirklich eine Zahl?

Gruß Otto
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 01 November 2018, 15:21:51
Moin,

bei der Tankbefüllung passiert einfach nichts, wenn die 100% erreicht sind.

bei der Heizung wird nur geschaltet wenn ich den Dummy einmal auf ein und dann auf aus schalte. Die Temperaturänderung löst selbst leider nicht aus.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 01 November 2018, 15:46:52
list Bodentank_voll  ???

Bei der Heizung fehlt wahrscheinlich do always ...
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 01 November 2018, 15:49:05
Danke für die schnelle Antwort, hab das do always bei den 4 Heizungszuständen mal eintragen.

list Bodentank_voll
Internals:
   DEF        ([Bodentank:level] > 99 ) (set Tankbefuellung on) DOELSE (set Tankbefuellung off)
   MODEL      FHEM
   NAME       Bodentank_voll
   NR         384
   NTFY_ORDER 50-Bodentank_voll
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2018-05-02 21:38:14   cmd             1
     2018-05-02 21:38:14   cmd_event       Bodentank_voll
     2018-05-02 21:38:14   cmd_nr          1
     2018-05-02 21:38:14   state           cmd_1
   Regex:
   condition:
     0          ::ReadingValDoIf($hash,'Bodentank','level') > 99
   devices:
     0           Bodentank
     all         Bodentank
   do:
     0:
       0          set Tankbefuellung on
     1:
       0          set Tankbefuellung off
   helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   perlblock:
   readings:
     0           Bodentank:level
     all         Bodentank:level
Attributes:
   room       Garten
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 01 November 2018, 15:55:59
z.B. hier:
attr 1OG_Clima do always

Ich denke von Bodentank:level kam noch nie ein Wert/Event!

Mach mal list Bodentank
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 01 November 2018, 16:05:42
list bodentank
Internals:
   CHANGED   
   DEF        3E4892
   HMLAN1_MSGCNT 1
   HMLAN1_RAWMSG E3E4892,0000,01DFE723,FF,FFCC,42A6103E4892007B140601C880
   HMLAN1_RSSI -52
   HMLAN1_TIME 2018-11-01 15:52:46
   HMLAN2_MSGCNT 1
   HMLAN2_RAWMSG E3E4892,0000,0A589198,FF,FFAD,42A6103E4892007B140601C880
   HMLAN2_RSSI -83
   HMLAN2_TIME 2018-11-01 15:52:46
   IODev      HMLAN2
   LASTInputDev HMLAN1
   MSGCNT     2
   NAME       Bodentank
   NOTIFYDEV  global
   NR         281
   NTFY_ORDER 50-Bodentank
   STATE      100
   TYPE       CUL_HM
   lastMsg    No:42 - t:10 s:3E4892 d:007B14 0601C880
   protLastRcv 2018-11-01 15:52:46
   protRcv    1 last_at:2018-11-01 15:52:46
   protSnd    1 last_at:2018-11-01 15:52:46
   protState  CMDs_done
   rssi_at_HMLAN1 cnt:1 min:-52 max:-52 avg:-52 lst:-52
   rssi_at_HMLAN2 cnt:1 min:-83 max:-83 avg:-83 lst:-83
   READINGS:
     2018-11-01 15:38:39   Activity        alive
     2017-03-03 19:18:51   CommandAccepted yes
     2017-02-26 20:27:13   D-firmware      1.3
     2017-02-26 20:27:13   D-serialNr      MEQ0690149
     2017-02-26 20:27:15   PairedTo        0x007B14
     2017-02-26 20:24:58   R-caseDesign    verticalBarrel
     2017-03-03 12:27:44   R-caseHigh      set_100 cm
     2017-02-26 20:26:34   R-caseLength    150 cm
     2017-02-26 20:25:53   R-caseWidth     150 cm
     2017-02-26 20:24:57   R-cyclicInfoMsgDis 6
     2017-02-26 20:27:16   R-fillLevel     100 cm
     2017-02-26 20:27:16   R-meaLength     120 cm
     2017-02-26 20:24:57   R-pairCentral   0x007B14
     2017-02-26 20:24:58   R-sign          off
     2017-02-26 20:24:58   R-useCustom     off
     2017-02-26 20:24:58   R-waterUppThr   255
     2017-02-26 20:24:58   R-waterlowThr   255
     2017-02-26 20:27:15   RegL_00.        02:01 0A:00 0B:7B 0C:14 11:06 14:06 18:00 00:00
     2017-02-26 20:27:16   RegL_01.        06:FF 07:FF 08:00 22:64 30:06 5B:01 5E:00 5F:6E  62:00 63:64 66:00 67:96 6A:00 6B:96 6C:00 6D:78  6E:00
     2018-11-01 15:52:46   battery         low
     2018-11-01 15:52:46   level           100
     2018-11-01 15:52:46   recentStateType info
     2018-11-01 15:52:46   state           100
   helper:
     HM_CMDNR   66
     mId        009F
     regLst     ,0,1,4p
     rxType     12
     supp_Pair_Rep 0
     ack:
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +3E4892,00,00,00
       nextSend   1541083966.93976
       rxt        2
       vccu       vccu
       p:
         3E4892
         00
         00
         00
       prefIO:
         HMLAN2
     mRssi:
       mNo        42
       io:
         HMLAN1:
           -52
           -52
         HMLAN2:
           -81
           -81
     prt:
       bErr       0
       sProc      0
       sleeping   1
       rspWait:
     q:
       qReqConf   00
       qReqStat   
     role:
       chn        1
       dev        1
     rpt:
       IO         HMLAN2
       flg        A
       ts         1541083966.84922
       ack:
         HASH(0x3f1e498)
         428002007B143E489200
     rssi:
       at_HMLAN1:
         avg        -52
         cnt        1
         lst        -52
         max        -52
         min        -52
       at_HMLAN2:
         avg        -83
         cnt        1
         lst        -83
         max        -83
         min        -83
Attributes:
   IODev      HMLAN2
   IOgrp      vccu:HMLAN2
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   event-on-change-reading 1
   event-on-update-reading 1
   expert     2_raw
   firmware   1.3
   icon       WLAN_Status.1
   model      HM-Sen-Wa-Od
   room       CUL_HM,Garten
   serialNr   MEQ0690149
   subType    sensor
   userReadings 1
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 01 November 2018, 20:34:23
Ich hab nun beim Clima das Programm soweit abgeändert. Beim Aktor im 2OG hab ich die gewünschte Temperatur auf 26.5 C gestellt (zum Test) und die aktuelle ist 24C aber es wird der Switch 02 nicht aktiviert.

Der Code dazu ist:

define 1OG_Clima DOIF (([HM_4CF5DB_Clima:measured-temp] < [HM_4CF5DB_Clima:desired-temp]) and [Sommer:"off"]) (set HM_471C00_Sw_01 on) DOELSE (set HM_471C00_Sw_01 off)
attr 1OG_Clima do always
attr 1OG_Clima room Heizung

define EG_Clima DOIF (([HM_4CF5C7_Clima:measured-temp] < [HM_4CF5C7_Clima:desired-temp]) and [Sommer:"off"]) (set HM_471C00_Sw_02 on) DOELSE (set HM_471C00_Sw_02 off)
attr EG_Clima do always
attr EG_Clima room Heizung


In der Grafik sieht es auch richtig aus.

Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 01 November 2018, 20:44:38
Zitatevent-on-change-reading 1
   event-on-update-reading 1
Damit erzeugst Du überhaupt keine Events!

Diese Einstellung ist absoluter nonsens!
https://fhem.de/commandref_DE.html#readingFnAttributes

Zitatevent-on-change-reading
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings". Wenn gesetzt, erzeugen nur Veränderungen der gelisteten "readings" ein Ereignis. Wenn die aktualiserten Werte der gelisteten "readings" identisch sind, wird kein Ereignis generiert.

Wenn dies bei allen deinen Geräten so ist, kannst Du jede Automatisierungslogik vergessen!  :o

Gruß Otto
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 01 November 2018, 20:47:52
Das hab ich dort mal entfernt. Mal schauen wann der Bodentank das nächste mal ein Update schickt ...
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: frank am 01 November 2018, 21:22:18
attr userReadings ebenso. => löschen.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 01 November 2018, 21:24:31
die hab ich inzwischen auch schon gelöscht, aber leider immer noch keine Änderung :(
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: frank am 01 November 2018, 21:32:29
angenommen das schnellste update intervall ist 3min. dann wird mit dem register cyclicInfoMsgDis=6 6 mal senden unterdrückt. somit müsste immer nach 7x3=21 min erneut gesendet werden. also warten, oder den wert verkleinern.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: frank am 01 November 2018, 21:35:38
ausserdem würde ich hmlan1 als prefered io setzen, da er deutlich bessere rssi hat.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 08:57:32
Hab jetzt die ganze Nacht gewartet und es ist leider nichts passiert :(

Auch der Tank wird nicht umgepumpt, der hat weiterhin einen Füllstand von 100% und die Heizung ist aus :(
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: frank am 02 November 2018, 09:10:48
poste ein aktuelles list.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 09:15:50
list Bodentank
Internals:
   DEF        3E4892
   HMLAN1_MSGCNT 47
   HMLAN1_RAWMSG E3E4892,0000,027B9C7E,FF,FFCB,78A6103E4892007B140601C880
   HMLAN1_RSSI -53
   HMLAN1_TIME 2018-11-02 08:59:49
   HMLAN2_MSGCNT 37
   HMLAN2_RAWMSG E3E4892,0000,0E0508F6,FF,FFA2,78A6103E4892007B140601C880
   HMLAN2_RSSI -94
   HMLAN2_TIME 2018-11-02 08:59:49
   IODev      HMLAN2
   LASTInputDev HMLAN2
   MSGCNT     84
   NAME       Bodentank
   NOTIFYDEV  global
   NR         281
   STATE      100
   TYPE       CUL_HM
   lastMsg    No:78 - t:10 s:3E4892 d:007B14 0601C880
   protLastRcv 2018-11-02 08:59:49
   protRcv    37 last_at:2018-11-02 08:59:49
   protSnd    40 last_at:2018-11-02 08:59:49
   protState  CMDs_done
   rssi_at_HMLAN1 cnt:47 min:-56 max:-52 avg:-53.29 lst:-53
   rssi_at_HMLAN2 cnt:37 min:-96 max:-81 avg:-88.78 lst:-94
   READINGS:
     2018-11-01 21:25:36   Activity        alive
     2017-03-03 19:18:51   CommandAccepted yes
     2017-02-26 20:27:13   D-firmware      1.3
     2017-02-26 20:27:13   D-serialNr      MEQ0690149
     2017-02-26 20:27:15   PairedTo        0x007B14
     2017-02-26 20:24:58   R-caseDesign    verticalBarrel
     2017-03-03 12:27:44   R-caseHigh      set_100 cm
     2017-02-26 20:26:34   R-caseLength    150 cm
     2017-02-26 20:25:53   R-caseWidth     150 cm
     2017-02-26 20:24:57   R-cyclicInfoMsgDis 6
     2017-02-26 20:27:16   R-fillLevel     100 cm
     2017-02-26 20:27:16   R-meaLength     120 cm
     2017-02-26 20:24:57   R-pairCentral   0x007B14
     2017-02-26 20:24:58   R-sign          off
     2017-02-26 20:24:58   R-useCustom     off
     2017-02-26 20:24:58   R-waterUppThr   255
     2017-02-26 20:24:58   R-waterlowThr   255
     2017-02-26 20:27:15   RegL_00.        02:01 0A:00 0B:7B 0C:14 11:06 14:06 18:00 00:00
     2017-02-26 20:27:16   RegL_01.        06:FF 07:FF 08:00 22:64 30:06 5B:01 5E:00 5F:6E  62:00 63:64 66:00 67:96 6A:00 6B:96 6C:00 6D:78  6E:00
     2018-11-02 08:59:49   battery         low
     2018-11-02 08:59:49   level           100
     2018-11-02 08:59:49   recentStateType info
     2018-11-02 08:59:49   state           100
   helper:
     HM_CMDNR   120
     mId        009F
     regLst     ,0,1,4p
     rxType     12
     supp_Pair_Rep 0
     ack:
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +3E4892,00,00,00
       nextSend   1541144299.30604
       rxt        2
       vccu       vccu
       p:
         3E4892
         00
         00
         00
       prefIO:
         HMLAN2
     mRssi:
       mNo        78
       io:
         HMLAN1:
           -53
           -53
         HMLAN2:
           -92
           -92
     prt:
       bErr       0
       sProc      0
       sleeping   1
       rspWait:
     q:
       qReqConf   00
       qReqStat   
     role:
       chn        1
       dev        1
     rpt:
       IO         HMLAN1
       flg        A
       ts         1541145589.80599
       ack:
         HASH(0x8573b38)
         788002007B143E489200
     rssi:
       at_HMLAN1:
         avg        -53.2978723404255
         cnt        47
         lst        -53
         max        -52
         min        -56
       at_HMLAN2:
         avg        -88.7837837837837
         cnt        37
         lst        -94
         max        -81
         min        -96
Attributes:
   IODev      HMLAN2
   IOgrp      vccu:HMLAN2
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   1.3
   icon       WLAN_Status.1
   model      HM-Sen-Wa-Od
   room       CUL_HM,Garten
   serialNr   MEQ0690149
   subType    sensor


list Bodentank_voll
Internals:
   DEF        ([Bodentank:level] > 99 ) (set Tankbefuellung on) DOELSE (set Tankbefuellung off)
   MODEL      FHEM
   NAME       Bodentank_voll
   NR         380
   NTFY_ORDER 50-Bodentank_voll
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2018-11-02 08:59:49   Device          Bodentank
     2018-05-02 21:38:14   cmd             1
     2018-05-02 21:38:14   cmd_event       Bodentank_voll
     2018-05-02 21:38:14   cmd_nr          1
     2018-11-02 08:59:49   e_Bodentank_level 100
     2018-05-02 21:38:14   state           cmd_1
   Regex:
   attr:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'Bodentank','level') > 99
   devices:
     0           Bodentank
     all         Bodentank
   do:
     0:
       0          set Tankbefuellung on
     1:
       0          set Tankbefuellung off
   helper:
     event      battery: low,level: 100,100
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Bodentank
     timerevent battery: low,level: 100,100
     triggerDev Bodentank
     timerevents:
       battery: low
       level: 100
       100
     timereventsState:
       battery: low
       level: 100
       state: 100
     triggerEvents:
       battery: low
       level: 100
       100
     triggerEventsState:
       battery: low
       level: 100
       state: 100
   internals:
   itimer:
   perlblock:
   readings:
     0           Bodentank:level
     all         Bodentank:level
   trigger:
   uiState:
   uiTable:
Attributes:
   room       Garten


list EG_Clima
Internals:
   DEF        (([HM_4CF5C7_Clima:measured-temp] < [HM_4CF5C7_Clima:desired-temp]) and [Sommer:"off"]) (set HM_471C00_Sw_02 on) DOELSE (set HM_471C00_Sw_02 off)
   MODEL      FHEM
   NAME       EG_Clima
   NR         375
   NTFY_ORDER 50-EG_Clima
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2018-11-02 09:11:40   Device          HM_4CF5C7_Clima
     2018-11-02 09:11:40   cmd             2
     2018-11-02 09:11:40   cmd_event       HM_4CF5C7_Clima
     2018-11-02 09:11:40   cmd_nr          2
     2018-11-02 09:11:40   e_HM_4CF5C7_Clima_desired-temp 24.0
     2018-11-02 09:11:40   e_HM_4CF5C7_Clima_measured-temp 23.6
     2018-11-01 20:25:44   e_Sommer_events off
     2018-11-02 09:11:40   state           cmd_2
   Regex:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          (::ReadingValDoIf($hash,'HM_4CF5C7_Clima','measured-temp') < ::ReadingValDoIf($hash,'HM_4CF5C7_Clima','desired-temp')) and ::EventDoIf('Sommer',$hash,'off',1)
   devices:
     0           HM_4CF5C7_Clima Sommer
     all         HM_4CF5C7_Clima Sommer
   do:
     0:
       0          set HM_471C00_Sw_02 on
     1:
       0          set HM_471C00_Sw_02 off
   helper:
     event      ValvePosition: 100,boostTime: -,controlMode: manual,desired-temp: 24.0,measured-temp: 23.6,partyEnd: -,partyStart: -,partyTemp: -,T: 23.6 desired: 24.0 valve: 100
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   HM_4CF5C7_Clima
     timerevent ValvePosition: 100,boostTime: -,controlMode: manual,desired-temp: 24.0,measured-temp: 23.6,partyEnd: -,partyStart: -,partyTemp: -,T: 23.6 desired: 24.0 valve: 100
     triggerDev HM_4CF5C7_Clima
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: HM_4CF5C7_Clima
       state: cmd_2
     timerevents:
       ValvePosition: 100
       boostTime: -
       controlMode: manual
       desired-temp: 24.0
       measured-temp: 23.6
       partyEnd: -
       partyStart: -
       partyTemp: -
       T: 23.6 desired: 24.0 valve: 100
     timereventsState:
       ValvePosition: 100
       boostTime: -
       controlMode: manual
       desired-temp: 24.0
       measured-temp: 23.6
       partyEnd: -
       partyStart: -
       partyTemp: -
       state: T: 23.6 desired: 24.0 valve: 100
     triggerEvents:
       ValvePosition: 100
       boostTime: -
       controlMode: manual
       desired-temp: 24.0
       measured-temp: 23.6
       partyEnd: -
       partyStart: -
       partyTemp: -
       T: 23.6 desired: 24.0 valve: 100
     triggerEventsState:
       ValvePosition: 100
       boostTime: -
       controlMode: manual
       desired-temp: 24.0
       measured-temp: 23.6
       partyEnd: -
       partyStart: -
       partyTemp: -
       state: T: 23.6 desired: 24.0 valve: 100
   internals:
   itimer:
   perlblock:
   readings:
     0           HM_4CF5C7_Clima:measured-temp HM_4CF5C7_Clima:desired-temp
     all         HM_4CF5C7_Clima:measured-temp HM_4CF5C7_Clima:desired-temp
   trigger:
     all         Sommer
   uiState:
   uiTable:
Attributes:
   do         always
   room       Heizung


list HM_4CF5C7
Internals:
   DEF        4CF5C704
   NAME       HM_4CF5C7_Clima
   NOTIFYDEV  global
   NR         306
   STATE      T: 23.6 desired: 24.0 valve: 100
   TYPE       CUL_HM
   chanNo     04
   device     HM_4CF5C7
   READINGS:
     2018-02-07 21:43:09   CommandAccepted yes
     2017-12-31 14:13:38   R-boostPos      80 %
     2017-12-31 14:13:38   R-btnNoBckLight off
     2017-12-31 14:13:38   R-dayTemp       24.5 C
     2017-12-31 14:13:38   R-daylightSaveTime on
     2017-12-31 14:13:38   R-modePrioManu  all
     2017-12-31 14:13:38   R-modePrioParty all
     2017-12-31 14:13:38   R-nightTemp     23.5 C
     2017-12-31 14:13:38   R-noMinMax4Manu off
     2017-12-31 14:13:38   R-regAdaptive   on
     2017-12-31 14:13:38   R-showInfo      time
     2017-11-05 15:22:49   R-sign          off
     2017-12-31 14:13:38   R-tempOffset    0.0K
     2017-12-31 14:13:38   R-valveOffsetRt 0 %
     2017-12-31 14:13:38   R-winOpnBoost   off
     2017-12-31 15:07:09   R_0_tempListSat 01:00 23.0 24:00 23.0
     2017-12-31 15:07:09   R_1_tempListSun 01:00 23.0 24:00 23.0
     2017-12-31 15:07:09   R_2_tempListMon 01:00 23.0 24:00 23.0
     2017-12-31 15:07:09   R_3_tempListTue 01:00 23.0 24:00 23.0
     2017-12-31 15:07:09   R_4_tempListWed 01:00 23.0 24:00 23.0
     2017-12-31 15:07:09   R_5_tempListThu 01:00 23.0 24:00 23.0
     2017-12-31 15:07:09   R_6_tempListFri 01:00 23.0 24:00 23.0
     2017-12-31 15:07:09   R_tempList_State verified
     2017-12-31 15:07:05   RegL_01.        08:00 00:00
     2017-12-31 15:07:09   RegL_07.        01:31 02:2F 03:09 04:3D 05:18 06:03 07:00 08:16 09:07 0A:30 0B:00 0C:64 0D:0F 0E:05 0F:00 10:00 11:00 12:09 13:8E 14:5C 15:0C 16:5D 17:20 18:55 19:20 1A:45 1B:20 1C:45 1D:20 1E:45 1F:20 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:5C 2F:0C 30:5D 31:20 32:55 33:20 34:45 35:20 36:45 37:20 38:45 39:20 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:5C 49:0C 4A:5D 4B:20 4C:55 4D:20 4E:55 4F:08 50:45 51:20 52:45 53:20 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:5C 63:0C 64:5D 65:20 66:55 67:20 68:55 69:08 6A:45 6B:20 6C:45 6D:20 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:5C 7D:0C 7E:5D 7F:20 80:55 81:20 82:55 83:08 84:45 85:20 86:45 87:20 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:5C 97:0C 98:5D 99:20 9A:55 9B:20 9C:55 9D:08 9E:45 9F:20 A0:45 A1:20 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:5C B1:0C B2:5D B3:20 B4:55 B5:20 B6:55 B7:08 B8:45 B9:20 BA:45 BB:20 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:12 CB:21 CC:2D CD:0F CE:1E CF:1E 00:00 01:31 02:2F 03:09 04:3D 05:18 06:03 07:00 08:16 09:07 0A:30 0B:00 0C:64 0D:0F 0E:05 0F:00 10:00 11:00 12:09 13:8E 14:5C 15:0C 16:5D 17:20 18:55 19:20 1A:45 1B:20 1C:45 1D:20 1E:45 1F:20 20:45 21:20 22:45 23:20 24:45 25:20 26:45 27:20 28:45 29:20 2A:45 2B:20 2C:45 2D:20 2E:5C 2F:0C 30:5D 31:20 32:55 33:20 34:45 35:20 36:45 37:20 38:45 39:20 3A:45 3B:20 3C:45 3D:20 3E:45 3F:20 40:45 41:20 42:45 43:20 44:45 45:20 46:45 47:20 48:5C 49:0C 4A:5D 4B:20 4C:55 4D:20 4E:55 4F:08 50:45 51:20 52:45 53:20 54:45 55:20 56:45 57:20 58:45 59:20 5A:45 5B:20 5C:45 5D:20 5E:45 5F:20 60:45 61:20 62:5C 63:0C 64:5D 65:20 66:55 67:20 68:55 69:08 6A:45 6B:20 6C:45 6D:20 6E:45 6F:20 70:45 71:20 72:45 73:20 74:45 75:20 76:45 77:20 78:45 79:20 7A:45 7B:20 7C:5C 7D:0C 7E:5D 7F:20 80:55 81:20 82:55 83:08 84:45 85:20 86:45 87:20 88:45 89:20 8A:45 8B:20 8C:45 8D:20 8E:45 8F:20 90:45 91:20 92:45 93:20 94:45 95:20 96:5C 97:0C 98:5D 99:20 9A:55 9B:20 9C:55 9D:08 9E:45 9F:20 A0:45 A1:20 A2:45 A3:20 A4:45 A5:20 A6:45 A7:20 A8:45 A9:20 AA:45 AB:20 AC:45 AD:20 AE:45 AF:20 B0:5C B1:0C B2:5D B3:20 B4:55 B5:20 B6:55 B7:08 B8:45 B9:20 BA:45 BB:20 BC:45 BD:20 BE:45 BF:20 C0:45 C1:20 C2:45 C3:20 C4:45 C5:20 C6:45 C7:20 C8:45 C9:20 CA:12 CB:21 CC:2D CD:0F CE:1E CF:1E 00:00
     2018-11-02 09:14:43   ValvePosition   100
     2018-11-02 09:14:43   boostTime       -
     2018-11-02 09:14:43   controlMode     manual
     2018-11-02 09:14:43   desired-temp    24.0
     2018-11-02 09:14:43   measured-temp   23.6
     2018-11-02 09:14:43   partyEnd        -
     2018-11-02 09:14:43   partyStart      -
     2018-11-02 09:14:43   partyTemp       -
     2018-02-07 21:43:09   recentStateType ack
     2018-11-02 09:14:43   state           T: 23.6 desired: 24.0 valve: 100
     2018-11-01 21:25:26   tempTmplSet     01:00
   helper:
     regLst     ,1,7
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     role:
       chn        1
     shRegR:
       07         00
Attributes:
   model      HM-CC-RT-DN
   peerIDs    00000000,
   room       Wohnzimmer
   tempListTmpl 01:00
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 09:31:17
Moin,

der level ist 100 und Du willst cmd1 bei > 99 -> das DOIF funktioniert meines Erachtens wie bestellt!?


Die DOIFs für die Heizung hast Du geändert, sorry ich sehe das jetzt erst:
Die Heizung triggerst Du lediglich auf den Event [Sommer:"off"] das ist sinnlos. Damit würde nur im Moment des Umschaltens von Sommer etwas passieren.

Dort sollte [Sommer] eq "off" stehen!

Gruß Otto
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 09:36:54
Ich sag doch mit diesem

DOIF ([Bodentank:level] > 99 ) (set Tankbefuellung on) DOELSE (set Tankbefuellung off)

Wenn Level (100) größer als 99 dann schalte Tankbefuellung auf On

Die Tankbefüllung pumpt aus dem Bodentank in den Reservetank um und soll immer schauen, dass das Level 99% nicht überschreitet. Da ich mit einer anderen Pumpte mit einem Schwimmer das Querwasser vom Haus in diesen Tank für die Bewässerung umpumpte. d.h.

Haus mit Schacht ab Bodenplattennivau via Schwimmer -> Bodentank -(wenn tank voll) > weiter zu Reservetank, der einen überlauf hat.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 09:39:17
Aber er steht in cmd1 also hat er set Tankbefuellung on gesendet. Was macht denn
set Tankbefuellung onin der FHEM Kommandozeile?
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 09:41:15
Hab ich gerade getestet, das schaltet die Pumpe ein und das Ventil für die Tankbefüllung auf durchfluss.

Nur macht er das eben nicht automatisch, wie im DoIF eigentlich definiert.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 09:42:55
Naja er steht in diesem Zustand schon lange
2018-05-02 21:38:14   cmd             1

Also offenbar ändert sich der Level seit dem nicht unter 99.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: frank am 02 November 2018, 09:59:03
vielleicht wurde die pumpe anders ausgeschaltet.
dann hängt das doif ohne attr do always in cmd1 fest, soweit ich dieses "monstrum" doif verstehe.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 10:02:30
eigentlich gibts im ganzen config file keine weitere stelle wo die pumpe ausgeschaltet wird. Wenn ichs händisch einschalte läuft sie auch.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 10:05:34
Zitat von: Alex76 am 02 November 2018, 10:02:30
eigentlich gibts im ganzen config file keine weitere stelle wo die pumpe ausgeschaltet wird. Wenn ichs händisch einschalte läuft sie auch.
Und sinkt denn dann der Pegel?

Deine alte DOIF Konstruktion hat nie einen Pegel Wert bekommen, weil Du die Events verhindert hast. Jetzt bekommt er 100. Er hat am 2 Mai die Pumpe eingeschaltet solange der Pegel nicht sinkt schaltet er nicht mehr aus und natürlich auch nicht ein. DOIF ist ja der Meinung es ist ein. Egal ob Du die Pumpe per Hand ausgeschaltet hast.

Du kannst natürlich noch den Zustand der Pumpe in deine Abfrage einbauen!

([Bodentank:level] > 99 and [Tankbefuellung] ne "on") (set Tankbefuellung on) DOELSE (set Tankbefuellung off)
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 10:08:01
Die Pegel bleiben stehen - Bodentank 100 und Reservetank 44 und keine Änderung auch nicht nach 10min Laufzeit.

Aber wenn ich fhem neu starte und ein Status kommt, müsste er ja wieder einschalten oder hab ich das falsch verstanden?

Aber bei der Heizung seh ich die Kurven auch in der Grafik die aus dem Log erzeugt wird und auch dort schaltet er nicht.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 10:10:27
Naja dann liegt es am Pegel Bodentank!

Mit FHEM Neustart sollte das alles nichts zu tun haben. Es wäre doch meistens unerwünscht wenn ein Neustart irgendwelche Schaltvorgänge auslöst.

Die Pegelwerte müssen sich ändern, sonst ist deine DOIF Logik witzlos.

Hast Du das Heizungs DOIF denn geändert? Gib mal ein aktuelles list. Dort siehst Du immer welche Werte empfangen werden und welche stehenbleiben.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 10:12:25
kein Problem:

Internals:
   DEF        (([HM_4CF5C7_Clima:measured-temp] < [HM_4CF5C7_Clima:desired-temp]) and [Sommer:"off"]) (set HM_471C00_Sw_02 on) DOELSE (set HM_471C00_Sw_02 off)
   MODEL      FHEM
   NAME       EG_Clima
   NR         375
   NTFY_ORDER 50-EG_Clima
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2018-11-02 10:10:04   Device          HM_4CF5C7_Clima
     2018-11-02 10:10:04   cmd             2
     2018-11-02 10:10:04   cmd_event       HM_4CF5C7_Clima
     2018-11-02 10:10:04   cmd_nr          2
     2018-11-02 10:10:04   e_HM_4CF5C7_Clima_desired-temp 24.0
     2018-11-02 10:10:04   e_HM_4CF5C7_Clima_measured-temp 23.7
     2018-11-01 20:25:44   e_Sommer_events off
     2018-11-02 10:10:04   state           cmd_2
   Regex:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          (::ReadingValDoIf($hash,'HM_4CF5C7_Clima','measured-temp') < ::ReadingValDoIf($hash,'HM_4CF5C7_Clima','desired-temp')) and ::EventDoIf('Sommer',$hash,'off',1)
   devices:
     0           HM_4CF5C7_Clima Sommer
     all         HM_4CF5C7_Clima Sommer
   do:
     0:
       0          set HM_471C00_Sw_02 on
     1:
       0          set HM_471C00_Sw_02 off
   helper:
     event      ValvePosition: 100,boostTime: -,controlMode: manual,desired-temp: 24.0,measured-temp: 23.7,partyEnd: -,partyStart: -,partyTemp: -,T: 23.7 desired: 24.0 valve: 100
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   HM_4CF5C7_Clima
     timerevent ValvePosition: 100,boostTime: -,controlMode: manual,desired-temp: 24.0,measured-temp: 23.7,partyEnd: -,partyStart: -,partyTemp: -,T: 23.7 desired: 24.0 valve: 100
     triggerDev HM_4CF5C7_Clima
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: HM_4CF5C7_Clima
       state: cmd_2
     timerevents:
       ValvePosition: 100
       boostTime: -
       controlMode: manual
       desired-temp: 24.0
       measured-temp: 23.7
       partyEnd: -
       partyStart: -
       partyTemp: -
       T: 23.7 desired: 24.0 valve: 100
     timereventsState:
       ValvePosition: 100
       boostTime: -
       controlMode: manual
       desired-temp: 24.0
       measured-temp: 23.7
       partyEnd: -
       partyStart: -
       partyTemp: -
       state: T: 23.7 desired: 24.0 valve: 100
     triggerEvents:
       ValvePosition: 100
       boostTime: -
       controlMode: manual
       desired-temp: 24.0
       measured-temp: 23.7
       partyEnd: -
       partyStart: -
       partyTemp: -
       T: 23.7 desired: 24.0 valve: 100
     triggerEventsState:
       ValvePosition: 100
       boostTime: -
       controlMode: manual
       desired-temp: 24.0
       measured-temp: 23.7
       partyEnd: -
       partyStart: -
       partyTemp: -
       state: T: 23.7 desired: 24.0 valve: 100
   internals:
   itimer:
   perlblock:
   readings:
     0           HM_4CF5C7_Clima:measured-temp HM_4CF5C7_Clima:desired-temp
     all         HM_4CF5C7_Clima:measured-temp HM_4CF5C7_Clima:desired-temp
   trigger:
     all         Sommer
   uiState:
   uiTable:
Attributes:
   do         always
   room       Heizung


Das ist jetzt fürs EG, der 1OG ist gleich im Prinzip und verhält sich ebenso tot.

Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 10:13:26
Hast Du meinen Hinweis nicht gelesen? #23
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 10:14:28
Das Problem mit dem Bodentank kann auch sehr verzögert kommen. glaub der schickt nur alle heiligen Zeiten ein update.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 10:14:59
and [Sommer:"off"]) das schaltet nur wenn Du den Schalter umlegst!
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 10:17:37
Danke, nö hatte ich überlesen, hab das nun geändert auf:

define 1OG_Clima DOIF (([HM_4CF5DB_Clima:measured-temp] < [HM_4CF5DB_Clima:desired-temp]) and [Sommer] eq "off") (set HM_471C00_Sw_01 on) DOELSE (set HM_471C00_Sw_01 off)
attr 1OG_Clima do always
attr 1OG_Clima room Heizung

define EG_Clima DOIF (([HM_4CF5C7_Clima:measured-temp] < [HM_4CF5C7_Clima:desired-temp]) and [Sommer] eq "off") (set HM_471C00_Sw_02 on) DOELSE (set HM_471C00_Sw_02 off)
attr EG_Clima do always
attr EG_Clima room Heizung



Worin besteht hier der Unterschied, dachte das ist nur die Schreibweise bzw. wann triggert DoIF bzw. nicht?
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: frank am 02 November 2018, 10:22:37
ZitatDie Pegel bleiben stehen - Bodentank 100 und Reservetank 44 und keine Änderung auch nicht nach 10min Laufzeit.
wenn nur alle 20min gesendet wird, kein wunder. ausserdem muss die pumpe in 20min auch genug rauspumpen können, sonst bist du schon bei 40min.

das prefered io hast du auch noch nicht gewechselt.
fhem möchte auch gern den wert vom register
2017-03-03 12:27:44   R-caseHigh      set_100 cm
wissen. wer weiss auf welcher höhe der wirklich steht.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 10:24:02
Nein der Unterschied ist grundlegend. Der Ausdruck [Sommer:"off"] wird in dem Moment war wo der Event eintrifft. Also genau in dem Moment wo du auf off schaltest und dann nie wieder!

Der Ausdruck [Sommer] eq "off" wird abgefragt wenn das DOIF arbeitet. Es fragt den Zustand ab, egal wann der Schalter geschaltet wird. Es wird auch abgefragt wenn der Schalter schaltet, aber eben auch wenn eine Temperaturänderung eintrifft.

Der Ausdruck [?Sommer] eq "off" würde das DOIF nicht triggern wenn Du den Schalter umlegst, sondern nur die Temperaturwerte würden das DOIF triggern, dabei würde aber wieder der Zustand des Schalters abgefragt.

Alles klar?
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 10:25:55
Der eine Teil läuft somit schon mal, die Heizung geht - vielen dank für die Erklärung, das war mir so nicht klar.

Nun ist noch abzuwarten, wann ich wieder eine Aktualisierung vom Tanksensor bekomme ...
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 10:28:47
Naja vor allem 100 ist ja der Anschlag. Kann ja sein (wie Frank vermutet) der steht eigentlich bei 200 und sinkt quasi erst wenn der Tank leer ist?
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 10:39:39
naja - ich hab das ding einmal kalibiert und das ist nun fast 2 Jahre her (deswegen steht der batteriestatus schon auf low) und da hat die anzeige ganz gut gepasst. Will damit eigentlich nur verhindern, dass der Tank übergeht und es wieder Richtung Haus läuft.
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Otto123 am 02 November 2018, 10:43:17
Naja Hauptsache er aktualisiert überhaupt noch?
Titel: Antw:HM-Sen-Wa-Od Zustände erkennen und Pushover auslösen
Beitrag von: Alex76 am 02 November 2018, 12:57:09
Updates kommen, hab einen Teil aus dem Tank genommen und hab nun 78%