[Gelöst] Notify schaltet mehrfach hin und her

Begonnen von sigi3001, 02 Februar 2023, 22:47:42

Vorheriges Thema - Nächstes Thema

sigi3001

Mit clientstate bin ich auch nicht wirklich weitergekommen (wahrscheinlich mangels Detailverständnis).

Aber ich habe den Übeltäter des mehrfach-Telegrammes identifiziert:

Ich habe alle meine KNX-devices nach folgendem Muster angelegt:

define Lampe2 KNX 14/1/1:dpt1:EinAus 14/2/1:dpt1:Status:listenonly


Wenn ich überall den Statusteil aus der Definition entferne, dann kommt das Telegramm nur mehr 1x.
Ist zwar nicht die ideale Lösung, aber momentan weiss ich mir nicht besser zu helfen.

Cheers,
Sigi
Mühsam ernährt sich das Eichhörnchen.

Der Gira Homeserver ist tot! - Lang lebe FHEM!

erwin

Das ist jetzt aber kontraproduktiv!
Zuerst sollten die KNX-Devices sauber definiert sein und funktionieren, inklusive status,
und dann kommen goodies wie Telegram, notify, structure, Weekdaytimer,..... - alles auf einmal ist reichlich verwirrend!

Schau dir nochmal das <struct-type>_map attribut an und setzte es (in den KNX-devices) auf:
attr <device> Gruppe_map Status
damit sollte das reading Status als input für structure verwendet werden!

PS: 2 KNX geräte kann man aus via cmdalias ein/ausschalten... dazu brauchts kein structure!

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

structure wurde jüngst wegen dieses Verhaltens aktualisiert. Evtl. muss zusätzlich ein Attribut gesetzt werden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

erwin

Ich zitiere mich mal selbst... ;D
ZitatZuerst sollten die KNX-Devices sauber definiert sein und funktionieren, inklusive status,
dann überlegen welche events man für die "Weiterverarbeitung" (- Log, Db, notifies, charts...), braucht,
und erst dann notifies,... anlegen.
Sobald du so definiert hast:
define Lampe2 KNX 14/1/1:dpt1:EinAus 14/2/1:dpt1:Status:listenonly
kannst du mittels 'attr <device> event-on-change-reading Status' die Anzahl events auf jene reduzieren, die du wirklich brauchst!
Das reduziert die Systemlast wesentlich!
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,...

sigi3001

Hallo Erwin,

erstmal vielen Dank, dass du für einen blutigen Anfänger wie mich so viel Zeit und Geduld aufbringst.

Ich habe jetzt den ganzen Sonntag damit verbracht, mit den diversen Attributen herumzuspielen.
Zwischenzeitlich hab ich sogar den ganzen Raspi nochmal neu aufgesetzt, weil ich dachte, dass möglicherweise an der Grundkonfiguration was falsch sein könnte.
(Hat aber nix gebracht.  ::) )

Beim korrekten Setzen der Attributen bin ich leider immer noch relativ ratlos.
Wenn ich z.B. attr Kuechenlampe envent-on-change-reading Status  setze, dann schaltet das Licht zwar korrekt, aber es erscheint keine einzige Zeile mehr im Eventmonitor.

Und wenn ich z.B. ein Device nach der Vorlage aus dem Wiki neu anlege:

define Lampe2 KNX 14/1/1:dpt1:EinAus 14/2/1:dpt1:Status:listenonly
attr Lampe2 stateFormat Status
attr Lampe2 devStateIcon off:li_wht_off:on on:li_wht_on:off       ##Nebenfrage: was soll das on bzw off nach den Iconnamen bedeuten?

...dann erhalte ich eine Lampe wo statt dem Symbol für on und off nur Status dortsteht.
Lustig ist auch, dass ich mit klick auf das Wort Status die Lampe nur einschalten, aber nicht ausschalten kann. (Die on-off-Buttons funktionieren normal.)
Wenn ich ausschliesslich das devStateIcon setze dann funktioniert der Klick auf das Icon wie ein Toggle.
Noch spannender finde ich, dass das defStateIcon anscheinend nicht den Status vom Rückmeldeobjekt anzeigt, denn wenn ich eine völlig falsche 2. Gruppenadresse eingebe schaltet das Icon trotzdem um.


Cheers,
Sigi
Mühsam ernährt sich das Eichhörnchen.

Der Gira Homeserver ist tot! - Lang lebe FHEM!

erwin

ZitatWenn ich z.B. attr Kuechenlampe envent-on-change-reading Status  setze, dann schaltet das Licht zwar korrekt, aber es erscheint keine einzige Zeile mehr im Eventmonitor.
gibts im device ein reading "Status" - und änderte sich das, wenn du die Lampe schaltest? - Falls nein - kommt keine Rückmeldung vom KNX-device !!!
Damit wird auch STATE (damit wird das Icon gesteuert) sich nicht ändern!
Zitatwas soll das on bzw off nach den Iconnamen bedeuten
Siehe 'help FHEMWEB" :
ZitatSpace separated list of regexp:icon-name:cmd triples, icon-name and cmd may be empty.
Ja das devStateIcon funktioniert in diesem Fall wie ein Toggle.: status= off -klick- cmd=on... status=on -klick- cmd=off...
ZitatLustig ist auch, dass ich mit klick auf das Wort Status die Lampe nur einschalten, aber nicht ausschalten kann
Auch das ist klar: wenn der Wert (also das erste wort im devStateIcon) sich nicht ändert, löst du mit jedem klick das selbe cmd aus!
Du hattest schon mal ein Device, wo Status sich geändert hat: GardrobeNachtlicht !!! Allerdings hieß das reading damals Status-get..... (dein post vom 03 Februar 2023, 21:00:12)
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,...

sigi3001

Folgendes glaube ich jetzt herausgefunden zu haben:

Bei einem Device laut Wiki (KNX Device Definition - Beispiele):

definde Testdevice KNX 1/2/3:dpt1:OnOff 4/5/6:Status:listenonly

wird ein Reading mit dem Namen Status-get erzeugt, das den Wert der Gruppenadresse 4/5/6 anzeigt.

Das heisst aber ich muss dann entweder
attr Testdevice stateFormat Status-get
angeben, oder ich muss

:nosuffix

im Device setzen.

Falls ich damit richtig liege sollte das auch im Wiki korrigiert werden.
Weil so wie es dort steht (attr Testdevice stateFormat Status) ohne :nosuffix funktioniert es definitiv nicht.

Cheers,
Sigi
Mühsam ernährt sich das Eichhörnchen.

Der Gira Homeserver ist tot! - Lang lebe FHEM!

erwin

Hi Sigi,
völlig korrekt, danke für den Hinweis, hab wiki  ausgebessert!
l.g. erwin
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,...

sigi3001

Perfekt!

Damit hat sich auch die ursprüngliche Frage gelöst: damit mein Notify nur mehr 1x auslöst werde ich nun das "Status-get"-Reading auswerten.

Damit würde ich diesen Thread als gelöst betrachten.

Vielen Dank nochmal an alle, die mich bei der Lösung dieses Problems und des Knotens in meinem Gehirn unterstützt haben.
;D

Cheers,
Sigi
Mühsam ernährt sich das Eichhörnchen.

Der Gira Homeserver ist tot! - Lang lebe FHEM!