Closed michacee closed 5 months ago
Schau mal in #30 ob diese passt. Ich habe es nur noch nicht geschafft diese Config einzuarbeiten. Ggf Probier alle anderen nacheinander aus ob von den Solax eine passen könnte. Oftmals sind viele identisch aufgebaut.
falls nichts passt kommst du über das passende Modbus Protokoll PDF nicht herum. Der Solax Support ist da aber sehr schnell und hilfsbereit.
Leider kein Erfolg, ich werd mich wohl an Solax wenden müssen. Oder gibt es noch eine andere Möglichkeit?
Solax support used to be very reluctant to release the Register pdf's but at least in the last 18 months they are now very responsive, mine took 48 hrs to arrive. Other than that there is google, hits on home assistant forums can contain the PDF's but Solax's model naming can be deceptive ie your inverter name does not include the Generation ie Gen3 or Gen4 which is important.
Leider nicht, du brauchst das Modbus Protokoll damit wir hier weiter kommen
Ich hab dem Solax Support gerade mal eine Mail geschrieben.
Hat noch jemand eine Idee, wie man an die Modbus Register kommt, Solax hat bis dato noch nicht reagiert.
If you have a laptop and a USB RS485 adaptor then this can be used to scan for register numbers.
closed due inactivity
Update
Nach langer Zeit konnte ich mich mal wieder damit beschäftigen. Die Inverter Config muss so angepasst werden:
"RequestLiveData": [ [ "#ClientID", "0x04", "0x04", "0x00", "0x00", "0x35" ] ],
{ "Solax-Mic-Pro": { "config": { "RequestLiveData": [ [ "#ClientID", "0x04", "0x04", "0x00", "0x00", "0x35" ] ], "RequestIdData": [ "#ClientID", "0x03", "0x03", "0x00", "0x00", "0x07" ], "ClientIdPos": 0, "LiveDataFunctionCodePos": 1, "LiveDataFunctionCode": "0x04", "IdDataFunctionCodePos": 1, "IdDataFunctionCode": "0x03", "LiveDataStartsAtPos": 3, "IdDataStartsAtPos": 3, "LiveDataErrorPos": 1, "LiveDataErrorCode": "0x84", "IdDataErrorPos": 1, "IdDataErrorCode": "0x83", "LiveDataSuccessPos": 1, "LiveDataSuccessCode": "0x04", "IdDataSuccessPos": 1, "IdDataSuccessCode": "0x03" }, "data": { "livedata": [ { "position": [ 3, 4 ], "name": "PvVoltage1", "realname": "Pv Voltage 1", "datatype": "float", "factor": 0.1, "unit": "V" }, { "position": [ 5, 6 ], "name": "PvVoltage2", "realname": "Pv Voltage 2", "datatype": "float", "factor": 0.1, "unit": "V" }, { "position": [ 7, 8 ], "name": "PvCurrent1", "realname": "Pv Current 1", "datatype": "float", "factor": 0.1, "unit": "A" }, { "position": [ 9, 10 ], "name": "PvCurrent2", "realname": "Pv Current 2", "datatype": "float", "factor": 0.1, "unit": "A" }, { "position": [ 11, 12 ], "name": "GridVoltage_R", "realname": "Grid Voltage L1", "datatype": "float", "factor": 0.1, "unit": "V" }, { "position": [ 13, 14 ], "name": "GridVoltage_S", "realname": "Grid Voltage L2", "datatype": "float", "factor": 0.1, "unit": "V" }, { "position": [ 15, 16 ], "name": "GridVoltage_T", "realname": "Grid Voltage L3", "datatype": "float", "factor": 0.1, "unit": "V" }, { "position": [ 17, 18 ], "name": "GridFrequency_R", "realname": "Grid Frequency L1", "datatype": "float", "factor": 0.01, "unit": "Hz" }, { "position": [ 19, 20 ], "name": "GridFrequency_S", "realname": "Grid Frequency L2", "datatype": "float", "factor": 0.01, "unit": "Hz" }, { "position": [ 21, 22 ], "name": "GridFrequency_T", "realname": "Grid Frequency L3", "datatype": "float", "factor": 0.01, "unit": "Hz" }, { "position": [ 23, 24 ], "name": "GridCurrent_R", "realname": "Grid Current L1", "datatype": "float", "factor": 0.1, "unit": "A" }, { "position": [ 25, 26 ], "name": "GridCurrent_S", "realname": "Grid Current L2", "datatype": "float", "factor": 0.1, "unit": "A" }, { "position": [ 27, 28 ], "name": "GridCurrent_T", "realname": "Grid Current L3", "datatype": "float", "factor": 0.1, "unit": "A" }, { "position": [ 29, 30 ], "name": "Temperature", "realname": "Temperature", "datatype": "integer", "unit": "°C" }, { "position": [ 31, 32 ], "name": "OutputPower", "realname": "Output Power", "datatype": "integer", "unit": "W" }, { "position": [ 33, 34 ], "name": "InverterStatus", "realname": "Inverter Status", "datatype": "integer", "mapping": [ [ 0, "WaitMode" ], [ 1, "CheckMode" ], [ 2, "NormalMode" ], [ 3, "FaultMode" ], [ 4, "PermanentFaultMode" ] ] }, { "position": [ 35, 36 ], "name": "GridPower_R", "realname": "Grid Power L1", "datatype": "integer", "unit": "W" }, { "position": [ 37, 38 ], "name": "GridPower_S", "realname": "Grid Power L2", "datatype": "integer", "unit": "W" }, { "position": [ 39, 40 ], "name": "GridPower_T", "realname": "Grid Power L3", "datatype": "integer", "unit": "W" }, { "position": [ 41, 42 ], "name": "PowerPvTotal", "realname": "Erzeugungsleistung PV Gesamt", "datatype": "float", "unit": "W" }, { "position": [ 43, 44 ], "name": "PowerPv1", "realname": "Erzeugungsleistung Pv1", "openwbtopic": "openWB/set/pv/1/W", "datatype": "float", "unit": "W" }, { "position": [ 45, 46 ], "name": "PowerPv2", "realname": "Erzeugungsleistung Pv2", "openwbtopic": "openWB/set/pv/2/W", "datatype": "float", "unit": "W" }, { "position": [ 75, 76, 73, 74 ], "name": "EnergyTotalToGridWh", "realname": "Total Energy to Grid in Wh", "openwbtopic": "openWB/set/pv/WhCounter", "datatype": "integer", "factor": 100, "unit": "Wh" }, { "position": [ 75, 76, 73, 74 ], "name": "EnergyTotalToGridKwh", "realname": "Total Energy to Grid in KWh", "datatype": "float", "factor": 0.001, "unit": "kWh" }, { "position": [ 79, 80, 77, 78 ], "name": "EtodayToGrid", "realname": "Today Energy to Grid", "datatype": "float", "factor": 0.001, "unit": "kWh" }, { "position": [ 243, 242, 245, 244 ], "name": "GridPower", "realname": "Grid Power", "openwbtopic": "openWB/set/pv/W", "datatype": "integer", "unit": "W" }, { "position": [ 126, 127, 129, 128 ], "name": "feedinEnergy", "realname": "FeedIn Energy", "datatype": "float", "factor": 0.01, "unit": "kWh" }, { "position": [ 131, 130, 133, 132 ], "name": "ConsumeInEnergy", "realname": "ConsumeIn Energy", "datatype": "float", "factor": 0.01, "unit": "kWh" } ], "id": [ { "position": [ 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15 ], "name": "InverterSN", "realname": "Inverter SerialNumber", "datatype": "string" } ] } } }
Hat zufällig jemand schon mal die register.h für einen Solax Mic Pro angepasst? Mit der normalen Solax-Mic Konfiguration kann ich den WR leider nicht überreden, Daten auszugeben.