Solax X3-Hybrid G4 Wifi Firmware Solax module fw version 3.003.02 Home Assistant Integration

I can’t verify if this is correct or not, as i don’t have Grid in Total available on my Solax, as i have no solax compatible smartmeter and that grind in total seems to be a sum 2 values.
An my 89 is empty

Did you add nginx and nginx manager with a separate WIFI adapter in the HA so that it can communicate with the Pocket WIFI?

no, thats not needed

But I understand that the pocket wifi has a separate wifi connection (solax_serial#) on which the API is exposed. So thought you had to add a wifi connection from HA (RasPi) to this wifi connection (solax_serial#). Thus connect on 11.11.11.1

i can connect direct to my solax pocket wifi 2

Did you have to use a NGINX proxy to 11.11.11.1 address?

no, i connected my device direct to my wifi Firmware version 3.001.02 and i assigned a IP on my DHCP server to that device

I got Q.VOLT_HYB-G3-3P now, and thanx for your great work, I am connecting to the Wifi module (ver:3.006.04,type:14) with static IP and get the record from readRealTimeData. Now I have a nice json object which contains Data with a bunch of numbers, but no definition which number is which sensor.... Some of the sensor definition in this thread are working, the most not. As far as I understood, the field definition depends on dongle version. Where can I get a List of field definitions of the API for my inverter/dongle ? Or how did you figure out which value belongs to which sensor?

The best way is to look on the device and compare the values with what you see in the data fields.

Thank you for your work and sharing it here.
I used this configuration (with a X3-Pro G2, so different value-positions) and thought I figured it out.
The first day the energy dashboard worked just fine but since the second day I got an issue. Solar production is still shown correctly on a hourly basis but Grid In and Grid Out are shown as their respective total values (all time) at the “08:00-09:00” time mark and first start to be shown properly at the “09:00-10:00” time mark.

Problem ist that because of this error the statistics are unsusable - and i barely see the hourly values from “09:00” onword because the graph is stretched out with the high values from the beginning.

Maybe this has to do with the fact that the inverter starts up at around 08:00 and solar production is starting shortly after? Hybrid inverters seem to send data 24/7 so maybe this is just what I have to live with with this inverter, as it goes into standby/off-mode after end of PV-production.

Total values for Energy panel - needs customization in customize.yaml

    - name: "Solax Solar energy total"
      state: "{{ state_attr('sensor.solax_local', 'Data')[22] | float / 10 }}"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: total_increasing

    - name: "Solax Grid out total"
      state: "{{ state_attr('sensor.solax_local', 'Data')[74] | float / 100 }}"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: total_increasing

    - name: "Solax Grid in total"
      state: "{{ state_attr('sensor.solax_local', 'Data')[76] | float / 100 }}"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: total_increasing



energy_distribution

i also have the energy total there, i assume that only happened for the first counted hr possibly and then shows the delta of each hr.

And your energy dashboard is working correctly? I have the same inverter type and use the same configuration but as I have written in my post (Dec. 2023), the data shown in the energy dashboard is not shown correctly. Only on the first day after configuration the data and all the graphs were correct, now I have the issue that the inverter seems to send the total data at least once per day which ruins the dashboard. Sometimes for imported and exported, sometimes only for one of both, I just don’t know what the problem is…

1 Like

yes, all correct on my side, since more than 1 year.
did you check the log files if there is too often a not respond error?

Logger: homeassistant.components.rest.data
Source: components/rest/data.py:122
Integration: RESTful (documentation, issues)
First occurred: 18. Dezember 2023 um 17:55:58 (3 occurrences)
Last logged: 20. Dezember 2023 um 14:57:52
Error fetching data: http://192.168.0.2/ failed with Server disconnected without sending a response.

What intervall do you have on the polling?

Solax REST command online sensor

rest:

  • authentication: digest
    scan_interval: 6 (which is seconds)

for me everything goes perfect

How did you get this data ? I’m a newbee to HA and I do not understand yow you could display the content of this variable.

Where can i get the latest wifi dongle firmware?

2 Likes

I have a X3-Pro G3 and have values in different locations than everyone else it seems. I can’t find the value for Total Yield anywhere here. Daily Yield 4.5kWh is in position 21 and 80 is current solar energy in W. The only value that are constaly increasing is 21 (7676) but that value is far from the 20439.9kWh that the inverter tells me it has generated. Can that value be multiplied in some strange way?

72 and 49 should be temp values from the inverter.

Data [100]
0 : 2452
1 : 2415
2 : 2449
3 : 47
4 : 46
5 : 47
6 : 1116
7 : 1089
8 : 1119
9 : 7298
10 : 7242
11 : 30
12 : 19
13 : 2150
14 : 1351
15 : 5003
16 : 5004
17 : 5004
18 : 2
19 : 7676
20 : 3
21 : 45
22 : 0
23 : 0
24 : 0
25 : 0
26 : 0
27 : 0
28 : 0
29 : 0
30 : 0
31 : 0
32 : 0
33 : 0
34 : 0
35 : 0
36 : 0
37 : 0
38 : 0
39 : 0
40 : 8
41 : 0
42 : 0
43 : 0
44 : 0
45 : 0
46 : 8
47 : 15000
48 : 0
49 : 33
50 : 0
51 : 0
52 : 0
53 : 0
54 : 0
55 : 0
56 : 0
57 : 0
58 : 0
59 : 0
60 : 0
61 : 0
62 : 0
63 : 0
64 : 0
65 : 0
66 : 0
67 : 0
68 : 0
69 : 0
70 : 0
71 : 0
72 : 36
73 : 0
74 : 0
75 : 0
76 : 0
77 : 0
78 : 0
79 : 0
80 : 3324
81 : 0
82 : 0
83 : 0
84 : 0
85 : 0
86 : 0
87 : 0
88 : 0
89 : 0
90 : 0
91 : 0
92 : 0
93 : 0
94 : 0
95 : 0
96 : 0
97 : 0
98 : 0
99 : 0

thats the formular for mine:

  • name: “Solax Energy total”
    state: “{{ ((state_attr(‘sensor.solax’, ‘Data’)[69] * 65536) + state_attr(‘sensor.solax’, ‘Data’)[68]) | float / 10 }}”
    unit_of_measurement: “kWh”
    device_class: “energy”
    state_class: total_increasing

So a small value is multiplied with 65536 and another bigger value is just added and then divided by 10

What values do you have on 69 and 68 and how much is your total yield?

69 = 3 => 196008
68 = 30620
=>226628/10
22662,8