Hallo,
in meiner Konfiguration (plugin.yaml) ist das knx-Plugin konfiguriert:
Bei jedem Start erhalte ich eine Fehlermeldung:
Wenn das Plugin nur IP-Adressen akzeptieren soll, dann sollte das so in der Doku angepasst werden (nicht "hostname", sondern "IP address"). Das kann ich bei Bedarf gern machen.
Ansonsten (fände ich schöner) sollte das Plugin hier auch Hostnamen akzeptieren. Wenn die nicht aufgelöst werden können, kann man ja immer noch eine Fehlermeldung werfen.
Leider komme ich im Quelltext nicht weiter - im knx-Plugin wird die Funktion self.get_parameter_value('host') aufgerufen. Die habe ich als class-member zur Klasse SmartPlugin verfolgen können. Dort finde ich aber nur eine Funktion, die die Member-Funktion _parameters.get(parameter_name, None) auf ein Dictionary _parameters aufruft.
Ich habe weder finden können, wo _parameters initialisiert wird, noch - und das scheint mir wichtiger -, wo die offensichtlich stattfindende Typprüfung stattfindet (und wo der Typ "ipv4" festgelegt wird, vgl. Fehlermeldung oben).
Kann mich jemand erleuchten?
[edit]
Super, wenn einem nach dem Posten die Augen aufgehen...
metadata.py habe ich gefunden, auch wenn ich nicht genau weiß, von wo aus das aufgerufen wird, kann ich mir den weiteren Weg vorstellen.
Gibt es einen Grund, warum das Plugin den Parameter "host" nur als IP akzeptieren soll und nicht als Hostnamen?
in meiner Konfiguration (plugin.yaml) ist das knx-Plugin konfiguriert:
Code:
knx: class_name: KNX class_path: plugins.knx host: hauspi port: 6720 send_time: 60 time_ga: 5/2/0 date_ga: 5/2/1 busmonitor: 'true'
Code:
2019-11-14 17:49:26 ERROR metadata Main plugin 'knx': Found invalid value 'hauspi' for parameter 'host' (type ipv4) in /etc/plugin.yaml, using default value '127.0.0.1' instead -- metadata.py:check_parameters:937
Ansonsten (fände ich schöner) sollte das Plugin hier auch Hostnamen akzeptieren. Wenn die nicht aufgelöst werden können, kann man ja immer noch eine Fehlermeldung werfen.
Leider komme ich im Quelltext nicht weiter - im knx-Plugin wird die Funktion self.get_parameter_value('host') aufgerufen. Die habe ich als class-member zur Klasse SmartPlugin verfolgen können. Dort finde ich aber nur eine Funktion, die die Member-Funktion _parameters.get(parameter_name, None) auf ein Dictionary _parameters aufruft.
Ich habe weder finden können, wo _parameters initialisiert wird, noch - und das scheint mir wichtiger -, wo die offensichtlich stattfindende Typprüfung stattfindet (und wo der Typ "ipv4" festgelegt wird, vgl. Fehlermeldung oben).
Kann mich jemand erleuchten?
[edit]
Super, wenn einem nach dem Posten die Augen aufgehen...
metadata.py habe ich gefunden, auch wenn ich nicht genau weiß, von wo aus das aufgerufen wird, kann ich mir den weiteren Weg vorstellen.
Gibt es einen Grund, warum das Plugin den Parameter "host" nur als IP akzeptieren soll und nicht als Hostnamen?
Kommentar