Documentation ¶
Overview ¶
Package common contains shared data available for all plugins.
Index ¶
Constants ¶
const ( // LogSystemToken describes system log entry. LogSystemToken = "system" // LogChannelToken describes channel log entry. LogChannelToken = "channel" // LogWorkerToken describes worker log entry. LogWorkerToken = "worker" // LogDeviceTypeToken describes device type log entry. LogDeviceTypeToken = "device_type" // LogIDToken describes entity ID entry. LogIDToken = "id" // LogNameToken describes entity name entry. LogNameToken = "name" // LogDeviceCommandToken describes device command log entry. LogDeviceCommandToken = "device_cmd" // LogDevicePropertyToken describes device property log entry. LogDevicePropertyToken = "device_prop" // LogDeviceHostToken describes device host log entry. LogDeviceHostToken = "host_ip" // LogRoleNameToken describes role name log entry. LogRoleNameToken = "role" // LogUserNameToken describes user name log entry. LogUserNameToken = "user" // LogURLToken describes URL log entry. LogURLToken = "url" // LogTimeToken describes time log entry. LogTimeToken = "time" )
const ( // LogErrorToken describes error log entry. LogErrorToken = "error" // LogFileToken describes file log entry. LogFileToken = "file" // LogSecretToken describes secret log entry. LogSecretToken = "secret" // LogProviderToken describes provider log entry. LogProviderToken = "provider" // LogFieldToken describes field log entry. LogFieldToken = "field" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Color ¶
type Color struct { R uint8 `json:"r" yaml:"r"` G uint8 `json:"g" yaml:"g"` B uint8 `json:"b" yaml:"b"` }
Color defines color parameter type.
type Float ¶
type Float struct {
Value float64 `json:"value" validate:"required"`
}
Float defines simple float parameter type.
type IFanOutProvider ¶
type IFanOutProvider interface { SubscribeDeviceUpdates() (int64, chan *MsgDeviceUpdate) UnSubscribeDeviceUpdates(int64) }
IFanOutProvider defines interface used for distributing device updates even across all system.
type ILoggerProvider ¶
type ILoggerProvider interface { Debug(msg string, fields ...string) Info(msg string, fields ...string) Warn(msg string, fields ...string) Error(msg string, err error, fields ...string) Fatal(msg string, err error, fields ...string) GetSpecs() *LogSpecs Query(*LogHistoryRequest) []*LogHistoryEntry }
ILoggerProvider defines logger provider which will be passed to every plugin.
type IPluginLoggerProvider ¶
type IPluginLoggerProvider interface { ILoggerProvider AddFields(map[string]string) }
IPluginLoggerProvider defines additional method for adding extra fields.
type ISecretProvider ¶
ISecretProvider defines secrets provider which will be passed to every plugin.
type ISettings ¶
type ISettings interface {
Validate() error
}
ISettings describes interface used by every plugin. After loading plugin, go-home will invoke internal validation and then call this method.
type Input ¶
type Input struct { Title string `json:"title" yaml:"title"` Params map[string]string `json:"params" yaml:"params"` }
Input defines user's input request/response.
type Int ¶
type Int struct {
Value int `json:"value" validate:"required"`
}
Int defines simple integer parameter type.
type LogHistoryEntry ¶
type LogHistoryEntry struct { UTCTimestamp int64 `json:"timestamp"` LogLevel string `json:"log_level"` System string `json:"system"` DeviceID string `json:"device_id"` Provider string `json:"provider"` WorkerID string `json:"worker"` Message string `json:"message"` Properties map[string]string `json:"properties"` }
LogHistoryEntry defines single log entry.
type LogHistoryRequest ¶
type LogHistoryRequest struct { FromUTC int64 `json:"from"` ToUTC int64 `json:"to"` LogLevel string `json:"log_level"` System string `json:"system"` Provider string `json:"provider"` DeviceID string `json:"device_id"` WorkerID string `json:"worker"` }
LogHistoryRequest defines history request. ToUTC will be always populated by the logger system. FromUTC might be 0. All missing fields will be empty string.
type LogSpecs ¶
type LogSpecs struct {
IsHistorySupported bool
}
LogSpecs defines logger specifications.
type MsgDeviceUpdate ¶
type MsgDeviceUpdate struct { ID string Name string State map[enums.Property]interface{} FirstSeen bool Type enums.DeviceType }
MsgDeviceUpdate contains data with updates device's state.