Fronius GEN24: Detect Backup/Island Mode

Hi,

I have a Fronius Symo GEN24 6.0 Plus with a BYD battery and Full Backup functionality. I would like to detect in openHAB when the system switches to backup (island) mode.

Has anyone implemented something like this?

I checked the Fronius binding but couldn’t find any channel that seems to expose the backup status. Perhaps I overlooked something.

My openHAB instance runs on a Synology NAS connected to a UPS. The switch connecting the NAS to the inverter is also backed by the UPS, so both openHAB and the connection to the inverter remain available during the transition to backup power.

Any ideas or suggestions would be appreciated.

I found it in the Fronius Solar API v1:

http://[inverter-ip]/solar_api/v1/GetPowerFlowRealtimeData.fcgi

Body.Data.Site.BackupPower is false during normal operation and should become true when the inverter is running in backup mode. I have not been able to test this during an actual backup event yet, but I expect to do so in the coming days.

@jimtng, would it be possible to expose this value as a channel?

It would be useful to react to backup mode automatically, for example by sending a notification or disabling non-essential loads. In my setup, I would use it together with the evcc binding to adjust surplus-controlled EV charging behavior while running on backup power.

While it would be nice to have this exposed directly by the Fronius binding, it was actually quite straightforward to implement using the HTTP binding together with the JSONPath Transformation add-on.

Interestingly, at least this part of the Fronius API does not require authentication.

For anyone interested, here is my Thing configuration:

version: 1
things:
  http:url:a37cd21748:
    label: Fronius Backup Mode
    config:
      baseURL: http://[inverter-ip]/solar_api/v1/GetPowerFlowRealtimeData.fcgi
      refresh: 10
      timeout: 3000
      delay: 0
      bufferSize: 2048
      authMode: BASIC
      stateMethod: GET
      commandMethod: GET
      ignoreSSLErrors: false
    channels:
      last-failure:
        type: request-date-time
        label: Last Failure
      last-success:
        type: request-date-time
        label: Last Success
      backupMode:
        type: switch
        label: Backup Mode
        config:
          stateTransformation:
            - JSONPATH:$.Body.Data.Site.BackupMode
          onValue: "true"
          offValue: "false"
          mode: READONLY