KNX/EIB Autocreate Gruppenadressen hex-Format?

Begonnen von nibblerrick, 06 August 2015, 19:59:43

Vorheriges Thema - Nächstes Thema

nibblerrick

Nabend,

nachdem einiges von KNX schon gut ueber FHEM einzubinden ist und ich schoen testen und lernen kann war eines meiner ersten Probleme die automatisch angelegten Adressen zuzuordnen. 7002 fuer 7/0/2 war ja noch einfach, bei 700a wurde ich dann stutzig und musste suchen. Nachdem ich dann herausgefunden hatte, es sind die Zahlen in hexadezimal gewandelt kann man wieder damit klar kommen, ganz so schoen ist es aber nicht. Im Log wird beim finden und anlegen

2015.08.02 11:37:12 3: EIB Unknown device 7711 (7/7/17), Value 0cb0, please define it
2015.08.02 11:37:12 2: autocreate: define EIB_7711 EIB 7711
2015.08.02 11:37:12 2: autocreate: define FileLog_EIB_7711 FileLog ./log/EIB_7711-%Y.log EIB_7711


wie hier im Beispiel die "normale" Schreibweise (7/7/17) zusaetzlich mit aufgefuehrt.

Daher meine Frage: Gibt es einen technischen Grund, warum die hex-Schreibweise genommen wird, gibt es etwas im autocreate umzustellen, da bin ich bisher auf nichts gestossen, was sich mir in die Richtung erschloss.
Oder andere Gruende, oder einfach nicht implementiert?
Wenn nicht imlementiert, kann man das als Vorschlag einrichen?

Gruesse


   Nico

Andi291

Puuuuuh...Da müsste mir jemand auf die Sprünge helfen. Wer hat Details zum Autocreate-Mechanismus parat?

smurfix

Zitat von: Andi291 am 06 August 2015, 20:34:34
Puuuuuh...Da müsste mir jemand auf die Sprünge helfen. Wer hat Details zum Autocreate-Mechanismus parat?
Ist doch ganz einfach, am Ende von EIB_Parse wird eine UNDEFINED-Zeile zurückgegeben.
Die muss man nur entsprechend anpassen.

nibblerrick

Im KNX Modul oder im Autocreatemodul?
Wahrscheinlich auch eher etwas fuer Modulmaintainer, die sicher die richtige Zeile finden, aber ich versuche den Weg schon mal mitzuverfolgen.
Ich habe das Gefuehl, eine eigenen Umsetzung (mal eben ;-) ), wurde noch nicht ganz so gut funktionieren, aber ich versuche dran zu bleiben.

smurfix

Zitat von: nibblerrick am 07 August 2015, 20:31:10
Im KNX Modul oder im Autocreatemodul?
Ich schrieb "am Ende von EIB_Parse". Das ist ja wohl im KNX_Modul:  :o

igami

Zitat von: nibblerrick am 06 August 2015, 19:59:43
Daher meine Frage: Gibt es einen technischen Grund, warum die hex-Schreibweise genommen wird, gibt es etwas im autocreate umzustellen, da bin ich bisher auf nichts gestossen, was sich mir in die Richtung erschloss.

FF braucht nur zwei Zeichen 255 Drei, es geht halt bei EIB [0-13]/[0-7]/[0-255] im Hex kann das mit 4 Zeichen abgedeckt werden, im Dezimal müsste man 6 Zeichen nehmen.

Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

ZeitlerW

Hallo zusammen,

einfach in 10_EIB.pm die Zeile 391 ändern in:
return "UNDEFINED EIB_$dev EIB $dev_name";

vG
Wolfgang

nibblerrick

Nabend,

danke, Wolfgang, ich habe mich gerade durch die 10_EIB und 98_autocreate soweit versucht zu lesen, dass ich die Idee hatte, dass das der richtige Punkt dafuer sein koennte.
Also habt Geduld mit mir, bin gerade eine Woche mit FHEM beschaeftigt...
Dafuer habe ich jetzt auch eine grobe Ahnung, wie das mit dem undefined funktioniert.

Das heisst also, es ist einfach mal so festgelegt worden, dass die Hexschreibweise genommen wird, da ist jetzt nichts technisches hinter, was das erfordert, sondern eine von zwei Moeglichkeiten, richtig?
Ich hatte mich nur gewundert, da ich bei KNX bisher fast immer auf die "Gruppenschreibweise" getroffen bin.

@igami die Erklaerung OK, aber wirklich einen Grund Zeichen zu sparen bei Autocreatedevices gibt es doch nicht, oder? (Also ist jetzt ernst gemeint die Frage!)

igami

Zitat von: nibblerrick am 08 August 2015, 22:07:22
@igami die Erklaerung OK, aber wirklich einen Grund Zeichen zu sparen bei Autocreatedevices gibt es doch nicht, oder? (Also ist jetzt ernst gemeint die Frage!)
Namen sind Schall und Rauch, wie man so schön sagt, ich habe mich am Anfang auch darüber gewundert, es dann aber hingenimmen. Im DEF kannst du auch beide Schreibweisen angeben.

Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

nibblerrick

Dann bin ich ja froh, dass sich jemand anders auch gewundert hat.
Ich bin auch noch am ueberlegen, ob ich da etwas aendern will oder es jetzt hinnehme und mich dran gewoehne, weil es dann eine von-Hand-Aenderung weniger ist im Code.

Andi291

Hallo zusammen,

scheint ja wirklich simpel.
Auf den ersten Blick scheint es wirklich nur die Änderung am Ende von EIB_Parse zu sein. Die Auswirkungen kann ich nicht ganz beurteilen, da ich kein Autocreate nutze...

Ich bau das trotzdem mal ein. Ich erstelle bei Gelegenheit einen separaten Thread mit einer neuen Testversion. Wenn IO, kann ich die Änderungen einchecken.


Grüße, Andi

Andi291

Hallo Nico,

bitte mal testen  und mir Rückmeldung geben. Es sind noch andere Änderungen drin, also bitte auf Seiteneffekte achten.

Grundsätzlich funktioniert alles. Nachdem ich aber mit Autocreate nicht arbeite, kann ich nicht alle Folgen absehen...

Wenn das so hinhaut, checke ich ein.

Grüße, Andi

nibblerrick

#12
Also soweit kann ich bisher nichts negatives feststellen.
Ausser, dass der mir weiter die HEX-Variante anlegt.
Ich habe spasseshalber aus return "UNDEFINED EIB_$dev EIB $dev_name"; mach return "UNDEFINED EIB_$dev_name EIB $dev_name"; gemacht, dann passiert das:
EIB Unknown device 7211 (7/2/17), Value 0c65, please define it
autocreate: define EIB_7/2/17 EIB 7/2/17
ERROR: Invalid characters in name (not A-Za-z0-9.:_): EIB_7/2/17

Gruesse

Edit meint: DEF 7/2/17
Also in der Definition ist die Aenderung schon da.
Der Name an sich wird weiter gehext.
Ist jetzt natuerlich so eine Frage ob zur Uebersicht und zum finden der "sprechende" Name ggf. schoener in 7_7_17 waere, oder ob man normalerweise sowieso alles umbenennt und dann auch in die DEF schauen kann.
Da man in openhab zB. jedoch alles von Hand schreiben muss ist eine Beschwerde wohl eher nicht begruendet ;-)