ZigBee Gerät schaltet sich von selber wieder aus - mit ConBee I USB-Stick

Begonnen von Ruggy, 24 September 2022, 08:55:38

Vorheriges Thema - Nächstes Thema

Ruggy

Momentan bin ich etwas deprimiert.
Es geht nämlich jetzt schon wieder los. Es schaltet die andere Steckdose auch wieder von selber aus.  :-\
Also muß es doch an etwas anderen liegen.
Evlt. hat der ConBee-Stick einen defekt?
Anscheinend wird aber an den ConBee I auch nicht mehr so viel entwickelt und es liegt an entwas anderen?


Zitat von: Beta-User am 03 Oktober 2022, 14:44:54
Mancher kritische Unterton ist übrigens auch nicht böse gemeint, sondern z.B. das mit "verschone" war als "Schubs" gemeint, selbst anzuschauen, was da kommt und ggf. zu korrigieren ist.

Kein Problem. Wobei ich es Euch manchmal nicht verübeln könnte  ;)
Ich versuche schon, dass ich selber die Lösung finde. Oft bleibe ich aber an einen Detail hängen und frage lieber, bevor ich noch mehr kaputt mache.
Schon bei diesem Problem habe ich etliche Stunden verbracht und probiert und bin jetzt wieder nicht weiter.

Wahrscheinlich hätte es gar kein neues OS benötigt. Wobei ich jetzt schon froh bin, dass dieses jetzt mal wieder aktuell ist (auf diesen Raspberry zumindest...  :-\)

Ruggy

Die Steckdose schaltet sich sogar automatisch aus, auch wenn ich sie manuell am Taster einschalte.

Beta-User

Vielleicht solltest du zum einen dann man den Thread-Titel ändern - mit der FHEM-Logik oder einem bestimmten Modul hat es dann wohl eher wenig zu tun, sondern  eher damit, dass der von dir eingesetzte Aktor vielleicht einfach nicht für die Aufgabe gemacht ist, die du von ihm erwartest.

Wir wissen bisher noch nicht, welche Art Lüfter an dem Ding hängt, aber manche E-Motoren haben relativ hohe Anlaufströme - und das kann eben nicht jeder Aktor ab... Wenn das also eher was größeres ist, erhöht das die Wahrscheinlichkeit, dass das das Problem ist (oder vielleicht hat auch der Lüfter selbst einen Hau; sowas kann es auch geben).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Ruggy

Die Lüfter benötigen nicht viel Strom. Es sind zwei Lüfter, welche gleichzeitig einschalten. Insgesamt brauchen sie 50 Watt.

Habe jetzt anstatt der Osram Smart+ Plug Steckdose eine Shelly Plug1 verwendet. Dies funktioniert bisher.
Die Lüfterklappten vom Rohr bleiben vorerst immer geöffnet. Das Xiaomi Schaltrelais dafür ist abgeklemmt.

Dies ist ein Notbehelf, damit der Keller zumindest wieder belüftet wird.


Hab vor, einen Conbee II Stick bestellen. Evlt. liegt es ja an diesen?
Oder gibt es einen "besseren" für Zigbee?

Welcher Schaltaktor wäre zuverlässiger als der Xiaomi (benötige 2 Relais)?
Der Homematic 2fach Unterputz Schaltaktor?

Oder gäbe es eine zuverlässigere Methode (nur für die Schaltung für die Lüftung)?


Zitat von: Ruggy am 03 Oktober 2022, 19:05:34
Die Steckdose schaltet sich sogar automatisch aus, auch wenn ich sie manuell am Taster einschalte.
Habe mich mal selber Zitiert.
Wie es aussieht ist dies aber nur, wenn sie mit den Conbee verbunden sind. Habe die Steckdose länger vom Strom gehabt und mehrmals einen Reset durchgeführt. Danach hat sie sich bisher nicht mehr selber ausgeschaltet.

Den Thread-Titel ändere ich. Fällt nur auf die schnelle nicht ein, was aussagekräftig für das Problem ist.

MadMax-FHEM

Vor dem Reset-Test hätte man noch fhem stoppen können, also deCONZ weiterlaufen lassen und schalten...

Nicht, dass doch eine "unbekannte" /"vergessene" Logik in fhem die Ursache ist...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Ruggy

Zitat von: MadMax-FHEM am 04 Oktober 2022, 08:16:16
Vor dem Reset-Test hätte man noch fhem stoppen können, also deCONZ weiterlaufen lassen und schalten...
Nicht, dass doch eine "unbekannte" /"vergessene" Logik in fhem die Ursache ist...
Gruß, Joachim

Stimmt, das wäre noch eine gute Möglichkeit gewesen um bei dem Problem wieder etwas auszuschließen.

Kann es eine verstecke Logik geben?
Das automatische ausschalten war auch gegeben, als ich eine andere Steckdose (mit anderen Gerätenamen HUEDevice9 und HUEDevice11) verwendet hatte.

Ruggy

Ich habe den Thread-Titel geändert (welcher eigenlich schon länger nicht mehr zutrifft).
Ich hoffe er ist jetzt passender.

Anfangs ging ich nämlich davon aus, dass es evlt. mit einem DOIF zusammenhängt. Dies ist aber nicht der Fall.

An was es genau liegt, konnte bisher noch nicht geklärt werden.
OS ist mittlerweile neu aufgesetzt.
ConBee I hat das aktuellste Firmware und "Software" Update.

Evlt. ist aber der ConBee I Stick defekt (Hardware; Firmware)?
Oder an einen anderen "verstecken" Fehler.

Das Problem ist (kurz und ganz grob zusammengefasst), dass eine Osram Smart+ Plug Steckdose sich nach kurzer Zeit wieder automatisch ausschaltet, nachdem sie mit einen DOIF eingeschaltet wurde.
Das selbe geschieht aber auch, wenn ich die Steckdose manuell am Taster oder mit set HUEDevice9 on einschalte.
(soweit ich es bisher feststellen konnte, ist dieses Schaltverhalten, nur wenn die Steckdose am ConBee angelernt ist)

Wie das DOIF ablaufen sollte ist in Beitrag #24 nochmal gezeigt. Ist aber bei dem Problem wahscheinlich nicht die Ursache.

Beta-User

Zitat von: Ruggy am 04 Oktober 2022, 08:12:46
Die Lüfter benötigen nicht viel Strom. Es sind zwei Lüfter, welche gleichzeitig einschalten. Insgesamt brauchen sie 50 Watt.
Die absolute Leistungsaufnahme ist uU. gar nicht das Problem, aber wie groß die "induktive Last" von deinen Lüftern sein kann, kann ich nicht beurteilen, ebensowenig, ob da sonst irgendwas komisches an Elektrosmog mit reinspielen könnte.

Zitat
Habe jetzt anstatt der Osram Smart+ Plug Steckdose eine Shelly Plug1 verwendet. Dies funktioniert bisher.
Das klingt danach, als wäre es ein spezifisches Problem dieser anderen Dosen.

Zitat
Die Lüfterklappten vom Rohr bleiben vorerst immer geöffnet. Das Xiaomi Schaltrelais dafür ist abgeklemmt.
Welcher Schaltaktor wäre zuverlässiger als der Xiaomi (benötige 2 Relais)?
Da der bei dir ja anscheinden zuverlässig funktioniert hat, würde ich den schlicht wieder anklemmen...

ZitatHab vor, einen Conbee II Stick bestellen. Evlt. liegt es ja an diesen?
An ein Problem des Hardwareinterfaces mag ich nicht recht glauben. Wenn der Conbee I sonst mit allem klarkommt, liegt da vermutlich nicht die Ursache, sondern eben irgendwo in der dahinterliegenden Logik, also deconz oder FHEM.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Ruggy

Evlt. doch ein "Logikproblem"?

Jetzt habe ich mal wieder Zeit gehabt mich damit zu beschäftigen und gesehen, dass es mit dem Shelly_Plug_1 auch nicht funktioniert.
Also kann es nicht am DeConz liegen.

Ich meine etwas gefunden zu haben, dass es evtl. doch mit einer bestimmten "Logik" zusammenhängt. Diese verstehe ich aber nicht ganz, wenn es daran liegen sollte.

Ich habe ja für die Lüftungssteuerung vier bzw. fünf DOIF für die verschiedenen Gegebenheiten. Der Gedanke dahinter ist, dass der Keller im Sommer nicht zu warm und im Winter nicht zu kalt wird und eine "Zwangslüftung, dass zumindest die Luft zweimal am Tag ausgetauscht wird.

TAUPUNKT_LUEFTUNG_KALT, TAUPUNKT_LUEFTUNG_NORMAL, TAUPUNKT_LUEFTUNG_WARM, TAUPUNKT_LUEFTUNG_WINTER sowie eine KELLER_ZWANGSLUEFTUNG

Für Testzwecke habe ich nur das DOIF  Shelly_Plug_1 im DOIF TAUPUNKT_LUEFTUNG_WARM geändert, weil es wegen den Bedingungen das aktuell zutreffende ist (Kellertemperatur).

Wenn ich jetzt die Shelly_Plug_1 im eigenen Device mit "on" einschalte, schaltet sich diese auch wieder automatisch ab. Wenn ich das DOIF TAUPUNKT_LUEFTUNG_WARM deaktiviere, schaltet sich die Shelly_Plug_1 nicht aus.
Also ist es wahrscheinlich so, dass das DOIF (so wie ich es angelegt habe) abgearbeitet wird und dann die Shelly_Plug_1 abschaltet, auch wenn die Bedingungen nicht erfüllt sind, durch das

DOELSE (set myShelly_Plug_1 off
im DOIF.
Kann dies der Fehler sein?


Als weiteren Test habe ich jetzt die ursprüngliche Steckdose über deConz (HUEDevice11) eingeschaltet und alle DOIF, welche sich darauf beziehen deaktiviert (TAUPUNKT_LUEFTUNG_KALT, TAUPUNKT_LUEFTUNG_NORMAL, TAUPUNKT_LUEFTUNG_WINTER).
Jetzt bleibt die Steckdose an und schaltet sich nicht automatisch aus.

Wenn ich jetzt eins von diesen DOIF aktiviere, dauert es nicht lange und die Steckdose schaltet sich automatisch aus.
Liegt es hier auch wieder an dem

DOELSE (set HUEDevice11 off im DOIF?


Falls dies der Fehler ist, wie kann ich diesen beseitigen?
Würde es reichen, wenn ich das DOELSE (set HUEDevice11 off einfach weg lasse?
Also, wenn die Bedingungen zutreffen, soll es ausgeführt werden, ansonsten soll nichts gemacht werden.


Hier ein List vom TAUPUNKT_LUEFTUNG_WARM (für die Shelly)

Internals:
   DEF        ([deltadewpoint:state]>3.4 and [KEL_LUFTFEUCHTIGKEIT:temperature]>=12 and [AUS_LUFTFEUCHTIGKEIT:temperature]<[KEL_LUFTFEUCHTIGKEIT:temperature])(set HUEDevice18 on-for-timer 17)(set myShelly_Plug_1 on-for-timer 2700)(set HUEDevice7 on-for-timer 17) DOELSE (set myShelly_Plug_1 off)
   FUUID      6060f068-f33f-f59f-7b67-d2e5224f86ac0104
   MODEL      FHEM
   NAME       TAUPUNKT_LUEFTUNG_WARM
   NOTIFYDEV  deltadewpoint,KEL_LUFTFEUCHTIGKEIT,AUS_LUFTFEUCHTIGKEIT,global
   NR         102
   NTFY_ORDER 50-TAUPUNKT_LUEFTUNG_WARM
   STATE      cmd_2
   TYPE       DOIF
   VERSION    26444 2022-09-25 16:29:19
   eventCount 14570
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1665909679.56718
           VALUE      cmd_2
   READINGS:
     2022-10-16 10:41:19   Device          AUS_LUFTFEUCHTIGKEIT
     2022-10-16 10:41:19   cmd             2
     2022-10-16 10:41:19   cmd_event       AUS_LUFTFEUCHTIGKEIT
     2022-10-16 10:41:19   cmd_nr          2
     2022-10-16 10:41:19   e_AUS_LUFTFEUCHTIGKEIT_temperature 14.88
     2022-10-16 10:41:19   e_KEL_LUFTFEUCHTIGKEIT_temperature 12.8
     2022-10-16 10:35:39   e_deltadewpoint_state -1.7
     2022-10-15 23:34:15   mode            enabled
     2022-10-16 10:41:19   state           cmd_2
     2022-10-13 23:33:20   wait_timer      no timer
   Regex:
     accu:
     collect:
     cond:
       AUS_LUFTFEUCHTIGKEIT:
         0:
           temperature ^AUS_LUFTFEUCHTIGKEIT$:^temperature:
       KEL_LUFTFEUCHTIGKEIT:
         0:
           temperature ^KEL_LUFTFEUCHTIGKEIT$:^temperature:
       deltadewpoint:
         0:
           state      ^deltadewpoint$:^state:
   attr:
     cmdState:
     repeatcmd:
       3000
     wait:
       0:
         0
         20
         2720
       1:
         0
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'deltadewpoint','state')>3.4 and ::ReadingValDoIf($hash,'KEL_LUFTFEUCHTIGKEIT','temperature')>=12 and ::ReadingValDoIf($hash,'AUS_LUFTFEUCHTIGKEIT','temperature')<::ReadingValDoIf($hash,'KEL_LUFTFEUCHTIGKEIT','temperature')
   do:
     0:
       0          set HUEDevice18 on-for-timer 17
       1          set myShelly_Plug_1 on-for-timer 2700
       2          set HUEDevice7 on-for-timer 17
     1:
       0          set myShelly_Plug_1 off
   helper:
     NOTIFYDEV  deltadewpoint,KEL_LUFTFEUCHTIGKEIT,AUS_LUFTFEUCHTIGKEIT,global
     event      temperature: 14.88
     globalinit 1
     last_timer 0
     sleepdevice deltadewpoint
     sleepsubtimer 0
     sleeptimer -1
     timerdev   AUS_LUFTFEUCHTIGKEIT
     timerevent temperature: 14.88
     triggerDev AUS_LUFTFEUCHTIGKEIT
     DOIF_eventa:
       cmd_nr: 2
       cmd: 2
       cmd_event: AUS_LUFTFEUCHTIGKEIT
       cmd_2
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: AUS_LUFTFEUCHTIGKEIT
       state: cmd_2
     bm:
       DOIF_Get:
         cnt        23
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        15.10. 22:43:06
         max        0.00181698799133301
         tot        0.00249385833740234
         mAr:
           HASH(0x34b73a8)
           TAUPUNKT_LUEFTUNG_WARM
           ?
       DOIF_Notify:
         cnt        21657
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        15.10. 03:25:35
         max        0.386093139648438
         tot        792.957351922989
         mAr:
           HASH(0x34b73a8)
           HASH(0x35af1f8)
       DOIF_Set:
         cnt        1416
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        15.10. 22:45:27
         max        0.0307021141052246
         tot        0.264838457107544
         mAr:
           HASH(0x34b73a8)
           TAUPUNKT_LUEFTUNG_WARM
           ?
     timerevents:
       temperature: 14.88
     timereventsState:
       temperature: 14.88
     triggerEvents:
       temperature: 14.88
     triggerEventsState:
       temperature: 14.88
   internals:
   perlblock:
   readings:
     all         deltadewpoint:state KEL_LUFTFEUCHTIGKEIT:temperature AUS_LUFTFEUCHTIGKEIT:temperature
   trigger:
   uiState:
   uiTable:
Attributes:
   do         always
   repeatcmd  3000
   room       Kellerlüftung
   wait       0,20,2720:0


List vom TAUPUNKT_LUEFTUNG_NORMAL (für die deConz)


Internals:
   DEF        ([deltadewpoint:state]>3.1 and
[KEL_LUFTFEUCHTIGKEIT:temperature]>10 and
[KEL_LUFTFEUCHTIGKEIT:temperature]<12)
(set HUEDevice18 on-for-timer 17)
(set HUEDevice11 on-for-timer 1200)
(set HUEDevice7 on-for-timer 17)
DOELSE
(set HUEDevice11 off)
   FUUID      6060ee07-f33f-f59f-9eb7-12b1002aa68bffa8
   MODEL      FHEM
   NAME       TAUPUNKT_LUEFTUNG_NORMAL
   NOTIFYDEV  KEL_LUFTFEUCHTIGKEIT,global,deltadewpoint
   NR         100
   NTFY_ORDER 50-TAUPUNKT_LUEFTUNG_NORMAL
   STATE      cmd_2
   TYPE       DOIF
   VERSION    26444 2022-09-25 16:29:19
   eventCount 11048
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1665909679.34347
           VALUE      cmd_2
   READINGS:
     2022-10-16 10:41:19   Device          KEL_LUFTFEUCHTIGKEIT
     2022-10-16 10:41:19   cmd             2
     2022-10-16 10:41:19   cmd_event       KEL_LUFTFEUCHTIGKEIT
     2022-10-16 10:41:19   cmd_nr          2
     2022-10-16 10:41:19   e_KEL_LUFTFEUCHTIGKEIT_temperature 12.8
     2022-10-16 10:35:39   e_deltadewpoint_state -1.7
     2022-10-15 23:33:40   mode            enabled
     2022-10-16 10:41:19   state           cmd_2
   Regex:
     accu:
     collect:
     cond:
       KEL_LUFTFEUCHTIGKEIT:
         0:
           temperature ^KEL_LUFTFEUCHTIGKEIT$:^temperature:
       deltadewpoint:
         0:
           state      ^deltadewpoint$:^state:
   attr:
     cmdState:
     repeatcmd:
       4800
     wait:
       0:
         0
         20
         1220
       1:
         0
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'deltadewpoint','state')>3.1 and  ::ReadingValDoIf($hash,'KEL_LUFTFEUCHTIGKEIT','temperature')>10 and  ::ReadingValDoIf($hash,'KEL_LUFTFEUCHTIGKEIT','temperature')<12
   do:
     0:
       0          set HUEDevice18 on-for-timer 17
       1          set HUEDevice11 on-for-timer 1200
       2          set HUEDevice7 on-for-timer 17
     1:
       0          set HUEDevice11 off
   helper:
     NOTIFYDEV  KEL_LUFTFEUCHTIGKEIT,global,deltadewpoint
     event      temperature: 12.8
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   KEL_LUFTFEUCHTIGKEIT
     timerevent temperature: 12.8
     triggerDev KEL_LUFTFEUCHTIGKEIT
     DOIF_eventa:
       cmd_nr: 2
       cmd: 2
       cmd_event: KEL_LUFTFEUCHTIGKEIT
       cmd_2
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: KEL_LUFTFEUCHTIGKEIT
       state: cmd_2
     bm:
       DOIF_Get:
         cnt        8
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.10. 10:41:54
         max        9.58442687988281e-05
         tot        0.000302553176879883
         mAr:
           HASH(0x3786420)
           TAUPUNKT_LUEFTUNG_NORMAL
           ?
       DOIF_Notify:
         cnt        11095
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        15.10. 13:38:18
         max        0.296895027160645
         tot        235.467659235001
         mAr:
           HASH(0x3786420)
           HASH(0x2c5b858)
       DOIF_Set:
         cnt        757
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        15.10. 23:30:15
         max        0.0243158340454102
         tot        0.120814085006714
         mAr:
           HASH(0x3786420)
           TAUPUNKT_LUEFTUNG_NORMAL
           disable
     timerevents:
       temperature: 12.8
     timereventsState:
       temperature: 12.8
     triggerEvents:
       temperature: 12.8
     triggerEventsState:
       temperature: 12.8
   internals:
   perlblock:
   readings:
     all         deltadewpoint:state KEL_LUFTFEUCHTIGKEIT:temperature
   trigger:
   uiState:
   uiTable:
Attributes:
   do         always
   repeatcmd  4800
   room       Kellerlüftung
   wait       0,20,1220:0

Ruggy

Leider funktioniert es immer noch nicht so wie es soll. Auf meine letzte Frage habe ich noch keine Antwort erhalten.
Wahrscheinlich habe ich zu viel geschrieben und es ist zu unübesichtlich geworten.

Wie ich geschrieben habe, könnte es sein, dass es doch ein Logikproblem innerhalt FHEM ist.

Ich versuche nur einen Teil der "Schaltung" mal zu zeigen, damit es evlt. etwas übersichtlicher wird.

Derzeit wird aufgrund der verschiedenen Temperaturen, das Notifi "TAUPUNKT_LUEFTUNG_WARM" aktiv.

Internals:
   DEF        ([deltadewpoint:state]>3.4 and [KEL_LUFTFEUCHTIGKEIT:temperature]>=12 and [AUS_LUFTFEUCHTIGKEIT:temperature]<[KEL_LUFTFEUCHTIGKEIT:temperature])(set HUEDevice18 on-for-timer 17)(set myShelly_Plug_1 on-for-timer 2700)(set HUEDevice7 on-for-timer 17) DOELSE (set myShelly_Plug_1 off)
   FUUID      6060f068-f33f-f59f-7b67-d2e5224f86ac0104
   MODEL      FHEM
   NAME       TAUPUNKT_LUEFTUNG_WARM
   NOTIFYDEV  global,AUS_LUFTFEUCHTIGKEIT,deltadewpoint,KEL_LUFTFEUCHTIGKEIT
   NR         101
   NTFY_ORDER 50-TAUPUNKT_LUEFTUNG_WARM
   STATE      cmd_1_2
   TYPE       DOIF
   VERSION    26444 2022-09-25 16:29:19
   eventCount 11706
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1668286199.71869
           VALUE      cmd_1_2
   READINGS:
     2022-11-12 22:25:31   Device          AUS_LUFTFEUCHTIGKEIT
     2022-11-12 21:49:59   cmd             1.2
     2022-11-12 21:49:59   cmd_event       deltadewpoint
     2022-11-12 21:49:59   cmd_nr          1
     2022-11-12 21:49:59   cmd_seqnr       2
     2022-11-12 22:25:31   e_AUS_LUFTFEUCHTIGKEIT_temperature 1.59
     2022-11-12 22:25:30   e_KEL_LUFTFEUCHTIGKEIT_temperature 12.03
     2022-11-12 22:14:05   e_deltadewpoint_state 10.4
     2022-10-22 17:52:03   mode            enabled
     2022-11-12 21:49:59   state           cmd_1_2
     2022-11-12 21:49:59   wait_timer      12.11.2022 22:35:19 cmd_1_3 deltadewpoint
   Regex:
     accu:
     collect:
     cond:
       AUS_LUFTFEUCHTIGKEIT:
         0:
           temperature ^AUS_LUFTFEUCHTIGKEIT$:^temperature:
       KEL_LUFTFEUCHTIGKEIT:
         0:
           temperature ^KEL_LUFTFEUCHTIGKEIT$:^temperature:
       deltadewpoint:
         0:
           state      ^deltadewpoint$:^state:
   attr:
     cmdState:
     repeatcmd:
       3000
     wait:
       0:
         0
         20
         2720
       1:
         0
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'deltadewpoint','state')>3.4 and ::ReadingValDoIf($hash,'KEL_LUFTFEUCHTIGKEIT','temperature')>=12 and ::ReadingValDoIf($hash,'AUS_LUFTFEUCHTIGKEIT','temperature')<::ReadingValDoIf($hash,'KEL_LUFTFEUCHTIGKEIT','temperature')
   do:
     0:
       0          set HUEDevice18 on-for-timer 17
       1          set myShelly_Plug_1 on-for-timer 2700
       2          set HUEDevice7 on-for-timer 17
     1:
       0          set myShelly_Plug_1 off
   helper:
     NOTIFYDEV  global,AUS_LUFTFEUCHTIGKEIT,deltadewpoint,KEL_LUFTFEUCHTIGKEIT
     event      temperature: 1.59
     globalinit 1
     last_timer 0
     sleepdevice deltadewpoint
     sleepsubtimer 2
     sleeptimer 0
     timerdev   AUS_LUFTFEUCHTIGKEIT
     timerevent temperature: 1.59
     triggerDev AUS_LUFTFEUCHTIGKEIT
     bm:
       DOIF_Get:
         cnt        11
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        12.11. 22:20:49
         max        0.000114202499389648
         tot        0.000474691390991211
         mAr:
           HASH(0x3fed4b8)
           TAUPUNKT_LUEFTUNG_WARM
           ?
       DOIF_Notify:
         cnt        21467
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        08.11. 12:39:21
         max        0.677268981933594
         tot        640.038106918335
         mAr:
           HASH(0x3fed4b8)
           HASH(0x384a180)
       DOIF_Set:
         cnt        75
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        12.11. 22:26:20
         max        0.000576019287109375
         tot        0.00722551345825195
         mAr:
           HASH(0x3fed4b8)
           TAUPUNKT_LUEFTUNG_WARM
           ?
     timerevents:
       temperature: 1.59
     timereventsState:
       temperature: 1.59
     triggerEvents:
       temperature: 1.59
     triggerEventsState:
       temperature: 1.59
   internals:
   perlblock:
   readings:
     all         deltadewpoint:state KEL_LUFTFEUCHTIGKEIT:temperature AUS_LUFTFEUCHTIGKEIT:temperature
   trigger:
   uiState:
   uiTable:
Attributes:
   do         always
   repeatcmd  3000
   room       Kellerlüftung
   wait       0,20,2720:0


Dieses schaltet den Lüfter richtigerweise ein. Dieser läuft aber nicht wie im notifi vorgegebene Zeit von 1200 Sekunden, sondern schaltet nach ein paar Sekunden automatisch wieder aus (derzeit ist eine Shelly Steckdose dran; also lage es anscheinden nicht am Osram smart plus).

Die Temperatur im Keller hat derzeit 12,03 Grad. Jedoch wird es während dem kurzen lüften nicht unter 12 Grad.
Also an der Grenze an dem dieses notify noch zuständig ist. Danach käme das notify "TAUPUNKT_LUEFTUNG_NORMAL" in Frage.


Kann es sein, dass das
DOELSE (set myShelly_Plug_1 off)
im gerade nicht zuständigen notify (z.B. das "TAUPUNKT_LUEFTUNG_NORMAL"), das laufende notify ausschaltet?

Internals:
   DEF        ([deltadewpoint:state]>3.1 and [KEL_LUFTFEUCHTIGKEIT:temperature]>10 and [KEL_LUFTFEUCHTIGKEIT:temperature]<12)(set HUEDevice18 on-for-timer 17)(set myShelly_Plug_1 on-for-timer 1200)(set HUEDevice7 on-for-timer 17) DOELSE (set myShelly_Plug_1 off)
   FUUID      6060ee07-f33f-f59f-9eb7-12b1002aa68bffa8
   MODEL      FHEM
   NAME       TAUPUNKT_LUEFTUNG_NORMAL
   NOTIFYDEV  KEL_LUFTFEUCHTIGKEIT,global,deltadewpoint
   NR         99
   NTFY_ORDER 50-TAUPUNKT_LUEFTUNG_NORMAL
   STATE      cmd_2
   TYPE       DOIF
   VERSION    26444 2022-09-25 16:29:19
   eventCount 7725
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1668288510.75713
           VALUE      cmd_2
   READINGS:
     2022-11-12 22:28:30   Device          KEL_LUFTFEUCHTIGKEIT
     2022-11-12 22:28:30   cmd             2
     2022-11-12 22:28:30   cmd_event       KEL_LUFTFEUCHTIGKEIT
     2022-11-12 22:28:30   cmd_nr          2
     2022-11-12 22:28:30   e_KEL_LUFTFEUCHTIGKEIT_temperature 12.03
     2022-11-12 22:14:05   e_deltadewpoint_state 10.4
     2022-11-12 21:44:45   mode            enabled
     2022-11-12 22:28:30   state           cmd_2
   Regex:
     accu:
     collect:
     cond:
       KEL_LUFTFEUCHTIGKEIT:
         0:
           temperature ^KEL_LUFTFEUCHTIGKEIT$:^temperature:
       deltadewpoint:
         0:
           state      ^deltadewpoint$:^state:
   attr:
     cmdState:
     repeatcmd:
       4800
     wait:
       0:
         0
         20
         1220
       1:
         0
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'deltadewpoint','state')>3.1 and ::ReadingValDoIf($hash,'KEL_LUFTFEUCHTIGKEIT','temperature')>10 and ::ReadingValDoIf($hash,'KEL_LUFTFEUCHTIGKEIT','temperature')<12
   do:
     0:
       0          set HUEDevice18 on-for-timer 17
       1          set myShelly_Plug_1 on-for-timer 1200
       2          set HUEDevice7 on-for-timer 17
     1:
       0          set myShelly_Plug_1 off
   helper:
     NOTIFYDEV  KEL_LUFTFEUCHTIGKEIT,global,deltadewpoint
     event      temperature: 12.03
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   KEL_LUFTFEUCHTIGKEIT
     timerevent temperature: 12.03
     triggerDev KEL_LUFTFEUCHTIGKEIT
     DOIF_eventa:
       cmd_nr: 2
       cmd: 2
       cmd_event: KEL_LUFTFEUCHTIGKEIT
       cmd_2
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: KEL_LUFTFEUCHTIGKEIT
       state: cmd_2
     bm:
       DOIF_Get:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        12.11. 22:20:57
         max        0.0001220703125
         tot        0.0001220703125
         mAr:
           HASH(0x415d7b0)
           TAUPUNKT_LUEFTUNG_NORMAL
           ?
       DOIF_Notify:
         cnt        49
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        12.11. 21:57:31
         max        0.466669082641602
         tot        3.30851268768311
         mAr:
           HASH(0x415d7b0)
           HASH(0x3695758)
       DOIF_Set:
         cnt        53
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        12.11. 22:20:57
         max        0.000663042068481445
         tot        0.00517725944519043
         mAr:
           HASH(0x415d7b0)
           TAUPUNKT_LUEFTUNG_NORMAL
           ?
     timerevents:
       temperature: 12.03
     timereventsState:
       temperature: 12.03
     triggerEvents:
       temperature: 12.03
     triggerEventsState:
       temperature: 12.03
   internals:
   readings:
     all         deltadewpoint:state KEL_LUFTFEUCHTIGKEIT:temperature
   trigger:
   uiState:
   uiTable:
Attributes:
   do         always
   repeatcmd  4800
   room       Kellerlüftung
   wait       0,20,1220:0



Ebenso passiert es nämlich auch, wenn ich die myShelly_Plug_1 in FHEM manuel auf on schalte.
Sorry, jetzt habe ich schon wieder mehr geschrieben, als ich vorgehabt hätte.


Damian

Der Auslöser ist die Kelller-Temperatur

     2022-11-12 22:28:30   cmd_nr          2
     2022-11-12 22:28:30   e_KEL_LUFTFEUCHTIGKEIT_temperature 12.03

und in diesem Augenblick ist entweder

[deltadewpoint:state]>3.4

oder

[AUS_LUFTFEUCHTIGKEIT:temperature]<[KEL_LUFTFEUCHTIGKEIT:temperature

nicht wahr.

Damit ist der ganze Ausdruck nicht wahr und der Off-Befehl schlägt zu.


Wenn das nicht so wäre, dann wäre Perl kaputt ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ruggy

[deltadewpoint:state]>3.4

ist wahr, weil dewpoint derzeit 10.4 hat

[AUS_LUFTFEUCHTIGKEIT:temperature]<[KEL_LUFTFEUCHTIGKEIT:temperature

ist auch wahr, weil Außentemperatur momentan 1.9 und Kellertemperatur derzeit 12.04 hat
1.9 < 12.04

Dies würde doch auch zutreffen. Die Temperatur liegt knapp über 12
[KEL_LUFTFEUCHTIGKEIT:temperature]>=12


Also müsste doch beides wahr sein und somit dürfte in diesem notify der Off Befehl nicht ausgeführt werden.
Oder habe ich das falsch verstanden?

Damian

ja, der Auszug

     2022-11-12 22:28:30   cmd_nr          2
     2022-11-12 22:28:30   e_KEL_LUFTFEUCHTIGKEIT_temperature 12.03

war aus dem zweiten DOIF, da war es dann eben

[deltadewpoint:state]>3.1 and [KEL_LUFTFEUCHTIGKEIT:temperature]>10 and [KEL_LUFTFEUCHTIGKEIT:temperature]<12
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ruggy

Ist es dann so, wie ich es jetzt vermutet habe (habe das Problem schon etwas länger und komme nicht dahinter), dass momentan das zweite DOIF das erste DOIF (was ja eigenlich von den Bedingungen das richtige wäre) ausschaltet, weil dessen Bedingungen nicht erfüllt sind?

Wie kann ich es aber machen, dass das zweite das erste nicht beeinflusst?
Derzeit sollte das erste DOIF ablaufen und nicht vom zweiten ausgeschaltet werden.

Was ist wenn ich das
DOELSE (set myShelly_Plug_1 off)
im DOIF bei allen Notifi weg lasse?

Also wenn die Bedingung zutrifft sollen die Befehle ausgeführt werden, wenn nicht, dann soll nichts gemacht werden.
Aber ohne DOELSE ist es ja kein komplettes DOIF.

Damian

Du hast zwei DOIFs definiert, die nichts von einander wissen, aber das gleich Device schalten. Und dann wunderst du dich?

Die Logik musst du entweder in ein DOIF verpacken oder die Zustände des einen DOIFs im anderen abfragen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF