Skip to content

Commit 1b938d9

Browse files
committed
Support setting charging_limit and discharge_limit in HomeAssistant
1 parent 1e3aa6a commit 1b938d9

2 files changed

Lines changed: 41 additions & 5 deletions

File tree

internal/homeassistant/discovery_numbers.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,40 @@ func generateNumberDiscoveryPayload(appVersion string, info DeviceInfo) []Number
2525
UnitOfMeasurement: UnitWatt,
2626
ValueTemplate: "{{ value_json.output_power_w }}",
2727
},
28+
{
29+
Name: "Charging Limit",
30+
UniqueId: fmt.Sprintf("%s_charging_limit", info.SerialNumber),
31+
CommandTemplate: "{\"charging_limit\": {{ value }}}",
32+
CommandTopic: info.ParameterCommandTopic,
33+
Device: device,
34+
Origin: origin,
35+
Icon: IconBatteryArrowUpOutline,
36+
StateTopic: info.ParameterStateTopic,
37+
StateClass: StateClassMeasurement,
38+
Mode: ModeSlider,
39+
Step: 1,
40+
Min: 70,
41+
Max: 100,
42+
UnitOfMeasurement: UnitPercent,
43+
ValueTemplate: "{{ value_json.charging_limit }}",
44+
},
45+
{
46+
Name: "Discharge Limit",
47+
UniqueId: fmt.Sprintf("%s_discharge_limit", info.SerialNumber),
48+
CommandTemplate: "{\"discharge_limit\": {{ value }}}",
49+
CommandTopic: info.ParameterCommandTopic,
50+
Device: device,
51+
Origin: origin,
52+
Icon: IconBatteryArrowDownOutline,
53+
StateTopic: info.ParameterStateTopic,
54+
StateClass: StateClassMeasurement,
55+
Mode: ModeSlider,
56+
Step: 1,
57+
Min: 0,
58+
Max: 30,
59+
UnitOfMeasurement: UnitPercent,
60+
ValueTemplate: "{{ value_json.discharge_limit }}",
61+
},
2862
}
2963

3064
return numbers

internal/homeassistant/models.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,13 @@ const (
3030
type Icon string
3131

3232
const (
33-
IconSolarPower Icon = "mdi:solar-power"
34-
IconBatteryPlus Icon = "mdi:battery-plus"
35-
IconBatteryMinus Icon = "mdi:battery-minus"
36-
IconCarBattery Icon = "mdi:car-battery"
37-
IconHeatWave Icon = "mdi:heat-wave"
33+
IconSolarPower Icon = "mdi:solar-power"
34+
IconBatteryPlus Icon = "mdi:battery-plus"
35+
IconBatteryMinus Icon = "mdi:battery-minus"
36+
IconCarBattery Icon = "mdi:car-battery"
37+
IconHeatWave Icon = "mdi:heat-wave"
38+
IconBatteryArrowUpOutline Icon = "mdi:battery-arrow-up-outline"
39+
IconBatteryArrowDownOutline Icon = "mdi:battery-arrow-down-outline"
3840
)
3941

4042
type BinarySensor struct {

0 commit comments

Comments
 (0)