NEWS
Test Adapter Growatt v3.3.1
-
@moonsorrox
Die Ausgabe zeigt, dass die Daten korrekt in grott ankommen und auch verarbeitet werden. Dann kannst Du den service starten und laufen lassen.
Wenn 10.0.0.50 Dein FHEM ist, dann kommen die Daten logischerweise auch da an. In FHEM solltest Du sie also bekommen. Ich meine aber, in FHEM musst Du MQTT-Devices manuell anlegen.
Wenn Du sie da hast, kannst Du in iobroker den FHEM-Adapter verwenden, dann hast Du FHEM-Geräte auch in iobroker. Eventuell dem MQTT den Raumnamen iobroker zuweisen, dann wird nur der zu iobroker gesynct.
Ob der MQTT-Adapter von iobroker auch als Client auf den FHEM-MQTT-Server zugreifen kann, weiss ich nicht.
Wenn Du die Daten in FHEM eh nicht brauchst und nur in iobroker, dann verwende in iobroker den MQTT-Adapter als server. Dann unter grott die IP und den Port von iobroker-MQTT eintragen. Nimm nicht 1883 falls Du den Sonoff-Adapter parallel brauchst, sondern 1885 zum Beispiel.
Falls Du den MQTT in iobroker bereits als Client für andere Dinge brauchst, dann installiere eine zweite Instanz und stell die auf server.Gruss, Jürgen
-
@wildbill
ich habe die Daten bisher von Fhem zum ioBroker und auch umgekehrt im ioBroker habe ich sogar zwei Fhem Instanzen weil ich die beide parallel nutze.
Der ioBroker ist bei mir nur eine Art Zwischenspeicher weil der immer den Growatt Adapter (und noch weitere Adapter) hatte die ich in Fhem nutze und ich daher die Daten bekommen habe.Fhem ist also meine Produktive Hausautomation und hier sollen auch die Werte der PV Anlage ankommen.
Die Daten vom ioBroker und Growatt Adapter habe ich in einem Fhem Raum ioB_IN der wird automatisch erzeugt und es werden mir die Daten vom Growatt Adapter angezeigt, diese mußte ich aber zusammen suchen vom Growatt Adapter in der Formgrowatt.0.294937.devices.xxxxxxxxxx.deviceData
das heißt jetzt ich muss dies gleichen oder ähnlichen Daten vom Grott Server bekommen und diese muss ich beim ioBroker eingeben damit sie bei Fhem ankommen, dass habe ich bisher so in der Art gemacht
fhem.0.info.Configurations.allowedIOBin
hier dann eintragen wie der Datenpunkt heißt , siehe hier drüber den Wert.
Da ich den grott aber nicht sehe kenne ich natürlich diese nicht, deshalb meine Frage, denn in Fhem ist er nicht weil ich ihn ja nicht eingetragen habe und im Raum Mqtt ist nichts zu sehen.
Verstehst du wie ich das mein.?
Hast mir ja schon gut geholfen und der Grott läuft ja wohl, muss eben noch die Daten suchen. Ich überleg ob ich mir einen Mosquitto installieren als eigenständigen Container ob das nicht besser ist. -
@moonsorrox Wenn Dein MQTT-Server eh in FHEM läuft, dann kommen doch die Daten da an. Wenn das eh Deine Smarthome-Zentrale ist, dann brauchst Du iobroker für Growatt nicht. Grott schickt ja alles direkt zum MQTT-Server. Dann musst Du ja nur in FHEM schauen, ob MQTT da direkt ein Gerät anlegt. Bin nicht sicher, ob autocreate bei MQTT funktioniert. Da müsstest Du dann evtl. im FHEM-Forum mal fragen.
Oder eben einen separaten MQTT-Server aufsetzen wie z.B. mosquitto und dann FHEM und iobroker da als client anmelden. Und natürlich alle MQTT-Geräte dahin senden lassen.
Aber wie gesagt, wenn Du die Growatt-Daten eh nur in FHEM haben willst, kannst Du Dir alles mit iobroker sparen. Das muss dann auch direkt funktionieren.Gruss, Jürgen
-
naja es ist ja entstanden da es in Fhem nicht möglich war Growatt Daten zu bekommen und da war dann der Adapter im ioBroker von Growatt un der hat die Daten eben gesendet.
Wenn jetzt der Grott Server arbeitet bräuchte ich das tatsächlich nicht mehr, ich muss mal den Mqtt Server der in Fhem MQTT2_Server heißt anstoßen... habe autocreate schon eingeschaltet aber bsiher hat er noch nichts.
Ich schau mal und melde mich hier wieder, ob ich es hinbekommen habe.
Aber ich spiele schon eine Weile mit dem Gedanken einen separaten Mosquitto LXC zu installieren und dann alles darüber laufen zu lassen... keine Ahnung ob das dann besser ist.
Dann musss ich die ganzen Sonoffs und Shelly alle den neuen Server geben, aber das ist ne andere Geschichte. -
@moonsorrox Ich habe auch mehrere MQTT-Server parallel laufen. Einen in FHEM, einen mosquitto und einen in iobroker. In iobroker parallel nochals Client für den mosquitto. Und den Sonoff-Adapter für die ganzen Tasmoita-Geräte.
Man muss sich ja nicht auf einen beschränken. Jeder darf das machen und empfangen, was er am besten kann und wo ich die Daten brauche.
Der mosquitto empfängt zusätzlich noch Daten aus dem Internet, da waren mir die anderen beiden zu unsicher.Gruss, Jürgen
-
@wildbill
Ah OK das wußte ich noch nicht... ich hatte jetzt die ganze Zeit angenommen das evtl. der MQTT2_Server in Fhem das nicht kann.
Jetzt glaube jetzt habe ich Mist gemacht und den MQTT2_Server in Fhem mal komplett leer gemacht mit clearRetain weil ich dachte er bekommt dann die Daten vom Grott-Server, nun gehen meine ganzen Geräte nicht mehr die darüber liefen
Ich glaube es ist zu spät heute.Ich muss den jetzt erstmal irgendwie wieder aktivieren damit die ganzen Sonoffs und Shelly wieder funktionieren.
Habe damit eigentlich nie Probleme gehabt.
OK das ist jetzt erledigt.
Werde morgen weiter machen denn Daten bekomme ich vom Grott immer noch keine, habe autocreate mal auf complex gestellt -
@moonsorrox Für FHEM kann ich Dir da dann nur das WIKI empfehlen. Oder eben direkt ein FHEM-Forum.
Das habe ich damals auch nur mit viel probieren und googlen hinbekommen, bis es das tat, was ich wollte. Da kann ich Dir leider nicht sagen, was Du wie machen musst. Da lobe ich mir iobroker, einfach zu bedienen und konfigurieren, auch wenn viele das von FHEM behaupten.Gruss, Jürgen
-
ich habe nochmal ein Frage zum senden des Groot Server. Ich sehe bei der Abfrage diese Werte, dann sollte der Grott bzw. die grott,ini richtig konfiguriert sein.?
- Grott values retrieved: - pvserial : QMB39212B4 - pvstatus : 1 - pvpowerin : 649.7 - pv1voltage : 120.8 - pv1current : 5.3 - pv1watt : 649.7 - pv2voltage : 0.0 - pv2current : 0.0 - pv2watt : 0.0 - pvpowerout : 597.8 - pvfrequentie : 50.0 - pvgridvoltage : 240.2 - pvgridcurrent : 2.5 - pvgridpower : 597.8 - pvgridvoltage2 : 0.0 - pvgridcurrent2 : 0.0 - pvgridpower2 : 0.0 - pvgridvoltage3 : 0.0 - pvgridcurrent3 : 0.0 - pvgridpower3 : 0.0 - pvenergytoday : 2.1 - pvenergytotal : 3352.2 - totworktime : 9608.7 - pvtemperature : 35.1 - pvipmtemperature : 0.0 - epv1today : 2.3 - epv1total : 3560.4 - epv2today : 0.0 - epv2total : 0.0 - epvtotal : 3560.4 - MQTT jsonmsg: {"device": "QMB39212B4", "time": "2022-09-13T15:00:27", "buffered": "no", "values": {"pvstatus": 1, "pvpowerin": 6497, "pv1voltage": 1208, "pv1current": 53, "pv1watt": 6497, "pv2voltage": 0, "pv2current": 0, "pv2watt": 0, "pvpowerout": 5978, "pvfrequentie": 5003, "pvgridvoltage": 2402, "pvgridcurrent": 25, "pvgridpower": 5978, "pvgridvoltage2": 0, "pvgridcurrent2": 0, "pvgridpower2": 0, "pvgridvoltage3": 0, "pvgridcurrent3": 0, "pvgridpower3": 0, "pvenergytoday": 21, "pvenergytotal": 33522, "totworktime": 69182759, "pvtemperature": 351, "pvipmtemperature": 0, "epv1today": 23, "epv1total": 35604, "epv2today": 0, "epv2total": 0, "epvtotal": 35604}} - MQTT message message sent on topic: energy/growatt - Grott send data to PVOutput systemid: systemid1 for inverter: QMB39212B4 - {'X-Pvoutput-Apikey': 'yourapikey', 'X-Pvoutput-SystemId': 'systemid1'} - {'d': '20220913', 't': '15:00', 'v1': 2100, 'v2': 597.8, 'v6': 240.2} - Grott PVOutput response: - Unauthorized 401: Invalid System ID - Grott Send data to Influx disabled - Grott extension processing disabled
das heißt ich müßte die Daten per MQTT bekommen.
-
@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