Documentation
¶
Index ¶
- Variables
- func CleanupAll(entities []*Entity, client mqtt.Client, scheduler gocron.Scheduler)
- func SetupAll(entities []*Entity, client mqtt.Client, scheduler gocron.Scheduler) error
- type AvailabilityItem
- type BuildConfig
- func (e *BuildConfig) Build() *Entity
- func (e *BuildConfig) CommandTopic(topic string) *BuildConfig
- func (e *BuildConfig) DefaultAttributesTopic() *BuildConfig
- func (e *BuildConfig) DefaultCommandTopic() *BuildConfig
- func (e *BuildConfig) DefaultStateTopic() *BuildConfig
- func (e *BuildConfig) DeviceClass(class string) *BuildConfig
- func (e *BuildConfig) DisableAvailability() *BuildConfig
- func (e *BuildConfig) DisabledByDefault() *BuildConfig
- func (e *BuildConfig) EnableAvailability() *BuildConfig
- func (e *BuildConfig) EnabledByDefault() *BuildConfig
- func (e *BuildConfig) EntityCategory(category string) *BuildConfig
- func (e *BuildConfig) EntityPicture(picture string) *BuildConfig
- func (e *BuildConfig) ID(id string) *BuildConfig
- func (e *BuildConfig) Icon(icon string) *BuildConfig
- func (e *BuildConfig) Interval(interval time.Duration) *BuildConfig
- func (e *BuildConfig) Max(max float64) *BuildConfig
- func (e *BuildConfig) Min(min float64) *BuildConfig
- func (e *BuildConfig) Name(name string) *BuildConfig
- func (e *BuildConfig) ObjectID(id string) *BuildConfig
- func (e *BuildConfig) OnCleanup(cleanup SetupFn) *BuildConfig
- func (e *BuildConfig) OnCommand(handler MessageFn) *BuildConfig
- func (e *BuildConfig) OnSetup(setupFn SetupFn) *BuildConfig
- func (e *BuildConfig) OnState(handler MessageFn) *BuildConfig
- func (e *BuildConfig) Optimistic() *BuildConfig
- func (e *BuildConfig) Options(options []string) *BuildConfig
- func (e *BuildConfig) PayloadInstall(payload string) *BuildConfig
- func (e *BuildConfig) PayloadLock(payload string) *BuildConfig
- func (e *BuildConfig) PayloadOff(payload string) *BuildConfig
- func (e *BuildConfig) PayloadOn(payload string) *BuildConfig
- func (e *BuildConfig) PayloadUnlock(payload string) *BuildConfig
- func (e *BuildConfig) Precision(precision int) *BuildConfig
- func (e *BuildConfig) Retain() *BuildConfig
- func (e *BuildConfig) Schedule(handler SetupFn) *BuildConfig
- func (e *BuildConfig) ScheduleJob(jobDefinition gocron.JobDefinition, handler SetupFn) *BuildConfig
- func (e *BuildConfig) StartJob() *BuildConfig
- func (e *BuildConfig) StateClass(class string) *BuildConfig
- func (e *BuildConfig) StateTopic(topic string) *BuildConfig
- func (e *BuildConfig) Step(step float64) *BuildConfig
- func (e *BuildConfig) Type(component Domain) *BuildConfig
- func (e *BuildConfig) Unit(unit string) *BuildConfig
- type Config
- type DiscoveryConfig
- type Domain
- type Entity
- func (e *Entity) DiscoveryConfig() DiscoveryConfig
- func (e *Entity) Entity() *Entity
- func (e *Entity) Job() gocron.Job
- func (e *Entity) Name() string
- func (e *Entity) OnCleanup(fn SetupFn) *Entity
- func (e *Entity) PublishAttributes(client mqtt.Client, attributes interface{}) error
- func (e *Entity) PublishRawState(client mqtt.Client, state interface{}) error
- func (e *Entity) PublishState(client mqtt.Client, state interface{}) error
- func (e *Entity) RunJob() error
- func (e *Entity) StartJob(scheduler gocron.Scheduler) error
- func (e *Entity) StopJob(scheduler gocron.Scheduler) error
- func (e *Entity) UpdateJob(scheduler gocron.Scheduler, jobDefinition gocron.JobDefinition) error
- type MessageFn
- type SetupFn
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func CleanupAll ¶
Types ¶
type AvailabilityItem ¶
type AvailabilityItem struct {
Topic string `json:"topic,omitempty"`
}
type BuildConfig ¶
type BuildConfig struct { Config // contains filtered or unexported fields }
func NewEntity ¶
func NewEntity(cfg Config) *BuildConfig
func (*BuildConfig) Build ¶
func (e *BuildConfig) Build() *Entity
func (*BuildConfig) CommandTopic ¶
func (e *BuildConfig) CommandTopic(topic string) *BuildConfig
func (*BuildConfig) DefaultAttributesTopic ¶ added in v1.4.0
func (e *BuildConfig) DefaultAttributesTopic() *BuildConfig
func (*BuildConfig) DefaultCommandTopic ¶
func (e *BuildConfig) DefaultCommandTopic() *BuildConfig
func (*BuildConfig) DefaultStateTopic ¶
func (e *BuildConfig) DefaultStateTopic() *BuildConfig
func (*BuildConfig) DeviceClass ¶
func (e *BuildConfig) DeviceClass(class string) *BuildConfig
func (*BuildConfig) DisableAvailability ¶
func (e *BuildConfig) DisableAvailability() *BuildConfig
func (*BuildConfig) DisabledByDefault ¶
func (e *BuildConfig) DisabledByDefault() *BuildConfig
func (*BuildConfig) EnableAvailability ¶
func (e *BuildConfig) EnableAvailability() *BuildConfig
func (*BuildConfig) EnabledByDefault ¶
func (e *BuildConfig) EnabledByDefault() *BuildConfig
func (*BuildConfig) EntityCategory ¶
func (e *BuildConfig) EntityCategory(category string) *BuildConfig
func (*BuildConfig) EntityPicture ¶
func (e *BuildConfig) EntityPicture(picture string) *BuildConfig
func (*BuildConfig) ID ¶
func (e *BuildConfig) ID(id string) *BuildConfig
func (*BuildConfig) Icon ¶
func (e *BuildConfig) Icon(icon string) *BuildConfig
func (*BuildConfig) Interval ¶
func (e *BuildConfig) Interval(interval time.Duration) *BuildConfig
func (*BuildConfig) Max ¶ added in v1.3.0
func (e *BuildConfig) Max(max float64) *BuildConfig
func (*BuildConfig) Min ¶ added in v1.3.0
func (e *BuildConfig) Min(min float64) *BuildConfig
func (*BuildConfig) Name ¶
func (e *BuildConfig) Name(name string) *BuildConfig
func (*BuildConfig) ObjectID ¶
func (e *BuildConfig) ObjectID(id string) *BuildConfig
func (*BuildConfig) OnCleanup ¶
func (e *BuildConfig) OnCleanup(cleanup SetupFn) *BuildConfig
func (*BuildConfig) OnCommand ¶
func (e *BuildConfig) OnCommand(handler MessageFn) *BuildConfig
func (*BuildConfig) OnSetup ¶
func (e *BuildConfig) OnSetup(setupFn SetupFn) *BuildConfig
func (*BuildConfig) OnState ¶
func (e *BuildConfig) OnState(handler MessageFn) *BuildConfig
func (*BuildConfig) Optimistic ¶
func (e *BuildConfig) Optimistic() *BuildConfig
func (*BuildConfig) Options ¶
func (e *BuildConfig) Options(options []string) *BuildConfig
func (*BuildConfig) PayloadInstall ¶
func (e *BuildConfig) PayloadInstall(payload string) *BuildConfig
func (*BuildConfig) PayloadLock ¶
func (e *BuildConfig) PayloadLock(payload string) *BuildConfig
func (*BuildConfig) PayloadOff ¶
func (e *BuildConfig) PayloadOff(payload string) *BuildConfig
func (*BuildConfig) PayloadOn ¶
func (e *BuildConfig) PayloadOn(payload string) *BuildConfig
func (*BuildConfig) PayloadUnlock ¶
func (e *BuildConfig) PayloadUnlock(payload string) *BuildConfig
func (*BuildConfig) Precision ¶
func (e *BuildConfig) Precision(precision int) *BuildConfig
func (*BuildConfig) Retain ¶
func (e *BuildConfig) Retain() *BuildConfig
func (*BuildConfig) Schedule ¶
func (e *BuildConfig) Schedule(handler SetupFn) *BuildConfig
func (*BuildConfig) ScheduleJob ¶ added in v1.2.0
func (e *BuildConfig) ScheduleJob(jobDefinition gocron.JobDefinition, handler SetupFn) *BuildConfig
func (*BuildConfig) StartJob ¶ added in v1.2.0
func (e *BuildConfig) StartJob() *BuildConfig
func (*BuildConfig) StateClass ¶
func (e *BuildConfig) StateClass(class string) *BuildConfig
func (*BuildConfig) StateTopic ¶
func (e *BuildConfig) StateTopic(topic string) *BuildConfig
func (*BuildConfig) Step ¶ added in v1.3.0
func (e *BuildConfig) Step(step float64) *BuildConfig
func (*BuildConfig) Type ¶
func (e *BuildConfig) Type(component Domain) *BuildConfig
func (*BuildConfig) Unit ¶
func (e *BuildConfig) Unit(unit string) *BuildConfig
type Config ¶
type Config struct { Name string `json:"name,omitempty"` Icon string `json:"icon,omitempty"` UniqueID string `json:"unique_id,omitempty"` EnabledByDefault *bool `json:"enabled_by_default,omitempty"` JsonAttributesTopic string `json:"json_attributes_topic,omitempty"` ValueTemplate string `json:"value_template,omitempty"` // `diagnostic`, `config` EntityCategory string `json:"entity_category,omitempty"` EntityPicture string `json:"entity_picture,omitempty"` UnitOfMeasurement string `json:"unit_of_measurement,omitempty"` SuggestedDisplayPrecision int `json:"suggested_display_precision,omitempty"` Min float64 `json:"min,omitempty"` Max float64 `json:"max,omitempty"` Step float64 `json:"step,omitempty"` // https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes StateClass string `json:"state_class,omitempty"` // https://www.home-assistant.io/integrations/sensor/#device-class DeviceClass string `json:"device_class,omitempty"` // https://www.home-assistant.io/integrations/sensor.mqtt/#options Options []string `json:"options,omitempty"` filters.Filters `yaml:",inline"` UpdateInterval time.Duration `yaml:"update_interval"` PayloadOn string `json:"payload_on,omitempty"` PayloadOff string `json:"payload_off,omitempty"` PayloadInstall string `json:"payload_install,omitempty"` PayloadLock string `json:"payload_lock,omitempty"` PayloadUnlock string `json:"payload_unlock,omitempty"` // set too false to disable availability Availability *bool `json:"availability,omitempty"` Retain *bool `json:"retain,omitempty"` }
type DiscoveryConfig ¶
type DiscoveryConfig struct { Name string `json:"name,omitempty"` Icon string `json:"icon,omitempty"` UniqueID string `json:"unique_id,omitempty"` EnabledByDefault *bool `json:"enabled_by_default,omitempty"` ValueTemplate string `json:"value_template,omitempty"` EntityCategory string `json:"entity_category,omitempty"` EntityPicture string `json:"entity_picture,omitempty"` UnitOfMeasurement string `json:"unit_of_measurement,omitempty"` SuggestedDisplayPrecision int `json:"suggested_display_precision,omitempty"` Min float64 `json:"min,omitempty"` Max float64 `json:"max,omitempty"` Step float64 `json:"step,omitempty"` // https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes StateClass string `json:"state_class,omitempty"` // https://www.home-assistant.io/integrations/sensor/#device-class DeviceClass string `json:"device_class,omitempty"` Options []string `json:"options,omitempty"` StateTopic string `json:"state_topic,omitempty"` ImageTopic string `json:"image_topic,omitempty"` CommandTopic string `json:"command_topic,omitempty"` JsonAttributesTopic string `json:"json_attributes_topic,omitempty"` PayloadOn string `json:"payload_on,omitempty"` PayloadOff string `json:"payload_off,omitempty"` PayloadInstall string `json:"payload_install,omitempty"` PayloadLock string `json:"payload_lock,omitempty"` PayloadUnlock string `json:"payload_unlock,omitempty"` Availability []AvailabilityItem `json:"availability,omitempty"` Device config.DeviceConfig `json:"device,omitempty"` Retain *bool `json:"retain,omitempty"` }
type Entity ¶
type Entity struct {
// contains filtered or unexported fields
}
func (*Entity) DiscoveryConfig ¶
func (e *Entity) DiscoveryConfig() DiscoveryConfig
func (*Entity) PublishAttributes ¶ added in v1.4.0
func (*Entity) PublishRawState ¶
func (*Entity) PublishState ¶
Click to show internal directories.
Click to hide internal directories.