FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Per am 25 Mai 2016, 09:27:33

Titel: [gelöst] Wert von $EVENT
Beitrag von: Per am 25 Mai 2016, 09:27:33
In $EVENT steckt ja sowohl der Name als auch der Wert des auslösenden Events. Kann ich das, ohne auf Perl-Ebene wechselns zu müssen, splitten? $EVENT:d (oder $VALUE :D) geht nicht.
Hintergrund: ich will einem Dummy nur den Wert, nicht den ganzen Event zuweisen: set dummy $EVENT
Titel: Antw:Wert von $EVENT
Beitrag von: Wernieman am 25 Mai 2016, 09:49:07
?? Laut Doku steckt in $EVENT nur der Wert, nicht der Name ??
Titel: Antw:Wert von $EVENT
Beitrag von: CoolTux am 25 Mai 2016, 09:55:42
$EVTPART kann da helfen. Z.B.   $EVTPART1
Titel: Antw:Wert von $EVENT
Beitrag von: Damian am 25 Mai 2016, 11:02:09
Zitat von: Per am 25 Mai 2016, 09:27:33
In $EVENT steckt ja sowohl der Name als auch der Wert des auslösenden Events. Kann ich das, ohne auf Perl-Ebene wechselns zu müssen, splitten? $EVENT:d (oder $VALUE :D) geht nicht.
Hintergrund: ich will einem Dummy nur den Wert, nicht den ganzen Event zuweisen: set dummy $EVENT

Also bei mir steht bei einem Event: 2016-05-25 11:00:19.672 FS20 FS on

nur on im $EVENT.

Gruß

Damian
Titel: Antw:Wert von $EVENT
Beitrag von: marvin78 am 25 Mai 2016, 11:05:13
Es kommt stark auf das Event an. Events bestehen in der Regel tatsächlich aus mehreren Teilen. Es kommt eben darauf an, ob das Event über state oder ein anderes Reading geht.
Titel: Antw:Wert von $EVENT
Beitrag von: Damian am 25 Mai 2016, 11:18:39
Zitat von: Damian am 25 Mai 2016, 11:02:09
Also bei mir steht bei einem Event: 2016-05-25 11:00:19.672 FS20 FS on

nur on im $EVENT.

Gruß

Damian

Wenn es kein Status ist, dann handelt es sich normalerweise um ein bestimmes Reading, welches den Wert beinhaltet, dann kannst du [$DEVICE:<Reading>] benutzen, dort steht dann der entsprechende Wert drin, den du nutzen kannst.


Titel: Antw:Wert von $EVENT
Beitrag von: Per am 25 Mai 2016, 11:56:06
Zitat von: Damian am 25 Mai 2016, 11:18:39ein bestimmes Reading
Leider ein Userreading, welches über RegEx ermittelt wird.

Zitat von: CoolTux am 25 Mai 2016, 09:55:42$EVTPART kann da helfen. Z.B.   $EVTPART1
Geht das nicht nur bei notify? Zumindest finde ich nix dazu in der CommandRef.
Titel: Antw:Wert von $EVENT
Beitrag von: CoolTux am 25 Mai 2016, 12:03:34
Da Du nicht gesagt hast auf welcher Art Du dem Dummy das Zuweisen willst, habe ich das einfach mal so reingeworfen.
Titel: Antw:Wert von $EVENT
Beitrag von: Per am 25 Mai 2016, 14:00:57
Nun, wir sind bei DOIF (https://forum.fhem.de/index.php?board=73.0) ;).
Davon abgesehen, ich dachte, ich hatte irgendwo mal ne "Absichtserklärung" bzgl. $EVTPART1 und DOIF gelesen.
Aber leider nicht wiedergefunden.
Titel: Antw:Wert von $EVENT
Beitrag von: Wernieman am 25 Mai 2016, 15:08:42
Wobei es "echt bescheuert" wäre, wenn DOIF eine Globale Variable wie $EVENT anders behandelt als alle anderen Tools.
Titel: Antw:Wert von $EVENT
Beitrag von: Damian am 25 Mai 2016, 16:17:32
Zitat von: Wernieman am 25 Mai 2016, 15:08:42
Wobei es "echt bescheuert" wäre, wenn DOIF eine Globale Variable wie $EVENT anders behandelt als alle anderen Tools.

$EVENT ist nicht global, sondern wird im jeweiligen Modul definiert.

Es gibt da feine Unterschiede, da DOIF etwas anderen Funktionsumfang als notify hat ;)

Im Gegensatz zu notify, wird DOIF auch ohne Regex getriggert. Wenn man z. B. nur einen Status abfragt ([Dummy]), dann wird bei geblockten Events (mehrere Zeilen zu einem Trigger) einfach die erste Zeile in $EVENT gepackt, da es ja keine Regex in diesem Fall gibt. Mit $EVENTS gibt es dagegen alle Event-Zeilen eines Triggers - das gibt es z. B. bei notify nicht, weil es anhand der Regex für jede passende Zeile die Befehle ausführt - das macht wiederum DOIF nicht.

$EVTPART1 habe ich mir bisher gespart, da ich davon ausging, dass man entsprechende Readings abfragen kann.


Gruß

Damian
Titel: Antw:Wert von $EVENT
Beitrag von: Per am 25 Mai 2016, 22:45:18
OK, aktuell behelfe ich mir damit, dass ich in der Auswertung :d anhänge. Vllt. gibt es später mal ne andere Lösung.
Titel: Antw:Wert von $EVENT
Beitrag von: Damian am 25 Mai 2016, 23:02:11
Zitat von: Per am 25 Mai 2016, 22:45:18
OK, aktuell behelfe ich mir damit, dass ich in der Auswertung :d anhänge. Vllt. gibt es später mal ne andere Lösung.

Wenn du im Sourcecode von DOIF schaust, wirst du $EVTPART finden, bisher allerdings noch auskommentiert.

Gruß

Damian
Titel: Antw:Wert von $EVENT
Beitrag von: Per am 25 Mai 2016, 23:13:40
Habe ich gesehen, als ich die Hilfe durchsucht habe. Da hat F3 nur die beiden auskommentierten Zeilen gefunden.
Titel: Antw:Wert von $EVENT
Beitrag von: Wernieman am 26 Mai 2016, 09:01:43
@Damian
Sorry, habe mich alsch ausgedrückt.

Hätte es anders schreiben sollen:

ZitatEs ist blöde, wenn "Grundsätzliche" Variablen wie $EVENT in den verschiedenen Modulen unterschiedlich behandelt werden. So ist die pflege der Doku noch viel schwieriger, da immer mehr Modulabhängig. Besser währe es, enn solche "Grundsätzlichen" Variablen überall gleich sind. Bei Unterschieden eben unerschiedliche Variablennamen. Ansonsten hat man beim Wechsel von Modulen zusätzliche, unnötige Fehlerquellen.
Titel: Antw:Wert von $EVENT
Beitrag von: Damian am 26 Mai 2016, 09:27:02
Zitat von: Wernieman am 26 Mai 2016, 09:01:43
@Damian
Sorry, habe mich alsch ausgedrückt.

Hätte es anders schreiben sollen:

Ja, ich hätte die Variable auch anders nennen können, allerdings bei gefühlten 99,9 % Kompatibilität zu notify, ist die Frage, ob eine andere Bezeichnung für die User besser wäre.

Gruß

Damian
Titel: Antw:Wert von $EVENT
Beitrag von: Wernieman am 26 Mai 2016, 09:29:34
Ist doch auch nur meine persönliche Meinung ;o)
Titel: Antw:Wert von $EVENT
Beitrag von: Damian am 26 Mai 2016, 09:57:37
Zitat von: Per am 25 Mai 2016, 22:45:18
OK, aktuell behelfe ich mir damit, dass ich in der Auswertung :d anhänge. Vllt. gibt es später mal ne andere Lösung.

Man kann auch im Ausführungsteil auf das entsprechende Event-Reading im DOIF-Modul zugreifen und die neuen vielfältigen Möglichkeiten der Ausgabeformatierung von DOIF nutzen.

[$SELF:matched_event...:...:...]

Gruß

Damian
Titel: Antw:Wert von $EVENT
Beitrag von: Per am 26 Mai 2016, 10:23:31
Zitat von: Damian am 26 Mai 2016, 09:57:37[$SELF:matched_event...:...:...]
Passt! Damit entfällt auch wieder mein :d in der Auswertung.