Grüße,
eine Frage zum Verständnis, vielleicht liegt auch ein Fehler vor.
Typischerweise schalten ich meine Lampen über eine Gruppenadresse und der Status wird über eine zweite Gruppenadresse zurückgeliefert. Am Aktor hat das Kommunikationsobjekt zum Schalten den Flag "Schreiben", aber nicht "Lesen". Das Kommunikationsobjekt der Rückmeldung genau andersherum. Daher dachte ich, ich lege meine Devices folgendermaßen an:
defmod KNX_0101000 KNX 1/1/0:dpt1.001:set 1/2/0:dpt1.001:get
Klappt auch wunderbar aus FHEM heraus.
Allerdings gibt es da diese Lichtschalter. ;) Also ein Busteilnehmer sendet ein Telegramm an die Gruppenadresse "Schalten", nicht FHEM. Setzt man ":set" nicht, wird ein "getG1" angelegt.
defmod KNX_0101000 KNX 1/1/0:dpt1.001:set 1/2/0:dpt1.001:get
attr KNX_0101000 IODev KNX
setstate KNX_0101000 off
setstate KNX_0101000 2019-04-20 17:24:55 getG1 off
setstate KNX_0101000 2019-04-20 17:24:55 getG2 off
setstate KNX_0101000 2019-04-20 17:24:55 last-sender 1/0/2
setstate KNX_0101000 2019-04-20 17:24:55 state off
Legt man ":set" an, sieht es so aus. Es wird ein Reading "" (kein Zeichen, oder ein Leerzeichen - ich weiß es nicht) angelegt.
defmod KNX_0101000 KNX 1/1/0:dpt1.001:set 1/2/0:dpt1.001:get
attr KNX_0101000 IODev KNX
setstate KNX_0101000 off
setstate KNX_0101000 2019-04-20 17:03:38 off
setstate KNX_0101000 2019-04-20 17:03:38 getG2 off
setstate KNX_0101000 2019-04-20 17:03:38 last-sender 1/0/2
setstate KNX_0101000 2019-04-20 17:03:38 state off
Ich denke, entweder wird bei ":set" gar kein "getGx" angelegt, oder es wird ein "getGx" gesetzt. Ein Reading ohne eine Bezeichnung erscheint mir nicht optimal.
Marco
Grüße,
ich würde bei dieses Thema nochmal nach oben schubsen. Ich reduziere daher einfach den Text / die Fragestellung :)
Wird auf dem Bus eine GA von einem Busteilnehmer geschrieben (write) und ich habe diese GA in FHEM mit :set markiert, wird ein leeres Reading angelegt.
Könnte man trotz des :set nicht auch ein getGx als ReadingName vergeben?
(Bilder und Details im vorherigen Beitrag)
Abend!
Ich geb zu, das ist ein wenig holprig.
Ursache dürfte die komplexe Steuerung (teilweise über Leerstrings) sein.
Man könnte es auch als Feature verkaufen - es macht durchaus Sinn, bei einfachen Devices kein getG* zu haben. Das war früher im Übrigen der Normalzustand :-)
Vergib mal bitte einen Namen - dann dürfte das Verhalten sein, wie Du willst...
defmod KNX_0101000 KNX 1/1/0:dpt1.001:steuern:set 1/2/0:dpt1.001:status:get
Grüße...
Grüße,
leider wird das Reading ohne Namen auch dann angelegt. Weiter unten habe ich noch eine Analyse mit Verbose5 angelegt, aber:
Ich glaube inzwischen, dass es sich eher um einen Verständnisthema handelt.
Mein Erklärungsversuch:
Auf dem Bus gibt es 2 Arten von Telegrammen,
GroupValueWrite und
GroupValueRead (ETS).
In FHEM gibt es 2 Readings,
setGx und
getGx. Man könnte nun annehmen, dass
setGx zu
GroupValueWrite gehört und
getGx zu
GroupValueRead.
Dem ist aber nicht so!
Es ist egal, ob das Telegramm auf dem Bus
GroupValueWrite oder
GroupValueRead ist. Das Ergbnis landet immer im
getGx.
setGx sagt nur, dass FHEM das
GroupValueWrite geschrieben hat - mehr nicht.
Daher denke ich das die Option
":set" auch zu einem
getGx führen sollte. Einfach damit die
GroupValueWrite vom Bus sind gleich verhalten. Die
":set" sollte nur das abfragen, durch FHEM unterbinden, da keine Antwort vom Aktor zu erwarten ist.
Ich denke, dass hat auch JoeALLb im Thema "[open] set funktioniert nicht korrekt?" gemeint.
Zitat von: JoeALLb am 29 August 2018, 16:38:48
Punkt2:
Es geht mir tatsächlich darum, dass hier set nicht funktioniert!
Bin gespannt auf die Antwort :)
Marco
------------------------------------
Und noch die Analyse:
Auf den Bilder sieht man folgendes:
ohne
":set": getG1 und setG1
mit
":set": leeres Reading und setG1
mit
":steuern:set": leeres Reading und steuern-set
Ich habe eine Vergleich der Logeinträge mit Verbose 5 gemacht, siehe Screenshot notpad++. Mit :set wird der Teil mit "parse" nicht ausgeführt.
Vielleicht stützt dies ja meine aktuelle Vermutung, dass eigentlich ein getGx angelgt werden sollte.
Korrekt verstanden und wiedergegen. Die Flags vom Bus werden ignoriert.
Trotzdem sollte bei Angabe eines Namens kein leeres Reading angelegt werden.
Wird dauern, hab im mOment keine Zeit. Werd bei Gelegenheit mal schauen...
Erledigt, siehe https://forum.fhem.de/index.php/topic,116737.0.html (https://forum.fhem.de/index.php/topic,116737.0.html)