Solplanet / AiSWEI inverter integration

Hey all,
My PV company has just installed a Solplanet inverter at my house. I haven’t found anything about Solplanet (or AiSWEI, what seems to be an alias to Solplanet) here in the Forums though.
The inverter has wifi connection, and a cloud-based platform (aisweicloud.com). There’s even an API key in my profile, possibly for integration purposes.
Does anyone know how this device could be integrated into HA? Is there maybe another integration that could work with this device?
Thanks a lot.

3 Likes

Same question here. My installation came in december, but until now i haven’t found anything. The Solplanet app is worthless and doesn’t work. Connection to the inverter is good, wifi is good, it sees my installation, but all counters stay at 0. :frowning:
So, i was hoping that maybe there was a way for Home Assistant to get the data, but so far no go.

Just got this inverter installed and also have had no luck finding any integrations.

Hoping that one of the coding wizards will be able to grace us with their magic!

I recently got an ASW5000-S invertor, and managed to read this out locally in Home Assistant with a rest sensor and a few template sensors.

Introduction

It looks like there could be multiple ways to integrate the invertor with Home Assistant.

  • Create an integration with the Cloud service. I don’t think this exists already.
  • The dongle is emitting MQTT messages to some cloud service. You could probably setup some DNS spoofing to trick the dongle to send the MQTT messages to your own broker. This will break the mobile app however.
  • It seems that wifi dongle has an open port at 8484 that allows to query the device for some parameters. This looks like the preferred solution, since it’s all local, and the mobile app doesn’t break. Read more to integrate with this solution.

Requirements:

  • You’ll need to know the IP address of the dongle. I recommend to give this a static IP in your DHCP server/router. I’ve configured my pfsense firewall to store this as a asw5000s.lan dns entry. Figuring out the IP address of the dongle might be the hardest part.
  • You’ll also need to know the SN of your device. Mine looks like this: RG500060S9999999. You can find it in the Solplanet app under Device Information.

Notes:

  • During the night, the dongle won’t reply, so the sensors will be unavailable. You could probably modify the template sensor to return 0 instead, but I don’t mind.

Configuration:

sensor:
- platform: rest
  resource: http://asw5000s.lan:8484/getdevdata.cgi?device=2&sn=RG500060S9999999
  scan_interval: "00:00:10"
  name: asw5000s
  value_template: "OK"
  json_attributes:
    - flg # ???
    - tim # date/time
    - tmp # inverter temperature / 10
    - fac # frequency / 100
    - pac # actual power watt
    - sac # apparent power
    - qac # reactive power
    - eto # total produced / 10
    - etd # total producted daily / 10
    - hto # running time
    - pf # ???
    - wan # ???
    - err # ???
    - vac # voltage / 10
    - iac # current / 10
    - vpv # string voltage
    - ipv # string current
    - str
template:
  sensor:
  - name: "asw5000s_current_production"
      unique_id: asw5000s_current_production
      state: "{{ state_attr('sensor.asw5000s', 'pac') | float }}"
      unit_of_measurement: "W"
      device_class: energy
      state_class: measurement

    - name: "asw5000s_daily_production"
      unique_id: asw5000s_daily_production
      state: "{{ state_attr('sensor.asw5000s', 'etd') | float / 10 }}"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

    - name: "asw5000s_total_production"
      unique_id: asw5000s_total_production
      state: "{{ state_attr('sensor.asw5000s', 'eto') | float / 10 }}"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

    - name: "asw5000s_temperature"
      unique_id: asw5000s_temperature
      state: "{{ state_attr('sensor.asw5000s', 'tmp') | float / 10 }}"
      unit_of_measurement: "°C"
      device_class: temperature
      state_class: measurement

You can add additional template sensors to extract more information. See the rest sensor above for all available attributes.

Credit (use Google translate if this isn’t your language):