SolaX inverter Wifi Reverse Proxy setup

The sensor does not show up in the HA Energy dashboard. For this you need to create an extra sensor:

template:
  - sensor:
    - name: east_total
      state: "{{ states('sensor.solax_swxxxx_total_energy') }}" 
      unit_of_measurement: 'kWh'
      state_class: measurement
      device_class: energy
      icon: mdi:solar-power
      attributes:         
          last_reset: '1970-01-01T00:00:00+00:00'
          

I guess this only works if your Solax inverter has a WIFI interface.
My Solax X1 inverter has a wired connection to my network.

Yes that is correct. For the wired connection there are other solutions.

can you hint me in the right direction?

1 Like

I would like to know how aswell

This is a bit off-topic: search in the community on Solax and you will find this: SolaX Inverter by Modbus (No Pocket WiFi) ( now a custom_component )

1 Like

Unfortunate modbus is not open on mine.

Please check this issue on the other thread/topic as indicated above. This topic is only for the Solax inverter with a Wifi dongle.

Maybe it’s a stupid question but can I use the same raspberry pi which is running Home Assistant? Right now the pi is connected to the network over LAN interface and I bought a solax inverter with wifi dongle.

No that’s not possible I believe.

1 Like

Thanks for your answer. Then I’ll use a raspberry pi zero with LAN adapter :slight_smile:

Sounds good!

Hi Doublet, I followed the instructions and got the connection between the inverter and pi. However it doesn’t direct me to the Solax inverter menu. I’m on firmware 2.034.03.

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.199  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::c57:e693:f87d:a2e0  prefixlen 64  scopeid 0x20<link>
        ether e8:fc:af:c7:a7:81  txqueuelen 1000  (Ethernet)
        RX packets 1798  bytes 137200 (133.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 263  bytes 41338 (40.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 5.8.8.9  netmask 255.255.255.0  broadcast 5.8.8.255
        inet6 fe80::1dbc:a13e:d1bd:8668  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:4e:e2:dd  txqueuelen 1000  (Ethernet)
        RX packets 21  bytes 3553 (3.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25  bytes 3955 (3.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Do you have any suggestions?

Trust that your SolaX inverter does not have any wifi connections, check. When connecting to the Pi you should see the SolaX login:
Screen Shot 2021-11-08 at 11.36.49

Have you tried to do a number of reboots and recheck nginx, ifconfig and all the steps in between?

1 Like

Yes I did many times for the raspberry. Only a couple of times for the inverter.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Still only getting the Welcome to nginx page.

The wifi dongle is blinking rapidly. Does that give any information?

The rapid blinking of the wifi dongle is good: means the inverter is looking for a wifi network and is not connected.

Noted that your SolaX broadcast IP is 5.8.8.255. Is this correct? In my case the broadcast is 5.8.8.8
Can you confirm/check by connecting to the inverter directly?

When I connect to the inverter with my phone it gives me IP 5.8.8.10 and the raspberry gets 5.8.8.9.

funny, my ifconfig also gives:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.48  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::f97:8eee:af7b:8a40  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:73:0a:38  txqueuelen 1000  (Ethernet)
        RX packets 2020878  bytes 411787114 (392.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 173985  bytes 25828366 (24.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 5.8.8.9  netmask 255.255.255.0  broadcast 5.8.8.255
        inet6 fe80::d15b:af12:c12d:cbf7  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:26:5f:6d  txqueuelen 1000  (Ethernet)
        RX packets 50151  bytes 6745373 (6.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 60961  bytes 7494199 (7.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

So something else must have changed?

Did a firmware upgrade (it was a downgrade eventually) to 2.033.20. And our settings are the same. Still no success, 1 big mystery haha solved!

EDIT:
I deleted the default page in /etc/nginx/sites-available and /etc/nginx/sites-enabled. Now it works!! Thanks for your help and instructions :slight_smile:

1 last question. What entitie should I use, and where? Feed back to the net I have: Solax SW******** Total Feed-in Energy and solarpanels the solar template in your second post. Is this correct?

Hey well done! happy to see that you got it working too. Last question: I am using sensor.solax_swfXXXX_total_energy. Just try which one works.

1 Like