Heizkörper / Fenstersensor über ein notify schalten

Begonnen von hadenia, 29 Dezember 2020, 17:30:55

Vorheriges Thema - Nächstes Thema

hadenia

Ich habe Eurotronic Spirit Heizkörperkörperthermostate, die über Weekprofil und Weekdaytimer ein tagesgesteuertes Temperaturprofil fahren.
Nun möchte ich den Fibaro Door/Window Sensor 2 einbinden um bei geöffnetem Fenster den Heizkörper mit tmOff auszuschalten und nach dm schließen des Fensters mit tmHeating wieder auf die Temperatur anstellen, die duch Weekprofil/Weekdaytimer vorgegeben ist.

Der Fibaro Door/Window Sensor 2 ist als ZWave ZWave_SENSOR_NOTIFICATION_30 definiert, der Heizkörperthermostat als ZWave_THERMOSTAT_3.

Ich habe es mit notify versucht, aber der Heizkörper reagiert nicht:

define Fenster_Schlafzimmer_Eltern_open notify ZWave_SENSOR_NOTIFICATION_30:open set ZWave_THERMOSTAT_3 tmHeating
define Fenster_Schlafzimmer_Eltern_closed notify ZWave_SENSOR_NOTIFICATION_30:closed set ZWave_THERMOSTAT_3 tmOff


Im Eventmonitor sehe ich wenn der Sensor geschlossen / geöffnet wird:

2020-12-29 17:20:18 ZWave ZWave_SENSOR_NOTIFICATION_30 alarm: AccessControl: Window/Door is closed
2020-12-29 17:20:18 ZWave ZWave_SENSOR_NOTIFICATION_30 alarm: AccessControl: Window/Door is open


Thermostat
Internals:
   DEF        e441b167 3
   FUUID      5fcf90c0-f33f-51ed-42b7-204793f673cc1bfc
   IODev      ZWDongle_0
   LASTInputDev ZWDongle_0
   MSGCNT     276
   NAME       ZWave_THERMOSTAT_3
   NR         17
   STATE      tmHeating
   STILLDONETIME 0
   TYPE       ZWave
   ZWDongle_0_MSGCNT 276
   ZWDongle_0_RAWMSG 000400030380032db600
   ZWDongle_0_TIME 2020-12-29 16:56:17
   ZWaveSubDevice no
   cmdsPending 0
   homeId     e441b167
   isWakeUp   
   lastMsgSent 1609258227.7773
   nodeIdHex  03
   webCmd     desired-temp
   READINGS:
     2020-12-29 16:56:17   battery         45 %
     2020-12-29 16:56:17   batteryPercent  45
     2020-12-29 16:56:17   batteryState    ok
     2020-12-29 15:59:24   neighborUpdate  failed
     2020-12-17 11:05:21   setpointTemp    21.0 C heating
     2020-12-29 17:10:27   state           tmHeating
     2020-12-29 14:44:17   temperature     20.16 C
     2020-12-29 16:12:41   thermostatMode  heating
     2020-12-29 17:10:29   timeToAck       1.511
     2020-12-29 17:10:29   transmit        OK
Attributes:
   IODev      ZWDongle_0
   classes    ZWAVEPLUS_INFO ASSOCIATION ASSOCIATION_GRP_INFO VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY PROTECTION SENSOR_MULTILEVEL SWITCH_MULTILEVEL THERMOSTAT_MODE THERMOSTAT_SETPOINT BATTERY CONFIGURATION ALARM POWERLEVEL SECURITY SECURITY_S2 TRANSPORT_SERVICE SUPERVISION FIRMWARE_UPDATE_MD
   room       Buero
   vclasses   ALARM:8 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BATTERY:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:3 MANUFACTURER_SPECIFIC:1 POWERLEVEL:1 PROTECTION:1 SECURITY:1 SECURITY_S2:1 SENSOR_MULTILEVEL:5 SUPERVISION:1 SWITCH_MULTILEVEL:1 THERMOSTAT_MODE:3 THERMOSTAT_SETPOINT:3 TRANSPORT_SERVICE:2 VERSION:2 ZWAVEPLUS_INFO:2


Sensor:
Internals:
   CFGFN     
   DEF        e441b167 30
   FUUID      5fe8e958-f33f-51ed-93a9-8d550ab241199412
   IODev      ZWDongle_0
   LASTInputDev ZWDongle_0
   MSGCNT     54
   NAME       ZWave_SENSOR_NOTIFICATION_30
   NR         415
   STATE      wakeupInterval 86400 1
   TYPE       ZWave
   ZWDongle_0_MSGCNT 54
   ZWDongle_0_RAWMSG 0004001e097105000000ff061700b600
   ZWDongle_0_TIME 2020-12-29 17:22:33
   ZWaveSubDevice no
   cmdsPending 0
   homeId     e441b167
   isWakeUp   1
   lastMsgSent 1609258821.11212
   nodeIdHex  1e
   READINGS:
     2020-12-29 17:20:19   CMD             ZW_APPLICATION_UPDATE
     2020-12-29 17:22:33   alarm           AccessControl: Window/Door is closed
     2020-12-29 15:47:16   battery         40 %
     2020-12-29 15:47:16   batteryPercent  40
     2020-12-29 15:47:16   batteryState    ok
     2020-12-29 17:02:46   configDoorWindowState Closed
     2020-12-27 21:07:24   model           FIBARO System FGDW002 Door Opening Sensor 2
     2020-12-27 21:07:24   modelConfig     fibaro/fgdw2.xml
     2020-12-27 21:07:24   modelId         010f-0702-1000
     2020-12-29 16:08:36   neighborUpdate  failed
     2020-12-27 21:07:20   state           wakeupInterval 86400 1
     2020-12-29 17:18:02   temperature     22.5 C
     2020-12-29 17:20:21   timeToAck       0.076
     2020-12-29 17:20:21   transmit        OK
     2020-12-29 17:04:11   wakeup          notification
     2020-12-27 21:07:25   zwavePlusInfo    version:01 role:SleepingReportingSlave node:Z-Wave+Node installerIcon:0c06 userIcon:0c06
Attributes:
   IODev      ZWDongle_0
   classes    ZWAVEPLUS_INFO ASSOCIATION ASSOCIATION_GRP_INFO APPLICATION_STATUS BATTERY CONFIGURATION CRC_16_ENCAP DEVICE_RESET_LOCALLY FIRMWARE_UPDATE_MD MANUFACTURER_SPECIFIC MULTI_CHANNEL_ASSOCIATION ALARM POWERLEVEL SECURITY SENSOR_MULTILEVEL VERSION WAKE_UP
   room       ZWave
   vclasses   ALARM:5 APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BATTERY:1 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:4 MANUFACTURER_SPECIFIC:2 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 SECURITY:1 SENSOR_MULTILEVEL:5 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2


Notify für Fenster offen:
Internals:
   CFGFN     
   DEF        ZWave_SENSOR_NOTIFICATION_30:open set ZWave_THERMOSTAT_3 tmHeating
   FUUID      5feb5305-f33f-51ed-e124-c74adcb4b4ebd4a2
   NAME       Fenster_Schlafzimmer_Eltern_open
   NOTIFYDEV  ZWave_SENSOR_NOTIFICATION_30
   NR         514
   NTFY_ORDER 50-Fenster_Schlafzimmer_Eltern_open
   REGEXP     ZWave_SENSOR_NOTIFICATION_30:open
   STATE      active
   TYPE       notify
   READINGS:
     2020-12-29 17:02:13   state           active
Attributes:


Notify für Fenster geschlossen:
Internals:
   CFGFN     
   DEF        ZWave_SENSOR_NOTIFICATION_30:closed set ZWave_THERMOSTAT_3 tmOff
   FUUID      5feb5318-f33f-51ed-1f7f-5faed0942a802502
   NAME       Fenster_Schlafzimmer_Eltern_closed
   NOTIFYDEV  ZWave_SENSOR_NOTIFICATION_30
   NR         516
   NTFY_ORDER 50-Fenster_Schlafzimmer_Eltern_closed
   REGEXP     ZWave_SENSOR_NOTIFICATION_30:closed
   STATE      active
   TYPE       notify
   READINGS:
     2020-12-29 17:02:32   state           active
Attributes:


In der Kommandozeile reagiert der Heizkörper auf die Befehle set ZWave_THERMOSTAT_3 tmHeating und set ZWave_THERMOSTAT_3 tmOff

Hat jemand eine Idee, warum der Heizkörper nicht auf das notify reagiert?




MadMax-FHEM

Ja, weil das RegEx des notify nicht passt.

Wie hast du es erstellt?

Einfach den Eventmonitor öffnen und die Zeile mit dem Event markieren und das notify erzeugen lassen und dann die geschweiften Klammern durch den entsprechenden set-Befehl ersetzen...

https://wiki.fhem.de/wiki/Event_monitor

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)

Beta-User

Na ja, schon in "Schritt 1" ist ein größeres Problem, wie MadMax-FHEM bereits geschrieben hat: Event und regexp passen m.E. nicht zueinander, und dann wäre da noch die Logik falsch rum...

Sowas legt man besser mit dem Event-Monitor an. Hier mal die ungetestete Trockenübung:
define Fenster_Schlafzimmer_Eltern_closed notify ZWave_SENSOR_NOTIFICATION_30:alarm.*open set ZWave_THERMOSTAT_3 tmOff

Aber bevor du dadran rumdockterst:
Grundsätzlich solltest du erst checken, ob das nicht auch so geht, dass tatsächlich "open" nach "state" wandert. Dann kann nämlich der WDT auch was damit als "WDT_delayedExecutionDevices"anfangen ;) . Dazu musst du aber vermutlich erst mal passende Konfigurationsbefehle absetzen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

MadMax-FHEM

#3
Zitat von: Beta-User am 29 Dezember 2020, 17:42:12
Aber bevor du dadran rumdockterst:
Grundsätzlich solltest du erst checken, ob das nicht auch so geht, dass tatsächlich "open" nach "state" wandert. Dann kann nämlich der WDT auch was damit als "WDT_delayedExecutionDevices"anfangen ;) . Dazu musst du aber vermutlich erst mal passende Konfigurationsbefehle absetzen...

Dazu wollte ich gerade "ausholen" ("musste" erst mein Notebook "auspacken").
Die ersten Dinge waren nur kurz mit dem Handy gedaddelt ;)

Ich bin allerdings nicht sicher, ob es bei allen (den "neueren") (Fibaro) ZWave Devices noch geht ein open/closed auf "state" zu bekommen...

Ich habe "alte" Fibaro-Augen (BWM) und "neuere" Fibaro-Augen...

Bei den alten ging es, dass die Bewegung (interessanterweise auch open/closed ;)  ) im state hatten...
...bei den neueren bekam ich nur die Alarme...

Gibt irgendwo einen Thread dazu und da konnte mir Christian (krikan?) auch nicht mehr erläutern, außer dass es wohl so ist!?

Ich habe mir daraufhin ein userReadings angelegt und meine notify darauf "wirken" lassen...

Hilft halt nicht (nur bedingt) für die Weitergabe direkt an die "Heizungssteuerung"...

Wenn es an den Einstellungen liegt, wäre ich auch interessiert wie das geht (und vielleicht ja doch/auch bei meinen "Augen" funktioniert), also schon mal: danke :)

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)

Beta-User

#4
Wenn es nicht über direkte Konfigurationsbefehle geht, würde ich hier (v.a. wg. des WDT) vorschlagen, state via userReading füllen zu lassen, das sollte dann halt sauber über Alarm getriggert werden.

Und evtl. gibt es noch eine Sache, die interessant ist: In dem Spirit-Thread (readingsGroup?) hat Rudi was gebaut, damit man externe Sensoren direkt andocken kann. Bin nicht sicher, ob das auch für einen Fensterkontakt gilt, aber wenn, setzt man vermutlich am einfachsten den Kontakt auf offen bzw. geschlossen und "gut ist" ;) . (Muß mal suchen, ob ich dazu was finde- EDIT: setList, siehe hier: https://forum.fhem.de/index.php/topic,112955.msg1092262.html#msg1092262; kann aber sein, dass das mit einem FK nicht geht...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hadenia

Vielen Dank für die vielen Tipps!

Aus dem Eventmonitor habe ich die notify rauskopiert und modifiziert wie Joachim geschrieben hat:
define ZWave_SENSOR_NOTIFICATION_30_notify_1 notify ZWave_SENSOR_NOTIFICATION_30:alarm:.AccessControl:.Window/Door.is.open set ZWave_THERMOSTAT_3 tmOff
define ZWave_SENSOR_NOTIFICATION_30_notify_2 notify ZWave_SENSOR_NOTIFICATION_30:alarm:.AccessControl:.Window/Door.is.closed set ZWave_THERMOSTAT_3 tmHeating


Klappt aber leider auch nicht. Wenn ich den Fenstersensor öffne oder schließe sehe ich im Log lediglich eine Ausgabe:
2020-12-29 18:05:53 ZWave ZWave_SENSOR_NOTIFICATION_30 wakeup: notification

Das mit dem
Zitatstate via userReading füllen zu lassen
habe ich noch nicht verstanden. Werde mal ein bischen googeln und lesen und melde mich dann mit neuen Erkenntnissen  ::)

MadMax-FHEM

Eigenartig, eigentlich sollte das was der Eventmonitor erzeugt funktionieren ;)

Was passiert bei den notify-Vorschlägen von Beta-User?

Bzgl. userReadings evtl. so:


attr ZWave_SENSOR_NOTIFICATION_30 userReadings state:alarm.* {my $value=ReadingsVal($name,"alarm","n.a."); if($value =~ m/open/){return "open"}elsif($value =~ m/closed/){return "closed"}else{return "unknown"}}


Wenn state nicht doch schon "anderweitig" verwendet/gesetzt wird. Ansonsten eben einen anderen Namen und dann darauf das notify...

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)

hadenia

Nachdem ich viel gelesen habe bin ich verwirrter als zuvor  ???

Was ich aus euren Antworten verstanden und gemacht habe:
define Fenster_Schlafzimmer_Eltern_open notify ZWave_SENSOR_NOTIFICATION_30:alarm.*closed set ZWave_THERMOSTAT_3 tmHeating
define Fenster_Schlafzimmer_Eltern_closed notify ZWave_SENSOR_NOTIFICATION_30:alarm.*open set ZWave_THERMOSTAT_3 tmOff


Dann das Attribut definiert (mit zwei ;; vor dem if($value ...):
attr ZWave_SENSOR_NOTIFICATION_30 userReadings state:alarm.* {my $value=ReadingsVal($name,"alarm","n.a.");; if($value =~ m/open/){return "open"}elsif($value =~ m/closed/){return "closed"}else{return "unknown"}}

Wenn ich den Fensterkontakt öffne bzw. schließe reagiert der Thermostat nicht. Im Event Monitor sehe ich maximal eine Meldung wie diese:
2020-12-30 08:32:41 ZWave ZWave_SENSOR_NOTIFICATION_30 wakeup: notification
2020-12-30 08:32:41 ZWave ZWave_SENSOR_NOTIFICATION_30 temperature: 21.6 C
2020-12-30 08:32:41 ZWave ZWave_SENSOR_NOTIFICATION_30 temperature: 21.6 C
2020-12-30 08:33:21 ZWave ZWave_SENSOR_NOTIFICATION_30 wakeup: notification


Ich vermute mal, es fehlt der passende Konfigurationsbefehle den Beta-User in seiner Message erwähnt hat:
ZitatAber bevor du dadran rumdockterst:
Grundsätzlich solltest du erst checken, ob das nicht auch so geht, dass tatsächlich "open" nach "state" wandert. Dann kann nämlich der WDT auch was damit als "WDT_delayedExecutionDevices"anfangen ;) . Dazu musst du aber vermutlich erst mal passende Konfigurationsbefehle absetzen...

Ich habe hier https://forum.fhem.de/index.php/topic,99390.msg927960.html#msg927960 einen Hinweis gefunden und ausprobiert:
set  ZWave_SENSOR_NOTIFICATION_30 configBasicSetLevel 15

Funktioniert aber nicht, da configBasicSetLevel in meinem Fibaro Sensor offensichtlich nicht vorhanden ist:
Unknown argument configBasicSetLevel, choose one of alarmnotification associationAdd associationDel config2ndAssociationGroupTriggers configAssociationForClosingTimeDelay configAssociationForClosingValueSent configAssociationForOpeningTimeDelay configAssociationForOpeningValueSent configAssociationsInZWaveNetwork3 configByte configDefault configDoorWindowState configHighTemperatureAlarmThreshold configIntervalOfTemperature50 configIntervalOfTemperatureReports configLong configLowTemperatureAlarmThreshold configTamperAlarmCancellationDelay configTamperReportingAlarmCancellation configTemperatureAlarmReports configTemperatureOffset configTemperatureReportsThreshold configVisualLEDIndications configWord fwUpdate mcaAdd mcaDel neighborUpdate powerlevel powerlevelTest returnRouteAdd returnRouteDel secSupportedReport sucRouteAdd sucRouteDel wakeupInterval wakeupNoMoreInformation attrTemplate

Was könnte ich noch probieren?

MadMax-FHEM

#8
Ja mit zwei Strichpunkten kommt drauf an WO du eingibst...
EDIT: also in der DEF (also im Webfrontend auf DEF klicken) ist es (wie gepostet) nur 1 Strichpunkt... Wie hast du eingegeben?

Und wenn du öffnest/schließt ändert sich auch der alarm nicht mehr?
EDIT: und auch im Eventmonitor erscheint kein open/closed!!?

Wenn sich der nicht ändert (und auch sonst nirgends open/closed oder evtl. basicSet 0 bzw. 255 kommt), dann wird kein Fenster auf/zu gemeldet.

Kannst du noch mal ein aktuelles list posten!?
EDIT: erst mal die get-Aufrufe absetzen inkl. "wakeup" und dann ein list posten...

EDIT: get configAll, get associationAll, get, get model (das sind die Kommandos, die ich immer erst mal absetzte, wenn ich ein ZWave-Gerät neu einbinde / bin aber lange nicht so tief in ZWave wie in Homematic ;)  Bin selber immer froh, wenn die "Dinger" laufen ;)  ). Und wie geschrieben: "aufwecken" nicht vergessen. Bei den "Fibaro-Augen" (BWM) geht das durch 3x schnell den "Anlernknopf" drücken. Bei deinen Sensoren musst du halt in der BA schauen...

Was der Fenstersensor kann und was konfiguriert werden kann und was er wo/wie meldet steht in der BA des Sensors (evtl. mal bei Fibaro schauen)...

Ansonsten: es ist ein Batteriegerät! D.h. übertragene Config-Parameter werden erst beim nächsten "wakeup" übertragen/aktiv!!
Man kann bestimmt auch manuell "aufwecken", wie steht norm. auch in der BA.

Schon mal einen anderen Namen als "state" im userReadings versucht?
EDIT: erst mal die get-Aufrufe absetzen inkl. "wakeup" und dann ein list posten...

EDIT:
Zitat2020-12-29 16:08:36   neighborUpdate  failed
ob und welche Auswirkungen das hat weiß ich nicht. Hast du ein set neighborUpdate angestossen?

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)

Beta-User

@MadMax-FHEM:
userReadings mit "state" geht! Siehe z.B. "shellydw" in mqtt2.template.

Hier fehlt es (u.A.) an der Meldung an den Controller, von daher wird auch das userReadings nicht getriggert.

Nach dem hier https://github.com/OpenZWave/open-zwave/blob/master/config/fibaro/fgdw2.xml sollte es möglich sein, den Sensor direkt via mca-Gruppe 2 an den Thermostat senden zu lassen, aber dazu müsste hadenia sich etwas mehr in das ZWave-Thema eindenken. Hier scheint es mir so zu sein, dass "configBasicSetLevel" zum Thermostat gehört und nicht zum Sensor...

@hadenia:
Bitte daher entweder ein neues Thema im ZWave-Bereich aufmachen ("was muss ich liefern" beachten!), oder den Titel hier ändern, Infos wie bei "neu" ergänzen und verschieben (kannst du alles selbst!)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hadenia

Erstmal ein großes Dankeschön an euch Beide für die Geduld. Ich kann Erfolg vermelden  ;D

Durch die vielen Versuche war evtl. ein falsches Bit an den Sensoren gesetzt, ich weiß es nicht. Ich habe die Fenstersensoren resettet, neu inkluiert und dann entsprechend euren Tipps diese Befehlssequenz in die FHEM Kommandozeile eingegeben:

define Fenster_Buero_closed notify ZWave_SENSOR_NOTIFICATION_31:alarm.*closed set ZWave_THERMOSTAT_4 tmHeating
define Fenster_Buero_open notify ZWave_SENSOR_NOTIFICATION_31:alarm.*open set ZWave_THERMOSTAT_4 tmOff

attr ZWave_SENSOR_NOTIFICATION_31 userReadings state:alarm.* {my $value=ReadingsVal($name,"alarm","n.a.");; if($value =~ m/open/){return "open"}elsif($value =~ m/closed/){return "closed"}else{return "unknown"}}


Den "wakeup" beim Fibaro Door/Window Sensor 2 macht man, indem man beide Tasten gleichzeitig drückt oder bei geschlossenem Gehäuse die untere Taste drückt.
Ich werde jetzt mal versuchen, das Notify so zu erweitern, dass ich mit zwei Sensoren zwei Heizkörper steuern kann.

Wie habt ihr eigentlich die Situation im Sommer geregelt bzw. bei Abwesenheit, wenn die Heizkörper ausgeschaltet sind? Ich bin beruflich bedingt auch in der Übergangszeit ab und an ein paar Wochen am Stück unterwegs wenn es nachts kalt wird und dann habe ich die Heizung eingeschaltet wegen der Frostgefahr aber die Heizkörper auf "tmOff". Ein paar Tage, bevor ich heim fahre, schalte ich die Heizkörperventile über die Entfernung auf "tmHeating" und das Haus ist warm wenn ich ankomme.

Wenn der Heizkörper auf "tmOff" steht und das Fenster während meiner Abwesenheit z. Bsp. vom Hausmeister auf und dann wieder zu gemacht wird, so wird der Heizkörper auf "tmHeating" gestellt. Kann man so eine Situation mit einfachen Mitteln abfangen oder muss man da anfangen ernsthaft zu programmieren?


MadMax-FHEM

Na dann gratuliere!

Wenn du die notify hast kannst du sie auch mal posten, da kann man auch eines draus machen :)
(mit etwas Perl ;)  )

Zu den anderen Dingen kann ich nichts/wenig sagen.

Ich habe Homematic Thermostate...

Ich fahre eigentlich ausschließlich "deren" interne Wochenprogramme.
Habe von denen je nachdem 3 "Varianten": standard, athome (Urlaub oder so) und homeoffice (da wird halt das Büro mitgeheizt ;)  )

Je nachdem schalte ich die dann um und die laufen dann einfach...

Wenn ich doch mal was anders haben will, stelle ich auf manuellen Mode und wenn ich wieder die Automatik will, dann eben wieder auf auto Mode (kann ich auch per Sprache oder Knopf oder...).

Bei denen ist es so, dass sie wieder dahin zurückschalten, also wenn das Fenster auf war, wo sie vorher waren (sind aber DIREKT verbunden, also ohne notify, da macht das dann das System selbst / keine Ahnung, ob das hier auch geht)...

Bei meiner Freundin (die will das [immer] speziell) habe ich das per notify gelöst und ja: ich merke mir was vorher war und stelle dahin dann zurück mit Verzögerung...
Aber auch mit den Wochenprogrammen...

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)

Beta-User

Na ja, ich komme eigentlich auch aus der CUL_HM-Welt, wobei bei mir jetzt alle direkten Peerings zwischen Thermostaten und Fensterkontakten zugunsten von virtuellen (beim Öffnen verzögerten) Peer rausgeflogen sind... Der betreffende Code ist in eine myUtils ausgelagert, die erst mal prüft, ob überhaupt "Heizperiode" angesagt ist, sonst wird nichts gesendet. Könnte man vermutlich für deine Zwecke anpassen, sowas ist m.E. eine gute Übung ;) .

(Daher auch manche Irritation, die ich beim Einstieg in ZWave hatte...)

tmOff ist aber immer noch Frostschutz (=>6°C), oder habe ich das falsch verstanden?

Eventuell würde ich das aber (in deinem Fall) im Rahmen von "Topic" sehen ;) . Du schaltest einfach das Profil auf "abwesend" und weist den WDT während der Heizeriode an, sich neu zu laden, wenn geschlossen wird. Dann sendet der ggf. den neuen (niedrigen) Zielwert raus und gut ist...
(Geht aber vermutlich nicht so gut mit tmHeating/tmOff; den Teil müßte ich auch austesten...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hadenia

ZitattmOff ist aber immer noch Frostschutz (=>6°C), oder habe ich das falsch verstanden?
Das ist korrekt. Deswegen lasse ich den Brenner der Heizung an, dann zirkuliert bei mir im Haus das Warmwasser und wenn es doch mal richtig kalt werden sollte, greift der Frotzschutz der Heizkörperventile.

Um das Problem des versehentlichen Einschaltens der eigentlich ausgeschalteten Heizkörpern zu lösen habe ich mir überlegt, einen Dummy-Schalter zu definieren. Wenn der ausgeschaltet ist, soll per if Konstrukt das notify nicht ausgeführt werden.

Ich habe den Schalter definiert:
define SimSwitch_Fensterkontakte dummy
attr SimSwitch_Fensterkontakte webCmd on:off
attr SimSwitch_Fensterkontakte room System
attr SimSwitch_Fensterkontakte room 99_Variablen


Internals:
   FUUID      5fecc507-f33f-51ed-70fa-35a8c4cf323bece4
   NAME       SimSwitch_Fensterkontakte
   NR         147
   STATE      on
   TYPE       dummy
   READINGS:
     2020-12-30 20:26:24   state           on
Attributes:
   room       99_Variablen
   webCmd     on:off


Die Notify geändert:
Internals:
   DEF        ZWave_SENSOR_NOTIFICATION_31:alarm.*open { if( Value ("SimSwitch_Fensterkontakte") eq "on") { fhem "ZWave_THERMOSTAT_4 tmOff" }}
   FUUID      5fecccfc-f33f-51ed-785f-cb3dbd9ecc816c52
   NAME       Fenster_Buero_open
   NOTIFYDEV  ZWave_SENSOR_NOTIFICATION_31
   NR         149
   NTFY_ORDER 50-Fenster_Buero_open
   REGEXP     ZWave_SENSOR_NOTIFICATION_31:alarm.*open
   STATE      active
   TYPE       notify
   READINGS:
     2020-12-30 19:56:29   state           active
Attributes:


und
Internals:
   DEF        ZWave_SENSOR_NOTIFICATION_31:alarm.*closed { if( Value ("SimSwitch_Fensterkontakte") eq "on") { fhem "ZWave_THERMOSTAT_4 tmHeating" }}

   FUUID      5feccc4e-f33f-51ed-803e-c611b71b243b5a7d
   NAME       Fenster_Buero_closed
   NOTIFYDEV  ZWave_SENSOR_NOTIFICATION_31
   NR         148
   NTFY_ORDER 50-Fenster_Buero_closed
   REGEXP     ZWave_SENSOR_NOTIFICATION_31:alarm.*closed
   STATE      active
   TYPE       notify
   READINGS:
     2020-12-30 19:56:29   state           active
Attributes:


Leider bleibt es aber ohne Wirkung. Egal ob der SimSwitch_Fensterkontakte ein- oder ausgeschaltet ist, es passiert nichts.

Im Log sehe ich, dass der Sensor reagiert wenn ich ihn öffne oder schließe, aber der Thermostat zuckt nicht:
2020-12-30 20:31:33 ZWave ZWave_SENSOR_NOTIFICATION_31 alarm: AccessControl: Window/Door is closed
2020-12-30 20:31:33 ZWave ZWave_SENSOR_NOTIFICATION_31 closed
2020-12-30 20:31:33 ZWave ZWave_SENSOR_NOTIFICATION_31 alarm: AccessControl: Window/Door is closed
2020-12-30 20:31:33 ZWave ZWave_SENSOR_NOTIFICATION_31 closed
2020-12-30 20:31:34 ZWave ZWave_SENSOR_NOTIFICATION_31 alarm: AccessControl: Window/Door is open
2020-12-30 20:31:34 ZWave ZWave_SENSOR_NOTIFICATION_31 open


Kann das grundsätzlich nicht klappen oder habe ich einen Syntaxfehler etc.?


MadMax-FHEM

#14
Es muss fhem "set Heizkörper..." also es fehlt auf alle Fälle das 'set'...

EDIT: innerhalb von fhem " " muss das Kommando so stehen wie es auch in FhemWeb eingegeben wird/werden muss...

Besser statt Value("Name") ReadingsVal("DeviceName","ReadingName","Ersatzwert")

Weil: Value liest STATE aus! Nicht verwechseln mit state !!

Und STATE wird u.a. durch stateFormat "beeinflusst" und da liefert Value oft nicht das was man erwartet...

Bei deinem dummy merkst du das verm. nicht...

Wenn es nur drum geht das notify zu "deaktivieren", das geht mit set notifyName inactive/active oder dem Attribut disable ebenso...

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)