Skip to content

Commit

Permalink
fix HomeAssistant Integration for Heating & Connectivity
Browse files Browse the repository at this point in the history
  • Loading branch information
mtrossbach committed Jan 11, 2025
1 parent 96fb64c commit 18b5e44
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
20 changes: 17 additions & 3 deletions internal/homeassistant/discovery_binarysensors.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package homeassistant

import "fmt"
import (
"fmt"
"noah-mqtt/pkg/models"
)

func generateBinarySensorDiscoveryPayload(appVersion string, info DeviceInfo) []BinarySensor {
device := generateDevice(info)
Expand All @@ -11,15 +14,26 @@ func generateBinarySensorDiscoveryPayload(appVersion string, info DeviceInfo) []
Name: "Connectivity",
Icon: "",
DeviceClass: DeviceClassConnectivity,
ValueTemplate: "{{ value_json.status }}",
ValueTemplate: fmt.Sprintf("{{ 'offline' if value_json.status == '%s' else 'online' }}", models.Offline),
PayloadOff: "offline",
PayloadOn: "online",
PayloadHeating:"heating",
UniqueId: fmt.Sprintf("%s_connectivity", info.SerialNumber),
StateTopic: info.StateTopic,
Device: device,
Origin: origin,
},
{
Name: "Heating",
Icon: IconHeatWave,
DeviceClass: DeviceClassNone,
ValueTemplate: fmt.Sprintf("{{ 'heating' if value_json.status == '%s' else 'not-heating' }}", models.Heating),
PayloadOff: "not-heating",
PayloadOn: "heating",
UniqueId: fmt.Sprintf("%s_heating", info.SerialNumber),
StateTopic: info.StateTopic,
Device: device,
Origin: origin,
},
}

return binarySensors
Expand Down
3 changes: 2 additions & 1 deletion internal/homeassistant/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package homeassistant
type DeviceClass string

const (
DeviceClassNone DeviceClass = ""
DeviceClassEnergy DeviceClass = "energy"
DeviceClassBattery DeviceClass = "battery"
DeviceClassTemperature DeviceClass = "temperature"
Expand Down Expand Up @@ -33,6 +34,7 @@ const (
IconBatteryPlus Icon = "mdi:battery-plus"
IconBatteryMinus Icon = "mdi:battery-minus"
IconCarBattery Icon = "mdi:car-battery"
IconHeatWave Icon = "mdi:heat-wave"
)

type BinarySensor struct {
Expand All @@ -43,7 +45,6 @@ type BinarySensor struct {
UniqueId string `json:"unique_id,omitempty"`
PayloadOff string `json:"payload_off,omitempty"`
PayloadOn string `json:"payload_on,omitempty"`
PayloadHeating string `json:"payload_heating,omitempty"`
StateTopic string `json:"state_topic"`
Device Device `json:"device,omitempty"`
Origin Origin `json:"origin,omitempty"`
Expand Down

0 comments on commit 18b5e44

Please sign in to comment.