Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Unter https://developers.meethue.com/develop/hue-api/supported-devices/ findet man so etwa ab kurz vor der Mitte (vor 1.2 Dimmable light), die Information in welchem API-Release die jeweiligen Knoten hinzukamen. Dort sieht man "config" gibt es ab 1.24 und "capabilities" ab 1.22. Nur auf die Knoten die seit 1.0 definiert sind kann man sich wirklich verlassen.
Schau auf den 1. Post in diesem Thread. Da sieht Du es.
Meinst du im Screen-Dump die Spalte "Hersteller"?
Dort liefert deconz auch "Royal Philips ..". Einfach aus Kompatibiltätsgründen ...
Meine Frage bezog sich daher auf die Hardware an sich und nicht auf das was in der Info zurück kommt. Ich verstehe dich dann aber so, dass du jeweils eine Original Philips/Signify-Bridge hast.
Ich habe eine Original Philips v1 Bridge und den Deconz-Klon.
{% if (bridge_count > 0) and (br_object.config().whitelist|length > 1) %} jinja2.exceptions.UndefinedError: 'None' has no attribute 'config'
Hatte ich abgefangen. Die hast Du durch Änderungen neu erzeugt.
Kannst du hier bitte mal bei dir in den try-except-Block nach
Code:
self.br.lights()
ein throw einfügen und dir ansehen was dann passiert?
Also Bridge wieder austragen aus der plugin.yaml und dann neu Verbinden.
Die letzte Änderung "hue2: Added support to webinterface for bridge/lights that do not support startup-mode" geht schon in die richtige Richtung. Allerdings gibt es auch Lampen die "config" und "capabilities" _komplett_ nicht unterstützen. D.h. es gibt weder einen "config" noch einen "capabilities" Knoten.
Das ist bei mir auch bei der Original Philips v1 Bridge so. (siehe die Lights-Ausgabe weiter oben, die ist von dieser Bridge).
Ok,
ich habe inzwischen die Portangabe zu greate_new_username() und remove_username() hinzugefügt und die Aufruf aus dem Webinterface entsprechend angepasst.
Die Fehlermeldung mit dem startup.mode rührt vermutlich daher, dass die deconz-Bridge den startup mode der Hue Leuchten (safety, custom) nicht unterstützt und dann auch keine Startup Settings kennt. (Wie soll sich die Leuchte nach Stromausfall einschalten).
Wenn ich eine (uralte) Philips Hue Bridge verwende (die auch globale Szenen untersützt). Dann kommt diese Meldung beim Rendern:
Code:
2021-02-07 15:25:56 ERROR cherrypy.error.3809409552 [07/Feb/2021:15:25:56] HTTP
Traceback (most recent call last):
File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cprequest.py", line 638, in respond
self._do_respond(path_info)
File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cprequest.py", line 697, in _do_respond
response.body = self.handler()
File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/lib/encoding.py", line 219, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cpdispatch.py", line 54, in __call__
return self.callable(*self.args, **self.kwargs)
File "/usr/local/smarthome/plugins/hue2/webif/__init__.py", line 113, in index
br_object=self.plugin.br)
File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/_compat.py", line 28, in reraise raise value.with_traceback(tb)
File "/usr/local/smarthome/plugins/hue2/webif/templates/index.html", line 413, in top-level template code
{% set tab6title = "<strong>Hue Bridge</strong>" %}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base_plugin.html", line 183, in top-level template code
{% if scroll_heading is not defined %}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 1, in top-level template code
{% block doc -%}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 4, in block "doc"
{%- block html %}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 76, in block "html"
{% block body -%}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 79, in block "body"
{% block content -%}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base_plugin.html", line 155, in block "content"
{% block bodytab2 %}
File "/usr/local/smarthome/plugins/hue2/webif/templates/index.html", line 221, in block "bodytab2"
<td class="py-1">{{ bridge_lights[l].config.startup.mode }}</td>
File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/environment.py", line 471, in getattr
return getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'config'
Also ähnlich wie vor, aber es gibt schon kein 'config' Attribut.
Bei create_new_username fehlt noch der Port ...
Wenn ich dort den Port hinzufüge, dann kommt dieser Fehler:
Code:
2021-02-07 14:46:45 ERROR cherrypy.error.3807865968 [07/Feb/2021:14:46:45] HTTP
Traceback (most recent call last):
File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cprequest.py", line 638, in respond
self._do_respond(path_info)
File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cprequest.py", line 697, in _do_respond
response.body = self.handler()
File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/lib/encoding.py", line 219, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cpdispatch.py", line 54, in __call__
return self.callable(*self.args, **self.kwargs)
File "/usr/local/smarthome/plugins/hue2/webif/__init__.py", line 113, in index
br_object=self.plugin.br)
File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "/usr/local/smarthome/plugins/hue2/webif/templates/index.html", line 413, in top-level template code
{% set tab6title = "<strong>Hue Bridge</strong>" %}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base_plugin.html", line 183, in top-level template code
{% if scroll_heading is not defined %}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 1, in top-level template code
{% block doc -%}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 4, in block "doc"
{%- block html %}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 76, in block "html"
{% block body -%}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html", line 79, in block "body"
{% block content -%}
File "/usr/local/smarthome/modules/http/webif/gtemplates/base_plugin.html", line 175, in block "content"
{% block bodytab6 %}
File "/usr/local/smarthome/plugins/hue2/webif/templates/index.html", line 520, in block "bodytab6"
{% if (bridge_count > 0) and (br_object.config().whitelist|length > 1) %}
jinja2.exceptions.UndefinedError: 'None' has no attribute 'config'
ABER: Das liegt vermutlich daran, dass die deconz-Bridge keine globalen Scenen unterstützt. Mit der letzten Änderung führt jetzt jegliche Exception beim Abfragen von Lichtern, Gruppen etc. dazu das die Bridge wieder verworfen und False zrückgegeben wird. Allerdings reagiert der Aufrufer nicht auf den Returnwert, so dass beim Rendern ein merkwürdiger Zustand vorliegt?
Ich habe das mal probehalber so geändert, dass nur bei query_scenes die Exception genutzt wird um eine leere Liste von Szenen zu erstellen. Danach erhalte ich wieder die 1:1 Fehlermeldung von JackHammer.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: