openHAB2 und MQTT 2.4

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: openHAB2 und MQTT 2.4

Beitrag von madmike »

Hallo Udo,
Klammern habe ich in der Items Datei gesetzt on/off ist nun weg, wobei ich nicht verstehe das es vorher nicht wahr aber gut bleibt die Frage nach dem Neustart.
danke und einen schönen Abend
Micha

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

Re: openHAB2 und MQTT 2.4

Beitrag von udo1toni »

Wenn ein Item an einen Channel gelinkt ist, bekommt es sein Label über andere Mechanismen (openHAB Entwickler Voodoo), was zur Folge hat, dass automatisch ein dynamischer Label Teil eingebaut wird, eben [%s], was dann ON bzw. OFF ergibt. Wenn man das nicht will, muss man es weg konfigurieren.
Ich persönlich halte einen Großteil der "Verbesserungen" für nicht so gelungen, aber ich bin seit OH1.0 dabei und ein alter Text-Konfigurations-Hase ;), also, was weiß ich schon?

Was den Neustart betrifft, kommt es sehr darauf an, welche exakte Version von openHAB Du gerade einsetzt. Zu einem bestimmten Zeitpunkt im OH2.5 Nightly Build wurde dieses Problem gefixt. Das konkrete Problem lautet:

Werden Änderungen an einer bestehenden MQTT2 Konfiguration über *.things Dateien vorgenommen, muss das MQTT Bundle neu gestartet werden.

Das geht z.B. von der Karaf Konsole aus:

Code: Alles auswählen

openhabian@openhab2:~$ openhab-cli console

Logging in as openhab

                          __  _____    ____
  ____  ____  ___  ____  / / / /   |  / __ )
 / __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __  |
/ /_/ / /_/ /  __/ / / / __  / ___ |/ /_/ /
\____/ .___/\___/_/ /_/_/ /_/_/  |_/_____/
    /_/                        2.5.0-SNAPSHOT
                               Build #1502

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown openHAB.

openhab> bundle:restart org.eclipse.smarthome.binding.mqtt
Dies sollte ausreichen.

Alternativ kannst Du auch openHAB2 neu starten:

Code: Alles auswählen

sudo systemctl restart openhab2.service
Das Problem momentan ist, dass der Nightly-Zweig immer noch broken ist, was mit dem Merge des Eclipse Smarthome Zweigs zusammen hängt.
Eine alte Nightly kann man nur installieren, wenn man sie im eigenen Cache hat, der aktuelle Build läuft, funktioniert aber anwesentlichen Stellen nicht (z.B. #1519: Paper UI->Configuration->System führt direkt zu einem 500 - internal Server Error)

Kai hat vermutlich "aufgegeben", jedenfalls plädiert er dafür, OH2 nicht weiter zu entwickeln, und stattdessen die Energie in OH3 zu stecken. Natürlich soll OH2.5 zumindest wieder sauber funktionieren, es wird also nicht im broken Zustand bleiben. Aber OH2 ist ein Stück weit broken-by-design, warum das so ist, kann ich nur vermuten.

Die Vorschläge für OH3 im englischen Forum (welches nun offiziell Threads für Entwickler enthält) gehen von "Oh Gott, nicht noch mehr kaputt optimieren" bis zu "Ja wie geil wäre dass denn" (aus meiner Sicht). Bleibt zu hoffen, dass es mehr in die letztgenannte Richtung geht... :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: openHAB2 und MQTT 2.4

Beitrag von madmike »

Hallo Udo,

danke für Deine Antwort ich habe gesehen meine Version ist das Openhab 2 2.4.0 Release Build.
Vielen Dank für die Infos, ich freue mich einen spannenden Weg des Openhab zu gehen.
mfg
Micha

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: openHAB2 und MQTT 2.4

Beitrag von madmike »

Hallo Udo,

ich habe noch eine Frage zur Darstellung in der PaperUI.
Ich habe gelernt, das wenn ich zum Beispiel "Aquarium" @ "MQTT" in die Topiczeile des Things schreibe, wird in der PaperUI unter dem Punkt Controls ein Reiter MQTT erzeugt unter dem wiederum eine Kachel erzeugt wird mit dem Titel Aquarium und hier finde ich die entsprechenden Links mit Schalt- oder Abfrageoption. Das funktioniert und ist logisch.
Da ich eigentlich nie die PaperUI nutze viel mir auf das ich unter Controls drei Reiter zum einen Mqtt alles meine Schalter drin, others da finde ich meine Wetterdaten und Astrodaten auch ok und letztlich finde ich Wohnzimmer wo nichts drin ist. Wie bekomme ich das raus, um mir nicht selbst einen Fehler eingebaut zu haben, oder ist es letztlich egal was da steht ??
Anbei ein Bild:
download/file.php?mode=view&id=608

Danke für Deine Unterstützung
Micha
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: openHAB2 und MQTT 2.4

Beitrag von udo1toni »

Die Tabs werden immer über die Angabe der Location erzeugt. Wenn Du bei irgendeinem Thing oder irgendeiner Bridge ein @ "Wohnzimmer" dabei stehen hast, wird das Tab erzeugt. Das gilt auch, wenn keine Channel mit Items verlinkt sind und somit auch keine Kachel für ein Thing angezeigt wird.
Die Location kann auch in Paper UI gesetzt werden, falls Du ein Thing hier definiert haben solltest.
Unter dem Tab Other werden alle Things gelistet, die keine gesetzte Location haben. Du könntest also Dein Wetter leicht auf ein Tab Wetter bringen.
Da openHAB alle sichtbaren Dinge eines Tabs auch rendern muss, ist es durchaus sinnvoll, unterschiedliche Locations zu setzen, falls man jemals Paper UI Control aufruft, einfach, damit die Seite zügig dargestellt wird. Das ist aber natürlich kein Muss :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

schnitzer
Beiträge: 38
Registriert: 29. Dez 2018 10:17

Re: openHAB2 und MQTT 2.4

Beitrag von schnitzer »

Hallo, ich habe auch ein Problem und komme seit Tagen nicht weiter.
Ich ich schaffe es nicht, die Verbrauchsdaten eines Sonoff Pow darzustellen.
Das Schalten des POW funktioniert einwandfrei. Dazu habe ich folgendes gemacht.
a)Das MQTT Binding 2.4 installiert. ---> Der Broker wird in PaperUI als online angezeigt.
b)Über Inbox->MQTTBinding->Generic MQTT Thing habe ich den POW angelegt.---> Der POW mit dem Namen 'Sonoff_P1' ist online.
c)ich habe über PaperUI einen Channel hinzugefügt. Dabei habe ich als MQTT State Tonic 'stat/Sonoff_P1/POWER' eingegeben und als
MQTT command topic 'cmnd/Sonoff_P1/POWER'
d)unter Linked Item habe ich in PaperUI ein neues Item definiert mit Select a Profile = default und create a new item.
e) damit ist das Item vorhanden.
---> ich kann es schalten und auch die Anzeige in der Sitemap funktioniert einwandfrei. Bis hier ist also alles ok.

Jetzt will ich aber die Verbrauchsdaten des POW auslesen und darstellen. An dieser Stelle bin ich erfolglos.
Wenn ich in mqtt.fx nachsehe, sehe ich auch, dass der POW alle paar Sekunden Sensordaten sendet. Das sieht in mqtt.fx folgendermaßen aus:

Code: Alles auswählen

{"Time":"2019-03-03T11:38:59","ENERGY":{"TotalStartTime":"2019-02-26T07:59:15","Total":0.001,"Yesterday":0.000,"Today":0.001,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":218,"Current":0.000}}
Meine erfolglosen Versuche sind:
1. Rein über PaperUI
a)Definition eines zusätzlichen Channels für das Thing 'Sonoff_P1' mit 'tele/Sonoff_P1/SENSOR' als MQTT State Topic. MQTT command Topic habe ich leer
gelassen.
b)unter Linked Item habe ich in PaperUI ein neues Item definiert (genauso wie oben beschrieben)
Das neue Item erscheint auch in PaperUI. In der Sitemap werden aber keine Werte angezeigt.Im Nachhinein ist es auch verständlich, dass dieser Weg nicht funktionieren kann, da der POW ja unter tele/Sonoff_P1/SENSOR mehrere Daten liefert. Ich hab aber keine Ahnung wie ich das rein in PaperUI schaffen kann.
2. Ich habe dann den Channel und das verlinkte Item gelöscht und versucht ein Item manuell anzulegen.
a) In einer Items Datei habe ich folgendes definiert:

Code: Alles auswählen

Number Sonoff_P1_VCC "Sonoff_P1_Volt [%.0f V]" <energy> {mqtt="[MQTT Broker Konrad:tele/Sonoff_P1/SENSOR:state:JSONPATH($.ENERGY.Voltage)]"}
Ich erhalte aber auch damit keine Anzeige der Verbrauchsdaten.

Ich denke, ich mache hier einen grundsätzlichen Fehler. Vielleicht kann mir hier jemand weiterhelfen.
LG Konrad

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: openHAB2 und MQTT 2.4

Beitrag von madmike »

Hallo Konrad,
ich habe alle Things und Items über VSC angelegt. Da sehe die Abfragen wie folgt aus:
Thing:

Code: Alles auswählen

 Thing topic Aquarium        "Aquarium" @ "MQTT" {
      Channels:
        Type switch : ch1       "Aquarium Beleuchtung"      [ stateTopic="stat/Aquarium/POWER", commandTopic="cmnd/Aquarium/POWER" ]
        Type number : temp      "Aquarium Temperatur"       [ stateTopic="tele/Aquarium/SENSOR", transformationPattern="JSONPATH:$.DS18B20.Temperature" ]
Als Item habe ich den Schalter und die Temperaturanzeige so definiert:

Code: Alles auswählen

 Switch Aquarium                 "Aquarium-Beleuchtung []"          <light>        ["Switchable"]  { channel="mqtt:topic:OH2mqtt:Aquarium:ch1" }
Number Aqua_Temp                "Aquarium-Temperatur [%.1f °C]"    <heating>                      { channel="mqtt:topic:OH2mqtt:Aquarium:temp" }
Und last not least die Sitemap:

Code: Alles auswählen

 Frame label="Aquarium" {
            Switch item=Aquarium
            Text item=Aqua_Temp valuecolor=[>27="red",>21="green",<=21="blue"]
        }
Du müßtest nur Deine Daten entsprechend eintragen.
So sollte es auch bei Dir funktionieren nur das Du nicht temp abfragst sondern energy voltage.
Wichtig ist, was ich Deinem Text nicht entnehmen kann, das Du das du als Addon das JSONPath transforming installiert hast. Findest Du in der Paper UI unter ADDons - Transformation.
Du müßtest nur Deine Daten entsprechend eintragen.
Ich hoffe das ich Dir helfen konnte
Madmike

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: openHAB2 und MQTT 2.4

Beitrag von madmike »

Hallo Konrad,

eins habe ich fast vergessen:
Nach Änderungen an der Thing-Dateien einmal mit:

Code: Alles auswählen

sudo systemctl restart openhab2.service 
neu starten, dann gehen auch alle Things wieder online und funktionieren.
:D Das war ein Fallstrick auf den ich am Anfang auch reingefallen bin.
mfg
Madmike

schnitzer
Beiträge: 38
Registriert: 29. Dez 2018 10:17

Re: openHAB2 und MQTT 2.4

Beitrag von schnitzer »

Dank dir schon mal Madmike, werd das gleich morgen früh probieren... vielleicht klappt es ja

schnitzer
Beiträge: 38
Registriert: 29. Dez 2018 10:17

Re: openHAB2 und MQTT 2.4

Beitrag von schnitzer »

Ganz vielen Dank Madmike, ich habe es tatsächlich mit deiner Hilfe geschafft. Ich habe jetzt auch alle Things und Items über VSC eingetippt. Das war mir eine Lehre. Ich werde künftig PaperUI meiden, wo immer es möglich ist. Für mich ist die Konfiguration über PaperUI undurchsichtig und noch unausgereift. Bei der direkten Eingabe von Code sind die Verbindungen übersichtlicher.

Antworten