hassio

package
v1.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2024 License: Apache-2.0 Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MqttName

func MqttName(sensorId string) string

Types

type AlarmSensorConfig

type AlarmSensorConfig struct {
	// contains filtered or unexported fields
}

func NewAlarmSensorConfig

func NewAlarmSensorConfig(sensorId string, name string) *AlarmSensorConfig

func (AlarmSensorConfig) ConvertValue

func (a AlarmSensorConfig) ConvertValue(value float64) string

func (AlarmSensorConfig) Decimals

func (a AlarmSensorConfig) Decimals() int

func (AlarmSensorConfig) DeviceClass

func (a AlarmSensorConfig) DeviceClass() string

func (AlarmSensorConfig) Name

func (a AlarmSensorConfig) Name() string

func (AlarmSensorConfig) SensorId added in v1.0.8

func (a AlarmSensorConfig) SensorId() string

func (AlarmSensorConfig) SensorType

func (a AlarmSensorConfig) SensorType() string

func (AlarmSensorConfig) StateClass added in v1.0.1

func (a AlarmSensorConfig) StateClass() string

func (AlarmSensorConfig) UnitOfMeasurement

func (a AlarmSensorConfig) UnitOfMeasurement() string

func (AlarmSensorConfig) ValueTemplate

func (a AlarmSensorConfig) ValueTemplate() string

type AvailabilityMessage

type AvailabilityMessage struct {
	DeviceID string `json:"device_id"`
	Status   string `json:"status"`
}

AvailabilityMessage represents the MQTT availability message

type Client

type Client struct {
	Device *Device

	SensorConfigurationData map[string]SensorConfig
	// contains filtered or unexported fields
}

func ConnectMqtt

func ConnectMqtt(url url.URL, amqpVhost string, uniqueId string, prefix string) (hassioClient *Client, err error)

func (*Client) SendAvailability

func (hassioClient *Client) SendAvailability() (err error)

func (*Client) SendConfigurationData

func (hassioClient *Client) SendConfigurationData() (err error)

func (*Client) SendLastWill

func (hassioClient *Client) SendLastWill() (err error)

func (*Client) SendSensorData

func (hassioClient *Client) SendSensorData(sensorType string, sensorStates map[string]string) (err error)

func (*Client) SubscribeToHomeAssistantStatus

func (hassioClient *Client) SubscribeToHomeAssistantStatus() (err error)

type Device

type Device struct {
	Identifiers      []string `json:"identifiers"`
	Name             string   `json:"name"`
	SWVersion        string   `json:"sw_version"`
	HWVersion        string   `json:"hw_version"`
	SerialNumber     string   `json:"serial_number"`
	Model            string   `json:"model"`
	ModelID          string   `json:"model_id"`
	Manufacturer     string   `json:"manufacturer"`
	ConfigurationURL string   `json:"configuration_url"`
}

Device represents the device information for Home Assistant.

type DiscoveryMessage

type DiscoveryMessage struct {
	Name              string  `json:"name"`
	DeviceClass       string  `json:"device_class"`
	UniqueID          string  `json:"unique_id"`               // The sensor id
	StateTopic        string  `json:"state_topic"`             // Shared by all devices
	CommandTopic      string  `json:"command_topic,omitempty"` // Not used by this device
	ValueTemplate     string  `json:"value_template"`          // Converts the sensor state payload to string, e.g. '{{ value_json.power_meter}}'
	UnitOfMeasurement string  `json:"unit_of_measurement,omitempty"`
	Device            *Device `json:"device"`
	StateClass        string  `json:"state_class,omitempty"`
}

DiscoveryMessage represents the discovery payload to be sent to Home Assistant.

type FloatSensorConfig

type FloatSensorConfig struct {
	// contains filtered or unexported fields
}

func NewFloatSensorConfig

func NewFloatSensorConfig(
	sensorId string,
	name string,
	deviceClass string,
	unitOfMeasurement string,
	stateClass string,
) *FloatSensorConfig

func (*FloatSensorConfig) ConvertValue

func (f *FloatSensorConfig) ConvertValue(value float64) string

func (*FloatSensorConfig) DeviceClass

func (f *FloatSensorConfig) DeviceClass() string

func (*FloatSensorConfig) Name

func (f *FloatSensorConfig) Name() string

func (*FloatSensorConfig) SensorId added in v1.0.8

func (f *FloatSensorConfig) SensorId() string

func (*FloatSensorConfig) SensorType

func (f *FloatSensorConfig) SensorType() string

func (*FloatSensorConfig) StateClass added in v1.0.1

func (f *FloatSensorConfig) StateClass() string

func (*FloatSensorConfig) UnitOfMeasurement

func (f *FloatSensorConfig) UnitOfMeasurement() string

func (*FloatSensorConfig) ValueTemplate

func (f *FloatSensorConfig) ValueTemplate() string

type SensorConfig

type SensorConfig interface {
	DeviceClass() string
	Name() string
	SensorId() string
	UnitOfMeasurement() string
	SensorType() string
	ConvertValue(value float64) string
	ValueTemplate() string
	StateClass() string
}

type SensorConfigX

type SensorConfigX struct {
	DeviceClass       string   `json:"device_class,omitempty"`
	Name              string   `json:"name"`
	UnitOfMeasurement string   `json:"unit_of_measurement"`
	Decimals          int      `json:"decimals"`
	MqttName          string   `json:"-"`
	EnumValues        []string `json:"-"`
}

type SensorState

type SensorState struct {
	State string `json:"state"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL