Auswerten des Auslösers eines set-Befehls

Begonnen von zife, 04 März 2022, 12:30:03

Vorheriges Thema - Nächstes Thema

zife

Hallo fhem-Erleuchtete,

kann man feststellen, wer (Modul/notify/etc.) einen "set"-Befehl an ein Device abgesetzt hat?
$NAME, $SELF, $EVENT, $EVTPART und $data(sequence_source) kenne ich - aber die helfen mir dabei nicht.

Was will ich machen:
Ich kämpfe noch immer mit einer Konstruktion, die außerhalb von fhem ausgelöste Fahrten eines Rolladen (Taster, Smartphone) einfängt und die dadurch veränderte Rolladen-Position per setreading ins Rolladen-Device schreibt.

Teil 1 ist easy, ein DOIF oder ein NOTIFY auf die Bewegung des Rolladen-Device. Schön und gut. Aber das triggert eben auch, wenn der Fahrbefehl aus fhem kam - und korrigiert dann ebenso die Position. Das führt zu zwei unschönen Nebeneffekten:

1. Unnötige Systemlast (bei einer fhem-Fahrt gibt es nichts zu korrigieren, diese Positionswerte sollen als richtig gelten und stehenbleiben)
2. Fehlsteuerung (z.B. nutzt ASC die Position für die weitere Steuerungslogik, und wenn da einer die Position nachträglich "korrigiert", glaubt fhem/das Modul irrtümlich, es hätte jemand manuell eingegriffen). Das Ganze so genau aufeinander abzustimmen, dass die Korrektur den identischen Positionswert ergibt, ist utopisch.

Mein Gedanke ist also, dass mein "Korrektur-NOTIFY" nicht triggert, wenn fhem bzw. eines seiner Module die Fahrt veranlasst hat, sondern nur, wenn es von "extern" kam.

Hat jemand eine Idee für mich, wie ich ans Ziel kommen könnte?


fhem mit EnOcean, Gardena, Vorwerk, Miele und Teufel/Raumfeld-Integration... nur meine Kinder wollen sich damit nicht anständig steuern lassen. Wer weiß Rat?