Kofiguration Sonoff Pow mit MQTT2.4, Werte einlesen - Paper UI

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
manylomy
Beiträge: 3
Registriert: 26. Mär 2019 10:08

Kofiguration Sonoff Pow mit MQTT2.4, Werte einlesen - Paper UI

Beitrag von manylomy »

Hallo zusammen,

ich habe den Eindruck, mir einen schlechten Zeitpunkt zur Umstellung auf OH2 ausgesucht zu haben. Offensichtlich nutzen nur wenige die Möglichkeit, Sonoff (Tasmota 5.12.0) über das Paper UI in Betrieb zu nehmen.

Ich habe Openhabian 2.4 installiert. Dabei den im openhab-config angebotenen MQTT installiert. Dann habe ich im Paper UI das Binding MQTT installiert. Weiterhin habe ich aus den AddOns unter Transformation den JSONPath Transformation installiert.
Da ich aus der Vergangenheit noch pimatic in Betrieb habe kann ich sehen, dass Mosquitto läuft und Befehle als auch Werte bereitstellt.

Code: Alles auswählen

13:21:52 MQT: tele/Sonoff_Pow/STATE = {"Time":"2019.04.09 13:21:52","Uptime":"7 00:30:42","Vcc":3.514,"POWER":"ON","Wifi":{"AP":1,"SSId":"Leopard","RSSI":40,"APMac":"34:31:C4:BC:FE:1B"}}
13:21:52 MQT: tele/Sonoff_Pow/SENSOR = {"Time":"2019.04.09 13:21:52","ENERGY":{"Total":254.360,"Yesterday":0.632,"Today":0.362,"Period":1,"Power":59,"Factor":0.79,"Voltage":227,"Current":0.328}}
13:21:55 WIF: Prüfe Verbindung...
Als nächstes habe ich dann das Item "Teichpumpe" mit der Bridge "mybroker" als Generic MQTT Thing konfiguriert. Als Channel habe ich dann einen Schalter eingefügt, der den Switch aus und einschalten soll, - und das macht er auch.
In Control unter other finde ich den Eintrag, und wenn ich den Schalter betätige geht die Teichpumpe an oder aus. Auch wenn ich anderseits im pimatic den Schalter betätige sehe ich in OH2 das ein und ausschalten. So weit so gut. :P

Nun möchte ich die Energiewerte darstellen. Dazu habe ich einen weiteren channel installiert.

Channel Type = Number Value
Channel ID =Teichpumpe-Energie
Label = Energy
MQTT state topic = stat/Sonoff_Pow/SENSOR
MQTT Command topic = leer
incomming value transformation =JSONPATH($.ENERGY.Power)

Wenn ich diesen channel speicher geht der Status des Generic MQTT Thing von online nach "Offline-Configuration Error."

Wenn ich dann den channel lösche und neu installiere ohne den Wert "incomming value transformation" auszufüllen läßt das System das speichern zu.
Diesen channel versuche ich dann per link in die Anzeige zu bringen.
Dabei wird als profile der Eintrag JSONPATH ausgewählt.
Als Item suche ich jetzt den Energieverbrauch (Energie heute) der Teichpumpe aus, der unter item mit angeboten wird.

Nun sehe ich in Control unter other weiterhin den Schalter, zusätzlich auch noch einen Eintrag

Energie heute -NaN kWh

Ich habe schon sehr viele Varianten versucht, finde aber keinen Weg, der um Ziel führt. Im Netz findet man eine Reihe an Howto zu den Themen MQTT in OH. Da sind aber fast alles MQTT 1 Beschreibungen.

Hat jemand eine Idee, was da zuu tun ist, eventuell schon den SOnoff Pow so installiert?

Würde mich über jede Anregung freuen. Wenn weitere Infos gebraucht werden stelle ich die natürlich gerne mit ein.

Vielen Dank
manylomy

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Kofiguration Sonoff Pow mit MQTT2.4, Werte einlesen - Paper UI

Beitrag von sihui »

manylomy hat geschrieben: 9. Apr 2019 14:15 incomming value transformation =JSONPATH($.ENERGY.Power)
Ab und zu lohnt sich auch mal ein Blick in die anderen Posts:
udo1toni hat geschrieben: 8. Apr 2019 13:48 Ah, ja, im Binding wird es ohne Klammer und dafür mit Doppelpunkt geschrieben. Ich liebe den Einfallsreichtum der Programmierer ;)
viewtopic.php?f=15&t=1406
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

manylomy
Beiträge: 3
Registriert: 26. Mär 2019 10:08

Re: Kofiguration Sonoff Pow mit MQTT2.4, Werte einlesen - Paper UI

Beitrag von manylomy »

@sihui:

Ja, wer lesen kann ist im Vorteil. Aber nach 3 Nächten mit Versuchen übersieht man schon mal was.
Mit der Änderung des JSONPATH und auch

MQTT state topic = stat/Sonoff_Pow/SENSOR
= tele/Sonoff/SENSOR

habe ich jetzt schon mal einen Wert in der Anzeige.

Vielen Dank, nun ist der Frust direkt viel geringer.

LG
manylomy

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

Re: Kofiguration Sonoff Pow mit MQTT2.4, Werte einlesen - Paper UI

Beitrag von udo1toni »

Prima :)

Nur so am Rande (weil ich gerne Korinthen...):
  • Du nutzt (mit an Sicherheit grenzender Wahrscheinlichkeit) openHABian 1.4.1
    openHABian installiert als Standard die stable Version von openHAB, das ist zur Zeit openHAB 2.4 :)
  • Das Konfigurations-Tool heißt openhabian-config.
  • Dort wird mosquitto als mqtt Broker angeboten.
  • Beim Binding ist es oft wichtig, genau auf die Version zu verweisen, mindestens auf die Tatsache, dass es mqtt2 ist (gut, das geht dann aus Deiner Konfiguration hervor, aber nur so für den Hinterkopf)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

manylomy
Beiträge: 3
Registriert: 26. Mär 2019 10:08

Re: Kofiguration Sonoff Pow mit MQTT2.4, Werte einlesen - Paper UI

Beitrag von manylomy »

Hallo Udo,
vielen Dank für die Informationen.
Selbst wenn es manchmal wie Korinthen aussieht, manchmal hilft es wirklich, die richtigen Parameter zu kennen.
Aber genau mit den Versionen ist es für einen Anfänger (im fortgeschrittenem Alter) manchmal nicht so einfach.

Ja, ich benutze openHABian, Version finde ich nicht. Aber es ist dann die openHAB Version 2.4.0-1 (wird beim Start angezeigt).
openhabian-config habe ich genutzt für diverse config-Einstellungen. Von dort habe ich auch Mosquitto geladen.

Ich kann also mittlerweile die Werte des Sonoff-Pow bei mir einlesen. Allerdings habe ich offensichtlich mit meinen Versuchen ein paar Items angelegt, die ich nicht mehr gelöscht bekomme. So kann ich zwar Spannung und Strom sehen, allerdings die Gesamtleistung kann ich nicht mehr als Item anlegen. Ist allerdings als Item vorhanden, aber da mit falschen Zuweisungen.
Wenn ich jetzt einen neuen Channel anlegen möchte mit:

tele/Sonoff_Pow/SENSOR
JSONPAT:$.ENERGY.Total

bekomme ich diese Fehlermeldung:
Error 500. internal Server Error

Wenn ich das richtig sehe liegt es daran, dass es bereits ein entsprechendes Item in der Liste gibt, welches sich nicht löschen lässt. Der Eintrag hat in der Items Aufstellung in der hinteren Spalte zwar einen Stift (Berarbeitung) aber keine Möglichkeit des löschens. Und wenn ich bearbeiten auswähle wird zwar der Eintrag geöffnet, lässt sich aber nicht bearbeiten.

Ich habe zwar schon über nicht löschbare Items gelesen, die Tipps haben aber nicht geholfen.

Also mit
ssh openhab@localhost -p8101
in die Konsole. Dort mit
smarthome:items list |grep Teichpumpe
bringt mir diese Liste.
Teichpumpe_ET (Type=NumberItem, State=NULL, Label=Energie insgesamt, Category=null)
Teichpumpe_I (Type=NumberItem, State=0.261, Label=Strom, Category=null)
Teichpumpe (Type=SwitchItem, State=NULL, Label=Teichpumpe, Category=null)
Teichpumpe_E (Type=NumberItem, State=0.327, Label=Energie heute, Category=null)
Teichpumpe_P (Type=NumberItem, State=NULL, Label=Leistung, Category=null)
Teichpumpe_V (Type=NumberItem, State=228, Label=Spannung, Category=null)

Wenn ich jetzt versuche, Teichpumpe_ET zu löschen
openhab> smarthome:items remove Teichpumpe_ET
1 item(s) removed successfully.

finde ich das Item bei der nächsten Liste immer noch vor.
openhab> smarthome:items list |grep Teich
Teichpumpe_ET (Type=NumberItem, State=NULL, Label=Energie insgesamt, Category=null)
Teichpumpe_I (Type=NumberItem, State=0.374, Label=Strom, Category=null)
Teichpumpe (Type=SwitchItem, State=NULL, Label=Teichpumpe, Category=null)
Teichpumpe_E (Type=NumberItem, State=0.333, Label=Energie heute, Category=null)
Teichpumpe_P (Type=NumberItem, State=NULL, Label=Leistung, Category=null)
Teichpumpe_V (Type=NumberItem, State=228, Label=Spannung, Category=null)

Falls ihr mir da weiterhelfen könntet würde ich mich freuen. Leider stimmt es immer wieder:
Mühsam ernährt sich das Eichhörnchen. :D

Vielen Dank im voraus.

manylomy

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

Re: Kofiguration Sonoff Pow mit MQTT2.4, Werte einlesen - Paper UI

Beitrag von udo1toni »

Gehe ich recht in der Annahme, dass Du bisher ausschließlich über Paper UI gearbeitet hast?

Grundsätzlich sollten Items sich nur dann entfernen lassen, wenn sie nicht mit einem Channel verlinkt sind. Du müsstest Also zuerst in das Thing wechseln, dort den Channel auswählen und auf der rechten Seite auf die zwei Pfeile (hoch/runter) klicken, damit Du alle Links des Channels zu Gesicht bekommst. Dort kannst Du die Verlinkung auch löschen.
Falls meine Annahme von oben stimmt und es bei Löschversuchen dennoch zu einem internal Server Error kommt, dürfte die interne Datenbank von openHAB korrupt sein.
Dann stellt sich die Frage, wie viele Things und Items Du bereits angelegt hast, denn zumindest für Einsteiger dürfte das Reparieren der Datenstruktur die Zumutbarkeitsgrenze deutlich überschreiten.
Leider gibt es bisher kein Werkzeug, mit dem man die Datenintegrität prüfen kann.

Fehler in der Datenstruktur treten meist auf, wenn openHAB crasht, während man Änderungen an Items, Things oder Channels vornimmt.

Dieses Problem ist einer der Gründe, warum ich lieber über Textdateien konfiguriere und Paper UI allenfalls zum Ausprobieren verwende.
Wenn es dann mal zum Crash kommt, kopiere ich schlimmstenfalls die Textdateien an einen sicheren Ort, lösche openHAB komplett, installiere es erneut, starte openHAB und spiele anschließend die Textdateien wieder zurück.
Meist ist es aber damit getan, openHAB zu beenden und den Cache zu löschen (openhab-cli clean-cache), nach einem Neustart geht dann wieder alles.
Diesen Weg kannst Du übrigens auch mal ausprobieren, aber bitte daran denken, openHAB zuerst zu beenden (sudo systemctl stop openhab2).
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten