logo

App update v2.9

We’ve released a new update of the app (version 2.0) that makes it even easier to read out multiple inverters from our public API and integrate this into your own application — for example, HomeAssistant or Domoticz.

Here are the steps for the update, along with a small example of the new API structure and how you can read it in HomeAssistant, for instance.

Step 1 - Install the update

First, make sure you have version 2.9 of the app installed from the App Store or Play Store.

Step 2 - Install the new firmware

After updating the app, you can update the firmware of the module. To do this, go to Settings - Daytopper Module and press the Update button.

Note: Make sure you are on the same network as the module.

Step 3 - Output API

Once both the app and firmware have been updated and the module has restarted, you can use the new output API. You can access it by navigating to https://daytopper.local. You will now see the output, which includes a new property called solarReadings. This is an object containing data from the different inverters.

Below is an example of the output:

{
  "solarReadings": {
    "enphase": {
      "timestamp": 1745334603,
      "current": 369,
      "total": 9655909,
      "error": "",
      "loggerError": ""
    },
    "solax": {
      "timestamp": 1745334610,
      "current": 2102,
      "total": 18139100,
      "error": "",
      "loggerError": ""
    }
  },
  "solarReadingTotal": {
    "timestamp": 1745334610,
    "current": 2471,
    "total": 27795009,
    "error": "",
    "loggerError": ""
  },
  "system": {
    "chipId": "xxxxxxxxxxxxxx",
    "wifiHostname": "daytopper-xxxxxxx",
    "wifiStrengthRaw": -52,
    "wifiStrength": "Good",
    "firmwareVersion": 20,
    "cpuFrequency": "80 Mhz",
    "ip": "192.168.1.100",
    "upSince": "2025-04-15 12:44:11",
    "lastApiCall": 1745334613,
    "rebootReason": 1,
    "resetReasonCore0": "POWERON_RESET",
    "resetReasonCore1": "EXT_CPU_RESET"
  }
}

Step 4 – Connect to HomeAssistant

With this output, it’s now very easy to import the data into HomeAssistant. You can do this by adding the following configuration to your configuration.yaml file.

sensor:
  - platform: rest
    name: "Solar Daytopper API"
    resource: "http://daytopper.local"
    json_attributes:
      - solarReadings
    method: GET
    value_template: "{{ now().timestamp() }}"
    scan_interval: 60

And in your template.yaml file, you can add the actual inverters as sensors.

- sensor:
  - name: "Solar Solax Power"
    state: "{{ state_attr('sensor.solar_daytopper_api', 'solarReadings')['solax']['current'] }}"
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement

  - name: "Solar Solax Total"
    state: >-
      {% set current_value = states('sensor.solar_solax_total') | float(0) %}
      {% set new_value = current_value %}

      {% if state_attr('sensor.solar_daytopper_api', 'solarReadings') is defined and state_attr('sensor.solar_daytopper_api', 'solarReadings')['solax']['total'] is not none %}
        {% set api_value = (state_attr('sensor.solar_daytopper_api', 'solarReadings')['solax']['total'] / 1000) | round(2) %}
        {% if api_value > current_value %}
          {% set new_value = api_value %}
        {% endif %}
      {% endif %}

      {{ new_value }}
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing

  - name: "Solar Enphase Power"
    state: "{{ state_attr('sensor.solar_daytopper_api', 'solarReadings')['enphase']['current'] }}"
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement

  - name: "Solar Enphase Total"
    state: >-
      {% set current_value = states('sensor.solar_enphase_total') | float(0) %}
      {% set new_value = current_value %}

      {% if state_attr('sensor.solar_daytopper_api', 'solarReadings') is defined and state_attr('sensor.solar_daytopper_api', 'solarReadings')['enphase']['total'] is not none %}
        {% set api_value = (state_attr('sensor.solar_daytopper_api', 'solarReadings')['enphase']['total'] / 1000) | round(2) %}
        {% if api_value > current_value %}
          {% set new_value = api_value %}
        {% endif %}
      {% endif %}

      {{ new_value }}
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    

Home assistant

Solar dashboard in HomeAssistant