Hauptmenü

notify mit ReadingsVal

Begonnen von ronzo, 07 März 2023, 11:47:01

Vorheriges Thema - Nächstes Thema

ronzo

Ich scheitere wieder mal an der FHEM-Syntax. Ich möchte über ein Notify bei Bewegung eines MotionSensors ein Device schalten lassen und dachte mir, dass müsse doch in etwa so aussehen:

if (ReadingsVal("ZWaveEye","motion_state","unknown") eq "motion") set MQTT2_zigbee_GarderobeGroup on-for-timer 40

So funktioniert es schon mal nicht. Ich habe schon ein paar Varianten durch. Bin noch am Suchen, vielleicht möchte mir hier aber auch jemand einen Tipp geben...

Beta-User

Nimm den Event-Monitor zu Hilfe (und schau in den betr. Wiki-Artikel).

Und bitte nicht nur "Schnippsel" von irgendwas, sondern z.B. das komplette define vom notify, wenn es um notify 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

ronzo

#2
Dieses Event gibt es schon mal wie gewünscht:
2023-03-07 11:49:08 ZWave ZWaveEye motion_state: motion

Nur vom Notify keine Spur...

define GarderobenLichtAnByMotionNotify notify if (ReadingsVal("ZWaveEye","motion_state","unknown") eq "motion") set MQTT2_zigbee_GarderobeGroup on-for-timer 40
#   .COMMAND   (ReadingsVal("ZWaveEye","motion_state","unknown") eq "motion") set MQTT2_zigbee_GarderobeGroup on-for-timer 40
#   CFGFN     
#   DEF        if (ReadingsVal("ZWaveEye","motion_state","unknown") eq "motion") set MQTT2_zigbee_GarderobeGroup on-for-timer 40
#   FUUID      6407065f-f33f-88ea-6145-e269aeea79926ef1
#   NAME       GarderobenLichtAnByMotionNotify
#   NR         12347
#   NTFY_ORDER 50-GarderobenLichtAnByMotionNotify
#   REGEXP     if
#   STATE      active
#   TYPE       notify
#   eventCount 7
#   .attraggr:
#   .attrminint:
#   Helper:
#     DBLOG:
#       state:
#         DBLogging:
#           TIME       1678185854.00566
#           VALUE      active
#   READINGS:
#     2023-03-07 11:44:14   state           active
#
setstate GarderobenLichtAnByMotionNotify active
setstate GarderobenLichtAnByMotionNotify 2023-03-07 11:44:14 state active


betateilchen

Naja, das notify ist halt syntaktisch falsch.

In Deinem DEF gibt es keine gültige regexp, und im (gedachten) Ausführungsteil bringst Du perl-Code und FHEM-Befehle komplett durcheinander.

Warum lässt Du das notify nicht einfach "leer" aus dem Event Monitor generieren und füllst dann den Ausführungsteil korrekt aus?
Oder/und warum liest Du nicht einfach mal die Dokumentation zu notify, um zu verstehen, wie man das richtig macht?

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ronzo

Zitat von: betateilchen am 07 März 2023, 11:57:48
Oder/und warum liest Du nicht einfach mal die Dokumentation zu notify, um zu verstehen, wie man das richtig macht?

Habe deinen Rat befolgt und bin hier gelandet:

ZWaveEye:motion_state:.motion set MQTT2_zigbee_GarderobeGroup on-for-timer 40

Funktioniert. Lösung aus deiner Sicht ok oder sollte man die RegEx anders machen?

Zrrronggg!

Alter Post, klar, aber musste gerade lachen:

ZitatUnd bitte nicht nur "Schnippsel" von irgendwas, sondern z.B. das komplette define vom notify, wenn es um notify geht...

ZitatZWaveEye:motion_state:.motion set MQTT2_zigbee_GarderobeGroup on-for-timer 40

Lösung aus deiner Sicht ok ...?

Ich bin ja an sich nicht mit der knappen, ja z.T. agressiven "RTFM" Beantwortung von Fragen durch erfahren Forenmitglieder immer so happy, aber da wär ich jetzt auch nur halb locker geblieben. ;D

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

ronzo

#6
Dann muss ich hier wohl auch noch meinen Senf abgeben.

Wenn jemand was in "Anfängerfragen" postet, kann man davon ausgehen dass die Person CommandRef/Wiki/Forum usw. durchgesehen hat. Meist wurde auch was ausprobiert aber nicht vollumfänglich verstanden. Dann landet man im Forum. Hier würde man doch meinen, die meisten erfahrenen User wäre primär aus Hilfsbereitschaft hier. (Bei rudolfkoenig himself, Otto123 oder Beta-User etwa trifft das mit Sicherheit auch zu.) Dem scheint aber oftmals nicht so zu sein. Das Erhabene/Lehrerhafte raushängen zu lassen macht manchen offenbar mehr Freude. (Ich sag ja auch nicht zu jemandem, der mit offenem Oberschenkelbruch vor der Straßenbahn liegt weil er unaufmeksam war: "Hey, lies zuerst mal die Verkehrsregeln durch!")

Zrrronggg!

Ich habe durchaus auch so manches mal wegen hingeworfener Meta-Brocken oder den schlichten Verweis  "lies commandref" abgekotzt. Zumal die Commandref auch nicht immer so verständlich ist, wenn man eigentlich eine Anleitung braucht.

Aber der Fragende hat mindesten auch ein Duty. Nämlich den Rat der Helfenden wenigstens bei den simplen Dingen anzunehmen, z.b schon wie ein Frage überhaupt gestellt werden soll.

Und eine wichtige Sache die Fragende immer wieder wenig berücksichtigen ist, dass etwas Kontext braucht - mindestens das komplette define um das es geht.

Z.B. ein komplettes Define, wenn man beurteilen soll ob das funktionieren kann. Darauf hat Beta-User hingewiesen, und gebeten eine komplettes Define abzuliefern. Es ist durchaus so, das man sich als Beantwortender sehr oft ne Menge "denken" muss, das der Fragende wohl meinen könnte. Und je mehr man sich erstmal denken muss - als jemand der deinen Code eben NICHT vor Augen hat - desto weniger Lust hat man.
Schon rauszufinden WELCHEN Teil der Fragende weggelassen hat ist manchmal gar nicht so einfach. Das ist hier sicher nicht ein komplizierter Fall - dennoch:

Der letzte Post von dir mit konkreter Frage ob das notify wohl Verbesserungswürdig ist, war dann aber WIEDER ein nur das halbe define. Trotz der expliziten Bitte so nicht zu fragen.

Ja, man kann notfies alleine beurteilen, es ist aber etwas schwerer ohne den Kontext.

D.H. es sind oft eben alle Beteiligten die sich gegenseitig das Leben schwer machen.

Zuletzt: Die richigten Profis hier haben eben leider auch das Problem, die gleichen Fragen immer wieder beantworten zu müssen. Und zwar IMMER UND IMMER UND IMMER wieder. Und dann nochmal.

Ich sehe es ihnen daher nach, das sie manchmal bisschen unentspannt sind.

Lösung gibt's da meiner Meinung nach keine.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL