[Gelöst] cmdalias triggert auf fremdes device

Begonnen von Jamo, 10 April 2022, 23:04:47

Vorheriges Thema - Nächstes Thema

Jamo

Hallo,
man nehme folgendes cmdalias, und folgenden Dummy, und führe ein "set dummyTest Stop" aus. -> Das attr disable wird für den dummy gesetzt.
Die Frage ist warum der cmdalias auch auf dummyTest anspricht, und nicht nur auf das device Workout.

Der cmdalias ist fuer ein 'at' device, also einen Timer. Dort kann ich keine userreadings, oder readingslist anlegen, um mit einem notify zu arbeiten. Deswegen der cmdalias.

[code]defmod c_WorkOut cmdalias set WorkOut Start|Stop|Reset AS {Log 3, "EVENT=$EVENT, EVTPART0=$EVTPART0, EVTPART1=$EVTPART1"; if ($EVTPART1 eq 'Start') {fhem("attr -silent $EVTPART0 disable 0")} elsif ($EVTPART1 eq 'Stop') {fhem("attr -silent $EVTPART0 disable 1") } elsif ($EVTPART1 eq 'Reset') {fhem("setreading WorkOut zaehler 0")}}
[/code]
defmod dummyTest dummy

-> set dummyTest Stop ->

defmod dummyTest dummy
attr dummyTest disable 1


LogFile:
022.04.11 09:15:13 3: EVENT=dummyTest Stop, EVTPART0=dummyTest, EVTPART1=Stop
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

TomLee

Kann ich auf einem System das einen aktuellen Stand hat nicht nachvollziehen, bei mir wird einfach off ausgeführt und das wars auch schon.

Jamo

Kannst Du Dir einfach dazu nochmal folgenden cmdalias anlegen:
defmod c_WorkOut cmdalias set WorkOut Start|Stop|Reset AS {Log 3, "EVENT=$EVENT, EVTPART0=$EVTPART0, EVTPART1=$EVTPART1"; if ($EVTPART1 eq 'Start') {fhem("attr -silent $EVTPART0 disable 0")} elsif ($EVTPART1 eq 'Stop') {fhem("attr -silent $EVTPART0 disable 1") } elsif ($EVTPART1 eq 'Reset') {fhem("setreading WorkOut zaehler 0")}}


Die Frage ist warum der cmdalias auch auf dummyTest anspricht.

PS: Habe es oben eingefügt
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

TomLee


TomLee

Ich komm auch nicht ganz mit wozu du da cmdalias verwenden möchtest, das doch eigentlich ein notify was du da umsetzen möchtest, ist aber auch vlt. schon zu spät das ich gerade nicht mitkomme.

frank

warum überhaupt eventmap bei einem eigenen dummy?
der läst sich doch sicherlich gleich mit den "richtigen" wörtern konfigurieren.

ohne eventmap selbes verhalten?
was schreibt dein Log cmd?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Jamo

Der cmdalias ist fuer ein 'at' device, also einen Timer. Dort kann ich keine userreadings, oder readingslist anlegen, um mit einem notify zu arbeiten. Deswegen der cmdalias.
Meine richtigen Wörter sind Start und Stop, der Effekt tritt auch ohne eventMap auf.
Könnt Ihr ausprobieren.

Die Frage ist doch warum triggered der cmdalias für ein fremdes device?

Ich ändere jetzt mal den Titel vom Thread und passe das Beispiel an
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

TomLee

ZitatIch ändere jetzt mal den Titel vom Thread und passe das Beispiel an

und vlt. verschieben nach Automatisierung ? ... bin gespannt was hier rauskommt  :P wenn keiner was sagt.

Ich hab heut Nachmittag ein paar Minuten  ::) versucht das nachzuvollziehen, zur Zeit aber keine "Geduld und Nerven" und habs gleich wieder gelassen.

rudolfkoenig

Der Teil zwischen cmdalias und AS ist ein Regexp. Gemeint war vmtl.:
defmod c_WorkOut cmdalias set WorkOut (Start|Stop|Reset) AS {Log 3, ...

Jamo

:-( 
Wo Du Recht hast, hast Du Recht. Ist damit gelöst.

DANKE!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack