NEWS
Test Adapter Growatt v3.3.1
-
@moonsorrox Würde sagen ja, kommt halt drauf an, wie Du Deinen MQTT-Server konfiguriert hast. Und ob Du in der grott.ini die richtigen Daten eingetragen hast. IP, Port, user und Passwort für den MQTT-Server.
Du kannst ja mal zum Testen einen mosquitto aufsetzen oder eine neue Instanz bei iobroker als MQTT-Server anlegen und dahin senden lassen (grott.ini anpassen). Dann siehst Du ja, was wie ankommt. Normalerweise kommt ein sauberes JSON mit allen Daten per MQTT. FHEM sollte das AFAIK dann selbst in Datenpunkte zerlegen, aber ich fand das Einrichten in FHEM immer recht tricky.Das Senden an PVOutput solltest Du in der grott.ini deaktivieren, anscheinend hast Du da eh keinen Account oder falsche Daten hinterlegt, der Fehler 401 deutet darauf hin.
Gruss, Jürgen
Edit: Zur Not poste mal die gesamte grott.ini. Daten wie User und Passwort kannst Du ja aus-x-en. IP ist ja eh im privaten Netz, die kannst Du drin lassen, damit kann keiner was anfangen. Port auch. Dann sieht man vielleicht eher, wo es noch klemmen könnte.
-
@wildbill
Ok hier mal die grott.ini# Specify grott monitor configuration # Defaults are described # Remove # and update the value to enable the setting # Last updated: 2021-01-09 # Version 2.4.0 [Generic] grott.ini # Specify verbose for extended messaging #verbose = True # Specify minrecl for debugging purposes only (default = 100) #minrecl = 100 # Specify mode (sniff or proxy)(> 2.1.0 proxy is default) #mode = proxy # Specify port and IP address to listen to (only proxy), default port 5279, 0.0.0.0 ==> own ip address #ip = 0.0.0.0 #port = 5279 # To blocks commands from outside (to channge inverter and shine devices settings) specify blockcmd = True, # specify noipf = True if you still want be able to dest ip addres from growatt server # Specify noipf = True if you still want be able to dest ip addres from growatt server (advice only to use # this for a short time) #blockcmd = True #noipf = True # Time = auto/server parameter enable/disable date/time retrieval from data record (server), default is # auto: grott decides which time is used (data record if valid otherwise Server) # If time = server Grott server time is alwas used #time = auto # Sendbuf = True / False parameter to enable / disable sending historical (buffered) data. Default is sendbuf = True. #sendbuf = True # Compat is True and valoffset needs to be set if offset / growatt protocol has been changed. #compat = False #valueoffset = 6 # Specify inverter id (not necessary in version >2.1.0 if compat = false!) #inverterid = ABC1234567 # Decrypt is False if growatt communication is not encrypted (older inverters), (not necessary in version # >2.1.0 if compat = false!) #decrypt = True [Growatt] # Ip address and port of Growatt server (specify only if IP has changed) #ip = 47.91.67.66 #ip = 10.0.0.59 #port = 5279 [MQTT] # Mqtt parameters definitions # Be aware nomqtt = True means no MQTT processing will be done!!!!!! #nomqtt = False ip = 10.0.0.50 port = 1883 #topic = energy/growatt # Add inverter serial number to the end of the MQTT topic #inverterintopic = False auth = True user = xxxxxxxx password = xxxxxxxxxx #password = growatt2020 [PVOutput] # PVOutput parameters definitions pvoutput = True #apikey = yourapikey # Use this if you have one inverter #systemid = 12345 # Use this if you have multiple inverters #pvinverters = 2 #systemid1 = 12345 #inverterid1 = inverter1 #systemid2 = 67890 #inverterid2 = inverter2 #systemid99 = 99999 #inverterid99 = inverter99 [influx] # Influxdb parameters definitions #influx = False #influx2 = False #dbname = grottdb #ip = localhost #port = 8086 #user = grott #password = growatt2020 #token = "influx_token" #org = "grottorg" #bucket = "grottdb" [extension] # grott extension parameters definitions #extension = True #extname = grottext #extvar = {"var1": "var1_content", "var2": "var2_content"}
im Fhem Forum wurde mir gesagt, wenn die MQTT Traffic keine ID hat wird autocreate nicht aktiv und legt keine Werte an
-
@moonsorrox sagte in Test Adapter Growatt v1.0.0:
pvoutput = True
Sieht eigentlich (fast) korrekt aus. Die Zeile
pvoutput = True
solltest Du auf false stellen, da Du ja anscheinend keinen Account für PVOutput hast.
10.0.0.50 ist der integrierte MQTT-Server von FHEM? Wenn 1883 als Port, sowie user und password korrekt sind, so sollte das passen. Bin mir gar nicht sicher, ob im Log von FHEM bei MQTT was kommt. Ich meine, für MQTT gibt es ein separates Log. Kann bei mir aber nicht schauen, da ich alle Logs in FHEM deaktiviert habe, da ich sie nicht brauche und FHEM nur als Scnittstelle verwende, für die es in iobroker keinen passenden Adapter hat. Wenn es also wirklich am MQTT-Broker in FHEM hängt, dann hier die drei Dinge, die Du versuchen kannst:- mosquitto testweise als LXC oder Docker
- MQTT-Server in iobroker als separate Instanz
- Im FHEM-Forum um Hilfe zum Einrichten des MQTT-Servers bitten, bzw. um Hilfe, wie man da ein neues Gerät einrichtet
Bei Punkt 1+2 nicht vergessen in der grott.ini IP, Port und Zugangsdaten korrekt zu ändern.
Ach ja, hast Du in FHEM für den MQTT-Broker Authentifizierung mit User und Passwort schon aktiviert? Nicht dass es am auth = true hängt und Du das aber gar nicht verwendest.
Gruss, Jürgen
-
Nein ich habe nichts bei PVOutput mache ich dann auf false.
ich kann in Fhem den Traffic im MQTT Server aufrufen und sehe das nichts rein kommt vom grott.
Ich habe schon beides ausprobiert mit und ohne user+passwordJa der MQTT in Fhem ist 10.0.0.50:1883
Habe ich schon aufgesetzt ein LXC auf meinem Proxmox, nur noch nicht weiter gemacht.
Ist jetzt die nächsten Tage auch erstmal auf Eis gelegt da ein paar Tage weg, aber ich melde mich dann wieder egal ob es läuft oder nicht.
Im Forum hat man mir schon geschrieben das es an der Art der Übermittlung liegen kann...Vermutlich kommt da mosquitto_sub zum Einsatz
da legt der MQTT von Fhem nichts an
-
@moonsorrox Wie schon weiter oben beschrieben. Ich nutze für grott den in iobroker integrierten MQTT-Adapter als Server. Da kommt ein JSON-String rein, den ich per Blockly (hatte ich auch weiter oben glaub beschrieben) in einzelne Datenpunkte zerlege und habe somit alles, was ich brauche. Wenn Du also eh iobroker und FHEM auch weiterhin parallel laufen lassen musst/willst, wäre das eventuell eine Alternative.
Auf server.growatt.com siehst Du nach wie vor die Daten Deiner Anlage?Gruss, Jürgen
-
@wildbill said in Test Adapter Growatt v1.0.0:
Auf server.growatt.com siehst Du nach wie vor die Daten Deiner Anlage?
ja da kommen die Daten weiter an also funktioniert das weiterleiten auf dem grott Server, denn da habe ich die Stick IP eingegeben
-
@moonsorrox Wo hast Du die Stick-IP eingegeben?
Du musst eigentlich nur an zwei Stellen eine IP ändern. Einmal direkt auf dem Stick die IP eintragen, auf der Dein grott läuft. Und einmal in der grott.ini die IP Deines MQTT-Servers.
Die IP-Adresse des Stcik selbst, die er in Deinem WLAN bekommt musst Du an keiner Stelle irgendwo eintragen.
Aber, da bei Growatt Deine Daten ankommen hast Du es vermutlich korrekt und Dich nur unklar ausgedrückt?!Gruss, Jürgen
-
@wildbill
ja, vllt. etwas doof ausgedrückt, die IP vom Stick habe ich natürlich nirgends eingetragen die bleibt ja die gleiche und wird nirgends benötigt.
Den Grott Server habe ich natürlich eingetragen deshalb funktioniert ja in der China Cloud alles noch.Jetzt wollte ich mal mqtt vom ioBroker testen.
Da ich momentan in Fhem nicht weiterkomme weil ja keine Daten ankommen, muss ich jetzt doch nochmal nerven ich habe ja MQTT auf dem ioBroker installiert, wenn ich den jetzt in die grott.ini eintrage sollten Daten ankommen.
Ich habe praktisch die IP vom ioBroker drin User und PW eingetragen vom ioBroker und nun sollte ja hier zumindest etwas ankommen.
Ich habe mqtt.0 Server/Broker eingestellt immer wieder ein Ausrufezeichen als Warnung zeigt und Verbindung in Rot.
Es kommt auch hier nichts an im ioBrokerDas einzige was er angelegt hat unter mqtt ist 0 energy/growatt unter Wert steht dann folgendes
{"device": "QMB39212B4", "time": "2022-09-14T13:29:26", "buffered": "no", "values": {"pvstatus": 1, "pvpowerin": 1358, "pv1voltage": 1249, "pv1current": 10, "pv1watt": 1358, "pv2voltage": 0, "pv2current": 0, "pv2watt": 0, "pvpowerout": 1223, "pvfrequentie": 5000, "pvgridvoltage": 2344, "pvgridcurrent": 5, "pvgridpower": 1223, "pvgridvoltage2": 0, "pvgridcurrent2": 0, "pvgridpower2": 0, "pvgridvoltage3": 0, "pvgridcurrent3": 0, "pvgridpower3": 0, "pvenergytoday": 17, "pvenergytotal": 33543, "totworktime": 69257098, "pvtemperature": 266, "pvipmtemperature": 0, "epv1today": 19, "epv1total": 35627, "epv2today": 0, "epv2total": 0, "epvtotal": 35627}}
-
Ja was willst denn noch? Steht doch alles drin... Das json musst jetzt halt noch auseinander nehmen. Aber auch hier für wurde bereits ein Script gepostet.
-
@warp735
mich wundert es nur das mqtt.0 immer noch das Ausrufezeichen anzeigt und bei Verbindung eben rot
Das mit dem Script kenn ich leider noch nicht.Ich kenne es vom Growat Adapter bei dem sieht das alles ganz anders aus, aber ich bin da was ioBroker betrifft leider nicht so gut drin und kerne noch dazu.
Ja ich habe gesehen das da Daten drin sind, die heißen nur alle ganz anders das hat mich verwirrt. -
@moonsorrox Exakt so, wie es @warp735 schreibt ist es. Mehr kommt da nicht, was soll auch fehlen.
HIER hatte ich mal mein Script beschrieben, um das JSON in (für mich wichtige) Datenpunkte zu zerlegen. Da ich selbst kein Javascript kann und mir das aus mehreren Scripten so einfach wie möglich zusammenkopiert habe, sollte es auch für Laien in Javascript verständlich sein.
Das Ausrufezeichen beim MQTT-Adapter liegt vermutlich daran, dass der Grott-Server sich mit dem Adapter verbindet, seine Daten sendet, und anschließend die Verbindung wieder trennt bis zum nächsten Datenpaket (in dem Intervall, den Du im Stick eingestellt hast). Wenn der MQTT_Adapter eben mit keinem Gerät mehr verbunden ist, zeigt er korrekterweise "Nicht verbunden" an und geht auf rot. Ist ja exakt der Zustand, der dann auch besteht. Im Log müsstest Du dann auch jedesmal eine Meldung haben, dass MQTT verbinden wird und eben wieder getrennt. Aus diesem Grund habe ich den Loglevel für den MQTT-Adapter auf Error gestellt, dann ist da Ruhe. Da bei mir zig andere Geräte mit dem MQTT kommunizieren bleibt der bei mir grün.
Wenn es aber mit dem iobroker-MQTT funktioniert, so muss es ja auch irgendwie mit FHEM gehen, wenn Dir das immer noch lieber ist. Da kann Dir hier im iobroker-Forum aber wohl niemand helfen, sonst wäre da schon lange eine Antwort gekommen.
Gruss, Jürgen
-
@wildbill said in Test Adapter Growatt v1.0.0:
Mehr kommt da nicht, was soll auch fehlen.
OK, ich habe das Script eingebaut und ja genauso meinte ich das mit den Daten.! Deshalb war ich etwas verwundert über die Ansicht.
Das sieht gut aus. Auf die Frage was noch fehlt wären Werte für Monat und das ganze Jahr, aber evtl. gibt es die nicht. Sehe ich bisher nur auf dem Growatt Server.Am Anfang hatte ich Fehler im Log die habe ich mal alle gelöscht um zu sehen wieviel da kommen, aber nun kommen keine mehr, kann sein das da später dann wieder welche auftauchen.
Das mit deiner Loglevel Einstellung habe ich nicht gefunden.Nun zumindest läuft es wohl erst einmal
-
@moonsorrox sagte in Test Adapter Growatt v1.0.0:
@wildbill said in Test Adapter Growatt v1.0.0:
Mehr kommt da nicht, was soll auch fehlen.
Das sieht gut aus. Auf die Frage was noch fehlt wären Werte für Monat und das ganze Jahr, aber evtl. gibt es die nicht. Sehe ich bisher nur auf dem Growatt Server.
Da könnte ich Dir für iobroker den Sourceanalytix-Adapter empfehlen. Der Stick kann das nicht per MQTT schicken, er hat die Daten ja gar nicht.
Gruss, Jürgen
-
Den Adapter schaue ich mir mal an...
kann ich es irgendwo einstellen wie oft das Script die Daten aktualisiert, ich habe gerade gesehen er hat das letzte mal um 16.29 Uhr aktualisiert -
@moonsorrox Es wird aktualisiert, sobald per der MQTT-Datenpunkt aktualisiert wird. Da kannst Du nix einstellen.
Im Script muss in der Zeileon({id: "mqtt.0.energy.growatt"/*Growatt*/, change: "any"}, function (obj) {
Dein Datenpunkt stehen, auf dessen Änderung wird getriggert.
Bei mir ist es mqtt.0.energy.growatt.
Wenn Du mit der Maus im Objekte-Fenster mal auf diesen Punkt rechts hinten wo das JSON steht fährst und kurz wartest, siehst Du, wann er das letzte Mal aktualisiert wurde. Bei mir passiert das jede Minute, weil ich das im Stick so eingestellt habe.Gruss, Jürgen
-
ich habe es daran ja gesehen und mal selber aktualisiert, die Zeile sieht bei mir genauso aus und ist richtig.
Das mit dem Stick hatte ich irgendwo gelesen, habe es aber bei mir nicht hinbekommen den auf 1min. einzustellen macht er also immer noch alle 5min.
Aber selbst die 5min. werden mir angezeigt und der Wert hat sich nicht geändert, ich sehe es an der pvenergytoday die 2 sein müßte aber immer noch auf 1,9 steht.
Ok mach dir keinen Kopf ich werde das beobachten ist ja heute sowieso nicht mehr viel -
@moonsorrox Wenn der Dzenpunkt unter mqtt alle 5 Minuten aktualisiert wird, aber die einzelnen Datenpunkt unter userdata nicht, dann stimmt was mit dem Script nicht. Hast Du das 1:1 kopiert? Sind alle darin enthaltenen Datenpunkte auch in Deiner Objektstruktur korrekt angelegt? Hast Du irgendwelche Warnungen oder Fehler im Log bezüglich javascript?
Wenn der Datenpunkt unter mqtt nicht aktualisiert wird, dann stimmt was mit Deinen Settings auf dem Stick nicht, dann musst Du da ansetzen.Was meinst Du mit Deinem ersten Satz, Du hast mal selber aktualisiert? Die Daten von hand eingetragen? oder das Script neu gestartet? Das Script muss im Übrigen natürlich permanent laufen, es ist ja nicht nur da, um die Datenpunkte unter userdata anzulegen, sondern läuft immer im Hintergrund und aktualisiert die Datenpunkte, wenn per mqtt was reinkommt. Wenn Du es nur zum Anlegen der Datenpunkte gestartet hast und anschließend gestoppt, dann ist klar, dass nix mehr passiert. Was sollte dann auch noch passieren?
Gruss, Jürgen
-
nein, nein alles gestartet und ja ich habe es mal von Hand gestartet und gestoppt. Lasse es jetzt aber laufen und schaue später.
Habe alles 1:1 kopiert und ja natürlich meine Anlagendaten rein kopiert sonst würde ja nichts kommen.
Ich gucke nochmal mit der Umstellung des Sticks, habe ja den LAN Stick und kein WIFI Stick.
Im Log keine Fehler das ist alles OK und lief auch vorher schon...Aber, jetzt hat er es gemacht also kein Problem evtl. weil ich da drauf war, hat jetzt alle Werte aktuell.
Werde jetzt noch mal schauen mit der Umstellung habe schon den Beitrag offen um zu schauen wie es gemacht wird.
-
@Wildbill
Ich muss Dir mal einen fetten Dank aussprechen!
Ich habe mich echt schwer getan mit mqtt & grott. Dann kam aber der Durchbruch, dank Deiner genialen Anleitung hier und Deinem Script war das dann absolut kein Problem mehr. Sowie Deine Geduld und Hinweise, wie z.b. das der MQTT-Adapter seinen Zustand wechselt und auch warum, war sehr hilfreich. Vielen Dank! -
@jaridian said in Test Adapter Growatt v1.0.0:
@Wildbill
Ich muss Dir mal einen fetten Dank aussprechen!dem schließe ich mich an, besonders lobenswert ist deine Geduld vielen Dank dafür.
Es ist ja oft so das man irgend etwas zum 1.mal macht da braucht es etwas mehr Einarbeitung im nachhinein ist vieles klar besonders wenn man es mal durch gearbeitet hat.