protocol

package
v1.0.1-0...-6f0197d Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2023 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigureClientOptions

func ConfigureClientOptions(config *MqttConfig) *mqtt.ClientOptions

func ConfigureSensorListener

func ConfigureSensorListener(sensor devices.ISensor, topic string, client mqtt.Client)

ConfigureSensorListener configures the sensor to publish a message on each measured sensor value

func PublisDiscoveryMessage

func PublisDiscoveryMessage(client mqtt.Client, node *DiscoverableNode, component IDiscoverable, device *hass.Device) error

<discovery_prefix>/<component>/[<node_id>/]<object_id>/config

Types

type BasicDeviceConfig

type BasicDeviceConfig struct {
	Name     string `ini:"name,omitempty"`
	ObjectId string
}

func (*BasicDeviceConfig) GetObjectId

func (device *BasicDeviceConfig) GetObjectId() string

type CoverConfig

type CoverConfig struct {
	BasicDeviceConfig `ini:"Parent"`
	CommandTopic      string `ini:"topic,omitempty"`
	GroupTopic        string `ini:"opt_groupTopic"`
	PositionTopic     string `ini:"position_topic,omitempty"`
}

CoverConfig is the protocol configuration of a cover (a.k.a. shutter)

func CreateCoverConfig

func CreateCoverConfig(id string) *CoverConfig

CreateCoverConfig creates a CoverConfig structure with default values

type DInputConfig

type DInputConfig struct {
	BasicDeviceConfig
	StateTopic string `ini:"topic,omitempty"`
}

func CreateDInputConfig

func CreateDInputConfig(id string) *DInputConfig

type DiscoverableNode

type DiscoverableNode struct {
	DiscoveryPrefix string `ini:"discovery_prefix"`
	NodeID          string `ini:"nodeid"`
}

type HVACConfig

type HVACConfig struct {
	BasicDeviceConfig `ini:"Parent"`
	Topic             string `ini:"topic,omitempty"`
}

HVACConfig contains configuration parameters for a HVAC device

func CreateHVACConfig

func CreateHVACConfig(id string) *HVACConfig

type IDiscoverable

type IDiscoverable interface {
	MQTTProtocol
	GetObjectId() string
	GetDiscoveryInfo(uniqueID string, device *hass.Device) hass.IConfig
}

func IntegrateCover

func IntegrateCover(shutter devices.IShutter, config *CoverConfig) IDiscoverable

IntegrateCover initializes protocol on top of the given device

func IntegrateHVAC

func IntegrateHVAC(device devices.IThermostat, config *HVACConfig) IDiscoverable

func IntegrateInput

func IntegrateInput(input devices.IInput, conf *DInputConfig) IDiscoverable

func IntegrateLight

func IntegrateLight(dimmer devices.IDimmer, config *LightConfig) IDiscoverable

func IntegrateSensor

func IntegrateSensor(sensordev devices.ISensor, config *SensorConfig) IDiscoverable

IntegrateSensor creates integration of the given sensor

func IntegrateSwitch

func IntegrateSwitch(output devices.IOutput, config *SwitchConfig) IDiscoverable

type LightConfig

type LightConfig struct {
	BasicDeviceConfig
	CommandTopic string `ini:"topic,omitempty"`
}

func CreateLightConfig

func CreateLightConfig(id string) *LightConfig

type MQTTProtocol

type MQTTProtocol interface {
	Configure(mqtt.Client)
}

type MqttConfig

type MqttConfig struct {
	// Host, e.g. tcp://localhost:1883
	Host     string `ini:"host"`
	User     string `ini:"user"`
	Password string `ini:"password"`
	ClientID string `ini:"clientid"`
}

type SensorConfig

type SensorConfig struct {
	BasicDeviceConfig
	UnitOfMeasurement string
	Topic             string
	Icon              string
}

SensorConfig is the protocol configuration of a sensor

func CreateSensorConfig

func CreateSensorConfig(id string) *SensorConfig

CreateSensorConfig provides the defaule configuration values for a sensor device

type SwitchConfig

type SwitchConfig struct {
	BasicDeviceConfig
	CommandTopic string `ini:"topic"`
}

func CreateSwitchConfig

func CreateSwitchConfig(id string) *SwitchConfig

Jump to

Keyboard shortcuts

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