devicemodel

package
v0.0.13 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const CONTROLLING_FUNCTION_PREFIX = "urn:infai:ses:controlling-function:"
View Source
const MEASURING_FUNCTION_PREFIX = "urn:infai:ses:measuring-function:"
View Source
const PREFIX_RDF = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>"
View Source
const PREFIX_SES = "PREFIX ses: <https://senergy.infai.org/ontology/> "

PREFIXES

View Source
const RDFS_COMMENT = "http://www.w3.org/2000/01/rdf-schema#comment"
View Source
const RDFS_LABEL = "http://www.w3.org/2000/01/rdf-schema#label"
View Source
const RDF_TYPE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
View Source
const SES_ONTOLOGY_ASPECT = "https://senergy.infai.org/ontology/Aspect"
View Source
const SES_ONTOLOGY_CHARACTERISTIC = "https://senergy.infai.org/ontology/Characteristic"
View Source
const SES_ONTOLOGY_CONCEPT = "https://senergy.infai.org/ontology/Concept"
View Source
const SES_ONTOLOGY_CONTROLLING_FUNCTION = "https://senergy.infai.org/ontology/ControllingFunction"

Classes

View Source
const SES_ONTOLOGY_COUNT = "https://senergy.infai.org/ontology/Count"
View Source
const SES_ONTOLOGY_DEVICE_CLASS = "https://senergy.infai.org/ontology/DeviceClass"
View Source
const SES_ONTOLOGY_DEVICE_TYPE = "https://senergy.infai.org/ontology/DeviceType"
View Source
const SES_ONTOLOGY_EXPOSES_FUNCTION = "https://senergy.infai.org/ontology/exposesFunction"
View Source
const SES_ONTOLOGY_HAS_BASE_CHARACTERISTIC = "https://senergy.infai.org/ontology/hasBaseCharacteristic"
View Source
const SES_ONTOLOGY_HAS_CHARACTERISTIC = "https://senergy.infai.org/ontology/hasCharacteristic"
View Source
const SES_ONTOLOGY_HAS_CONCEPT = "https://senergy.infai.org/ontology/hasConcept"

Properties

View Source
const SES_ONTOLOGY_HAS_DEVICE_CLASS = "https://senergy.infai.org/ontology/hasDeviceClass"
View Source
const SES_ONTOLOGY_HAS_IMAGE = "https://senergy.infai.org/ontology/hasImage"
View Source
const SES_ONTOLOGY_HAS_INTERACTION = "https://senergy.infai.org/ontology/interaction"
View Source
const SES_ONTOLOGY_HAS_MAX_VALUE = "https://senergy.infai.org/ontology/hasMaxValue"
View Source
const SES_ONTOLOGY_HAS_MIN_VALUE = "https://senergy.infai.org/ontology/hasMinValue"
View Source
const SES_ONTOLOGY_HAS_PROTOCOL = "https://senergy.infai.org/ontology/hasProtocol"
View Source
const SES_ONTOLOGY_HAS_SERVICE = "https://senergy.infai.org/ontology/hasService"
View Source
const SES_ONTOLOGY_HAS_SUB_CHARACTERISTIC = "https://senergy.infai.org/ontology/hasSubCharacteristic"
View Source
const SES_ONTOLOGY_HAS_VALUE = "https://senergy.infai.org/ontology/hasValue"
View Source
const SES_ONTOLOGY_HAS_VALUE_TYPE = "https://senergy.infai.org/ontology/hasValueType"
View Source
const SES_ONTOLOGY_LOCATION = "https://senergy.infai.org/ontology/Location"
View Source
const SES_ONTOLOGY_MEASURING_FUNCTION = "https://senergy.infai.org/ontology/MeasuringFunction"
View Source
const SES_ONTOLOGY_REFERS_TO = "https://senergy.infai.org/ontology/refersTo"
View Source
const SES_ONTOLOGY_SERVICE = "https://senergy.infai.org/ontology/Service"
View Source
const SES_ONTOLOGY_TOTAL_COUNT = "https://senergy.infai.org/ontology/totalCount"
View Source
const URN_PREFIX = "urn:infai:ses:"

Variables

This section is empty.

Functions

This section is empty.

Types

type Aspect

type Aspect struct {
	Id         string   `json:"id"`
	Name       string   `json:"name"`
	SubAspects []Aspect `json:"sub_aspects"`
}

type AspectNode

type AspectNode struct {
	Id            string   `json:"id"`
	Name          string   `json:"name"`
	RootId        string   `json:"root_id"`
	ParentId      string   `json:"parent_id"`
	ChildIds      []string `json:"child_ids"`
	AncestorIds   []string `json:"ancestor_ids"`
	DescendentIds []string `json:"descendent_ids"`
}

type Attribute

type Attribute struct {
	Key    string `json:"key"`
	Value  string `json:"value"`
	Origin string `json:"origin"`
}

type Characteristic

type Characteristic struct {
	Id                 string           `json:"id"`
	Name               string           `json:"name"`
	DisplayUnit        string           `json:"display_unit"`
	Type               Type             `json:"type"`
	MinValue           interface{}      `json:"min_value,omitempty"`
	MaxValue           interface{}      `json:"max_value,omitempty"`
	Value              interface{}      `json:"value,omitempty"`
	SubCharacteristics []Characteristic `json:"sub_characteristics"`
}

type Concept

type Concept struct {
	Id                   string   `json:"id"`
	Name                 string   `json:"name"`
	CharacteristicIds    []string `json:"characteristic_ids"`
	BaseCharacteristicId string   `json:"base_characteristic_id"`
}

type ConceptWithCharacteristics

type ConceptWithCharacteristics struct {
	Id                   string           `json:"id"`
	Name                 string           `json:"name"`
	BaseCharacteristicId string           `json:"base_characteristic_id"`
	Characteristics      []Characteristic `json:"characteristics"`
}

type Configurable

type Configurable struct {
	Path             string      `json:"path"`
	CharacteristicId string      `json:"characteristic_id"`
	AspectNode       AspectNode  `json:"aspect_node"`
	FunctionId       string      `json:"function_id"`
	Value            interface{} `json:"value,omitempty"`
	Type             Type        `json:"type,omitempty"`
}

type Content

type Content struct {
	Id                string          `json:"id"`
	ContentVariable   ContentVariable `json:"content_variable"`
	Serialization     string          `json:"serialization"`
	ProtocolSegmentId string          `json:"protocol_segment_id"`
}

type ContentVariable

type ContentVariable struct {
	Id                   string            `json:"id"`
	Name                 string            `json:"name"`
	IsVoid               bool              `json:"is_void"`
	Type                 Type              `json:"type"`
	SubContentVariables  []ContentVariable `json:"sub_content_variables"`
	CharacteristicId     string            `json:"characteristic_id"`
	Value                interface{}       `json:"value"`
	SerializationOptions []string          `json:"serialization_options"`
	UnitReference        string            `json:"unit_reference,omitempty"`
	FunctionId           string            `json:"function_id,omitempty"`
	AspectId             string            `json:"aspect_id,omitempty"`
}

func (*ContentVariable) GetAspectId

func (this *ContentVariable) GetAspectId() string

func (*ContentVariable) GetCharacteristicId

func (this *ContentVariable) GetCharacteristicId() string

func (*ContentVariable) GetFunctionId

func (this *ContentVariable) GetFunctionId() string

func (*ContentVariable) GetIsVoid

func (this *ContentVariable) GetIsVoid() bool

func (*ContentVariable) GetName

func (this *ContentVariable) GetName() string

func (*ContentVariable) GetSubContentVariables

func (this *ContentVariable) GetSubContentVariables() []basecontentvariable.Descriptor

type Device

type Device struct {
	Id           string      `json:"id"`
	LocalId      string      `json:"local_id"`
	Name         string      `json:"name"`
	Attributes   []Attribute `json:"attributes"`
	DeviceTypeId string      `json:"device_type_id"`
}

type DeviceClass

type DeviceClass struct {
	Id    string `json:"id"`
	Image string `json:"image"`
	Name  string `json:"name"`
}

type DeviceGroup

type DeviceGroup struct {
	Id            string                      `json:"id"`
	Name          string                      `json:"name"`
	Image         string                      `json:"image"`
	Criteria      []DeviceGroupFilterCriteria `json:"criteria"`
	DeviceIds     []string                    `json:"device_ids"`
	CriteriaShort []string                    `json:"criteria_short,omitempty"`
}

func (*DeviceGroup) SetShortCriteria

func (this *DeviceGroup) SetShortCriteria()

type DeviceGroupFilterCriteria

type DeviceGroupFilterCriteria struct {
	Interaction   Interaction `json:"interaction"`
	FunctionId    string      `json:"function_id"`
	AspectId      string      `json:"aspect_id"`
	DeviceClassId string      `json:"device_class_id"`
}

func (DeviceGroupFilterCriteria) Short

func (this DeviceGroupFilterCriteria) Short() string

type DeviceType

type DeviceType struct {
	Id            string         `json:"id"`
	Name          string         `json:"name"`
	Description   string         `json:"description"`
	ServiceGroups []ServiceGroup `json:"service_groups"`
	Services      []Service      `json:"services"`
	DeviceClassId string         `json:"device_class_id"`
	Attributes    []Attribute    `json:"attributes"`
}

type DeviceTypeSelectable

type DeviceTypeSelectable struct {
	DeviceTypeId       string                         `json:"device_type_id,omitempty"`
	Services           []Service                      `json:"services,omitempty"`
	ServicePathOptions map[string][]ServicePathOption `json:"service_path_options,omitempty"`
}

type FilterCriteria

type FilterCriteria struct {
	Interaction   string `json:"interaction,omitempty"`
	FunctionId    string `json:"function_id"`
	AspectId      string `json:"aspect_id"`
	DeviceClassId string `json:"device_class_id"`
}

func (FilterCriteria) Short

func (this FilterCriteria) Short() string

type Function

type Function struct {
	Id          string `json:"id"`
	Name        string `json:"name"`
	DisplayName string `json:"display_name"`
	Description string `json:"description"`
	ConceptId   string `json:"concept_id"`
	RdfType     string `json:"rdf_type"`
}

type FunctionList

type FunctionList struct {
	Functions  []Function `json:"functions"`
	TotalCount int        `json:"total_count"`
}

type Hub

type Hub struct {
	Id             string   `json:"id"`
	Name           string   `json:"name"`
	Hash           string   `json:"hash"`
	DeviceLocalIds []string `json:"device_local_ids"`
}

type Interaction

type Interaction string
const (
	EVENT             Interaction = "event"
	REQUEST           Interaction = "request"
	EVENT_AND_REQUEST Interaction = "event+request"
)

type Location

type Location struct {
	Id             string   `json:"id"`
	Name           string   `json:"name"`
	Description    string   `json:"description"`
	Image          string   `json:"image"`
	DeviceIds      []string `json:"device_ids"`
	DeviceGroupIds []string `json:"device_group_ids"`
}

type Protocol

type Protocol struct {
	Id               string            `json:"id"`
	Name             string            `json:"name"`
	Handler          string            `json:"handler"`
	ProtocolSegments []ProtocolSegment `json:"protocol_segments"`
}

type ProtocolSegment

type ProtocolSegment struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

type Service

type Service struct {
	Id              string      `json:"id"`
	LocalId         string      `json:"local_id"`
	Name            string      `json:"name"`
	Description     string      `json:"description"`
	Interaction     Interaction `json:"interaction"`
	ProtocolId      string      `json:"protocol_id"`
	Inputs          []Content   `json:"inputs"`
	Outputs         []Content   `json:"outputs"`
	Attributes      []Attribute `json:"attributes"`
	ServiceGroupKey string      `json:"service_group_key"`
}

type ServiceGroup

type ServiceGroup struct {
	Key         string `json:"key"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

type ServicePathOption

type ServicePathOption struct {
	ServiceId             string         `json:"service_id"`
	Path                  string         `json:"path"`
	CharacteristicId      string         `json:"characteristic_id"`
	AspectNode            AspectNode     `json:"aspect_node"`
	FunctionId            string         `json:"function_id"`
	IsVoid                bool           `json:"is_void"`
	Value                 interface{}    `json:"value,omitempty"`
	IsControllingFunction bool           `json:"is_controlling_function"`
	Configurables         []Configurable `json:"configurables,omitempty"`
	Type                  Type           `json:"type,omitempty"`
	Interaction           Interaction    `json:"interaction"`
}

type TotalCount

type TotalCount struct {
	TotalCount int `json:"total_count"`
}

type Type

type Type string
const (
	String  Type = "https://schema.org/Text"
	Integer Type = "https://schema.org/Integer"
	Float   Type = "https://schema.org/Float"
	Boolean Type = "https://schema.org/Boolean"

	List      Type = "https://schema.org/ItemList"
	Structure Type = "https://schema.org/StructuredValue"
)

Jump to

Keyboard shortcuts

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