OH3 Update und MQTT

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Tsoccer
Beiträge: 5
Registriert: 23. Mär 2023 18:26
Answers: 0

OH3 Update und MQTT

Beitrag von Tsoccer »

Hallo liebe Openhab-Gemeinde,

ich betreibe seit langem eine OH 2.5-Installation um mein LIVISI-Smarthome ( früher auch RWE, innogy) einzubinden und mittels MQTT an FHEM zu übertragen. Das hat auch immer gut und zuverlässig funktioniert.

Das ganze erfolgte mit dem Innogy-Binding. Durch das Support-Ende von LIVISI bin ich auf das Upgrade zu OH3 und das LIVISI-Binding gezwungen.

In der OH2.5 habe ich nur die paperUI genutzt. Meine Things und Items habe ich über Textfiles eingepflegt.

Nach dem Update auf OH3 wurden meine Things und Items übernommen. Ich musste nur auf das neue Binding anpassen. Das MQTT-Binding habe ich auch installiert und eingerichtet ( IP vergeben, Port 1883, Client-ID=openhab; Rest unverändert).
Der MQTT broker ist online und zeigt auch keine Fehler im Log.

Aber MQTT sendet keine Werte mehr. Früher konnte ich in der Konsole mit dem Befehl „mosquitto_sub -v -t home/#“ sehen was gesendet wird.

Müssen die Files mqtt.cfg und mqtt-eventbus.cfg auch angepasst werden oder sind sie unter OH3 obsolet?

Vielen Dank für Eure Hilfe und Unterstützung.

Grüße
TSOCCER

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: OH3 Update und MQTT

Beitrag von udo1toni »

openHAB3 hat grundsätzlich keine cfg-Dateien mehr für Addons (grundsätzlich -> es gibt Ausnahmen)
Was mqtt betrifft, so konfigurierst Du alles ausschließlich über Things.
Da Du explizit die Datei mqtt-eventbus.cfg erwähnst: Diese Funktion von openHAB (alle Items werden über mqtt publiziert) gibt es so nicht mehr. Das ist natürlich vor allem in Deinem Fall ärgerlich, wo Du openHAB ja in einer seiner Grundfunktionen nutzen willst (nämlich als reines Protokoll-Gateway).
Nichtsdestotrotz kannst Du das auch weiterhin tun, nur wird es darauf hinauslaufen, dass Du "etwas" mehr konfigurieren musst.

Einen recht guten Überblick (ich hab's nur überflogen) sollte dieses Posting von rlkoshak im englischen Forum geben: https://community.openhab.org/t/marketp ... -bus/76938.

Je nachdem, wie die Channel aussehen, kannst Du einfach für jeden Channel, der weitergeleitet werden soll einen Channel im mqtt Thing anlegen, des Weiteren ein dazu passendes Item, und dann verlinkst Du beide Channel mit dem selben Item, wobei Du beim Link für mqtt das Profile "follow" wählst.
Die gesamte Konfiguration kann problemlos weiterhin über *.things und *.items Dateien erfolgen, Du kannst aber natürlich auch über die Main UI arbeiten.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Tsoccer
Beiträge: 5
Registriert: 23. Mär 2023 18:26
Answers: 0

Re: OH3 Update und MQTT

Beitrag von Tsoccer »

Der channnel sieht wie folgt aus:

channel="livisismarthome:TwoWayMeter:SMARTHOME04:TwoWayMeter:powerWatt (Number:Power)"

Wenn ich im MQTT Thing ein Channel kann ich kein Profil auswählen.

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: OH3 Update und MQTT

Beitrag von udo1toni »

Ähm, das ist kein mqtt Channel. Und der Entwickler gehört gesteinigt. Klammern und Doppelpunkt sind im Link nicht erlaubte Zeichen. Da wird einfach Unsinn angezeigt.
Ich habe gerade mal ein Testsystem hochgezogen und Livisi installiert. Ergebnis:
livisi.things:

Code: Alles auswählen

Bridge livisismarthome:bridge:bridge "Livisi: SmartHome Controller (SHC)" [
    host="192.168.0.99",
    password="SomethingSecret",
    webSocketIdleTimeout=900
 ] {
    Thing TwoWayMeter meter "Zweiwege-Zähler (Two-Way-Meter)" [
        id="0"
    ]
 }
livisi.items:

Code: Alles auswählen

Number:Power    ZweiwegeZahlerTwoWayMeterPowerWatt             "Aktueller verbrauch"             {channel="livisismarthome:TwoWayMeter:bridge:meter:powerWatt"}
Number:Energy   ZweiwegeZahlerTwoWayMeterTotalEnergy           "Gesamtverbrauch"                 {channel="livisismarthome:TwoWayMeter:bridge:meter:totalEnergy"}
Number:Energy   ZweiwegeZahlerTwoWayMeterEnergyDayKwh          "Verbrauch pro tag"               {channel="livisismarthome:TwoWayMeter:bridge:meter:energyDayKwh"}
Number          ZweiwegeZahlerTwoWayMeterEnergyDayEuro         "Verbrauchkosten pro tag"         {channel="livisismarthome:TwoWayMeter:bridge:meter:energyDayEuro"}
Number:Energy   ZweiwegeZahlerTwoWayMeterEnergyMonthKwh        "Verbrauch pro monat"             {channel="livisismarthome:TwoWayMeter:bridge:meter:energyMonthKwh"}
Number          ZweiwegeZahlerTwoWayMeterEnergyMonthEuro       "Verbrauchskosten pro monat"      {channel="livisismarthome:TwoWayMeter:bridge:meter:energyMonthEuro"}
Number:Energy   ZweiwegeZahlerTwoWayMeterTotalEnergyFed        "Gesamteinspeisung"               {channel="livisismarthome:TwoWayMeter:bridge:meter:totalEnergyFed"}
Number:Energy   ZweiwegeZahlerTwoWayMeterEnergyFeedDayKwh      "Einspeisung pro tag"             {channel="livisismarthome:TwoWayMeter:bridge:meter:energyFeedDayKwh"}
Number          ZweiwegeZahlerTwoWayMeterEnergyFeedDayEuro     "Einspeise vergütung pro tag"     {channel="livisismarthome:TwoWayMeter:bridge:meter:energyFeedDayEuro"}
Number:Energy   ZweiwegeZahlerTwoWayMeterEnergyFeedMonthKwh    "Einspeisung pro monat"           {channel="livisismarthome:TwoWayMeter:bridge:meter:energyFeedMonthKwh"}
Number          ZweiwegeZahlerTwoWayMeterEnergyFeedMonthEuro   "Einspeise vergütung pro monat"   {channel="livisismarthome:TwoWayMeter:bridge:meter:energyFeedMonthEuro"}
Damit ist nun die Kopplung mit mqtt ein Kinderspiel.
mqtt.things:

Code: Alles auswählen

Bridge mqtt:broker:mosquitto "Mosquitto" @ "mqtt" [
    host="localhost",
    port=1883,
    clientID="openHAB3"
 ] {
     Thing topic livisi2way "Livisi 2 Way" @ "mqtt" [
          ]{
        Channels:
            Type number : powerWatt           "Kanal 1" [ commandTopic="" ]
            Type number : totalEnergy         "Kanal 2" [ commandTopic="" ]
            Type number : energyDayKwh        "Kanal 3" [ commandTopic="" ]
            Type number : energyDayEuro       "Kanal 4" [ commandTopic="" ]
            Type number : energyMonthKwh      "Kanal 5" [ commandTopic="" ]
            Type number : energyMonthEuro     "Kanal 6" [ commandTopic="" ]
            Type number : totalEnergyFed      "Kanal 7" [ commandTopic="" ]
            Type number : energyFeedDayKwh    "Kanal 8" [ commandTopic="" ]
            Type number : energyFeedDayEuro   "Kanal 9" [ commandTopic="" ]
            Type number : energyFeedMonthKwh  "Kanal A" [ commandTopic="" ]
            Type number : energyFeedMonthEuro "Kanal B" [ commandTopic="" ]
      }
 }
Die Topics kennst nur Du :)
Ergänzung der Items:

Code: Alles auswählen

Number:Power    ZweiwegeZahlerTwoWayMeterPowerWatt             "Aktueller verbrauch"             {channel="livisismarthome:TwoWayMeter:bridge:meter:powerWatt", channel="mqtt:topic:mosquitto:livisi2way:powerWatt"[profile="system:follow"]}
Number:Energy   ZweiwegeZahlerTwoWayMeterTotalEnergy           "Gesamtverbrauch"                 {channel="livisismarthome:TwoWayMeter:bridge:meter:totalEnergy", channel="mqtt:topic:mosquitto:livisi2way:totalEnergy"[profile="system:follow"]}
Number:Energy   ZweiwegeZahlerTwoWayMeterEnergyDayKwh          "Verbrauch pro tag"               {channel="livisismarthome:TwoWayMeter:bridge:meter:energyDayKwh", channel="mqtt:topic:mosquitto:livisi2way:energyDayKwh"[profile="system:follow"]}
Number          ZweiwegeZahlerTwoWayMeterEnergyDayEuro         "Verbrauchkosten pro tag"         {channel="livisismarthome:TwoWayMeter:bridge:meter:energyDayEuro", channel="mqtt:topic:mosquitto:livisi2way:energyDayEuro"[profile="system:follow"]}
Number:Energy   ZweiwegeZahlerTwoWayMeterEnergyMonthKwh        "Verbrauch pro monat"             {channel="livisismarthome:TwoWayMeter:bridge:meter:energyMonthKwh", channel="mqtt:topic:mosquitto:livisi2way:energyMonthKwh"[profile="system:follow"]}
Number          ZweiwegeZahlerTwoWayMeterEnergyMonthEuro       "Verbrauchskosten pro monat"      {channel="livisismarthome:TwoWayMeter:bridge:meter:energyMonthEuro", channel="mqtt:topic:mosquitto:livisi2way:energyMonthEuro"[profile="system:follow"]}
Number:Energy   ZweiwegeZahlerTwoWayMeterTotalEnergyFed        "Gesamteinspeisung"               {channel="livisismarthome:TwoWayMeter:bridge:meter:totalEnergyFed", channel="mqtt:topic:mosquitto:livisi2way:totalEnergyFed"[profile="system:follow"]}
Number:Energy   ZweiwegeZahlerTwoWayMeterEnergyFeedDayKwh      "Einspeisung pro tag"             {channel="livisismarthome:TwoWayMeter:bridge:meter:energyFeedDayKwh", channel="mqtt:topic:mosquitto:livisi2way:energyFeedDayKwh"[profile="system:follow"]}
Number          ZweiwegeZahlerTwoWayMeterEnergyFeedDayEuro     "Einspeise vergütung pro tag"     {channel="livisismarthome:TwoWayMeter:bridge:meter:energyFeedDayEuro", channel="mqtt:topic:mosquitto:livisi2way:energyFeedDayEuro"[profile="system:follow"]}
Number:Energy   ZweiwegeZahlerTwoWayMeterEnergyFeedMonthKwh    "Einspeisung pro monat"           {channel="livisismarthome:TwoWayMeter:bridge:meter:energyFeedMonthKwh", channel="mqtt:topic:mosquitto:livisi2way:energyFeedMonthKwh"[profile="system:follow"]}
Number          ZweiwegeZahlerTwoWayMeterEnergyFeedMonthEuro   "Einspeise vergütung pro monat"   {channel="livisismarthome:TwoWayMeter:bridge:meter:energyFeedMonthEuro", channel="mqtt:topic:mosquitto:livisi2way:energyFeedMonthEuro"[profile="system:follow"]}
Textwüste, aber da nur kopiert, nicht so wild.
Der schlüssel, die Werte vom Livisi Channel zum mqtt Channel zu bekommen, ist der Zusatz [profile="system:follow"], welchen man dem "Slave" Channel hinzufügt.

Ich habe beim Spielen im Testsystem gesehen, dass es im Store zwei weitere Addons gibt, MQTT Event Bus Subscription (wertet mqtt in Richtung openHAB aus) und MQTT Event Bus Publication (sendet Items an mqtt weiter)
Das wird der gleichnamigen Funktion in openHAB2 entsprechen, allerdings wird das wohl etwas anders konfiguriert. Aber vielleicht lohnt der Blick in die Dokumentation dieser Addons (sind wohl Rules, die nach einem bestimmten Schema publizieren...)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Tsoccer
Beiträge: 5
Registriert: 23. Mär 2023 18:26
Answers: 0

Re: OH3 Update und MQTT

Beitrag von Tsoccer »

Ja, das ist das normal Channel, dass über Mqtt publisht werden soll.

Tsoccer
Beiträge: 5
Registriert: 23. Mär 2023 18:26
Answers: 0

Re: OH3 Update und MQTT

Beitrag von Tsoccer »

Super !!!! MQTT funkt wieder :D

Jetzt komt die Fleißaufgabe die .Things und .item Dateien zu pflegen.

In der mqq.things hast Du Kanal 1 - 9 definiert und anschließend mit A und B weitergemacht.
Kann ich hier nicht einfach weiterzählen? Kanal 10, Kanal 11, etc?

Nochmal vielen Dank für die Hilfe !!!!

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: OH3 Update und MQTT

Beitrag von udo1toni »

Tsoccer hat geschrieben: 24. Mär 2023 23:15 In der mqq.things hast Du Kanal 1 - 9 definiert und anschließend mit A und B weitergemacht.
Kann ich hier nicht einfach weiterzählen? Kanal 10, Kanal 11, etc?
Doch, natürlich. Ich war nur faul und wollte die Formatierung nicht noch weiter aufreißen. :)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten