
Erfahren Sie, wie Sie mit dem TR-064 Adapter und ioBroker eine zuverlässige Anwesenheitserkennung in Ihrem Smart Home einrichten. Unsere detaillierte Anleitung zeigt Ihnen die Installation, Konfiguration und Integration von Geräten für ein nahtloses Smart-Home-Erlebnis.
Eine zuverlässige Anwesenheitserkennung ist essenziell für automatisierte Abläufe in Smart Homes. Sie ermöglicht es, Geräte basierend auf der Präsenz von Personen zu steuern, Energie zu sparen und den Komfort zu erhöhen.
Voraussetzungen: Was Sie benötigen
- ioBroker: Eine Open-Source-Plattform für Smart-Home-Anwendungen.
- FritzBox: Ein Router von AVM mit unterstützter TR-064 Schnittstelle.
- TR-064 Adapter: Ein ioBroker-Adapter zur Kommunikation mit der FritzBox.
Schritt 1: Installation des TR-064 Adapters in ioBroker
- Adapter suchen: Navigieren Sie in ioBroker zum Bereich „Adapter“ und suchen Sie nach „TR-064“.
- Installation starten: Klicken Sie auf das Plus-Symbol, um die Installation zu beginnen.
Schritt 2: Konfiguration des Adapters und der FritzBox
- Benutzer in der FritzBox anlegen:
- Gehen Sie zu System > FRITZ!Box-Benutzer.
- Erstellen Sie einen neuen Benutzer mit entsprechenden Rechten.
- Adapter konfigurieren:
- Geben Sie die IP-Adresse Ihrer FritzBox ein.
- Tragen Sie die Zugangsdaten des zuvor erstellten Benutzers ein.
- Stellen Sie das Abfrageintervall nach Ihren Bedürfnissen ein.
- Weitere Einstellungen finden Sie in der Readme des Adapters.
Schritt 3: Geräte hinzufügen und feste IP-Adressen vergeben
- Geräte suchen: Im Adapter können Sie unter „Geräte suchen“ alle mit der FritzBox verbundenen Geräte anzeigen lassen.
- Geräte auswählen: Wählen Sie die Geräte aus, die Sie für die Anwesenheitserkennung nutzen möchten.
- Feste IP-Adressen vergeben: Weisen Sie den ausgewählten Geräten in der FritzBox feste IP-Adressen zu, um eine zuverlässige Erkennung sicherzustellen.
Schritt 4: Datenpunkte in ioBroker erstellen
- Datenpunkte anlegen: Erstellen Sie in ioBroker eigene Datenpunkte, z. B. unter 0_userdata.0.Anwesenheitsprüfung.
- Geräte zuweisen: Ordnen Sie die zuvor ausgewählten Geräte diesen Datenpunkten zu.
Schritt 5: Erstellung von Scripten für die Anwesenheitserkennung
- Script erstellen: Nutzen Sie den Script-Editor in ioBroker, um ein neues Script zu erstellen.
- Logik definieren: Implementieren Sie eine Logik, die den Status der Geräte überwacht und entsprechend die Anwesenheit setzt.
- Beispiel:
- Wenn Gerät A verbunden ist, setze Anwesenheit auf „true“.
- Wenn Gerät A nicht verbunden ist, prüfe nach einer definierten Verzögerung erneut.
- Ist das Gerät weiterhin nicht verbunden, setze Anwesenheit auf „false“.
Hinweis: Achten Sie darauf, mögliche Verzögerungen durch Energiesparmodi von Smartphones zu berücksichtigen.
Vorteile dieser Lösung
- Zuverlässige Erkennung: Durch die direkte Abfrage der FritzBox ist die Anwesenheitserkennung präzise.
- Integration in Automationen: Die erfassten Daten können für vielfältige Automatisierungen im Smart Home genutzt werden.
- Flexibilität: Es können mehrere Geräte überwacht und individuelle Scripte erstellt werden.
Fazit
Mit der Kombination aus ioBroker und dem TR-064 Adapter lässt sich eine effektive Anwesenheitserkennung realisieren. Diese ermöglicht es, Smart-Home-Geräte basierend auf der Präsenz von Personen zu steuern und somit den Komfort und die Effizienz des eigenen Zuhauses zu steigern.
Blocky Scripte
<block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="nqIsxdf:$viJ;@l[L*!]" x="213" y="63">
<mutation items="1"></mutation>
<field name="CONDITION">ne</field>
<value name="OID0">
<shadow type="field_oid">
<field name="oid">tr-064.0.devices.S22-von-Christine.active</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="Check_Active_State">
<value name="IF0">
<block type="logic_compare">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value">
<field name="ATTR">val</field>
<field name="OID">tr-064.0.devices.S22-von-Christine.active</field>
</block>
</value>
<value name="B">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control">
<mutation delay_input="false"></mutation>
<field name="OID">0_userdata.0.Anwesenheitsprüfung.Christine_Handy</field>
<value name="VALUE">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="log">
<value name="LOG">
<block type="text">
<field name="TEXT">Christine ist anwesend.</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="controls_if" id="Check_Inactive_State">
<value name="IF0">
<block type="logic_compare">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value">
<field name="ATTR">val</field>
<field name="OID">tr-064.0.devices.S22-von-Christine.active</field>
</block>
</value>
<value name="B">
<block type="logic_boolean">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control">
<mutation delay_input="false"></mutation>
<field name="OID">0_userdata.0.Anwesenheitsprüfung.Christine_Handy</field>
<value name="VALUE">
<block type="logic_boolean">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="log">
<value name="LOG">
<block type="text">
<field name="TEXT">Christine ist abwesend.</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
Das nächste Script steuert den Datenpunkt „Anwesenheit“
Bei den Objekt ID wählt Ihr Eure Smartphones aus was Ihr angelegt habt.
Bei Steuere wählt Ihr nun den Datenpunkt aus den Ihr damit Steuern wollte, in meinem Fall den Datenpunkt Anwesenheit.
Bei dem Steuere falsch, habe ich bewusst eine Verzögerung eingebaut, da es Smartphones gibt die sich ab und an mal aus dem WLan ausloggen und damit habt Ihr einen kleinen Puffer.
<block type="on_ext">
<mutation items="2"></mutation>
<field name="CONDITION">any</field>
<!-- Prüft Anwesenheit von Geräten -->
<statement name="STATEMENT">
<block type="controls_if">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_operation" inline="false">
<field name="OP">OR</field>
<!-- Logik für Anwesenheitsprüfung -->
</block>
</value>
<statement name="DO0">
<block type="control">
<field name="OID">0_userdata.0.Anwesenheitsprüfung.Anwesenheit</field>
<value name="VALUE">
<block type="logic_boolean">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<statement name="ELSE">
<block type="control">
<field name="OID">0_userdata.0.Anwesenheitsprüfung.Anwesenheit</field>
<field name="DELAY_MS">120000</field>
<value name="VALUE">
<block type="logic_boolean">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</statement>
</block>
</statement>
</block>
Hinweis:
Für Schäden übernehme ich keine Haftung!
Lesen Sie auch unseren Beitrag in der Kategorie Smart Home & Technik für weitere Tipps und Anleitungen.