things
Bridge modbus:tcp:solaredge "Solaredge Modbus" [ host="solaredge.lan", port=502, id=1, enableDiscovery=true ]
{
Bridge poller battery "SolarEdge Battery" [ start=57664, length=90, refresh=15000, type="holding" ] //0xE140 - 0xE19A
{
Thing data batteryTemperature "SolarEdge Battery Temperature" [ readStart="57708", readValueType="float32_swap" ] // 0xE16C
Thing data batteryPower "SolarEdge Battery Current Power" [ readStart="57716", readValueType="float32_swap" ] // 0xE174
Thing data batteryLifetimeExport "SolarEdge Battery Lifetime Export" [ readStart="57718", readValueType="int64_swap" ] // 0xE176
Thing data batteryLifetimeImport "SolarEdge Battery Lifetime Import" [ readStart="57722", readValueType="int64_swap" ] // 0xE17A
Thing data batteryMaxEnergy "SolarEdge Battery Max Energy" [ readStart="57726", readValueType="float32_swap" ] // 0xE17E
Thing data batteryAvailableEnergy "SolarEdge Battery Available Energy" [ readStart="57728", readValueType="float32_swap" ] // 0xE180
Thing data batterySOH "SolarEdge Battery SOH" [ readStart="57730", readValueType="float32_swap" ] // 0xE182
Thing data batterySOE "SolarEdge Battery SOC" [ readStart="57732", readValueType="float32_swap" ] // 0xE184
Thing data batteryStatus "SolarEdge Battery Status" [ readStart="57734", readValueType="int32_swap" ] // 0xE186
}
}
Thing modbus:inverter-single-phase:solaredge:se5000h "SolarEdge SE5000H" (modbus:tcp:solaredge) [ address=40069, length=52, refresh=15 ]
Thing modbus:meter-wye-phase:solaredge:meter "SolarEdge Meter" (modbus:tcp:solaredge) [ address=40188, length=107, refresh=15 ]
items
Number:Power SE_TOTAL_POWER "Total Real Power [%.2f kW]" <energy> { unit="kW", channel="modbus:meter-wye-phase:solaredge:meter:acGeneral#ac-total-real-power" }
Number:Power SE_P1_POWER "Phase 1 Real Power [%.2f kW]" <energy> { unit="kW", channel="modbus:meter-wye-phase:solaredge:meter:acPhaseA#ac-real-power" }
Number:Power SE_P2_POWER "Phase 2 Real Power [%.2f kW]" <energy> { unit="kW", channel="modbus:meter-wye-phase:solaredge:meter:acPhaseB#ac-real-power" }
Number:Power SE_P3_POWER "Phase 3 Real Power [%.2f kW]" <energy> { unit="kW", channel="modbus:meter-wye-phase:solaredge:meter:acPhaseC#ac-real-power" }
Number:Energy SE_LT_IMPORT "Lifetime Import [%.1f kWh]" <carbondioxide> { unit="kWh", channel="modbus:meter-wye-phase:solaredge:meter:acGeneral#ac-total-imported-real-energy" }
Number:Energy SE_LT_EXPORT "Lifetime Export [%.1f kWh]" <piggybank> { unit="kWh", channel="modbus:meter-wye-phase:solaredge:meter:acGeneral#ac-total-exported-real-energy" }
Number SE_BATT_TEMP "Battery Temperature [%d °C]" { channel="modbus:data:solaredge:battery:batteryTemperature:number" }
Number SE_BATT_CHARGE_DISCHARGE "Battery Current Power [JS(transformToKW.js):%s]" { channel="modbus:data:solaredge:battery:batteryPower:number" }
Number SE_BATT_LT_EXPORT "Battery Lifetime Export [JS(transformToKWh.js):%s]" { channel="modbus:data:solaredge:battery:batteryLifetimeExport:number" }
Number SE_BATT_LT_IMPORT "Battery Lifetime Import [JS(transformToKWh.js):%s]" { channel="modbus:data:solaredge:battery:batteryLifetimeImport:number" }
Number SE_BATT_MAX_ENERGY "Battery Max Energy" { channel="modbus:data:solaredge:battery:batteryMaxEnergy:number" }
Number SE_BATT_CURR_ENERGY "Battery Available Energy" { channel="modbus:data:solaredge:battery:batteryAvailableEnergy:number" }
Number SE_BATT_SOH "Battery SOH [%d %%]" { channel="modbus:data:solaredge:battery:batterySOH:number" }
Number SE_BATT_BATT_LEVEL "Battery SOC [%d %%]" <battery> { channel="modbus:data:solaredge:battery:batterySOE:number" }
Number SE_BATT_STATUS "Battery Status [MAP(solarEdgeBatteryStatus.map):%s]" { channel="modbus:data:solaredge:battery:batteryStatus:number" }
transformToKW
// Wrap everything in a function (no global variable pollution)
// variable "input" contains data string passed by binding
(function(inputData) {
// convert from Wh to kWh
return Math.round( parseFloat(inputData) / 10 ) / 100 + " kW";
})(input)
transformToKWh
// Wrap everything in a function (no global variable pollution)
// variable "input" contains data string passed by binding
(function(inputData) {
// convert from Wh to kWh
return Math.round( parseFloat(inputData) / 1000 ) + " kWh";
})(input)
I found out that at least for my TESLA some datapoints do not return useful data:
- Battery Max Energy
- Battery Available Energy
- Battery SOH