Autor Thema: (gelöst) Twilight + notify  (Gelesen 400 mal)

Offline TomHB

  • Jr. Member
  • **
  • Beiträge: 51
(gelöst) Twilight + notify
« am: 22 Mai 2022, 10:36:33 »
Guten Morgen,

ich habe 1 - nein, eigentlich 2 Probleme:
Ich versuche Twilight mit dem Reading azimuth zu nutzen, um mein Rollo zusteuern.

Dabei ist mir aufgefallen, das hier nicht jedes Grad ein Ereignis auslöst, sondern auch schon mal eines übersprungen wird.
defmod Sonnenstand Twilight xxx yyy 0
attr Sonnenstand event-on-change-reading azimuth, twilight,.*
attr Sonnenstand stateFormat Winkel: azimuth° / Höhe: elevation° / Helligkeit: twilight%

(Das Modul Astro hatte ich noch nicht ausprobiert, weil ich erstmal versuchen wollte das Problem so zu lösen.)
Daher habe ich versucht, es mit einem Notify zu kompensieren, welches 2 Grade berücksichtigt.

Hier will das, was in dem Wiki-Eintrag https://wiki.fhem.de/wiki/Notify steht nicht so ganz funktionieren, oder ich verstehe es einfach nicht so. ;)
Die Beispiele mit den Platzhaltern sind :
Schalter(1|2|3) → hört auf Schalter1, Schalter2 und Schalter3
dimmer:pct:.(100|7[6-9]|[89][0-9]) → reagiert, wenn pct einen Wert über 75 annimmt.

Also habe ich mein Notify wie folgt aufgebaut (für 90°+91°):
defmod n_RolloKuecheAusfahren notify Sonnenstand:azimuth:.9(0|1) {   oder 
defmod n_RolloKuecheAusfahren notify Sonnenstand:azimuth:.(90|91) {  oder
defmod n_RolloKuecheAusfahren notifySonnenstand:azimuth:.(9[01]) {

Bei einigen bekomme ich ein "REGEXP (!)":
Could not optimize the regexp:
    Sonnenstand:azimuth:.9(0|1)

How I tried (notifyRegexpCheck):

    Sonnenstand:azimuth:.9(0: device Sonnenstand (OK)
    1): unknown (ignored)

Ich verstehe nicht, warum es nicht funktioniert, weil es doch eigentlich dem 1./2. Beispiel entspricht.
Mag hier jemand seinen Wissensschatz mit mir teilen?
Danke!
« Letzte Änderung: 22 Mai 2022, 16:17:16 von TomHB »

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20969
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Twilight + notify
« Antwort #1 am: 22 Mai 2022, 10:56:17 »
Hi,

ich meine das hier
Zitat
attr Sonnenstand event-on-change-reading azimuth, twilight,.*
ist doppelter Unfug.
Zitat
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings".
Entweder eine Liste von Readings (mit Komma nicht mit Komma und Leerzeichen) oder alle -> .*
mach mal:
attr Sonnenstand event-on-change-reading .*
Und ist der Wert azimuth nicht eine Fließkomma Zahl? Da wird der trigger auf zwei Ziffern nicht funktionieren. triggere doch einfach auf das Reading und mach eine Abfrage im folgenden Perl Teil

Gruß Otto
« Letzte Änderung: 22 Mai 2022, 11:02:12 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz
Zustimmung Zustimmung x 1 Liste anzeigen

Offline TomHB

  • Jr. Member
  • **
  • Beiträge: 51
Antw:Twilight + notify
« Antwort #2 am: 22 Mai 2022, 11:05:19 »
Danke,
das event-on-change-reading ist in der Tat etwas vermurkst (Noch aus meinen jüngeren FHEM-Jahren).

Ja, vorher hatte ich es auch so, aber das kann ein "Grund"-Grad:
Sonnenstand:azimuth:.90.*
Würde es halt aber gerne über das Notify direkt lösen und nicht durch nachfolgende Logik.
Einfach weils gehen müsste...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 25488
Antw:Twilight + notify
« Antwort #3 am: 22 Mai 2022, 11:08:50 »
Der "Regexp-Optimierer" (richtiger: die Optimierung, um sinnlose Pruefungen in den Modulen wie notify zu vermeiden) ist nicht perfekt, insb. wenn man das | Zeichen im Regexp verwendet.
Das ist keine Katastrophe, und hat nur bei grossen Installationen mit vielen Events eine spuerbare Auswirkung.

Mit Sonnenstand:azimuth:.(9[01]) hat es kein Problem und mit Sonnenstand:azimuth:.9[01] auch nicht, gerade getestet.

Offline TomHB

  • Jr. Member
  • **
  • Beiträge: 51
Antw:Twilight + notify
« Antwort #4 am: 22 Mai 2022, 11:13:31 »
Vielen Dank für die Antwort.
Hab schon wieder mal an mir selbst gezweifelt  ;)

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20969
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Twilight + notify
« Antwort #5 am: 22 Mai 2022, 11:16:05 »
Einen Schwellwert als Gleitkomma Zahl durch ein Suchmuster im notify zu ermitteln ist mMn der schwierigste Weg

Aber dann müsste da wieder der Rest dran?
Sonnenstand:azimuth:.9[01].*

Oder das Reading in einen Integer Wert umgewandelt werden?
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline TomHB

  • Jr. Member
  • **
  • Beiträge: 51
Antw:Twilight + notify
« Antwort #6 am: 22 Mai 2022, 11:25:16 »
Probiere es gerade aus... :)

Warum aber Twilight laut Ereignisanzeige mal eine Gradänderung verschluckt ist mir aber immer noch ein Rätsel.
« Letzte Änderung: 22 Mai 2022, 11:26:48 von TomHB »

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18705
Antw:Twilight + notify
« Antwort #7 am: 22 Mai 2022, 11:58:40 »
Warum aber Twilight laut Ereignisanzeige mal eine Gradänderung verschluckt ist mir aber immer noch ein Rätsel.
könnte sein, dass der Maintainer der Ansicht war, dass minimale Änderungen keinen interessieren ::) ...
(Und den Eindruck hatte, dass viele User Probleme damit haben, event-on-Attribute korrekt zu setzen).
Server: HP-T620@Debian 11, 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

Offline TomHB

  • Jr. Member
  • **
  • Beiträge: 51
Antw:Twilight + notify
« Antwort #8 am: 22 Mai 2022, 16:16:50 »
(Und den Eindruck hatte, dass viele User Probleme damit haben, event-on-Attribute korrekt zu setzen).
Klingt nicht nach konstruktiver Kritik...


Aber dann müsste da wieder der Rest dran?
Sonnenstand:azimuth:.9[01].*
Korrekt, ohne funktioniert es nicht.

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18705
Antw:Twilight + notify
« Antwort #9 am: 22 Mai 2022, 16:35:01 »
Klingt nicht nach konstruktiver Kritik...
Sorry, das war nicht persönlich gemeint.

Das Modulverhalten ist jetzt schon länger so (ca. 2 Jahre?), ohne, dass es bisher jemandem aufgefallen zu sein scheint. Was ich aber immer wieder (bei allen möglichen numerischen Werten) sehe, ist die pauschale ".*"-Empfehlung für event-on-change-reading von vielen anderen Usern, die hier gar nicht helfen würde (weil da praktisch immer irgendwelche Differenzen errechnet werden).

Jedenfalls bist du nicht alleine mit der Frage, wie man die readingFnAttributes sinnvoll setzt, siehe aktuell z.B. https://forum.fhem.de/index.php/topic,111905.msg1222441.html#msg1222441 (für Shelly allg./pm gab es schon einen Diskussionsvorschlag von meiner Seite, den aber keiner effektiv zuende führen wollte).

 Von daher habe ich kein allzu schlechtes Gewissen, wenn ich hier mal auf das (gefühlte) "Hä, warum verhält sich Twilight an der Stelle so komisch?!?" nicht einen konkreten Vorschlag für eine "gute" Hysterese und einen sinnvollen Intervall-Wert frei Haus liefere...
Server: HP-T620@Debian 11, 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

Offline TomHB

  • Jr. Member
  • **
  • Beiträge: 51
Antw:(gelöst) Twilight + notify
« Antwort #10 am: 22 Mai 2022, 16:37:08 »
OK. Danke für die Aufklärung :)

 

decade-submarginal