Open ichbins0815 opened 1 month ago
Can you share the RAW Data from mqtt?
Hi softwarecrash, I hope this are the right one ;-)
RAW Q1 = 00000 00000 01 01 00 033 024 028 033 00 00 000 0030 0338 0000 00.00 11 0 060 000 070 000 55.00 000 120 0 0000 QPIGS = 000.0 00.0 230.1 50.0 0023 0000 000 419 52.20 006 040 0033 0006 097.1 52.12 00000 00110110 00 00 00333 010 QPIGS2 = NAK QPIRI = 230.0 21.7 230.0 50.0 21.7 5000 5000 48.0 49.0 48.0 55.8 55.0 2 30 070 0 2 3 9 01 0 0 54.0 0 1 000 QT = {} QET = NAK QEY = {} QEM = {} QED = {} QLT = {} QLY = {} QLM = {} QLD = {} QPI = PI30 QMOD = B QALL = NAK QMN = NAK
your device doesnt have this value, so it send "pv input current for battery" this is the same as battery current
Not realy. In the software (Watchpower) I can see PV current and PV Power. A lot of years I used the Software "Solaranzeige " and there I can also see the data. Regards
then enable debug log on watchpower (right click on the smal icon in task and enable debug) there produces log files, in this log files you must find your pv current value. in your raw data actual it shows QPIGS take a look at the datasheet https://github.com/softwarecrash/Solar2MQTT/blob/master/Protocol/PI30_HS_MS_MSX_RS232_Protocol_20140822_after_current_upgrade.pdf under QPIGS, i cant find PV current. possible that watchpower or solaranzeige calculate this value?
Nur so als Tipp: Du kannst auch auf Deutsch schreiben. Vom Nick her solltest wohl aus einem deutschsprachigem Land kommen.
Würde vielleicht die Kommunikation erleichtern ;-)
Sehr gerne auf Deutsch, dachte nur das anderen Lesern vieleicht "schlechtes" Englisch hilft.
Ich habe bis zum Tod meiner SD-Karte im RasPi "Solaranzeige" benutzt. War aber schon länger auf der Suche nach einer Option für Home Assistant. Habe eine fertige Platine bestellt, Software eingerichtet und - läuft. Klasse. Habe aber nur das Kabel umgesteckt. Die passenden Werte sollte der Wechselrichter also ausspucken. Ich meine mich zu erinnern den gleichen Fehler mit dem Entwickler von "Solaranzeige" diskutiert zu haben. Der hat dann auch ein wenig suchen müssen. Bin nicht so firm im Programmieren, wie kann ich helfen?
Ich werde Watchpower mal anwerfen und in den logs suchen. Gruß
PS. Vieleicht hast Du recht mit der Berechnung des Wertes für den PV-Strom. Ich muß klären ob PV-Leistung > Batterie-Leistung ist. Gruß
Hallo Leute, so auf die Schnelle aus "Watchpower": Es gibt Werte für PV-Leistung und PV-Spannung. Aber die Verbindung via USB. Aber warum sollten die Werte via RS232 andere sein. Gruß
Hallo Leute, so auf die Schnelle aus "Watchpower": Es gibt Werte für PV-Leistung und PV-Spannung. Aber die Verbindung via USB. Aber warum sollten die Werte via RS232 andere sein. Gruß
Ich sehe da keine PV Ampere, nur Watt, und die werden auch übertragen.
Was Du da auf dem Bildschirm siehst, ist noch lange nicht das, was der Inverter wirklich überträgt. Watchpower berechnet einige der Werte. Wir bräuchten da echt die Log-Daten aus dem Watchpower-Debug. Da ist nämlich drin, was der reell vom Inverter als Daten bekommt (und nicht, was der berechnet und dann anzeigt).
@softwarecrash eben, es wird kein PV Strom angezeigt, der muss wohl berechnet werden. Im solar2mppt wird er angezeigt. @all-solutions ich habe kein debug in watchpower gefunden. Leider nur historydatas. Nutze V1.11
Soooo, neuere Watchpower-Version und schon gibt es ein LOG ;-) Auf jeden Fall schon mal vielen Dank für Eure Mühe und die viele Arbeit in diesem Projekt. Gruß
Soooo, neuere Watchpower-Version und schon gibt es ein LOG ;-) Auf jeden Fall schon mal vielen Dank für Eure Mühe und die viele Arbeit in diesem Projekt. Gruß
jetzt müsstest du das log nur in einem zeitraum anlegen wo auch pv current angezeigt und vorhanden ist und uns dann sagen nach welchem wert wir suchen müssen
So nun etwas aufbereitet: Wie gesagt es gibt anscheinend keine Werte für PV Strom und Batterieleistung. Die log's kommen aus Watchpower V1.17SP4 via USB. Die Werte sind von 11:43 mit Lasst und von 11:44 ohne. Die Werte in rot sind errechnet. Ich habe sie nirgends gefunden. 1143-1144QPIGS.pdf 2024-10-22 USB-QPGS0.log 2024-10-22 USB-QPIGS.log Ich hoffe das hilft, danke
okay, also wie schon gedacht gibt es keine echten daten für current, das wird errechnet. es gibt lediglich pv current for battery charge, aber das ist am ende das was von pv in die batterie fliest ohne verluste oder abzweigung ins ac
"...das wird errechnet" von wem?
"...pv current for battery charge, aber das ist am ende das was von pv in die batterie fliest..." macht ja keinen Sinn. Der Strom in die Batterie ist ja um einiges größer als der PV Strom.
NACHGEREICHT
Wenn das alle Werte sind die der Regler ausspuckt, müßte man folgendes berechnen: "PV_Charging_Power" ist eigendlich "PV_Input_Power" "PV_Input_Current" wird berechnet aus "PV_Input_Power" / "PV_Input_Voltage" "PV_Charging_Power" wird berechnet aus "Battery_Voltage" X "Battery_Load" Wobei "PV_Charging_Power" besser "Battery_Charging_Power" heißen sollte. Gruß
Wenn das alle Werte sind die der Regler ausspuckt, müßte man folgendes berechnen: "PV_Charging_Power" ist eigendlich "PV_Input_Power" "PV_Input_Current" wird berechnet aus "PV_Input_Power" / "PV_Input_Voltage" "PV_Charging_Power" wird berechnet aus "Battery_Voltage" X "Battery_Load" Wobei "PV_Charging_Power" besser "Battery_Charging_Power" heißen sollte. Gruß
ich habe die benennung großteils so aus den datenblättern übernommen https://github.com/softwarecrash/Solar2MQTT/blob/master/Protocol/PI30MAX.Communication.Protocol20210217.pdf
"PV_Charging_Power" ist eigendlich "PV_Input_Power"
falsch, es ist die ladeleistung, wenn dein inverter zur batterie und gleichzeitig in ac speisen kann ist das der wert der in die batterie geht.
"falsch, es ist die ladeleistung, wenn dein inverter zur batterie und gleichzeitig in ac speisen kann ist das der wert der in die batterie geht." Sorry das stimmt nicht! Siehe unten. Es wird auf Grund der Last von ca.1,85kW Strom aus der Batterie entnommen. Also eine Ladeleistung von ca. -1726W; der Rest kommt direkt von der Sonne.
Die Werte in HA zeigen das gleiche
Die Werte in HA zeigen das gleiche
na das die werte der webUI und HA / MQTT identisch sind sollte doch wohl klar sein?
es werden die daten geliefert die der inverter laut protokol liefert, lediglich ein zwei watt werte werden zusätzlich grob anhand vorhandener werte berechnet, einfach aus nettigkeit, aber wenn die falsch sind. igonrier sie, real ist das was du in dem protokol und dem log findest, inwieweit das korrekt ist und stimm weis nur dein inverter.
Die Werte aus dem log kann ich durch Messung bestätigen. Nur die Auswertung in der webUI / MQTT passen nicht. Aus meinem Beispiel oben: Solar: 100,2V PV Spannung sind korrekt 4A PV Strom sind FALSCH (den Wert suchen wir ja und es scheint ihn nicht zu geben) 240W PV Leistung sind korrekt 100,2V mal 4A ergeben KEINE 240W
Aus dem log konnte ich noch einen Wert erkennen: Ein negativer Ladestrom, heißt in Watchpower Entladestrom.
laut dem log, zuordnung usw ist es aber das was dein gerät liefert, ob es richtig ist oder nicht spielt keine rolle (für mich)
diese dinge werden berechnet
liveData["Inverter_Operation_Mode"] = getModeDesc((char)liveData["Inverter_Operation_Mode"].as<String>().charAt(0));
liveData["Battery_Load"] = (liveData["Battery_Charge_Current"].as<unsigned short>() - liveData["Battery_Discharge_Current"].as<unsigned short>());
anhand dieser listen, zuordnungen
static const char *const qpigsList[][24] = {
// [PI34 / MPPT-3000], [PI30 HS MS MSX], [PI30 Revo], [PI30 PIP], [PI41 / LV5048]
{
"AC_in_Voltage", // BBB.B
"AC_in_Frequenz", // CC.C
"AC_out_Voltage", // DDD.D
"AC_out_Frequenz", // EE.E
"AC_out_VA", // FFFF
"AC_out_Watt", // GGGG
"AC_out_percent", // HHH
"Inverter_Bus_Voltage", // III
"Battery_Voltage", // JJ.JJ
"Battery_Charge_Current", // KKK
"Battery_Percent", // OOO
"Inverter_Bus_Temperature", // TTTT
"PV_Input_Current", // EE.E
"PV_Input_Voltage", // UUU.U
"Battery_SCC_Volt", // WW.WW
"Battery_Discharge_Current", // PPPP
"Status_Flag", // b0-b7
"Battery_voltage_offset_fans_on", // QQ
"EEPROM_Version", // VV
"PV_Charging_Power", // MMMM
"Device_Status", // b8-b10
"Solar_feed_to_Grid_status", // Y
"Country", // ZZ
"Solar_feed_to_grid_power", // AAAA
},
// [PI16]
{
"Grid_voltage", // AAA.A
"Output_power", // BBBBBB
"Grid_frequency", // CC.C
"Output_current", // DDDD.D
"AC_output_voltage", // EEE.E
"AC_output_power", // FFFFF
"AC_output_frequency", // GG.G
"AC_output_current", // HHH.H
"Output_load_percent", // III
"PBUS_voltage", // JJJ.J
"SBUS_voltage", // KKK.K
"Positive_battery_voltage", // LLL.L
"Negative_battery_voltage", // MMM.M
"Battery_capacity", // NNN
"PV1_Input_Power", // OOOOO
"PV2_Input_Power", // PPPPP
"PV3_Input_Power", // QQQQQ
"PV1_Input_Voltage", // RRR.R
"PV2_Input_Voltage", // SSS.S
"PV3_Input_Voltage", // TTT.T
"Max_temperature", // UUU.U
},
};
static const char *const qallList[] = {
// [PI30 Revo]
"AC_in_Voltage", // BBB.B
"AC_in_Frequenz", // CC.C
"AC_out_Voltage", // DDD.D
"AC_out_Frequenz", // EE.E
"AC_out_VA", // FFFF
"AC_out_percent", // GGG
"Battery_Voltage", // HH.H
"Battery_Percent", // III
"Battery_Charge_Current", // JJJ
"Battery_Discharge_Current", // KKK
"PV_Input_Voltage", // LLL
"PV_Input_Current", // MM.M
"PV_Charging_Power", // NNNN
"PV_generation_day", // OOOOOO
"PV_generation_sum", // PPPPPP
"Inverter_Operation_Mode", // Q
"Warning_Code", // KK
"Fault_code", // SS
};
static const char *const P005GS[][28] = {
{"AC_in_Voltage", "10"}, // AAAA
{"AC_in_Frequenz", "10"}, // BBB
{"AC_out_Voltage", "10"}, // CCCC
{"AC_out_Frequenz", "10"}, // DDD
{"AC_out_VA", "0"}, // EEEE
{"AC_out_Watt", "0"}, // FFFF
{"AC_out_percent", "0"}, // GGGG
{"Battery_Voltage", "10"}, // HHHH
{"Battery_SCC_Volt", "10"}, // III
{"Battery_SCC2_Volt", "10"}, // JJJ
{"Battery_Discharge_Current", "0"}, // KKK
{"Battery_Charge_Current", "0"}, // LLL
{"Battery_Percent", "0"}, // MMM
{"Inverter_Bus_Temperature", "0"}, // NNN
{"MPPT1_Charger_Temperature", "0"}, // OOO
{"MPPT2_Charger_Temperature", "0"}, // PPP
{"PV1_Input_Power", "0"}, // QQQQ
{"PV2_Input_Power", "0"}, // RRRR
{"PV1_Input_Voltage", "10"}, // SSSS
{"PV2_Input_Voltage", "10"}, // TTTT
{"Configuration_State", "0"}, // U
{"MPPT1_Charger_Status", "0"}, // V
{"MPPT2_CHarger_Status", "0"}, // W
{"Load_Connection", "0"}, // X
{"Battery_Power_Direction", "0"}, // Y
{"ACDC_Power_Direction", "0"}, // Z
{"Line_Power_Direction", "0"}, // a
{"Local_Parallel_ID", "0"}, // b
};
gern kannst du alle pdfs mit der länge deiner geräteantwort vergleichen, und mit diesen listen vergleichen was soll ich jetzt tun?
OK, das erschlägt mich erstmal. Aber das war ja Deine Absicht, oder ;-) Ich werde mich mal durch arbeiten und vieleicht kann ich mir und anderen helfen. Denn das war meine Absicht. Es steht mir nicht zu Dir zu sagen was Du tun sollst. Ich freue mich über die Menschen die sich bei so etwas so viel Mühe geben und anderen das Ergebnis zur Verfügung stellen. Aber bleiben wir sachlich. Dein blau markierter Wert oben ist doch "Battery_Charge_Current //KKK" oder? Was ja stimmen würde.
Wie gesagt meine Werte kommen über die USB Schnittstelle. Sollte ja identisch mit der RS232 sein.
die daten über usb oder serial sind absulut identisch (im usb ist nur ein rs wandler) gern kannst du schauen ob die zuordnungen korrekt sind und ggf neu sortieren, dann brauche ich aber aus dem webserial noch von der zeile wo qpigs auftaucht die werte um es zuzuordnen, und ggf das genaue gerätemodel
Dein blau markierter Wert oben ist doch "Battery_Charge_Current //KKK" oder?
wenn ich mich nicht verzählt habe ja, in dem verzeichnis bei git sind jede menge protokole, du musst das finden was zu dem string passt den dein inverter ausgibt, das zuordnen erfolgt immer der reihe nach. die anzahl der felder (feld ist immer zwischen den leerzeichen) sollte passen
This issue is stale because it has been open for 30 days with no activity.
Is there an existing issue for this?
Used Hardware?
Wemos D1 Mini
What happened?
I'm using Solar2MQTT with an Effekta 5000 AX M1. It works fine with only one issue. The PV_Input_Current is the same as Battery_Load. The PV_Input_Current is wrong, the Battery_Load looks right. Also the PV_Input_Power is wrong. Same data in the webinterface and via MQTT.
I've tried the Version 1.2.1(PRE), same wrong data.
Screenshots / Fotos
Steps To Reproduce
Look at webinterface for the same current (Solar and Battery)
Version
1.x.x and above
Relevant livejson output
What browsers are you seeing the problem on?
Firefox