KNX-Aktor mit Rückmeldung ansteuern

Begonnen von jw9, 22 April 2022, 22:54:39

Vorheriges Thema - Nächstes Thema

Beta-User

Zitat von: erwin am 25 April 2022, 09:52:08
Nein, siehe:
OK, dann war die Frage ja vermutlich doch berechtigt:
Zitat von: Beta-User am 24 April 2022, 18:06:24
Warum dann nicht "state" via "get" abfragen?

Tendenziell wäre es m.E. sinnvoll, auch das Wiki dahingehend nochmal durchzusehen und ggf. zwei Beispiele zu machen, eines für "on/off-Aktor" und irgendwas anderes, wo es wirklich um ein _anderes_ Reading geht.

Was die Statusabfrage nach FHEM-Start angeht: CUL_HM macht das afaik bei mehr oder weniger allen Devices automatisch. Wäre vielleicht eine Idee für eine (optionale?) Erweiterung. "Blöd" ist nur, dass dazu eine NotifyFn eingebaut ist, die dann bei allen bis auf einer CUL_HM-Instanz deaktiviert wird, Timer-basiert wäre einfacher (die NotifyFn hat dort aber ihre Berechtigung, weil sehr früh die IO's initialisiert werden müssen).

Bewässerung sieht bei mit devStateIcon-mäßig z.B. so aus (Farbe ist nicht so meins):
attr <device> devStateIcon on:sani_sprinkling:off off:sani_water_tap:on
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

erwin

ZitatWarum dann nicht "state" via "get" abfragen?
Versteh ich jetzt nicht ganz:
Ohne jedes "spezielle Attribut" zeigt 'state' den Zustand jenes readings, dass als letztes upgedated worden ist. Damit ist FHEM im "normalen Betrieb" immer aktuell.
Wenn man nach einem längeren FHEM Ausfall den realen Zustand in FHEM wiederherstellen will, macht man ein:
Zitatget <device> status
(in diesem Beispiel) - damit wird das entsprechende reading 'status' UND state upgedated.

Falls man alle (abfragbaren) KNX-devices updaten will, gibts eine Utility Funktion:
KNX_scan() siehe cmdref - Die Funktion sucht alle definierten KNX-Devices zusammen und macht ein 'get ....' auf alle, die potentiell Antworten können. - Es gibt KNX-Aktoren bzw. GA-Addressen (in FHEM mit set-option definiert) die nur msg's empfangen können und nichts Richtung FHEM senden.
..wobei es nicht ideal ist, das im global:INITIALIZED notify ohne Verzögerung auszulösen, weil da unter Umständen das FHEM-KNX-IO-Device seinen initial Protokol Handshake mit dem KNX-Gateway noch nicht fertig hat!

Das wiki muß ich mir nochmals ansehen....
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

Beta-User

Zitat von: erwin am 25 April 2022, 10:48:56
Versteh ich jetzt nicht ganz:
[...] damit wird das entsprechende reading 'status' UND state upgedated.
Ah, das war mir mangels näherer Kenntnis des Moduls entgangen... Da hat mich das mit stateFormat aus der Bahn geworfen (das dann aber mAn. insgesamt keinen Sinn macht) ::) .

Zitat
..wobei es nicht ideal ist, das im global:INITIALIZED notify ohne Verzögerung auszulösen, weil da unter Umständen das FHEM-KNX-IO-Device seinen initial Protokol Handshake mit dem KNX-Gateway noch nicht fertig hat!
Ja, ist bei CUL_HM ähnlich. Da wird die NotifyFn auf "INITIALIZED" auch erst mal nur dazu genutzt, die IO's zu initialisieren, die Statusabfrage kommt dann erst später per Timer (der aus der NotifyFn heraus gesetzt wird), und dann (soweit ich das noch korrekt im Kopf habe) auch nur für Devices, die nicht schon sowieso irgendwas zwischendurch gemeldet hatten. (Die interne Datenverwaltung dazu ist - na ja - nennen wir es nicht ganz trivial...).
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