Skip to content

Burki24/IPS-Zigbee2MQTT-Burki

 
 

Repository files navigation

Version Version License
Check Style Run Tests

Zigbee2MQTT

Anbindung von zigbee2mqtt an IP-Symcon.

Inhaltsverzeichnis

1. Voraussetzungen

  • mindestens IPS Version 7.0
  • MQTT-Broker (interner MQTT-Server von Symcon oder externer z.B. Mosquitto)
  • installiertes und lauffähiges zigbee2mqtt

2. Enthaltene Module

Details zu jedem Typ sind direkt in der Dokumentation der jeweiligen Module beschrieben.

3. Installation

3.1 Neuinstallation

Zuerst ist eine funktionierende Zigbee2MQTT Umgebung gemäß der Installationsanleitung von Zigbee2MQTT (Link) einzurichten.

Ein hierfür benötigter MQTT-Broker ist in Symcon verfügbar und muss entsprechend vorher in Symcon als Instanz erstellt werden (Link), sofern er nicht schon vorhanden ist. Ein MQTT-Konfigurator wird für Zigbee2MQTT nicht benötigt!

Die Installation des Zigbee2MQTT Moduls erfolgt anschließend über den Module Store in der Symcon Konsole. Modul-Store

Nach der Installation fragt die Konsole ob eine Zigbee2MQTT-Discovery-Instanz erstellt werden soll.
Module-Store

Weitere Schritte zur Ersteinrichtung sind unter dem Zigbee2MQTT-Discovery-Modul beschrieben.


3.2 Update von Modul Version 4.5 auf 5.x

Achtung

Bitte diese Migrationsanleitung genau lesen und beachten, ein downgrade auf eine alte Modul Version ist nur mit einem Symcon-Backup möglich!

I. Vorbereitung

  • Bevor das Update über den Modul-Store durchgeführt werden kann, ist sicherzustellen das zuvor mindestens die Version 4.6 der Extension in Zigbee2MQTT installiert ist.
  • Diese wird automatisch ab Version 4.5 durch die Bridge-Instanz installiert, sofern diese Instanz angelegt wurde.
  • Alternativ muss die benötigte Extension in Zigbee2MQTT manuell ein Update auf Version 4.6 erhalten.

Ohne aktuelle Extension wird das Modul Update mit Fehlermeldungen durchgeführt, welche zu unerwarteten Fehlverhalten führen kann

II. Modul-Update

  • Während des Updates wird empfohlen das Fenster Meldungen geöffnet zu lassen um eventuelle Fehlermeldungen nachvollziehen zu können.
  • Das Update anschließend über den Modul-Store durchführen.

geänderte Variablen-Profile

  • Die Variablen welche bei Helligkeit vorher einen Wertebereich von 0 - 254 hatten, werden auf das Profil ~Intensity.100 angepasst. Das Modul rechnet ab sofort automatisch den Wertebereich aus Z2M in Prozent um.
  • Entsprechende Aktion auf oder Auswertungen des Rohwertes der Variablen sind zu prüfen und gglfs. anzupassen.

Folgendes Script kann in Symcon ausgeführt werden, um veraltete Variablenprofile zu löschen.

$Z2M_Profile = array_filter(IPS_GetVariableProfileList(),function($Profil)
{
    return substr($Profil, 0, 4) === 'Z2M.';
});

foreach (IPS_GetVariableList() as $VariableId)
{
    $Variable = IPS_GetVariable($VariableId);
    $Found = array_search($Variable['VariableProfile'],$Z2M_Profile);
    if($Found !== false){
        unset($Z2M_Profile[$Found]);
    }
}

foreach ($Z2M_Profile as $Profile){
            IPS_DeleteVariableProfile($Profile);
            echo 'Delete: '.$Profile.PHP_EOL;
}

geänderte Variablen-Idents

  • Die Version 5.0 ändert beim Update alle Ident aller Variablen welche zu einer ZigbeeMQTT-Instanz gehören.
  • Diese Änderung betrifft nur User welche mit Scripten auf Variablen per Ident (z.B. Z2M_Brightness) und nicht per ObjektID (z.B. 12345) zugreifen.
  • Die Variablen selbst bleiben dabei erhalten, so das sich hier keine ObjektIDs ändern, und entsprechend auch keine Änderungen an Ereignissen, Links, Automationen etc... ergeben.

geänderte Variablentypen

Folgende Liste enthält alle Variablen wo zuvor eine Variable vom falschen Typ genutzt wurde. Diese werden nicht migriert, sondern bleiben erhalten. Es werden die neuen Variablen zusätzlich angelegt, so das hier anschließend manuell z.B. Links oder Ereignisse, angepasst werden müssen.

Name Ident Alt Type Alt Ident Neu Typ neu
Aktion Übergangszeit Z2M_ActionTransTime int action_transition_time float
Aktion Transaktion Z2M_ActionTransaction float action_transaction int
X Achse Z2M_XAxis float x_axis int
Y Achse Z2M_YAxis float y_axis int
Z Achse Z2M_ZAxis float Z_axis int

3. Zigbee2MQTT Version

  • Ein Update auf Zigbee2MQTT Version 2.0 oder neuer kann nach dem Update des Moduls durchgeführt werden.
  • Hierzu sind die Anleitungen unter zigbee2mqtt.io zu beachten.
  • In Symcon sollte eine Bridge-Instanz eingerichtet sein, damit beim Update automatisch die korrekte Extension in Zigbee2MQTT installiert wird.

3.3 Installation der IP-Symcon Extension in Zigbee2MQTT

Für den fehlerfreien Betrieb des Moduls wird eine Erweiterung (Extension) in Zigbee2MQTT benötigt.

Folgende Varianten zum Einreichten der Erweiterung sind möglich:

1. Über die Bridge-Instanz in Symcon (empfohlen)

2. Über das Z2M Frontend den Inhalt der passenden Datei unter dem Menüpunkt Erweiterungen hinzufügen.

3. Die passende Datei in das der Z2M Version entsprechende Verzeichnis auf dem Rechner, wo Z2M installiert ist ablegen. (Expertenwissen zu Z2M erforderlich)

Extension-Dateien und Pfade innerhalb Z2M:

Anleitungen zum Einrichten der Erweiterung:

zu 1. Ist in der Dokumentation der Bridge-Instanz beschrieben.

zu 2. Das Frontend von Z2M im Browser öffnen und den Punkt "Erweiterungen" wählen.

Erweiterungen
Eine neue Extension über den Plus-Button anlegen:
Erweiterungen
Der Erweiterung einen Namen geben, z.B. symcon.js:
Erweiterung erstellen
Es öffnet sich ein Fenster für die Code-Eingabe:
Code Eingabe
Den dort bereits enthaltenen Code bitte komplett löschen.
Anschließend den Inhalt (Code) aus
IPSymconExtension.js für Z2M bis Version 1.42
oder
IPSymconExtension.js für Z2M ab Version 2.0
einfügen und speichern.
Danach sollte Z2M neu gestartet werden:
Code Eingabe

zu 3. Sollte nur von versierten Usern gemacht werden, da es aufgrund der vielzahl an Systemen unter welchen Z2M laufen kann, keine global gültige Anleitung gibt.

4. Konfiguration in IP-Symcon

Bitte den einzelnen Modulen entnehmen:

5. Changelog

Version 5.0:

  • Kompatibilität mit Zigbee2MQTT Version 2.0 hergestellt
  • Geräte erkennen automatisch die Features und Exposes und erstellen die benötigten Variablen mit den entsprechenden Profilen eigenständig
    • Somit keine missing exposes Debugs mehr nötig!
  • Nutzung von Standard-Symcon Profilen, soweit möglich
  • Presets und Effekte als Variablen verfügbar
  • Geräte speichern die IEEE um umbenannte Geräte (= geändertes Topic) zu erkennen
  • Z2M Prefix bei VariablenIdents entfernt
  • Konfigurator übernimmt die MQTT Topic-Struktur beim Anlegen von Geräten als Kategorien
  • Konfigurator erkennt fehlende Bridge-Instanz
  • Konfigurator erkennt falsche Topics (anhand der IEEE Adresse der Geräte)
  • Bridge installiert die Extension nicht mehrfach
  • Bridge installiert automatisch die benötigte Extension
  • Komplettes Code-Rework für Geräte und Gruppen von Bruki24
  • Diverse Aktionen für die Instanzen der Geräte und Gruppen:
    • Relatives Dimmen der Helligkeit
    • Schrittweises Dimmen der Helligkeit
    • Relatives Dimmen der Farbtemperatur
    • Schrittweises Dimmen der Farbtemperatur
    • Ein-/Ausschaltverzögerung

6. Spenden

Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

Amazon Wunschzettel

7. Lizenz

CC BY-NC-SA 4.0

About

Anbindung von zigbee2mqtt an IP-Symcon.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 94.5%
  • JavaScript 5.5%