Notify manuell auslösen

Begonnen von willib, 05 März 2019, 13:15:50

Vorheriges Thema - Nächstes Thema

willib

Um ein notify zu testen muss bislang das auslösende Event per Trigger ausgelöst werden.
Ich wünsche mir die Möglichkeit die Anweisung des Notify direkt auszuführen wie dies Z.B bei DOIF möglich ist.
Sowas wie
set <notify> execute

Im Idealfall geht das auch dann, wenn das notify disabled ist.

FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

Beta-User

Kannst du mir erläutern, welchen Anwendungsfall du siehst?

Zum Hintergrund der Frage:
Ich habe im Kern zwei Typen von notify: (Wenige) solche, hinter denen ein schlichter FHEM-Befehl auszuführen ist. Da kann ich den Ausführungsteil ohne weiteres auch dadurch ausführen, dass ich nur diesen in die Kommandzeile reinkopiere.

Viel häufiger sind aber solche, die eine weitere Auswertung enthalten (v.a. des triggernden Events oder Teilen davon). Ist der nicht korrekt angegeben, funktioniert das ganze gar nicht.
Server: HP-elitedesk@Debian 12, 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

CoolTux

Zitat von: willib am 05 März 2019, 13:15:50
Um ein notify zu testen muss bislang das auslösende Event per Trigger ausgelöst werden.
Ich wünsche mir die Möglichkeit die Anweisung des Notify direkt auszuführen wie dies Z.B bei DOIF möglich ist.
Sowas wie
set <notify> execute

Im Idealfall geht das auch dann, wenn das notify disabled ist.

Sehe ic kein Bedarf. Du kennst den trigger Befehl womit Du ein Event erzeigen kannst auf das Dein notify dann reagiert?
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

willib

Ich sah eine Anwendung beim Testen des notify. Mir war aber tatsächlich nicht bewusst, dass ich das mit der Kommandozeile machen kann. Wobei ich dann im Browser aus der aktuellen Ansicht rausfliege. Ist ein schlichter FHEM Befehl auch die Auswertung mit z.B. IF, oder sogar mehreren IF?

Außerdem ließen sich existierende notify auch in anderen FHEM Befehlen aufrufen. Zb ein komplexeres notify welches im Normalfall von einem Button ausgelöst wird auch über ein at auszulösen. Oder macht ihr das dann auch über den Trigger Befehl? Das finde ich etwas umständlich da die getriggerten events ja auch in anderen Fhem devices Reaktionen auslösen könnten. Trigger wäre somit nicht eindeutig.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

CoolTux

Ich würde dann eher einen Dummy dafür nehmen und diesen auslösen. Und das notify triggert zusätzlich den Dummy.
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

nils_

Zitat von: willib am 06 März 2019, 15:43:02
Mir war aber tatsächlich nicht bewusst, dass ich das mit der Kommandozeile machen kann. Wobei ich dann im Browser aus der aktuellen Ansicht rausfliege.
dazu könntest du einfach einen zweiten Tab öffnen, und dort dann den trigger anstoßen.

Zitat von: willib am 06 März 2019, 15:43:02
Außerdem ließen sich existierende notify auch in anderen FHEM Befehlen aufrufen. Zb ein komplexeres notify welches im Normalfall von einem Button ausgelöst wird auch über ein at auszulösen. Oder macht ihr das dann auch über den Trigger Befehl? Das finde ich etwas umständlich da die getriggerten events ja auch in anderen Fhem devices Reaktionen auslösen könnten. Trigger wäre somit nicht eindeutig.
hört sich für mich erstmal eher nach einer Funktion an. die gehört dann eher in eine myUtils. und die kannste dann von mehreren Stellen entsprechend aufrufen.
Achtung: dein IF (fhem-IF != perl-if) funktioniert dort dann nicht!



//edit:
https://wiki.fhem.de/wiki/99_myUtils_anlegen
viele Wege in FHEM es gibt!

JoWiemann

Hm, bei einem "at" gibt es set <device> execNow. Könnte man doch bei einem notify genauso machen!

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Beta-User

Zitat von: JoWiemann am 06 März 2019, 16:43:53
Hm, bei einem "at" gibt es set <device> execNow. Könnte man doch bei einem notify genauso machen!

Grüße Jörg
Das geht aber m.E. nur, wenn das notify bereits alle relevanten Infos über die DEF hat. Das ist aber nicht immer der Fall:
Zitat von: Beta-User am 05 März 2019, 13:21:53
Viel häufiger sind aber solche, die eine weitere Auswertung enthalten (v.a. des triggernden Events oder Teilen davon). Ist der nicht korrekt angegeben, funktioniert das ganze gar nicht.

Also konkreteres Beispiel: was soll passieren, wenn der code einen $EVTPART0 an ein anderes Device als das auslösende weitergeben soll?
Server: HP-elitedesk@Debian 12, 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

Benni

Zitat von: JoWiemann am 06 März 2019, 16:43:53
Hm, bei einem "at" gibt es set <device> execNow. Könnte man doch bei einem notify genauso machen!

Ein at reagiert auch nicht auf einen Event, sondern lediglich auf Zeit und die kann ich schlecht "vorgaugkeln"

Ein Event kann aber im Prinzip beliebig komplex sein und somit auch beliebig viel Information für das Notify liefern (Stichwort $EVENT und $EVTPARTx, sowie $NAME). Diese Information müsste man bei einem execNow ja mitliefern, dann quasi als Parameter.

Von daher kann ich auch gleich per trigger-Befehl den gewünschten Event simulieren.

So gesehen ist das execNow durch trigger schon vorhanden.

gb#

Helmuth

Hallo

bin hier gerade drüber gestolpert und fände das auch sehr hilfreich. Gerade wenn man mal einen Fehler sucht würde das viel schneller und einfacher gehen wenn ich ein notify manuell anstoßen könnte.

Ironie ein:
Wir reden ja nur von einer Hausautomatisierung da brauchen wir ja nicht über Komfort oder komfortabel sprechen, sondern kopieren uns mit mehrfach Fenstern ans Ziel. Vielleicht sollte man auch an Anfänger denken. Ich bin ja schon froh, das ich fhem fehlerfrei aussprechen kann. ;D

so genug jetzt
Ironie aus

Vielleicht denkt ja noch mal jemand drüber nach und es tut sich was.

Grüße aus Paderborn

Helnuth
Wer einen Tippfehler findet darf ihn behalten.

herrmannj

dann hast Du die Beiträge oben nicht verstanden. Will man ein notify manuell auslösen dann verwendet man den trigger Befehl.