[erl]event-on-change-reading lösst trotz gleichbleibenden Wert einen Trigger aus

Begonnen von mrb, 10 Mai 2023, 20:02:55

Vorheriges Thema - Nächstes Thema

mrb

Hi zusammen,

ich habe bei meinen objekten die es betrifft ein event-on-change-reading drinnen stehen und dachte das das Notify das auf dieses Reading zielt nur ausgelöst wird wenn der Wert sich ändert. Aber das notify wird laufend ausgelöst selbst wenn es sich nicht ändert. Also nur z.b. durch mqtt immer geschrieben wird. verstehe ich da was falsch oder wie bekomme ich das hin das das notify nur ausgelöst wird bei einer Wertänderung?

Grüße
MrB

Otto123

Hi,

mehr Info würde helfen. list notify, list vom beteiligten device
Schau im Event Monitor was wirklich passiert.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrb

Guten Morgen,
Otto sei mir nicht böse aber mit list notify bringt mir fhem nichts. In meinem fhem wissen das ich bis jetzt habe (leider sehr beschränkt) habe ich mir schon gedacht das wird denke ich nicht gehen.

Ich gebe gerne Infos preis und habe damit kein Problem. Also schreibe mir einfach das ich genau machen soll dann bekommst du deine info.

Grüße
MrB

CoolTux

list <DEVICE>

Statt <DEVICE> musst Du den Namen des Notify Devices und des MQTT Devices eingeben. Das ganze oben in der Command Zeile vom FHEM Web machen.
Die Ausgabe dann markieren mit dem Mauszeiger und rechte Maustaste drücken. Danach im Menü kopieren auswählen.
Dann im Forumantwort Feld wieder rechte Maustaste einfügen.
In der Symbolleiste im Forumantwort Feld kann man noch Code als Tag auswählen. Davor das was in Codetags soll markieren und dann mit der linken Maustaste auf das Codetag Symbol klicken.

Hoffe das hilft Dir.
Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mrb

@CoolTux genau das hatte ich eigentlich auch schon gemacht, aber anscheinend das letzte mal einen typo drinnen gehabt den jetzt ging es.

Internals:
   CID        shelly1_98CDAC2DBE68
   DEF        shelly1_98CDAC2DBE68
   FUUID      628b678e-f33f-3fd4-d4cb-fd5eb089991d7166
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_192.168.168.81_13520
   MQTT2_FHEM_Server_MSGCNT 237727
   MQTT2_FHEM_Server_TIME 2023-05-11 06:27:26
   MSGCNT     237727
   NAME       GG_ShellyGaragentorLinks
   NR         225
   STATE      0
   TYPE       MQTT2_DEVICE
   eventCount 508
   READINGS:
     2023-03-30 07:41:07   IODev           MQTT2_FHEM_Server
     2023-05-10 19:27:22   actions_stats_skipped 0
     2023-05-10 19:27:22   cfg_changed_cnt 0
     2023-05-10 19:27:22   cloud_connected false
     2023-05-10 19:27:22   cloud_enabled   false
     2023-05-10 19:27:22   event           
     2023-05-10 19:27:22   event_cnt       0
     2023-05-10 19:27:22   fs_free         150349
     2023-05-10 19:27:22   fs_size         233681
     2023-05-10 19:27:22   fw_ver          20230503-095514/v1.13.0-g9aed950
     2023-05-10 19:27:22   has_update      false
     2023-05-10 19:27:22   id              shelly1-98CDAC2DBE68
     2023-05-11 06:27:26   input0          0
     2022-05-23 13:03:59   input_0         0
     2023-05-10 19:27:22   inputs_1_event 
     2023-05-10 19:27:22   inputs_1_event_cnt 0
     2023-05-10 19:27:22   inputs_1_input  0
     2023-05-10 19:27:22   ip              192.168.168.81
     2023-05-03 17:23:10   longpush_0      0
     2023-05-10 19:27:22   mac             98CDAC2DBE68
     2023-05-10 19:27:22   meters_1_is_valid true
     2023-05-10 19:27:22   meters_1_power  0.00
     2023-05-10 19:27:22   model           SHSW-1
     2023-05-10 19:27:22   mqtt_connected  true
     2023-05-10 19:27:22   new_fw          false
     2023-05-10 19:27:22   online          true
     2023-05-10 19:27:22   ram_free        40256
     2023-05-10 19:27:22   ram_total       51688
     2023-05-11 06:27:26   relay0          off
     2022-05-23 13:03:59   relay_0         off
     2023-05-10 19:27:22   relays_1_has_timer false
     2023-05-10 19:27:22   relays_1_ison   false
     2023-05-10 19:27:22   relays_1_source input
     2023-05-10 19:27:22   relays_1_timer_duration 0
     2023-05-10 19:27:22   relays_1_timer_remaining 0
     2023-05-10 19:27:22   relays_1_timer_started 0
     2023-05-10 19:27:22   serial          1
     2023-05-11 06:27:26   state           off
     2023-05-10 19:27:22   time           
     2023-05-10 19:27:22   unixtime        0
     2023-05-04 13:58:39   update_beta_version 20230329-161525/v1.13.0-rc2-g1b3e5af
     2023-05-10 19:27:22   update_has_update false
     2023-05-10 19:27:22   update_new_version
     2023-05-10 19:27:22   update_old_version 20230503-095514/v1.13.0-g9aed950
     2023-05-10 19:27:22   update_status   unknown
     2023-05-10 19:27:22   uptime          1
     2023-05-10 19:27:22   wifi_sta_connected true
     2023-05-10 19:27:22   wifi_sta_ip     192.168.168.81
     2023-05-10 19:27:22   wifi_sta_rssi   -57
     2023-05-10 19:27:22   wifi_sta_ssid   onlinehouse
Attributes:
   alexaName  Garage Links
   alias      GG_ShellyGaragentorLinks
   devStateIcon 1:fts_garage_door_10:zu 0:fts_garage_door_100:auf
   event-on-change-reading input0
   icon       fts_garage
   model      shelly1
   readingList shellies/shelly1-98CDAC2DBE68/relay/0:.* state
  shellies/shelly1-98CDAC2DBE68/relay/0:.* relay0
  shellies/shelly1-98CDAC2DBE68/input/0:.* input0
  shellies/shelly1-98CDAC2DBE68/online:.* online
  shellies/shelly1-98CDAC2DBE68/announce:.* { json2nameValue($EVENT) }
  shellies/announce:.* { $EVENT =~ m,..id...shelly1-98CDAC2DBE68...mac.*, ? json2nameValue($EVENT) : return }
shelly1_98CDAC2DBE68:shellies/shelly1-98CDAC2DBE68/info:.* { json2nameValue($EVENT) }
shelly1_98CDAC2DBE68:shellies/shelly1-98CDAC2DBE68/longpush/0:.* longpush_0
shelly1_98CDAC2DBE68:shellies/shelly1-98CDAC2DBE68/input_event/0:.* { json2nameValue($EVENT) }
   room       Garage,MQTT2_DEVICE
   setList    off:noArg shellies/shelly1-98CDAC2DBE68/relay/0/command off
  on:noArg shellies/shelly1-98CDAC2DBE68/relay/0/command on
  x_update:noArg shellies/shelly1-98CDAC2DBE68/command update_fw
  x_mqttcom shellies/shelly1-98CDAC2DBE68/command $EVTPART1
   stateFormat input0
   webCmd     on


und das notify:
Internals:
   DEF        GG_ShellyGaragentorLinks:input0:.1 {if ($EVTPART1 eq 1) {DebianMail('######EMAILADRESSE GEKÜRTZT############','Garage Links', $year.$month.$mday.' '.$hms.' Garage bitte schließen');HttpUtils_NonblockingGet({ url=>"https://api.voicemonkey.io/trigger?access_token=###########Voicemonkey gekürtzt###############",callback=>sub() {} })}}
   FUUID      6299f00b-f33f-3fd4-4933-657e140f2f4d40a3
   NAME       NGG_LinksSchliesen
   NOTIFYDEV  GG_ShellyGaragentorLinks
   NR         226
   NTFY_ORDER 50-NGG_LinksSchliesen
   REGEXP     GG_ShellyGaragentorLinks:input0:.1
   STATE      active
   TRIGGERTIME 1683127390.17629
   TYPE       notify
   READINGS:
     2023-05-08 13:36:53   state           active
     2023-05-03 17:23:10   triggeredByDev  GG_ShellyGaragentorLinks
     2023-05-03 17:23:10   triggeredByEvent input0: 1
Attributes:
   alias      NGG_LinksSchliesen
   event-on-change-reading input0
   room       VoiceMonkey,Garage

CoolTux

Das event-on-change-reading beim notify kann entfernt werden.

Und trotz des event-on-change-reading beim mqtt DEVICE gibt es ein Event auch wenn der Wert immer gleich bleibt input0?

Öffne Mal den Eventmonitor und schaue da ob ein Event kommt.
Zur Bedienung des Eventmonitor bitte die Doku lesen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mrb

Es kommt zwei mal. Also es wird zum Beispiel auf "garage offen" gesetzt und dann passt Sekunden später nochmal. Dann bleibt es so wie sein sollte, aber es ist halt etwas störend zwei mal die Mail zu bekommen. Interessant ist auch das es nur bei dem shelly bzw mqtt ist. Kann man zb  als workaround beim notify zb setzen "solange du nicht die letzten 5 Minuten offen warst mach nichts"?

MadMax-FHEM

Poste doch besser mal die Ausgaben des Eventmonitors ;)

Und ja gibt es: attr notifyName disabledAfterTrigger

EDIT: oder im notify mit Perl selber etwas "stricken"...

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)

mrb

2023-05-11 11:57:17 MQTT2_DEVICE GG_ShellyGaragentorLinks input0: 1
2023-05-11 11:57:17 MQTT2_DEVICE GG_ShellyGaragentorLinks input0: 0
2023-05-11 11:57:18 MQTT2_DEVICE GG_ShellyGaragentorLinks input0: 1
2023-05-11 11:57:18 MQTT2_DEVICE GG_ShellyGaragentorLinks input0: 0

ich hab mal bisserl gekürzt auf das nötige. irgendwie schreibt er der shelly switch auf 1 und dann gleich wieder auf 0. irgendwie ist das komisch. als hätte der shelly ein flackern des switches

mrb

2023-05-11 12:05:50 MQTT2_DEVICE GG_ShellyGaragentorLinks input0: 1
2023-05-11 12:05:50 MQTT2_DEVICE GG_ShellyGaragentorLinks input0: 0
2023-05-11 12:05:50 MQTT2_DEVICE GG_ShellyGaragentorLinks input0: 1

also das ist ein auszug wo es definitiv so ist wie ich den fehler habe. Also wirklich ein "flackern" der shelly :(

Otto123

Zitat von: mrb am 11 Mai 2023, 07:30:17Also es wird zum Beispiel auf "garage offen" gesetzt und dann passt Sekunden später nochmal.
Naja das stimmt ja nicht, laut Eventmonitor schaltet der Wert hin und her, dagegen hilft event-on-change-reading nicht!
Da stimmt etwas an Deinem Sensor nicht, der "prellt".
Wenn Du es dort nicht wegbekommst, dann setze wie schon empfohlen
Zitat von: MadMax-FHEM am 11 Mai 2023, 08:15:43attr notifyName disabledAfterTrigger
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrb

@alle:
DANKE!!!! es ist zwar nur ein workaround laut Otto aber der funktioniert!!!!!!!! Herzlichen dank!

RalfRog

FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

mrb

Naja ich habe mal gegoogelt und das kam dabei rum. Da die Shelly's günstig sind war es die günstigste und beste Lösung. Geht 1a

RalfRog

Steht im "input_0" der Status vom SW Eingang? Und was gibst du da drauf?
An sich kann man darüber doch z.B. mit einem Taster das Relais einschalten.
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen