OH 2.5 mqtt Werte werden nicht angezeit

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
ms1978
Beiträge: 12
Registriert: 6. Aug 2021 14:53
Answers: 0

OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von ms1978 »

Hallo,
ich lese per MQTT Werte aus, die möchte ich in der UI anzeigen.

in der Log:
2023-01-15 12:17:48.656 [vent.ChannelTriggeredEvent] - mqtt:systemBroker:ccgx:01 triggered {"value": 53.02}

Code in Items-Datei

Code: Alles auswählen

Number	PV_battery_voltage  		"Akkuspannung [%.2f Volt]" 	(gPower)		{channel="mqtt:systemBroker:ccgx:01"} 
Leider wird in der UI nur das Label und kein Wert angezeigt - wo liegt mein Fehler

Danke, Martin

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

Re: OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von udo1toni »

Frage eins: Welche Version von openHAB nutzt Du denn? Den Systembroker gibt es in openHAB3 jedenfalls nicht mehr.

Dein eigentliches Problem wird aber sein, dass Du versuchst, ein JSON Objekt einem Number Item zuzuweisen, das geht nicht. Du musst in der Channeldefinition ein transformationPattern eintragen, welches mit JSONPATH den Wert selektiert (hier wäre es $.value).
Die jsonpath Transformation muss installiert sein.

Wahlweise kannst Du die Transformation auch über ein Profile vornehmen, kommt etwas auf das Drumherum an, ob das sinnvoll ist.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

ms1978
Beiträge: 12
Registriert: 6. Aug 2021 14:53
Answers: 0

Re: OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von ms1978 »

Hallo, ich habe es gelöst, Openhab 2.5.1
nach langem suchen, habe ich mal ein generic MQTT Thing angelegt, dort konnte ich in der PaperUI dann den Channel formatieren mit JSONPATH - jetzt klappt es - danke für die Tips.

ms1978
Beiträge: 12
Registriert: 6. Aug 2021 14:53
Answers: 0

Re: OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von ms1978 »

das obige funktioniert einwandfrei, leider hat sich openhab wohl eine Abfrage eines mqtt Topic irgendwo gemerkt, dort bekomme ich ein Fehler im LOG - ist halt kosmetisches Problem - diese Abfrage des MQTT Topic taucht weder in den Items, noch in den Thing-Channels auf.
Speichert Openhab die MQTT Topics noch irgendwo im Dateisystem - wenn ja, wo?

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

Re: OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von udo1toni »

Nein. Es kann natürlich sein, dass irgendwo was hängen geblieben ist. Du kannst in den json Dateien, in denen die Konfiguration aus Paper UI gespeichert wird schauen, ob Du dort das Topic findest. Allerdings ist es so eine Sache, diese Dateien händisch zu bearbeiten. Letztlich ist es eine Operation am offenen Herzen. openHAB muss dazu beendet sein. Zum Prüfen reicht aber lesender Zugriff auf die Dateien, da wird eher nichts passieren.

Von der GNU/Linux Shell aus:

Code: Alles auswählen

find $OPENHAB_USERDATA/ -exec grep -i 'Suchstring' /dev/null {} \;
sollte Dir alle Vorkommen des Suchstrings liefern. Wenn Du den Übeltäter identifiziert hast und es sich um eine Datei im Verzeichnis $OPENHAB_USERDATA/jsondb/ handelt, kannst Du openHAB beenden, die Datei kopieren und anschließend das Original öffnen und die betreffende Stelle reparieren. Du musst aber aufpassen, die Datenstruktur nicht zu beschädigen :). Schau Dir an, wie die Daten drum herum strukturiert sind.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

ms1978
Beiträge: 12
Registriert: 6. Aug 2021 14:53
Answers: 0

Re: OH 2.5 mqtt Werte werden nicht angezeigt

Beitrag von ms1978 »

Hallo, vielen Dank, ich habe im 1. Schritt den Abschnitt gelöscht, das hat er nach dem Start gemerkt, und ein JSONDB Backup zurückgespielt.
Dann habe ich alles mit mqtt über die Paperui entfernt. Danach in der "org.eclipse.smarthome.core.thing.Thing.json" alle abschnitte mit mqtt gelöscht, und den Inhalt des JSONDB Backupordner gelöscht - danach startet das Openhab einwandfrei.
Den Broker hab ich dann manuell neu angelegt - jetzt läuft es sauber.

Ein Problem scheint das 2.5er mit Mqtt zu haben, wenn man unter Things einen Channel in der Paperui anlegt, und aus versehen eine vorhandene Channelnummer angibt, kommt das System durcheinander und wechselt zwischen den beiden Werten hin und her - der Channel kann zwar gelöscht werden - die Werte werden aber bei mir trotzdem weiterhin abgefragt - Neustart etc. hilft auch nicht, dann einfach einen neuen Channel anlegen, der eindeutig ist, und benutzen - oder das obige Prozedere wiederholen - geht auch.

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

Re: OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von udo1toni »

Keine Ahnung, was Du mit Channelnummer meinst.
Gewöhnlich legt man Things an, unter jedem Thing legt man Channel an. Innerhalb eines Things müssen alle Channel eine eindeutige ID haben.
Innerhalb einer Bridge müssen alle untergeordneten Things eine eindeutige ID haben.
Innerhalb eines Bindings müssen alle Bridges (oder falls Binding ohne Bridge alle Things) eine eindeutige ID haben.

Code: Alles auswählen

Brdge mqtt:broker:bridge [...] {
     Thing topic topic1 [...] {
         Type switch : ch1 ...
         Type switch : ch2 ...
         Type switch : ch3 ...
     }
     Thing topic topic2 [...] {
         Type switch : ch1 ...
         Type switch : ch2 ...
         Type switch : ch3 ...
     }
 }
Vollkommen korrekt, obwohl drei Channelpaare jeweils eine identische ID haben, aber sie unterscheiden sich im Thing.

Die UID als Ganzes (hier z.B. mqtt:topic:bridge:topic1:ch3) muss eindeutig sein, nicht mehr und nicht weniger.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

ms1978
Beiträge: 12
Registriert: 6. Aug 2021 14:53
Answers: 0

Re: OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von ms1978 »

textbasiert ist das richtig, aber wenn man das über die Paperui macht, im Thing ein Channel anlegen 01,02,03 gab es diese Probleme!

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

Re: OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von udo1toni »

Namen (IDs) dürfen nicht mit Zahlen anfangen und durften das noch nie. In openHAB3.4 wird das auch durchgesetzt, vorher aber nicht.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

ms1978
Beiträge: 12
Registriert: 6. Aug 2021 14:53
Answers: 0

Re: OH 2.5 mqtt Werte werden nicht angezeit

Beitrag von ms1978 »

ok, das war mir neu - dann setz ich halt nen "a" davor oder so.
Läuft jetzt alles - vielen Dank.

Antworten