MQTT-Familie

Hi @sathya,

eine schicke Erweiterung für Homegear wäre eine MQTT-Familie. Man müsste halt die einzelnen Topics (Channel) über eine Konfiguration zu einen Device zusammenbinden können, aber dann wäre Homegear superflexibel.

Alternativ könnte man auch die “Homie-Convention” verwenden. Ich habe keine Ahnung, ob der Link die offizielle Stelle ist, das war nur mein erstes Google-Ergebnis. :wink:

Vielleicht also zwei Familien, mqtt-homie und mqtt-manual. Oder eine, die beides kann.

Was denkst Du?

Viele Grüße

Joachim

1 Like

Damit klar ist, was ich meine hier mal ein Beispiel. Ich habe vor ein paar Tagen meine zigbee2mqtt-Anbindung in openHAB auf das aktuelle mqtt-binding (2.4) umgestellt. Vorher habe ich die einzelnen Topics mit dem mqtt1-binding an items gebunden. War etwas häßlicher, aber weniger Schreib- oder eher Kopierarbeit.

Ein Xiaomi-Bewegungsmelder:

Thing topic TEMD "TEMD"  @ "TE"
{
    Channels:
        Type switch : occupancy "occupancy" [ stateTopic = "zigbee/TEMD/occupancy", on="true", off="false"  ]
        Type number : illuminance "illuminance" [ stateTopic = "zigbee/TEMD/illuminance" ]            
        Type number : voltage "voltage" [ stateTopic = "zigbee/TEMD/voltage" ]     
        Type number : battery "battery" [ stateTopic = "zigbee/TEMD/battery" ]     
        Type number : linkquality "linkquality" [ stateTopic = "zigbee/TEMD/linkquality" ]     
}

Ein Xiaomi-Temperatursensor:

Thing topic KUGS "KUGS" @ "KU"
{
    Channels:
        Type number : temperature "temperature" [ stateTopic = "zigbee/KUGS/temperature" ]
        Type number : humidity "humidity" [ stateTopic = "zigbee/KUGS/humidity" ]
        Type number : pressure "pressure" [ stateTopic = "zigbee/KUGS/pressure" ]
        Type number : voltage "voltage" [ stateTopic = "zigbee/KUGS/voltage" ]     
        Type number : battery "battery" [ stateTopic = "zigbee/KUGS/battery" ]     
        Type number : linkquality "linkquality" [ stateTopic = "zigbee/KUGS/linkquality" ]               
}   

Solche Konfigurationen müsste man natürlich für jeden peer(-Typ) erstellen. Das Topic natürlich mit Platzhalter. Aber dafür ist Homegear ja open-source.

Hallo @job,

das ist eine sehr gute Idee!!! Sollte vom Prinzip her auch schnell programmiert sein. Bei Verwendung der “Homie-Convention” o. ä. ist die Frage, wie Variablen automatisch gefunden werden können, welche nur schreibbar sind?

Viele Grüße

Sathya

1 Like

Das freut mich, ich kann das besser gestern als heute gebrauchen… aber wahrscheinlich ist deine ToDo-Liste rappelvoll.

Naja, diese Convention ist ja nur eine Vereinfachung der Konfiguration, von daher würde ich das nicht als Priorität sehen. Ist natürlich toll wenn die Dinger automatisch gefunden udn konfiguriert werden

Hier ist nochmal die openHAB-Konfiguration für einen Osram Smart Plug:

Thing topic AZMO "AZMO" @ "AZ"
{
    Channels:
        Type switch : state "state" [ stateTopic = "zigbee/AZMO/state", commandTopic = "zigbee/AZMO/set/state", on="ON", off="OFF" ]
        Type number : linkquality "linkquality" [ stateTopic = "zigbee/AZMO/linkquality" ]               
}    

Es gibt für jeden Kanal ein stateTopic und ein commandTopic. Das stateTopic ist zu lesen, das commandTopic ist zum schreiben. Bei readonly or writeonly natürlich nur eins von beiden. :wink:

Ich könnte Konfigurationen für meine ganzen Xiaomi-Zigbee-Geräte beisteuern und z.B. auch für ein Sonoff-Basic (hier muss man irgendwie noch das Jsonpath reinbringen):

Thing topic T1DL "T1DL" @ "T1"
{
    Channels:
        Type switch : power     "Power"                [ stateTopic="sonoff/t1so/stat/POWER", commandTopic="sonoff/t1so/cmnd/POWER"]
        Type string : reachable "Reachable"            [ stateTopic="sonoff/t1so/tele/LWT" ]
        Type number : rssi      "WiFi Signal Strength" [ stateTopic="sonoff/t1so/tele/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
        Type string : version   "Firmware Version"     [stateTopic="sonoff/t1so/stat/STATUS2", transformationPattern="JSONPATH:$.StatusFWR.Version"]

        Type string : info1     "Info1"                [stateTopic="sonoff/t1so/tele/INFO1"]
        Type string : info2     "Info2"                [stateTopic="sonoff/t1so/tele/INFO2"]
        Type string : info3     "Info3"                [stateTopic="sonoff/t1so/tele/INFO3"]
        Type string : result    "Result"               [stateTopic="sonoff/t1so/stat/RESULT"]
}

Ja, leider - wir stellen gerade unsere Hardware fertig und ich schreibe die Firmware dazu. Aber danach findet sich hoffentlich etwas Luft, das einzubauen. Eine Grundversion sollte nicht länger als einen Tag dauern.

Ich könnte Konfigurationen für meine ganzen Xiaomi-Zigbee-Geräte beisteuern

Das wäre super. Im ersten Schritt können das Ganze ja mit manueller Konfiguration anlegen. Im zweiten dann schauen, was für Automatismen möglich sind.

1 Like

Hallo Ihr Beiden,

ich kann mich gerne an Definitionen beteiligen, wenn es mal soweit ist. Bei mir fliegen massenweise H801 LED-Controller, SmartPlugs mit Strommessung auf ESP-Basis und einige DIY-ESP-Devices rum alle mit Tasmota. Dazu kommen noch einige andere Devices, auf ESP-Basis wie z.B. WLED-Controller und ein ESPMilightHub.

Denkbar wäre auch eine MQTT-Homegear-to-Homegear-Bridge.

Gruß Andreas

2 Likes

Wäre es möglich mal eine Grundversion herzustellen? Ich wäre in der Lage eine Grundversion zu erweitern, ich glaube es ist nur wenig hilfreich wenn ich versuchen würde eine neue Familie in das Homegear-System einzubinden. Da fehlt mir der ganze Background über das Klassenmodell. Aber wenn das Familiengerüst einmal steht ist die Erweiterung ja nur noch Fleiss.

3 Likes

Moin,

der Bitte würde ich mich gerne vorsichtig anschließen.

Bin erst diese Woche zufällig auf das wirklich tolle Projekt hier gestoßen. Der Gedanke, dass nach außen hin die Geräte einheitlich auftreten, gefällt mir dabei sehr gut. Bislang visualisiere ich alles in OpenHAB mit einigen Regeln in Node-RED.

Bei Zigbee hab ich mich für Zigbee2MQTT entschieden, da mich die Anzahl der unterstützten Geräte überzeugt hat. Wenn ich diese jetzt noch über MQTT in Homegear einbinden und mir so die Kombination von Geräten erleichtern könnte, wäre es traumhaft.

Ich könnte die oben beschriebene Konfigurationen für zum Beispiel die IKEA Fernbedienung, Sonoff SNZB-02, Hue usw. beitragen.

Schöne Grüße
Michael

2 Likes

Ich hab mir mal ein Lesezeichen hinzugefügt.