system

package
v0.0.14 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller added in v0.0.5

type Controller interface {
	DeliverSensorValue(id device.Id, sensor device.Sensor, value any) bool

	DeviceListUpdated(connector DeviceConnector)

	OperationalStateChanged(connector DeviceConnector)

	DeviceUnavailable(id device.Id)
	DeviceAvailable(id device.Id)

	SystemState() State
}

type DeviceConnector added in v0.0.5

type DeviceConnector interface {
	Setup(controller Controller)
	Teardown()

	Id() string
	DisplayName() string

	Operational() bool

	EnumerateDevices() []device.Spec

	ActivateDevice(id device.Id) error
	DeactivateDevice(id device.Id) error

	ControlActor(id device.Id, actor device.Actor, value any) bool
}

type NotificationAdapter

type NotificationAdapter interface {
	Name() string
	NotifyAlarm(person config.Person, systemName string, a alarm.Type, device device.Spec, zone zone.Zone) bool
	NotifyRecovery(person config.Person, systemName string, device device.Spec, zone zone.Zone) bool
	NotifyLowBattery(person config.Person, systemName string, device device.Spec, zone zone.Zone, batteryLevel float32) bool
	NotifyLowLinkQuality(person config.Person, systemName string, device device.Spec, zone zone.Zone, quality float32) bool
	NotifyAutoArm(person config.Person, systemName string) bool
	NotifyAutoDisarm(person config.Person, systemName string) bool
}

type State

type State struct {
	ArmMode        arm.Mode   `json:"armMode"`
	Alarm          alarm.Type `json:"alarm"`
	ArmModeUpdated time.Time  `json:"ArmModeUpdated"`
}

func (State) Armed added in v0.0.5

func (s State) Armed() bool

type Waechter added in v0.0.5

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

func NewWaechter added in v0.0.5

func NewWaechter() *Waechter

func (*Waechter) AddDeviceConnector added in v0.0.5

func (w *Waechter) AddDeviceConnector(connector DeviceConnector)

func (*Waechter) AddNotificationAdapter added in v0.0.5

func (w *Waechter) AddNotificationAdapter(adapter NotificationAdapter)

func (*Waechter) DeliverSensorValue added in v0.0.5

func (w *Waechter) DeliverSensorValue(id device.Id, sensor device.Sensor, value any) bool

func (*Waechter) DeviceAvailable added in v0.0.5

func (w *Waechter) DeviceAvailable(id device.Id)

func (*Waechter) DeviceListUpdated added in v0.0.5

func (w *Waechter) DeviceListUpdated(system DeviceConnector)

func (*Waechter) DeviceUnavailable added in v0.0.5

func (w *Waechter) DeviceUnavailable(id device.Id)

func (*Waechter) DevicesWithTamper added in v0.0.8

func (w *Waechter) DevicesWithTamper() []*device.Device

func (*Waechter) OpenContactSensors added in v0.0.8

func (w *Waechter) OpenContactSensors() []*device.Device

func (*Waechter) OperationalStateChanged added in v0.0.5

func (w *Waechter) OperationalStateChanged(connector DeviceConnector)

func (*Waechter) RemoveDeviceConnector added in v0.0.5

func (w *Waechter) RemoveDeviceConnector(id string)

func (*Waechter) SystemState added in v0.0.5

func (w *Waechter) SystemState() State

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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