NEWS
Klasisches (Tradfri) Zigbee und ioBroker
-
Hallo zusammen,
ich bin neu hier im Forum und habe mich schon durch einige Threads gearbeitet, bin jedoch noch nicht auf ein Thema gestoßen das meinem ähnlich ist.
Falls ich eins übersehen habe und hier einen Doppelpost vornehme, gebt mir bitte bescheid, dann werde ich Diesen schließen und mich dem Anderen anschließen.Hier meine Anfrage:
Ich habe seit ca. einem Jahr eine Ikea TRADFRI Schaltung zu Hause in Betrieb. Diese wurde zentral über das IKEA Gateway bzw. über die jeweiligen Schalter geschaltet.
Seit ca. einem Monat beschäftige ich mich damit, wie ich das ganze smart schalten kann (z.B. Präsenszerkennung oder automatische Schaltung der indirekten Beleuchtung nach Sonnenuntergang, etc.). Hierfür habe ich bereits einen Raspberry Pi mit ioBrokerinstallation und einen zigbee Stick mit der aktuellen Firmware (CC2531_DEFAULT_20190223) geflasht. Einige der TRADFRI-Geräte werden aus der Werkseinstellung heraus erkannt. Ein Problem bereitet mir momentan noch die schaltbare Steckdose bzw. der dazugehörige "IKEA TRADFRI ON/OFF switch (on, off) E1743", der laut der zigbee2mqtt-Seite supportet wird. Dieser wird nicht als das entsprechende Gerät erkannt.
Das größte Problem ist jedoch, dass ich die Geräte (-gruppen) weiterhin direkt per zigbee miteinander koppeln/regeln möchte, sodass die Schaltungen einwandfrei funktionieren, auch wenn der Raspberry Pi offline ist oder eine Störung hat.
Konkrete möchte ich die vorhandene Gerätegruppen über den ioBroker ansteuern. Alternativ würde mir auch eine Lösung gefallen, bei der ich die Geräte mit dem ioBroker verbinde und anschließend zu Gruppen zusammenfüge, die weiterhin autark (nur über zigbee zwischen den Geräten), aber auch auch im ioBroker verfügbar sind.Ich hoffe, mein Vorhaben ist nicht zu speziell und es gibt Forumsmitglieder, die mir dabei helfen können. Ich freue mich über jede Antwort.
Gruß, alf
-
Da ich leider bislang keine Antwort bekommen habe, hier noch einmal eine Nachfrage. Hat niemandeine Idee? Oder ist mein Vorhaben so abwegig? Oder unverständlich beschrieben?
Gruß, alf -
es geht nicht was du da vorhast..
-
Naja, im Prinzip geht es schon, nur halt ohne den Zigbee-Stick. Der Tradfri-Gateway lässt sich mit iobroker wunderbar bedienen und damit auch die angeschlossenen Lampen und Geräte. Einzig bekommt iobroker keine Daten von gekoppelten Fernbedienungen oder Sensoren mit. Aber dafür läuft das auch, wenn iobroker down ist, sofern man es passend im gateway gekoppelt hat.
Gruss, Jürgen
-
Zunächst einmal danke für die Antworten (nach langer Zeit komme ich endlich mal wieder zu diesem Projekt).
Leider bin ich immer noch nicht restlos überzeugt. Es muss doch mit dem "Snifferstick" die Möglichkeit geben, ein "Ein- oder Aussignal" eines Schalters "nachzuahmen", damit alle gekoppelten Empfänger entsprechend reagieren - oder? Schließlich habe ich in den Zigbeespezifikationen gelesen, dass alle aktiven Komponenten die Signale wie in einem Mashwlan weiterleiten.
Gibt es vielleicht mittlerweile neue Features in der Implementierung für iobroker?
Gruß, alf -
@alf
Das wird immer noch nicht unterstützt. Um so ein System laufen zu lassen muss der Stich sowohl bindings als auch Gruppen sauber unterstützen. Die Unterstützung dafür in den darunter liegenden Bibliotheken ist aber noch nicht so weit das wir das stabil umgesetzt bekommen.A.
-
@Asgothian sagte in Klasisches (Tradfri) Zigbee und ioBroker:
@alf
Das wird immer noch nicht unterstützt. Um so ein System laufen zu lassen muss der Stich sowohl bindings als auch Gruppen sauber unterstützen. Die Unterstützung dafür in den darunter liegenden Bibliotheken ist aber noch nicht so weit das wir das stabil umgesetzt bekommen.Pseudo Gruppen - sprich Gruppen die nur im Adapter gehalten werden sind zwar denkbar, aber umständlich und am zigbee vorbei.
A.
-
@Asgothian
Eigentlich meine ich keine Pseudo Gruppen im Stick, sondern Gruppen, die über die direkte Schalterkopplung erstellt sind (also den Schalter direkt am/mit den Empfängern gekoppelt).
Also müsste der Stick ja "nur" das Signal des Schalters imitieren. Die Empfänger wären in meinem Szenario ja bereits ohne Stick gekoppelt, damit alle Funktionen auch bei einem Ausfall des Raspis noch gegeben sind und man nicht im Dunkeln sitzt. Dann ließen sich die Empfänger zwar nicht mehr einzeln ansteuern, aber das wäre dann der notwendige Kompromiss.
Eine vollständige Bridge bestehend aus Raspi und Stick (inkl. der nativen Kopplung der Komponenten bei Ausfall der Bridge) habe ich noch auf der Wunschliste aber beim aktuellen Entwicklungsstand weit nach hinten gestellt. -
@alf sagte in Klasisches (Tradfri) Zigbee und ioBroker:
@Asgothian
Eigentlich meine ich keine Pseudo Gruppen im Stick, sondern Gruppen, die über die direkte Schalterkopplung erstellt sind (also den Schalter direkt am/mit den Empfängern gekoppelt).
Also müsste der Stick ja "nur" das Signal des Schalters imitieren. Die Empfänger wären in meinem Szenario ja bereits ohne Stick gekoppelt, damit alle Funktionen auch bei einem Ausfall des Raspis noch gegeben sind und man nicht im Dunkeln sitzt. Dann ließen sich die Empfänger zwar nicht mehr einzeln ansteuern, aber das wäre dann der notwendige Kompromiss.
Eine vollständige Bridge bestehend aus Raspi und Stick (inkl. der nativen Kopplung der Komponenten bei Ausfall der Bridge) habe ich noch auf der Wunschliste aber beim aktuellen Entwicklungsstand weit nach hinten gestellt.Leider arbeitet zigbee so nicht. Wenn du ohne Bridge mehrere Lampen an eine FB koppelst, dann geschieht das per “binding” - das Signal der FB wird an alle Lichter gesandt die im binding drin sind. Die Liste der zu schaltenden Objekte liegt dabei auf der FB, deswegen kann der coordinator (Stick) das Signal nicht senden. Auch kann er die FB nicht anweisen das Signal selber zu senden, da fasst alle FB nur aktiv sind wenn eine Taste gedrückt wurde.
Alles was per binding läuft geht am coordinator vorbei und läuft so auch ohne das die Bridge existiert/funktioniert. Deswegen müsste damit das geht der zigbee Adapter wissen wer mit wem wie gekoppelt it, um dann den einzelnen Lampen ihre Signale senden zu können. Das wären echte Gruppen, wenn das auf dem Stick abgelegt wird, oder pseudo-Gruppen im Adapter.Die “binding” (einrichten, abschalten, nutzen) soll der zigbee Adapter irgendwann lernen - das ist aber nicht trivial.
A.
-
@Asgothian
Aber genau das funktioniert ja mit der Originalbridge von Ikea und den Tradfrilampen und -Steckdosen. Die FB und Empfänger werden via Bridge gekoppelt und funktionieren sowohl per App über die Bridge, als auch mit ausgeschalteter (stromloser) Bridge. -
@alf
Egal wie du bei Ikea Lampen, Steckdosen und FB’s koppelst (über Bridge oder direkt), es werden immer bindings zwischen FB und Endgerät - deswegen brauchst du bei Ikea die Bridge eigentlich nicht, und alles funktioniert mit und ohne Bridge.A.
-
@Asgothian
Aber ist es nicht so, dass bei IKEA für die Kopplung von Geräten die Fernbedienung nur einmal benötigt wird?
D.h. danach läuft bspw. eine Lampe direkt mit dem IKEA Gateway - auch ohne FB. Wäre das dann ein binding zwischen der Lampe und dem IKEA Gateway? -
Fragezeichen bleiben.
-
@ReverZ sagte in Klasisches (Tradfri) Zigbee und ioBroker:
Fragezeichen bleiben.
Das kann ich mir gut vorstellen. Es bleibt aber auch die Tatsache das der ioBroker.Zigbee Adapter nicht alle Funktionalitäten von Herstellerspezifischen Gateways unterstützt.
Das was du abbilden möchtest ist in der Zigbee-Welt über Bindings und Gruppen abgebildet. Beides sind Funktionalitäten die nicht ohne weiteres Universell umsetzbar sind - sie hängen davon ab welche der Zigbee Funktionalitäten die Hersteller der Endgeräte in ihren Geräten implementiert haben.
Nur nebenbei - viele Hersteller sind was das angeht eher unwillig Detailinformationen heraus zu geben. Alles was im Zigbee Adapter bisher drin ist ist durch eine Kombination von reverse Engineering und vorhandener Dokumentation entstanden.
@alf sagte in Klasisches (Tradfri) Zigbee und ioBroker:
@Asgothian
Aber genau das funktioniert ja mit der Originalbridge von Ikea und den Tradfrilampen und -Steckdosen. Die FB und Empfänger werden via Bridge gekoppelt und funktionieren sowohl per App über die Bridge, als auch mit ausgeschalteter (stromloser) Bridge.Um noch einmal darauf einzugehen:
Die Verbindung zwischen Fernbedienung und Lampe geht bei Ikea per Binding.
Die Verbindung zwischen Gateway und mehreren Lampen gleichzeitig geht bei Ikea (aber auch sonst) über auf dem Gateway konfigurierte Gruppen.
Bei Ikea findet die Konfiguration der Gruppen über die Verbindung von Lampen mit Fernbedienungen statt. Jede Lampe die mit einer bestimmten FB gekoppelt wird wird auf dem Gateway auch mit dieser in eine Gruppe eingetragen.Dieses Verhalten bildet der ioBroker-Zigbee Adapter nicht nach.
A.
-
@Asgothian
Ah, alles klar. Danke für die Aufklärung! -
Hallo zusammen,
die dunkle Jahreszeit bringt mich (endlich) wieder zurück zu meinem Projekt. Da der cc2531 ja auch als "sniffer" betitelt wird, ist mir folgende Idee gekommen, die mich evtl. ans Ziel bringt. Allerdings vorerst nur in der Theorie. Daher folgendes Szenario und Fragen an die erfahrenen in diesem Forum:-
Ich habe mehrere Steckdosen von Tradfri mit einer Fernbedienung gekoppelt, um mit einem Knopfdruck die indirekte Beleuchtung im Wohn-/Essbereich zu steuern. Diese hat wie ich von @Asgothian gelernt habe, wird die Gruppe also alle zu adressierenden Geräte auf der Fernbedienung gespeichert.
-
Die empfangenden Geräte lassen sich nur mit der gekoppelten Fernbedienung steuern (soweit ich verstanden habe, wird dafür beim Koppeln der Schlüssel der Fernbedienung gespeichert).
-
Die Fernbedienung funkt also bei jedem schalten das Signal (in diesem Fall ein simples "an" oder "aus") an alle gekoppelten Geräte und "signiert" dies mit dem entsprechenden Schlüssel (?)
-
Müsste sich dann nicht mit dem Snifferstick das Signal (empfangende Geräte und der passende Schlüssel des Absenders) mitschneiden und vom iobroker über den Stick "wieder abspielen" lassen? Somit wären zumindest die vorhandenen Gruppen in Regeln integrierbar (z.B. Anwesenheits- oder Zeitschaltung). Neue Geräte müssten dann natürlich immer über die Fernbedienung hinzugefügt und die Signale neu mit dem Stick abgefangen werden.
-
Müssten dann im nächsten Schritt nicht auch die einzelnen Empfänger aus dem abgefangenen Signal extrahieren lassen, um sie aus dem iobroker einzeln anzusteuern (per Konsole, Regel oder ausschließlich im iobroker angelernten Fernbedienung)?
Ich freue mich auf eure (hoffentlich) Antworten. Wenn ich ein paar Ansätze bekomme, tüftel ich weiter und kann evtl. eine Anleitung fürs Forum schreiben.
Gruß alf
*edit: Aufgrund einer Falschbestellung habe ich mittlerweile zwei entsprechende Sticks, eine alternative Firmware auf einem der beiden wäre also kein Problem.
-
-
@alf sagte in Klasisches (Tradfri) Zigbee und ioBroker:
Hallo zusammen,
die dunkle Jahreszeit bringt mich (endlich) wieder zurück zu meinem Projekt. Da der cc2531 ja auch als "sniffer" betitelt wird, ist mir folgende Idee gekommen, die mich evtl. ans Ziel bringt. Allerdings vorerst nur in der Theorie. Daher folgendes Szenario und Fragen an die erfahrenen in diesem Forum:-
Ich habe mehrere Steckdosen von Tradfri mit einer Fernbedienung gekoppelt, um mit einem Knopfdruck die indirekte Beleuchtung im Wohn-/Essbereich zu steuern. Diese hat wie ich von @Asgothian gelernt habe, wird die Gruppe also alle zu adressierenden Geräte auf der Fernbedienung gespeichert.
-
Die empfangenden Geräte lassen sich nur mit der gekoppelten Fernbedienung steuern (soweit ich verstanden habe, wird dafür beim Koppeln der Schlüssel der Fernbedienung gespeichert).
-
Die Fernbedienung funkt also bei jedem schalten das Signal (in diesem Fall ein simples "an" oder "aus") an alle gekoppelten Geräte und "signiert" dies mit dem entsprechenden Schlüssel (?)
-
Müsste sich dann nicht mit dem Snifferstick das Signal (empfangende Geräte und der passende Schlüssel des Absenders) mitschneiden und vom iobroker über den Stick "wieder abspielen" lassen? Somit wären zumindest die vorhandenen Gruppen in Regeln integrierbar (z.B. Anwesenheits- oder Zeitschaltung). Neue Geräte müssten dann natürlich immer über die Fernbedienung hinzugefügt und die Signale neu mit dem Stick abgefangen werden.
Ein Abfangen mag möglich sein, allerdings ist das nicht ohne weiteres im ioBroker zu integrieren - du musst direkt auf dem Protokoll-Level der Zigbee Kommunikation arbeiten. Über diesen Level laufen aber neben den von Dir zu "fangenden" Signalen auch andere Signale, so das eine eindeutige Zuordnung nicht trivial ist.
- Müssten dann im nächsten Schritt nicht auch die einzelnen Empfänger aus dem abgefangenen Signal extrahieren lassen, um sie aus dem iobroker einzeln anzusteuern (per Konsole, Regel oder ausschließlich im iobroker angelernten Fernbedienung)?
In der Theorie, ja. aber wie oben auch müsstest Du damit direkten Zugriff auf das Zigbee Protokoll bekommen - dieses ist mit der Kombination ioBroker.zigbee -> Zigbee-Shepherd-Converters (oder Zigbee-Herdsman-Converters) -> cc2531 Firmware nicht vorgesehen. Ich gehe nicht davon aus das man das "mal eben" da rein patchen kann.
Ich freue mich auf eure (hoffentlich) Antworten. Wenn ich ein paar Ansätze bekomme, tüftel ich weiter und kann evtl. eine Anleitung fürs Forum schreiben.
Gruß alf
*edit: Aufgrund einer Falschbestellung habe ich mittlerweile zwei entsprechende Sticks, eine alternative Firmware auf einem der beiden wäre also kein Problem.
Ich wäre durchaus interessiert daran ob es Dir gelingt zumindest den ersten Teil deines planes umzusetzen. Zum sniffen empfehle ich diese Anleitung
Die in der Anleitung erwähnten Schlüssel für das Funknetz solltest du aus der Konfiguration des Zigbee-Adapters entnehmen können.A.
-
-
@Asgothian said in Klasisches (Tradfri) Zigbee und ioBroker:
@alf sagte in Klasisches (Tradfri) Zigbee und ioBroker:
@Asgothian
Eigentlich meine ich keine Pseudo Gruppen im Stick, sondern Gruppen, die über die direkte Schalterkopplung erstellt sind (also den Schalter direkt am/mit den Empfängern gekoppelt).
Also müsste der Stick ja "nur" das Signal des Schalters imitieren. Die Empfänger wären in meinem Szenario ja bereits ohne Stick gekoppelt, damit alle Funktionen auch bei einem Ausfall des Raspis noch gegeben sind und man nicht im Dunkeln sitzt. Dann ließen sich die Empfänger zwar nicht mehr einzeln ansteuern, aber das wäre dann der notwendige Kompromiss.
Eine vollständige Bridge bestehend aus Raspi und Stick (inkl. der nativen Kopplung der Komponenten bei Ausfall der Bridge) habe ich noch auf der Wunschliste aber beim aktuellen Entwicklungsstand weit nach hinten gestellt.Leider arbeitet zigbee so nicht. Wenn du ohne Bridge mehrere Lampen an eine FB koppelst, dann geschieht das per “binding” - das Signal der FB wird an alle Lichter gesandt die im binding drin sind. Die Liste der zu schaltenden Objekte liegt dabei auf der FB, deswegen kann der coordinator (Stick) das Signal nicht senden. Auch kann er die FB nicht anweisen das Signal selber zu senden, da fasst alle FB nur aktiv sind wenn eine Taste gedrückt wurde.
Alles was per binding läuft geht am coordinator vorbei und läuft so auch ohne das die Bridge existiert/funktioniert. Deswegen müsste damit das geht der zigbee Adapter wissen wer mit wem wie gekoppelt it, um dann den einzelnen Lampen ihre Signale senden zu können. Das wären echte Gruppen, wenn das auf dem Stick abgelegt wird, oder pseudo-Gruppen im Adapter.Die “binding” (einrichten, abschalten, nutzen) soll der zigbee Adapter irgendwann lernen - das ist aber nicht trivial.
A.
Hab bei mir die Tradfri Lampen und FB im zigbee adapter gekoppelt. Allerdings schaltet die FB die Lampen nicht. Ich habe verstanden, dafür muss ich ein Binding im Adapter einrichten. An welcher Stelle und wie mache ich das?
Im Objekte Reiter kann ich über die states die Lampen direkt schalten und die Befehle der FB kommen auch an.