Documentation ¶
Index ¶
- Constants
- Variables
- func EqualTopicDescription(a model.TopicDescription, b model.TopicDescription) bool
- func FilterDuplicates(topics []model.TopicDescription) []model.TopicDescription
- func GenerateCommandServiceTopicDescriptions(device models.Device, service models.Service, truncateDevicePrefix string) (result []model.TopicDescription)
- func GenerateDeviceTopicDescriptions(device models.Device, deviceType models.DeviceType, ...) (result []model.TopicDescription)
- func GenerateEventServiceTopicDescriptions(device models.Device, service models.Service, truncateDevicePrefix string) (result []model.TopicDescription)
- func GenerateServiceTopicDescriptions(device models.Device, service models.Service, truncateDevicePrefix string) (result []model.TopicDescription)
- func GenerateTopic(topicTemplate string, deviceId string, serviceId string, ...) (result string, err error)
- func GenerateTopicDescriptions(devices []models.Device, deviceTypes []models.DeviceType, ...) (result []model.TopicDescription)
- func GetAttributeValue(attributes []models.Attribute, key string) (result string, found bool)
- func GetDeviceInfos(repo *devicerepo.DeviceRepo, searchUrl string, filterDevicesByAttribute string) (devices []models.Device, deviceTypes []models.DeviceType, err error)
- func PermissionSearch(token string, searchUrl string, query QueryMessage, result interface{}) (err error, code int)
- func Store(descriptions []model.TopicDescription, dir string) (err error)
- func StoreFile(descriptions []model.TopicDescription, fileLocation string) (err error)
- type ConditionConfig
- type Permissions
- type QueryCheckIds
- type QueryFind
- type QueryListCommons
- type QueryListIds
- type QueryMessage
- type QueryOperationType
- type Selection
Constants ¶
View Source
const AttributeUsedForGenerator = "senergy/local-mqtt"
View Source
const CommandAttribute = "senergy/local-mqtt/cmd-topic-tmpl"
View Source
const EventAttribute = "senergy/local-mqtt/event-topic-tmpl"
View Source
const FileNamePrefix = "generated_"
View Source
const ResponseAttribute = "senergy/local-mqtt/resp-topic-tmpl"
Variables ¶
View Source
var TemplateLocalDeviceIdPlaceholders = []string{"Device", "LocalDeviceId"}
View Source
var TemplateLocalServiceIdPlaceholders = []string{"Service", "LocalServiceId"}
Functions ¶
func EqualTopicDescription ¶
func EqualTopicDescription(a model.TopicDescription, b model.TopicDescription) bool
func FilterDuplicates ¶
func FilterDuplicates(topics []model.TopicDescription) []model.TopicDescription
func GenerateDeviceTopicDescriptions ¶
func GenerateDeviceTopicDescriptions(device models.Device, deviceType models.DeviceType, truncateDevicePrefix string) (result []model.TopicDescription)
func GenerateTopic ¶
func GenerateTopicDescriptions ¶
func GenerateTopicDescriptions(devices []models.Device, deviceTypes []models.DeviceType, truncateDevicePrefix string) (result []model.TopicDescription)
func GetAttributeValue ¶
func GetDeviceInfos ¶
func GetDeviceInfos(repo *devicerepo.DeviceRepo, searchUrl string, filterDevicesByAttribute string) (devices []models.Device, deviceTypes []models.DeviceType, err error)
GetDeviceInfos returns all device-types with attribute AttributeUsedForGenerator and devices matching a device-type if filterDevicesByAttribute != "" the devices will be filtered by AttributeUsedForGenerator == filterDevicesByAttribute
func PermissionSearch ¶
func PermissionSearch(token string, searchUrl string, query QueryMessage, result interface{}) (err error, code int)
Types ¶
type ConditionConfig ¶
type ConditionConfig struct { Feature string `json:"feature,omitempty"` Operation QueryOperationType `json:"operation,omitempty"` Value interface{} `json:"value,omitempty"` Ref string `json:"ref,omitempty"` }
type QueryCheckIds ¶
type QueryFind ¶
type QueryFind struct { QueryListCommons Search string `json:"search,omitempty"` Filter *Selection `json:"filter,omitempty"` }
type QueryListCommons ¶
type QueryListIds ¶
type QueryListIds struct { QueryListCommons Ids []string `json:"ids,omitempty"` }
type QueryMessage ¶
type QueryMessage struct { Resource string `json:"resource"` Find *QueryFind `json:"find,omitempty"` ListIds *QueryListIds `json:"list_ids,omitempty"` CheckIds *QueryCheckIds `json:"check_ids,omitempty"` TermAggregate *string `json:"term_aggregate,omitempty"` }
type QueryOperationType ¶
type QueryOperationType string
const ( QueryEqualOperation QueryOperationType = "==" QueryUnequalOperation QueryOperationType = "!=" QueryAnyValueInFeatureOperation QueryOperationType = "any_value_in_feature" )
Source Files ¶
Click to show internal directories.
Click to hide internal directories.