NEWS
Mqtt Verbindung, Paramter beschreiben ?
-
Hallo
Beschreiben wie man bei Google sucht ist sich nicht nötig.
Da gibt es so viele Beiträge.Betrachte mal en Verzeichnisbaum.
Dann kann man so aufbauen wie man möchte aber die meisten bauen Ihn nach
intopic und outtipic auf. Hier ein Beispiel von Meinem MQTT.intopic wird vom Client hier ESP32_Dachboden gesendet
outtopic geht vom MQTT-Server zum Client gesendet.Änderst du nun irgendetwas händisch beim intopic so überschreibt der Client das sofort.
Änderst du etwas bei outtopic bekommt der Client das und kann darauf reagieren.Wie sieht das den bei deinem Baum aus ?
-
@berges01 ok, da habe ich keine Ahnung
der Baum wird von selbst erzeugt, ich mache da nichts. was du mit selbst anlegen vom Baum schreibst, kenne ich nur vom Modbus.
R/W ist ein Thema, mir wurde mitgeteilt auf amp zu schreiben
amp R/W uint8 Config requestedCurrent in Ampere, used for display on LED ring and logic calculations
-
@humidor
Schwierig von hier aus zu sagen.
Die Beschreibung ist nicht grade aussagekräftig.
Poste mal den kompletten Baum der vom Client vorgegeben wird.
Kannst du daraus nicht erkennen was nun rein und raus ist ?
Möchtest du den Ladestrom nun verändern oder nur messen ?
Lässt die Wallbox es zu den Strom Händisch zu verändern?
(Müsste eigentlich funktionieren denn sonst macht ein Energiemenagement-System keinen Sinn)
Das aber Händisch zu ändern macht keinen Sinn.
Also Veränderungen nur von einem dazu berechtigten System.
Könnte das also ein Problem der Berechtigung sein?
Zu viele Wenn und Aber und vielleicht ohne genaue Infos wird das scheinbar nichts.
Der wirst du möglicherweise den Support für die Wollbos beschäftigen müßen. -
wenn du das erste mal mit mqtt arbeitest, solltest du auf jeden Fall (wie weiter oben auch schon empfohlen) dich in die grundsätzlichen Funktionen einlesen.
Zu der Schnittstelle go-eCharger-API-v1
Hier wird beschrieben wie deine Kommandos ausehen müssen
eigener-mqtt-server
Hier was du nur empfangen kannst, und welche du absetzen kannst
Kommandos
Hier was diese Kommandos bedeuten
ParameterVielleicht hilft dir das etwas weiter.
Gruß, Karsten -
@hydrotec danke Jungs!
ich kann kein Java, ich programmiere somit nicht.
Ich nutze die DP im Objektbaum mit Blockly.Aktuell schaut es nach einem Fehler im Mqtt Adapter aus, ein Issue ist angelegt.
Ich möchte amp beschreiben (Vorgabe des Stroms in Abhängigkeit der PV-Leistung).
übere den go-e Adapter geht das, aktuell muss ich über 2 Adapter gehen
go-e zum Ansteuern
mqtt um die Info zum Kabel zu haben -
wie hast du deinen go-eCharger an mqtt angebunden?
Bzw. hast du den Adapter iobroker.mqtt als Server oder Client am laufen?
Verwendest du eventuell einen externen Broker, z.B. Mosquitto?
Wenn man nicht weiß wie deine mqtt Umgebung realisiert ist, kann man dir schwer weiterhelfen.
Du kannst auch einmal mit einer anderen Software (mqtt.fx) dich auf deinem Broker anzumelden,
und dort nachsehen ob die Befehle richtig ausgeführt werden. -
@hydrotec
kein Mosquito oder sonst, rein der Mqtt Adapter vom ioBroker als Server
der Client - go-E ist nur per IP eingebunden
automatisch wird der go-e im ioBroker registriert und der Objektbaum angelegt
mehr ist nicht. -
@humidor
kannst du mal bitte einen screenshot von dem ganzen Verzeichnisbaum machen, und hier einstellen.
Also den Bereich der noch vor dem Verzeichnis amp steht. -
@hydrotec gerne, das sind mehrere Bildseiten, also sehr viele DP, soll ich da von allen einen Screenshot machen?
wird alles autom. angelegt -
@humidor
OK
bei den Einstellungen des Adapters iobroker.mqtt den Haken bei "Use different topic names for set and get" gesetzt?
Bei get sollte dann "go-eCharger/069113/status" stehen.
Bei set sollte dann "go-eCharger/069113/cmd" stehen.
Kann sein das eventuell bei beiden noch ein "/*" angefügt werden müssen, musst mal testen.
Hab bei mir den Adapter nur als Client installiert, und Mosquitto extern, deswegen bin ich etwas auf die Doku zu dem Adapter angewiesen. -
@hydrotec Entschuldigung aber das stimmt so nicht. Wenn man diese Option anmacht, dann werden hinter jeden Datenpunkt set Punkte erforderlich. In der API steht doch auf welche Topics gehört wird und diese muss man manuell anlegen. Also einfach den cmd Datenpunkt snlegen
-
@mickym
Brauchst dich nicht zu entschuldigen.
Wenn ich Mist rede, dann kann, bzw. soll das gerne gesagt werdenWie gesagt, ich kann es selber nicht testen, und rein nach den Dokus ist immer etwas schwer das Richtige zu finden.
Edit:
Gerade gesehen, das es schon eine go-eCharger-API-v2 gibt.
Demnach sollte es eigentlich mit den seitherigen Einstellungen funktionieren.
Und diese Beschreibung zu mqtt deckt sich auch mit dem screenshot von @humidor -
@humidor
So wie das für mich auf deinem screenshot aussieht, hast du keine andere Möglichkeit die topics anzupassen.
Sonst werden ja deine anderen mqtt-clients nicht mehr erkannt, oder?
Wenn du es nach der Anleitung eingerichtet hast, dann kann es eventuell doch ein bug des Adapters sein.Entschuldige bitte, wenn ich dich mit der API-v1 durcheinander gebracht haben sollte.
Gruß, Karsten
-
@hydrotec Man kann zwar die Option unterschiedliche Topic Namen für setzen und lesen anhaken, ich rate halt deshalb davon ab, wenn man den Broker auch noch für was anderes nutzt.
Grundsätzlich ist es so, dass die Datenpunkte, auf die das Zielgerät hört (also auf die set Datenpunkte) selbst angelegt werden müssen, da das Gerät nur die Datenpunkte/Topics veröffentlicht die einen Status haben.
In dem Screenshot ist aber für den amp ja bereits ein set und result Datenpunkt vorhanden, so dass ggf. das Gerät hier doch schon leere Topics erstellt hat. In dem Fall muss man in meinen Augen doch gar nichts tun ausser den set Datenpunkt zu beschreiben und schauen, was in result dann rauskommt.
Das Einzige was ich festgestellt habe - mit dem der mqtt Adapter als Broker manchmal ein Problem hat, ist manchmal das ACK Flag. Das erkennt man dann aber wenn im Log entsprechende Meldungen sind, dass Fehler nach 11 Retries oder so auftauchen.
-
Danke für die Aufklärung.
Ich hab mir das Ganze noch einmal durchgelesen, und bin letztlich auch der Ansicht, das bei den Einstellungen im iobroker.mqtt nichts gemacht werden muss.
Auf dem screenshot sieht man aber, das unter result etwas angemeckert wird.
Eventuell muss man den Wert unter set auch in "" setzen. Ist laut Beschreibung der API nicht notwendig.Edit:
@humidor
Hast du eigentlich nur diesen einen Datenpunkt mit einem Wert beschrieben, oder auch mal einen anderen DP versucht?
z.B. lbr R uint8 Config led_bright, 0-255 -
@hydrotec
Nee kein Anführungszeichen. Was angemeckert wurde, dass dieser Parameter wohl einen JSON String erwartet - wobei amp bei amp ein uint8 erwartet. Aber da kann ich nicht weiterhelfen.In der von Dir geposteten API gibsts ja Beispiele:
-
@mickym
Eben, seh ich auch so.So, jetzt erst mal Pause für heute.
Jetzt hat NFL Vorrang.Schönen Abend noch
-
@hydrotec es gibt auch DP die kein result set (was ist das eigentlich?) haben
alw = allow = start/stop der ladung
auch dort passiert nichtsbei dem Rest was ihr schreibt komm ich nicht mit
Abend
in der App schaut das so aus
-
Kurze Pause
Bei den Einstellungen in der App würde ich mal nur eine API auswählen.
Je nachdem welche Version des go-eCharger (V2=APIv1/V3=APIv2) du hast.
(Wo du das rausfinden kannst, weißt du vermutlich besser)
Kann es sein das bei dir in den Objekten zweimal dein "go-eCharger/069113" vorhanden ist?
Eventuell die DP komplett löschen und dann erst wieder mit der App verbinden, müssten dann ja wieder neu angelegt werden.
Alles nur Vermutungen, ist halt schwer wenn man es nicht selber testen kann, sorry.Mal eine kleine Zwischenfrage, ist dein mqtt-server mit Benutzername und Passwort gesichert?
-
@hydrotec Morgen
habe jetzt die Varianten durchprobiert mit den Einstellung in der App
dabei immer Mqtt den Objektbaum gelöscht und dieser wurde neu erstellen
es ist nur ein go-e Objektbaum vorhanden
kein User und Paswd im Mqtt eingetragendie HW ist V3, der go-e Adapter von ioBroker ist noch auf API V1
daher muss auch die API V1 in der App aktiv sein, sonst besteht keine Verbindung.
das war aber jetzt zum Test deaktiviert, genauso wie der go-e Adapter.Ergebnis, immer dasselbe.
Ich habe eine Issue im Github erstellt.