Go-E mit MQTT

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: Go-E mit MQTT

Beitrag von udo1toni »

Mööp, Stopp.

Wenn Du über die UI konfigurierst, gibt es keine Textdatei.
Wenn Du über Textdatei konfigurierst, siehst Du in der UI, dass das Thing (oder auch das ein Item) da ist, aber Du kannst es nicht bearbeiten (es ist ein Schlosssymbol dran).
Das ist der Unterschied der beiden Konfigurationswege.

Die Textdefinition in einer *.things Datei ist halt ganz gut lesbar, die Parameternamen sind weitgehend identisch mit der Code-Ansicht in der UI, die Formatierung ist aber komplett anders.

Wenn also jemand ein Beispiel eines Things in der Form oben postet, heißt das nicht, dass Du es auf diese Weise versuchen sollst.
Es gibt tatsächlich keinen Unterschied zwischen *.things Definitionen und solchen, die über die REST API erzeugt wurden, bis auf die Sache mit der Bearbeitung. (Alles, was Du in der UI machst, geht über die REST API)

Aber nochmal die Frage: Hast Du mal die Angabe zur API weg gelassen?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Tokamak
Beiträge: 183
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: Go-E mit MQTT

Beitrag von Tokamak »

soulid hat geschrieben: 1. Apr 2023 15:49 Habe gerade mal ausprobiert. Da erscheint sofort ein "Communication Error" und im Log folgendes

Code: Alles auswählen

2023-04-01 15:48:41.516 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'goecharger:goe:e887e8d76a' changed from OFFLINE (COMMUNICATION_ERROR): java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $ to OFFLINE
(COMMUNICATION_ERROR): java.lang.NumberFormatException: Expected an int but was 221.96 at line 1 column 266 path $.nrg[0]
Zumindest die letzte Zeile ist merkwürdig.

Lt. https://github.com/goecharger/go-eCharg ... keys-de.md ist "nrg" ein Array, der mit den Spannungen auf den Leitungen beginnt (energy array, U (L1, L2, L3, N), I (L1, L2, L3), P (L1, L2, L3, N, Total), pf (L1, L2, L3, N)).

Wenn ich bei mir den Wert mit

Code: Alles auswählen

http://192.168.1.22/api/status?filter=nrg
hole, erhalte ich

Code: Alles auswählen

{"nrg":[233,234,235,1,0,0,0,0,0,0,0,0,0,0,0,0]}
Das heißt, alle Felder scheinen ganzzahlig zu sein.

Das erwartet das Binding auch ("Expected an int"), aber es wurde offensichtlich vom goe-Charger eine Zahl mit Nachkommastellen geschickt (221.96) (BTW: 221V scheinen mir doch schon sehr wenig zu sein).

Es sieht also nach einem Schnittstellen-Problem aus.

Welche APIs hast du in der goe-Charger-App eingestellt? Bei mir sind "Lokale HTTP API v2 erlauben" und "Lokale HTTP APIv1 erlauben" beide on, wobei ich nicht glaube, das letzteres notwendig ist.

Kannst du bitte das obige HTTP-Kommando auch bei dir absetzen? Die IP-Adresse müsstest du natürlich anpassen.
Proxmox mit OH 4.2 und HABApp 24 im LXC-Container

Tokamak
Beiträge: 183
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: Go-E mit MQTT

Beitrag von Tokamak »

Da fiel mir gerade auf, du hast die Gemini, also den Nachfolger meines Home. Vielleicht kann die Gemini genauer messen, so dass go-e an der Schnittstelle Nachkommastellen liefert. Das würden wir mit obigen Status-Kommando sehen.

Wenn dem so ist, muss der Binding-Entwickler das Binding anpassen.

Oder du verzichtest auf das goeCharger-Binding und liest die Werte wie ich über MQTT.
Proxmox mit OH 4.2 und HABApp 24 im LXC-Container

soulid
Beiträge: 73
Registriert: 24. Feb 2020 20:32
Answers: 0

Re: Go-E mit MQTT

Beitrag von soulid »

@udo1toni: Ich hatte die Frage gestern um 15:49 beantwortet :) . Wenn ich den API lösche bekomme ich sofort ein ""offine" um die Ohren gehauen.

@Tokamak. Das ist ein Interessanter Hinweis. Die URL http://192.**.0.**/api/status?filter=nrg gibt folgendes zurück

Code: Alles auswählen

{"nrg":[221.03,225.37,227.23,2.48,15.732,0.038,0.076,3465.147,4.752,7.605,0,3477.504,99.65214,55.48809,44.03845,100]}
Meine Rückmeldung beinhaltet tatsächlich Kommastellen in der Spannung (erste drei Werte) die Du garnicht erst bekommst.

Ich glaube ich schreibe den Entwickler der App mal an und versuche unterdessen die MQTT Verbindung aufzubauen.

soulid
Beiträge: 73
Registriert: 24. Feb 2020 20:32
Answers: 0

Re: Go-E mit MQTT

Beitrag von soulid »

Tokamak hat geschrieben: 2. Apr 2023 07:41 ...
Oder du verzichtest auf das goeCharger-Binding und liest die Werte wie ich über MQTT.
Hallo Tkamak,
ob Dir Dein thing und items einstellen könntest? Ich würde das probieren...

Tokamak
Beiträge: 183
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: Go-E mit MQTT

Beitrag von Tokamak »

Das hängt ein bisschen davon ab, was du benötigst.

Mich interessieren aktuell nur zwei Energiewerte, bzw. ich möchte die Stromstärke ändern können:

Code: Alles auswählen

Thing mqtt:topic:goeCharger "go-eCharger" (mqtt:broker:bridge) {
Channels:
    Type number: EnergyTotal [ stateTopic = "go-eCharger/anynumber/eto" ]
    Type number: EnergySession [ stateTopic = "go-eCharger/anynumber/wh" ]
    Type number: RequestedCurrent [ stateTopic = "go-eCharger/anynumber/amp", commandTopic = "go-eCharger/anynumber/amp/set" ]
}
Die MQTT-Topics, hier eto, wh und amp, sind die Keys aus https://github.com/goecharger/go-eCharg ... keys-de.md
Bei Bedarf kannst du aus der Liste weitere Channels ableiten.

Daraus leiten sich dann wie üblich die MQTT-basierten Items ab:

Code: Alles auswählen

Number goeChargerTotalChargedEnergy { channel = "mqtt:topic:goeCharger:EnergyTotal" }
Number goeChargerSessionChargedEnergy { channel = "mqtt:topic:goeCharger:EnergySession" }
Number goeChargerRequestedCurrent { channel = "mqtt:topic:goeCharger:RequestedCurrent" }
Proxmox mit OH 4.2 und HABApp 24 im LXC-Container

soulid
Beiträge: 73
Registriert: 24. Feb 2020 20:32
Answers: 0

Re: Go-E mit MQTT

Beitrag von soulid »

Bin jetzt mit folgendem Code online :D

Code: Alles auswählen

UID: mqtt:topic:daa13dcabe:cd06b8e169
label: Go-E-MQTT
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:daa13dcabe
channels:
  - id: WH
    channelTypeUID: mqtt:number
    label: Energie seit Verbindung
    description: null
    configuration:
      stateTopic: go-eCharger/204492/wh
Jetzt würde ich gerne noch die Leistung auslesen- vielleicht kann mir noch jemand helfen- finde kein Tutorial dazu
unter "nrg" bekomme ich durch MQTT.fx folgendes

Code: Alles auswählen

[ 221.03, 225.99, 227.23, 2.48, 15.77, 0.038, 0.076, 3473.438, 4.56, 7.942, 0, 3485.94, 99.64985, 53.10353, 45.98993, 100 ]
Mit "transformationPattern: JSONPATH:$." habe ich schon mal Sachen auslesen, die einen Namen vor dem Wert hatten. Aber wie lese ich den Wert ausschliesslich kommasepariert ein?

Tokamak
Beiträge: 183
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: Go-E mit MQTT

Beitrag von Tokamak »

Einen Hinweis gibt dir die obige Fehlermeldung

Code: Alles auswählen

(COMMUNICATION_ERROR): java.lang.NumberFormatException: Expected an int but was 221.96 at line 1 column 266 path $.nrg[0]
am Ende.

Du kannst mit $.nrg[7], $.nrg[8] und $.nrg[9] auf das 7. bis 9. Element des Arrays - gezählt ab 0 - und damit auf die Leistungswerte der 3 Phasen zugreifen und diese 3 verschiedenen Number-Items zuweisen.
Diese Werte musst du in einer Rule aufaddieren, um die Gesamtleistung zu erhalten.

Lt. https://github.com/goecharger/go-eCharg ... keys-de.md gibt es noch den Key -> Topic "tpa" (30 Sekunden Gesamtleistungsdurchschnitt).
Damit würde ich es zunächst versuchen. Vermutlich greift auch das Binding auf diesen Wert zurück.
Proxmox mit OH 4.2 und HABApp 24 im LXC-Container

soulid
Beiträge: 73
Registriert: 24. Feb 2020 20:32
Answers: 0

Re: Go-E mit MQTT

Beitrag von soulid »

Du- hast natürlich Recht. Eigentlich brauche ich nur den tpa Wert- warum also diesen Aufriss machen...

Jetzt werde ich probieren die Werte für ein Überschussladen mit meiner PV zu benutzen. Ich fürchte das ich da nochmal im Forum vorstellig werden muß. Wird meine erste Berechnung. Anders Topic!

Danke für die Hilfe-->Läuft! Topic geschlossen

Tokamak
Beiträge: 183
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: Go-E mit MQTT

Beitrag von Tokamak »

Fürs Überschussladen schau dir mal evcc.io an
Proxmox mit OH 4.2 und HABApp 24 im LXC-Container

Antworten