Beta testers needed for 1.6.0, particularly H1 owners
Most SAJ Customers have been moved to a new Eleekeper platform. If you have rebranded hardware (e.g. greenheiss) you most likely were kept in esolar and this platform should keep working.
Please help beta test the 1.6.0 version which aims to modernize and keeping this integration alive.
The 1.6.0 beta includes a modernized code base, UI based configuration and hopefully more robustness.
For a local only integration using modbus check out: https://github.com/wimb0/home-assistant-saj-r5-modbus
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.
Please go to the Supported devides part to see if your device is supported
I created this repository for a family member but made it publicly available as I saw a wider need. Newer SAJ dongles lack local connections, making this project valuable for others. However, demand has grown, and a major change is coming with SAJ's new website i can't deal with those changes on my own.
- Potential API breakage: The old API will likely be discontinued with the new platform. Some retailers have already seen changes.
- Configuration complexity: Manual configuration through configuration.yaml isn't ideal.
This is where your expertise comes in!
We're looking for a co-author to help maintain and improve the project, particularly with the upcoming website changes. If you have Python scripting and REST API experience, we'd love to hear from you!
- Check out this project for inspiration: https://github.com/faanskit/ha-esolar (by @faanskit, who made fantastic contributions!)
- Create pull request to help the project
- Reach out: Email me at [email protected] if you're interested in collaborating.
Together, let's make this project even better!
- 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.
- Copy directory
custom_components/saj_esolarto your<config dir>/custom_componentsdirectory. - Configure with config below.
- Restart Home-Assistant.
- resources are renamed in de configuration, replace old ones. applies when updating v1.0.0.4 -> 1.0.0.5
To use this component in your installation, add the following to your configuration.yaml file:
# Example configuration.yaml entry
sensor:
- platform: saj_esolar
username: [email protected]
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 capacityIf you have a H1 device, add below Sensors and Resouces:
- platform: saj_esolar
username: [email protected]
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
- totalLoadPowerIf you have a Saj Sec Module Add below sensor an resources:
- platform: saj_esolar
username: [email protected]
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
- totalPvEnergy
- totalLoadEnergy # Energy -> Grid consumption
- totalBuyEnergy
- totalSellEnergy # Energy -> Return to grid
#these entities are deprecated since they return incorrect values
- totalGridPower # Power being exported to the grid
- totalLoadPower # Solar power being currently self-consumed
- totalPvgenPower # Power imported from the grid
#these new entities replace them
- gridLoadPower # Power imported from the grid
- solarLoadPower # Solar power being currently self-consumed
- homeLoadPower # Total power being consumed by the plant (the home)
- exportPower # Power being exported to the grid
If you are a user of Solarprofit / Greenheiss
note that there is an certification issue for the greenheiss portal which is currently not accepted by Home Assistant to fix this use the provider_ssl: False
Add below code to you
provider_domain: inverters.resellerdomain.ext
provider_path: cloudfor example for greenheissen:
- platform: saj_esolar #greenheissen
username: USERNAME
password: Password123
provider_domain: inversores-style.greenheiss.com
provider_path: cloud
provider_ssl: False
resources:
- nowPower
- runningState
- todayElectricity
- monthElectricity
- yearElectricity
- totalElectricity # Energy -> Solar production
- todayGridIncome
- income
- lastUploadTime
- totalPlantTreeNum
- totalReduceCo2
- isAlarm # Yes / No
- status
- plantuid
- currency
- address
- isOnline
- peakPower
- systemPower # Installed capacity**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
- provider_domain (Optional): inverter.reseller.ext # the url of the reseller ex: inversores-style.greenheiss.com
- provider_path (Optional): cloud # suffix behide domain
- provider_ssl (Optional): False # to bypass ssl certficate verification (not advised but needed for greenheiss.com)
Add the relevant lines below to the configuration.yaml:
logger:
default: info
logs:
custom_components.saj_esolar: debugCredits 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/