SAJ Solar inverter

Hello, i’m using the Github elekeeper integration and it works great, the sensors values are right but i’m having some anomalies with spikes in values everyday around 00:00 or 00:05. maybe I’m using the vrong sensors in the energy configuration dashboard.

This are the anomalies in the dashboard


Whenever I remember I clean the values in the statistics but the anomaly apperars everyday around midnight
As new user i can only upload one image per post, I’ll try to upload a screen of my energy dashboard config, maybe i’m only using the wrong sensors in the dashboard.
Thanks in advance to everyone coul help to solve this little issue.

These are the sensors I’m using in the nergy dashboard.

Does anyone know if the register 8020H can also be used on an H1 inverter to sync the current datetime? The internal RTC of my inverter is slower than the real time, so I would like to be able to sync it by writing it via modbus. I sadly can’t find any documentation for the H1 inverter that confirms that this register 8020H is also writable like it is for the H2 and R5 inverters…

Nobody who knows or already tried it for a H1 inverter?

I am sure that there was a fork of the Component released by stanus74 but adapted only to the registers in common with the H1 series inverters, can anyone help me find it?

What route did you end up going? I am installing a SAJ H2 inverter next week, and I think AIO3 is very expensive for what it is. I have a bunch of ESP32 and Modbus adapters (like the one BenV linked) laying around. I thought it would be even cheaper and faster than the Elfin solution

Not sure which fork you are talking about, but you can also use my integration (over mqtt) from here: GitHub - h3llrais3r/ha-saj-h1-mqtt: Home Assistant integration for SAJ H1 solar inverters via MQTT
I’ve been using it for more than a year now without any issues.
This doesn’t require extra hardware and you can keep using the existing app.
You only need to bridge the mqtt server (or change directly to your local one, if you don’t care about the saj app)

EDIT: attention, if you have the most recent AIO3 module firmware version (v1.212) it seems to be using an encrypted mqtt endpoint… This breaks the integration as we don’t know the encryption being used. (see Timeout error: the inverter did not answer in the expected timeout · Issue #3 · h3llrais3r/ha-saj-h1-mqtt · GitHub)

When it’s dark, the invertor becomes unavailable. Resulting in many warnings.
Why not stop polling between sunset and sunrise?
Or is this a configuration issue? If so how could I do this?

Hi everyone, I’m currently trying to integrate my SAJ AS1 battery and I’ve successfully established a Modbus TCP connection with it. Has anyone managed to fully integrate it into Home Assistant and successfully switch between the different working modes?"

I’ll confirm to myself. Also for the H1 inverters, the time of the inverter can be written from register 8020H (4 registers to write).

Hello Forum,
I am using the SAJ Solar Inverter integration and I was wondering if it is possible to use it to switch the inverter off or set the power output to 0.
Here in Flanders we have to pay to put power on the grid when the price is below 1.5 c€ per kWh, so it would be nice to switch the inverter off when that is the case and the battery is full.
All help is welcome.
Thanks, JP

Hi all,

we have a solar plant with 10 R6 50k inverters and now we're integrating batteries.
We're using our EMS that's being run on an industrial PC to control the solar plant. We don't have problems controlling the batteries but have trouble controlling the solar.
I managed to read registers with my laptop and modbus tester software from the inverters with RS485 to USB and RS485 to Ethernet converters but can only read one at a time. If I connect more inverters in daisy chain I get errors.
The inverters have AIO3 modules connected and can be controlled via cloud and I can also access them locally over bluetooth.

Do you have any suggestions? I'd appreciate the help.

@ZRezo

I used the following modbus configuration to get the AIO3 module working.
Got some help from Gemini after feeding it an export of all the addresses using modbus poll, seems to work well enough and values seem to make sense (and match the elekeeper app.)
The only thing I'm not convinced about is the temperature, 18C seems very low as the room is closer to 27 at the moment.

Hope this helps!

edit
OK, a lot of garbage values it seems. Grid Frequency varies from 30 to 60 Hz and the inverter voltage went up to 7000 degrees Celcius this morning.
I'll edit the config down below with what I can double check to be correct.

configuration.yaml

modbus:

  • name: "saj_inverter"
    type: tcp
    host: x.x.x.x #input the ip of the module here
    port: 502
    delay: 2
    timeout: 5

    sensors:
    - name: "SAJ Active Power"
    unique_id: saj_active_power
    slave: 255
    address: 275
    input_type: holding
    data_type: uint16
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    scan_interval: 10

    - name: "SAJ AC Grid Voltage"
      unique_id: saj_ac_grid_voltage
      slave: 255
      address: 278
      input_type: holding
      data_type: uint16
      scale: 0.1          # Converts 2375 to 237.5V
      precision: 1
      unit_of_measurement: "V"
      device_class: voltage
      state_class: measurement
      scan_interval: 20
    
    - name: "SAJ Daily Yield"
      unique_id: saj_daily_yield
      slave: 255
      address: 310
      input_type: holding
      data_type: uint16
      scale: 0.1          # Converts 12 to 1.2 kWh
      precision: 1
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing
      scan_interval: 30
    
    - name: "SAJ Total Energy Yield"
      unique_id: saj_total_energy_yield
      slave: 255
      address: 282
      input_type: holding
      data_type: uint16   # Kept uint16 based on poll results
      scale: 1            # Direct raw value in kWh (1192)
      precision: 0
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing
      scan_interval: 30
    
    - name: "SAJ PV String 1 Voltage"
      unique_id: saj_pv_string_1_voltage
      slave: 255
      address: 263
      input_type: holding
      data_type: uint16
      scale: 0.1
      precision: 1
      unit_of_measurement: "V"
      device_class: voltage
      state_class: measurement
      scan_interval: 20
    
    # 8. Solar PV String 1 Current (Estimated based on register 264)
    - name: "SAJ PV String 1 Current"
      unique_id: saj_pv_string_1_current
      slave: 255
      address: 264
      input_type: holding
      data_type: uint16
      scale: 0.01
      precision: 1
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement
      scan_interval: 20