supervisor

package
v0.22.2 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2025 License: GPL-3.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const GoPluginsEnabled = false

Variables

This section is empty.

Functions

func CallActionBind

func CallActionBind(manager plugins.Supervisor) func(entityId, action string, value map[string]interface{})

func CallActionV2Bind

func CallActionV2Bind(manager plugins.Supervisor) func(params plugins.CallActionV2, value map[string]interface{})

func CallSceneBind

func CallSceneBind(manager plugins.Supervisor) func(entityId string, value map[string]interface{})

func CallScriptBind

func CallScriptBind(manager plugins.Supervisor) func(entityId, fn string, arg ...interface{})

func GetAttributesBind

func GetAttributesBind(manager plugins.Supervisor) func(entityId string) models.AttributeValue

func GetDistanceBetweenPointsBind

func GetDistanceBetweenPointsBind(adaptors *adaptors.Adaptors) func(point1, point2 models.Point) float64

func GetDistanceToAreaBind

func GetDistanceToAreaBind(adaptors *adaptors.Adaptors) func(areaId int64, point models.Point) float64

func GetEntityBind

func GetEntityBind(manager plugins.Supervisor) func(entityId string) *EntityBind

func GetSettingsBind

func GetSettingsBind(manager plugins.Supervisor) func(entityId string) models.AttributeValue

func GetStateBind

func GetStateBind(manager plugins.Supervisor) func(entityId string) *models.EntityStateShort

func IsPluginRegistered

func IsPluginRegistered(name string) (interface{}, bool)

func NewEntity

NewEntity ...

func NewSupervisor

func NewSupervisor(lc fx.Lifecycle,
	adaptors *adaptors.Adaptors,
	bus bus.Bus,
	mqttServ mqttTypes.MqttServ,
	scriptService scripts.ScriptService,
	appConfig *models.AppConfig,
	eventBus bus.Bus,
	scheduler scheduler.Scheduler,
	crawler web.Crawler,
	authorization plugins.Authorization,
	httpAccessFilter plugins.HttpAccessFilter) plugins.Supervisor

NewSupervisor ...

func PointInsideAreaBind

func PointInsideAreaBind(adaptors *adaptors.Adaptors) func(areaId int64, point models.Point) bool

func PushSystemEvent

func PushSystemEvent(manager plugins.Supervisor) func(command string, params map[string]interface{})

func RegisterPlugin

func RegisterPlugin(name string, new func() plugins.Pluggable)

RegisterPlugin ...

func SetAttributesBind

func SetAttributesBind(manager plugins.Supervisor) func(entityId string, params models.AttributeValue)

func SetMetricBind

func SetMetricBind(manager plugins.Supervisor) func(entityId, name string, value map[string]interface{})

func SetStateBind

func SetStateBind(manager plugins.Supervisor) func(entityId string, params plugins.EntityStateParams)

func SetStateNameBind

func SetStateNameBind(manager plugins.Supervisor) func(entityId, stateName string)

Types

type BaseActor

type BaseActor struct {
	plugins.PluginActor
	Id          commonPkg.EntityId
	ParentId    *commonPkg.EntityId
	Name        string
	Description string
	EntityType  string

	Metric            []*models.Metric
	Hidden            bool
	AttrMu            *sync.RWMutex
	Attrs             models.Attributes
	Actions           map[string]plugins.ActorAction
	States            map[string]plugins.ActorState
	ScriptsEngine     scripts.EnginesWatcher
	Icon              *string
	ImageUrl          *string
	UnitOfMeasurement string
	Scripts           []*models.Script
	Value             *atomic.String
	AutoLoad          bool

	LastChanged *time.Time
	LastUpdated *time.Time

	SettingsMu *sync.RWMutex
	Setts      models.Attributes
	Service    plugins.Service
	// contains filtered or unexported fields
}

BaseActor ...

func NewBaseActor

func NewBaseActor(entity *models.Entity,
	service plugins.Service) *BaseActor

NewBaseActor ...

func (*BaseActor) AddMetric

func (e *BaseActor) AddMetric(name string, value map[string]interface{})

func (*BaseActor) Area

func (e *BaseActor) Area() *models.Area

func (*BaseActor) Attributes

func (e *BaseActor) Attributes() models.Attributes

Attributes ...

func (*BaseActor) CallScript

func (e *BaseActor) CallScript(fn string, arg ...interface{})

func (*BaseActor) DeserializeAttr

func (e *BaseActor) DeserializeAttr(data models.AttributeValue)

DeserializeAttr ...

func (*BaseActor) DeserializeSettings

func (e *BaseActor) DeserializeSettings(settings models.AttributeValue)

DeserializeSettings ...

func (*BaseActor) GetCurrentState

func (e *BaseActor) GetCurrentState() *events.EventEntityState

func (*BaseActor) GetEventState

func (e *BaseActor) GetEventState() (eventState events.EventEntityState)

func (*BaseActor) GetOldState

func (e *BaseActor) GetOldState() *events.EventEntityState

func (*BaseActor) Info

func (e *BaseActor) Info() (info plugins.ActorInfo)

Info ...

func (*BaseActor) MatchTags

func (e *BaseActor) MatchTags(tags []string) bool

func (*BaseActor) Metrics

func (e *BaseActor) Metrics() []*models.Metric

Metrics ...

func (*BaseActor) Now

func (e *BaseActor) Now(oldState events.EventEntityState) time.Time

Now ...

func (*BaseActor) RestoreState

func (e *BaseActor) RestoreState(entity *models.Entity)

func (*BaseActor) SaveState

func (e *BaseActor) SaveState(doNotSaveMetric, storageSave bool)

func (*BaseActor) SetActorState

func (e *BaseActor) SetActorState(name *string)

SetActorState ...

func (*BaseActor) SetActorStateImage

func (e *BaseActor) SetActorStateImage(imageUrl, icon *string)

SetActorStateImage ...

func (*BaseActor) SetCurrentState

func (e *BaseActor) SetCurrentState(state events.EventEntityState)

func (*BaseActor) SetState

SetState ...

func (*BaseActor) Settings

func (e *BaseActor) Settings() models.Attributes

Settings ...

func (*BaseActor) Spawn

func (e *BaseActor) Spawn()

func (*BaseActor) StopWatchers

func (e *BaseActor) StopWatchers()

type EntityBind

type EntityBind struct {
	m.EntityShort
	// contains filtered or unexported fields
}

EntityBind ...

func NewEntityBind

func NewEntityBind(id common.EntityId, manager plugins.Supervisor) *EntityBind

NewEntityBind ...

type ExternalPlugins

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

func NewExternalPlugins

func NewExternalPlugins(adaptors *adaptors.Adaptors) *ExternalPlugins

Jump to

Keyboard shortcuts

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