Documentation
¶
Index ¶
- Constants
- func GetEventState(actor PluginActor) (eventState bus.EventEntityState)
- func NewEntity(a PluginActor) m.EntityShort
- func ToEntityActionShort(from map[string]ActorAction) (to map[string]m.EntityActionShort)
- func ToEntityStateShort(from map[string]ActorState) (to map[string]m.EntityStateShort)
- type ActorAction
- type ActorConstructor
- type ActorInfo
- type ActorState
- type BaseActor
- func (e *BaseActor) Attributes() m.Attributes
- func (e *BaseActor) DeserializeAttr(data m.AttributeValue)
- func (e *BaseActor) DeserializeSettings(settings m.AttributeValue)
- func (b *BaseActor) GetEventState(actor PluginActor) bus.EventEntityState
- func (e *BaseActor) Info() (info ActorInfo)
- func (e *BaseActor) Metrics() []*m.Metric
- func (e *BaseActor) Now(oldState bus.EventEntityState) time.Time
- func (e *BaseActor) SetMetric(id common.EntityId, name string, value map[string]float32)
- func (e *BaseActor) SetState(EntityStateParams) error
- func (e *BaseActor) Settings() m.Attributes
- type CrudActor
- type EntityBind
- func (e *EntityBind) CallAction(action string, arg map[string]interface{})
- func (e *EntityBind) GetAttributes() m.AttributeValue
- func (e *EntityBind) GetSettings() m.AttributeValue
- func (e *EntityBind) SetAttributes(params m.AttributeValue)
- func (e *EntityBind) SetMetric(name string, value map[string]float32)
- func (e *EntityBind) SetState(stateName string)
- type EntityManager
- type EntityManagerBind
- func (e *EntityManagerBind) CallAction(id common.EntityId, action string, arg map[string]interface{})
- func (e *EntityManagerBind) CallScene(id common.EntityId, arg map[string]interface{})
- func (e *EntityManagerBind) GetEntity(id common.EntityId) *EntityBind
- func (e *EntityManagerBind) SetAttribute(id common.EntityId, params m.AttributeValue)
- func (e *EntityManagerBind) SetMetric(id common.EntityId, name string, value map[string]float32)
- func (e *EntityManagerBind) SetState(id common.EntityId, stateName string)
- type EntityStateParams
- type Message
- type MessageStateChanged
- type PluginActor
- type ScriptBind
Constants ¶
View Source
const ( // StateAwait ... StateAwait = "await" // StateOk ... StateOk = "ok" // StateError ... StateError = "error" // StateInProcess ... StateInProcess = "in process" )
Variables ¶
This section is empty.
Functions ¶
func GetEventState ¶
func GetEventState(actor PluginActor) (eventState bus.EventEntityState)
GetEventState ...
func ToEntityActionShort ¶
func ToEntityActionShort(from map[string]ActorAction) (to map[string]m.EntityActionShort)
ToEntityActionShort ...
func ToEntityStateShort ¶
func ToEntityStateShort(from map[string]ActorState) (to map[string]m.EntityStateShort)
ToEntityStateShort ...
Types ¶
type ActorAction ¶
type ActorAction struct {
Name string `json:"name"`
Description string `json:"description"`
ImageUrl *string `json:"image_url"`
Icon *string `json:"icon"`
ScriptEngine *scripts.Engine `json:"-"`
}
ActorAction ...
type ActorInfo ¶
type ActorInfo struct {
Id common.EntityId `json:"id"`
ParentId *common.EntityId `json:"parent_id"`
PluginName string `json:"plugin_name"`
Name string `json:"name"`
Description string `json:"description"`
Hidde bool `json:"hidde"`
UnitOfMeasurement string `json:"unit_of_measurement"`
LastChanged *time.Time `json:"last_changed"`
LastUpdated *time.Time `json:"last_updated"`
DependsOn []string `json:"depends_on"`
State *ActorState `json:"state"`
ImageUrl *string `json:"image_url"`
Icon *string `json:"icon"`
Area *m.Area `json:"area"`
AutoLoad bool `json:"auto_load"`
Value interface{} `json:"value"`
States map[string]ActorState `json:"states"`
Actions map[string]ActorAction `json:"actions"`
}
ActorInfo ...
type ActorState ¶
type ActorState struct {
Name string `json:"name"`
Description string `json:"description"`
ImageUrl *string `json:"image_url"`
Icon *string `json:"icon"`
}
ActorState ...
type BaseActor ¶
type BaseActor struct {
PluginActor
Id common.EntityId
ParentId *common.EntityId
Name string
Description string
EntityType string
Manager EntityManager
State *ActorState
Area *m.Area
Metric []*m.Metric
Hidden bool
AttrMu *sync.RWMutex
Attrs m.Attributes
Actions map[string]ActorAction
States map[string]ActorState
ScriptEngine *scripts.Engine
Icon *string
ImageUrl *string
UnitOfMeasurement string
Scripts []*m.Script
Value *atomic.String
AutoLoad bool
LastChanged *time.Time
LastUpdated *time.Time
SettingsMu *sync.RWMutex
Setts m.Attributes
// contains filtered or unexported fields
}
BaseActor ...
func NewBaseActor ¶
func NewBaseActor(entity *m.Entity, scriptService scripts.ScriptService, adaptors *adaptors.Adaptors) BaseActor
NewBaseActor ...
func (*BaseActor) DeserializeAttr ¶
func (e *BaseActor) DeserializeAttr(data m.AttributeValue)
DeserializeAttr ...
func (*BaseActor) DeserializeSettings ¶
func (e *BaseActor) DeserializeSettings(settings m.AttributeValue)
DeserializeSettings ...
func (*BaseActor) GetEventState ¶
func (b *BaseActor) GetEventState(actor PluginActor) bus.EventEntityState
GetEventState ...
type EntityBind ¶
type EntityBind struct {
m.EntityShort
// contains filtered or unexported fields
}
EntityBind ...
func NewEntityBind ¶
func NewEntityBind(id common.EntityId, manager EntityManager) *EntityBind
NewEntityBind ...
func (*EntityBind) CallAction ¶
func (e *EntityBind) CallAction(action string, arg map[string]interface{})
CallAction ...
func (*EntityBind) GetAttributes ¶
func (e *EntityBind) GetAttributes() m.AttributeValue
GetAttributes ...
func (*EntityBind) GetSettings ¶ added in v0.6.0
func (e *EntityBind) GetSettings() m.AttributeValue
GetSettings ...
func (*EntityBind) SetAttributes ¶
func (e *EntityBind) SetAttributes(params m.AttributeValue)
SetAttributes ...
type EntityManager ¶
type EntityManager interface {
// SetPluginManager ...
SetPluginManager(pluginManager common.PluginManager)
// LoadEntities ...
LoadEntities()
// Shutdown ...
Shutdown()
// SetMetric ...
SetMetric(common.EntityId, string, map[string]float32)
// SetState ...
SetState(common.EntityId, EntityStateParams) error
// GetEntityById ...
GetEntityById(common.EntityId) (m.EntityShort, error)
// GetActorById ...
GetActorById(common.EntityId) (PluginActor, error)
// List ...
List() ([]m.EntityShort, error)
// Spawn ...
Spawn(ActorConstructor) PluginActor
// Remove ...
Remove(common.EntityId)
// CallAction ...
CallAction(common.EntityId, string, map[string]interface{})
// CallScene ...
CallScene(common.EntityId, map[string]interface{})
// Add ...
Add(*m.Entity) error
// Update ...
Update(*m.Entity) error
}
EntityManager ...
func NewEntityManager ¶
func NewEntityManager(lc fx.Lifecycle, eventBus bus.Bus, adaptors *adaptors.Adaptors, scripts scripts.ScriptService) EntityManager
NewEntityManager ...
type EntityManagerBind ¶
type EntityManagerBind struct {
// contains filtered or unexported fields
}
EntityManagerBind ...
func NewEntityManagerBind ¶
func NewEntityManagerBind(manager EntityManager) *EntityManagerBind
NewEntityManagerBind ...
func (*EntityManagerBind) CallAction ¶
func (e *EntityManagerBind) CallAction(id common.EntityId, action string, arg map[string]interface{})
CallAction ...
func (*EntityManagerBind) CallScene ¶ added in v0.8.3
func (e *EntityManagerBind) CallScene(id common.EntityId, arg map[string]interface{})
CallScene ...
func (*EntityManagerBind) GetEntity ¶
func (e *EntityManagerBind) GetEntity(id common.EntityId) *EntityBind
GetEntity ...
func (*EntityManagerBind) SetAttribute ¶
func (e *EntityManagerBind) SetAttribute(id common.EntityId, params m.AttributeValue)
SetAttribute ...
type EntityStateParams ¶
type EntityStateParams struct {
NewState *string `json:"new_state"`
AttributeValues m.AttributeValue `json:"attribute_values"`
SettingsValue m.AttributeValue `json:"settings_value"`
StorageSave bool `json:"storage_save"`
}
EntityStateParams -> entityManager
type MessageStateChanged ¶
type MessageStateChanged struct {
StorageSave bool
OldState bus.EventEntityState
NewState bus.EventEntityState
}
MessageStateChanged -> entityManager
type PluginActor ¶
type PluginActor interface {
// Spawn ...
Spawn() PluginActor
// Attributes ...
Attributes() m.Attributes
// Settings ...
Settings() m.Attributes
// Metrics ...
Metrics() []*m.Metric
// SetState ...
SetState(EntityStateParams) error
// Info ...
Info() ActorInfo
}
PluginActor ...
type ScriptBind ¶
type ScriptBind struct {
// contains filtered or unexported fields
}
ScriptBind ...
Click to show internal directories.
Click to hide internal directories.