Skip to content

santiagozky/SAJeSolar

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hacs_badge made-with-python Donate

SAJ eSolar Sensor Component

This is a Custom Component for Home-Assistant (https://home-assistant.io) reads and displays sensor values from the SAJ eSolar Portal private API.

NOTE: This component is built upon a none public API and can change/break at any time. The component is built with 2 device to test with used in the Netherlands and Malaysia. Please go to the Supported devides part to see if your device is supported



Installation

HACS - Recommended

  • Have HACS installed, this will allow you to easily manage and track updates.
  • Search for 'SAJ eSolar'.
  • Click Install below the found integration.
  • Configure using the configuration instructions below.
  • Restart Home-Assistant.

Manual

  • Copy directory custom_components/saj_esolar to your <config dir>/custom_components directory.
  • Configure with config below.
  • Restart Home-Assistant.

Note when updating from v1.0.0.4
- resources are renamed in de configuration, replace old ones. applies when updating v1.0.0.4 -> 1.0.0.5



Usage

To use this component in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry

sensor:
  - platform: saj_esolar
    username: aa@bb.cc
    password: abcd1234
    plant_id: 0 # Default is 0. Typically ordered in the same way as they are listed in the eSolar app
    resources:
      - nowPower
      - runningState
      - todayElectricity
      - monthElectricity
      - yearElectricity
      - totalElectricity # Energy -> Solar production
      - todayGridIncome
      - income
      - lastUploadTime
      - totalPlantTreeNum
      - totalReduceCo2
      - status
      - plantuid
      - currency
      - address
      - isOnline
      - peakPower
      - systemPower # Installed capacity

If you have a H1 device, add below Sensors and Resouces:

  - platform: saj_esolar
    username: aa@bb.cc
    password: abcd1234
    plant_id: 0 # Default is 0. Typically ordered in the same way as they are listed in the eSolar app
    sensors: h1
    resources:
      - nowPower
      - runningState
      - todayElectricity
      - monthElectricity
      - yearElectricity
      - totalElectricity # Energy -> Solar production
      - lastUploadTime
      - totalPlantTreeNum
      - totalReduceCo2
      - status
      - plantuid
      - currency
      - address
      - isOnline
      - devOnlineNum
      - selfUseRate
      - totalBuyElec # Energy -> Grid consumption
      - totalConsumpElec
      - totalSellElec # Energy -> Return to grid
      - chargeElec # Energy -> Home Battery Storage -> Energy going in to the battery (kWh)
      - dischargeElec # Energy -> Home Battery Storage -> Energy coming out of the battery (kWh)

      - pvElec
      - useElec
      - buyElec
      - sellElec
      - buyRate
      - sellRate
      - selfConsumedRate1
      - selfConsumedRate2
      - selfConsumedEnergy1
      - selfConsumedEnergy2
      - batCapcity
      - batCurr
      - batEnergyPercent
      - batteryDirection
      - batteryPower
      - gridDirection
      - gridPower
      - h1Online
      - outPower
      - outPutDirection
      - pvDirection
      - pvPower
      - solarPower
      - totalLoadPower

If you have a Saj Sec Module Add below sensor an resources:

  - platform: saj_esolar
    username: aa@bb.cc
    password: abcd1234
    plant_id: 0 # Default is 0. Typically ordered in the same way as they are listed in the eSolar app
    sensors: saj_sec # Optional will only work with SAJ Sec Module
    resources:
      - nowPower
      - runningState
      - todayElectricity
      - monthElectricity
      - yearElectricity
      - totalElectricity # Energy -> Solar production
      - todayGridIncome
      - income
      - lastUploadTime
      - totalPlantTreeNum
      - totalReduceCo2
      - status
      - plantuid
      - currency
      - address
      - isOnline
      - peakPower

      - pvElec
      - useElec
      - buyElec
      - sellElec
      - buyRate
      - sellRate
      - selfConsumedRate1
      - selfConsumedRate2
      - selfConsumedEnergy1
      - selfConsumedEnergy2
      - plantTreeNum
      - reduceCo2
      - totalGridPower
      - totalLoadPower
      - totalPvgenPower
      - totalPvEnergy
      - totalLoadEnergy # Energy -> Grid consumption
      - totalBuyEnergy
      - totalSellEnergy # Energy -> Return to grid

Configuration variables:

  • username (Required): E-mail address used on the eSolar Portal.
  • password (Required): Password used on the eSolar Portal, we advise you to save it in your secret.yaml.
  • resources (Required): This section tells the component which values to display.
  • sensors (Optional): saj_sec / h1 # Optional will only work with SAJ Sec Module



Devices

Supported Devices:


solar Inverter:

R5 -0.7-3K-S1
R5-3~8K-S2
R5-3-20K-T2
Sununo plus 4K-M-RD

eSolar Modules:

eSolar SEC-module
eSolar WiFi- D
eSolar 4G
AOI3

Storage Solar Inverter

H1-3~6K-S2
AS1-3KS-5.1 (use h1 sensors)

Greenheiss

GH-I 2M STYLE


Not Supported Devices: (create github discussion to request)


Commercial Solar Inverter

Suntrio Plus 25-60K

Storage Solar Inverter

B1-5.1-48 (not tested)



Screenshot

alt text alt text



Debugging

Add the relevant lines below to the configuration.yaml:

logger:
  default: info
  logs:
    custom_components.saj_esolar: debug



Credits

Credits to @cyberjunky. I got inspired by his source code which helped me a lot to creating this Custom Component. https://github.com/cyberjunky/home-assistant-toon_smartmeter/

Donation

Buy me a coffee:
Buymeacoffee

PayPal:
Donate
Donate

About

SAJ eSolar Portal Sensors

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%