Documentation
¶
Index ¶
- Constants
- Variables
- type APIError
- type AirQualitySensor
- func (a *AirQualitySensor) GetAirQuality(_ context.Context, _ *traits.GetAirQualityRequest) (*traits.AirQuality, error)
- func (a *AirQualitySensor) GetUpdate() error
- func (a *AirQualitySensor) PullAirQuality(request *traits.PullAirQualityRequest, ...) error
- func (a *AirQualitySensor) StartPollingForData()
- type Client
- type Code
- type DeviceData
- type DeviceDataEntry
- type Driver
- type EventPoint
- type EventPoints
- type Occupancy
- type PointsetEventMessage
- type SensorResponse
- type TemperatureSensor
- func (a *TemperatureSensor) GetAirTemperature(_ context.Context, _ *traits.GetAirTemperatureRequest) (*traits.AirTemperature, error)
- func (a *TemperatureSensor) GetUpdate() error
- func (a *TemperatureSensor) PullAirTemperature(request *traits.PullAirTemperatureRequest, ...) error
- func (a *TemperatureSensor) StartPollingForData()
- type UdmiServiceServer
- func (u *UdmiServiceServer) GetExportMessage(_ context.Context, _ *gen.GetExportMessageRequest) (*gen.MqttMessage, error)
- func (u *UdmiServiceServer) OnMessage(_ context.Context, _ *gen.OnMessageRequest) (*gen.OnMessageResponse, error)
- func (u *UdmiServiceServer) PullControlTopics(_ *gen.PullControlTopicsRequest, _ gen.UdmiService_PullControlTopicsServer) error
- func (u *UdmiServiceServer) PullExportMessages(request *gen.PullExportMessagesRequest, ...) error
Constants ¶
View Source
const DriverName = "steinel-hpd"
View Source
const PointsetVersion = "1.0.0"
Variables ¶
View Source
var Factory driver.Factory = factory{}
Functions ¶
This section is empty.
Types ¶
type APIError ¶
type AirQualitySensor ¶
type AirQualitySensor struct {
traits.UnimplementedAirQualitySensorApiServer
gen.UnimplementedMqttServiceServer
gen.UnimplementedUdmiServiceServer
AirQualityValue *resource.Value
// contains filtered or unexported fields
}
func NewAirQualitySensor ¶
func (*AirQualitySensor) GetAirQuality ¶
func (a *AirQualitySensor) GetAirQuality(_ context.Context, _ *traits.GetAirQualityRequest) (*traits.AirQuality, error)
func (*AirQualitySensor) GetUpdate ¶
func (a *AirQualitySensor) GetUpdate() error
func (*AirQualitySensor) PullAirQuality ¶
func (a *AirQualitySensor) PullAirQuality(request *traits.PullAirQualityRequest, server traits.AirQualitySensorApi_PullAirQualityServer) error
func (*AirQualitySensor) StartPollingForData ¶ added in v0.2024.5
func (a *AirQualitySensor) StartPollingForData()
StartPollingForData starts a loop which fetches data from the sensor at a set interval
type Client ¶
type Client struct {
// BaseURL is the root of the API.
// e.g. https://1.2.3.4/api/
BaseURL url.URL
Client *http.Client
Password string `default:""`
}
func NewInsecureClient ¶
NewInsecureClient creates a Client that connects over HTTPS but does not verify the server certificate.
type Code ¶
type Code int
const ( CodeInvalidSettings Code = 10010 CodeInvalidContentType Code = 11000 CodeEmptyRequest Code = 11001 CodeContentLengthRequired Code = 11002 CodeInvalidJSON Code = 11100 CodeInvalidTimeFormat Code = 11200 CodeTimeInPast Code = 11201 CodeUpdateDowngrade Code = 21000 CodeUpdateUploading Code = 21001 CodeUpdateInstalling Code = 21002 CodeUpdateInvalid Code = 21003 CodeBackupIPSettingsChanged Code = 21100 CodeBackupNewerVersion Code = 21101 CodeDataPushIDModeError Code = 31000 CodeDataPushAgentTriggerBusy Code = 31001 )
type DeviceData ¶
type DeviceData struct {
Entries []DeviceDataEntry
}
type DeviceDataEntry ¶
type DeviceDataEntry struct {
Name string `json:"name"`
}
type EventPoint ¶ added in v0.2024.5
type EventPoint[T any] struct { PresentValue T `json:"present_value"` }
type EventPoints ¶ added in v0.2024.5
type EventPoints struct {
// Generic points
DeviceType *EventPoint[string] `json:"DeviceType,omitempty"`
// air quality related points
Co2Level *EventPoint[float32] `json:"Co2Level,omitempty"`
VocLevel *EventPoint[float32] `json:"VocLevel,omitempty"`
AirPressure *EventPoint[float32] `json:"AirPressure,omitempty"`
InfectionRisk *EventPoint[float32] `json:"InfectionRisk,omitempty"`
IAQ *EventPoint[float32] `json:"IAQ,omitempty"`
// TemperatureValue related points
Temperature *EventPoint[float64] `json:"Temperature,omitempty"`
Humidity *EventPoint[float32] `json:"Humidity,omitempty"`
// OccupancyValue related points
PeopleCount *EventPoint[int32] `json:"PeopleCount,omitempty"`
OccupancyState *EventPoint[string] `json:"OccupancyState,omitempty"`
}
type Occupancy ¶
type Occupancy struct {
traits.UnimplementedOccupancySensorApiServer
gen.UnimplementedUdmiServiceServer
OccupancyValue *resource.Value
// contains filtered or unexported fields
}
func NewOccupancySensor ¶
func (*Occupancy) GetOccupancy ¶
func (*Occupancy) PullOccupancy ¶
func (o *Occupancy) PullOccupancy(request *traits.PullOccupancyRequest, server traits.OccupancySensorApi_PullOccupancyServer) error
func (*Occupancy) StartPollingForData ¶ added in v0.2024.5
func (o *Occupancy) StartPollingForData()
StartPollingForData starts a loop which fetches data from the sensor at a set interval
type PointsetEventMessage ¶ added in v0.2024.5
type PointsetEventMessage struct {
Version string `json:"version"`
Timestamp time.Time `json:"timestamp"`
PartialUpdate bool `json:"partial_update,omitempty"`
Points EventPoints `json:"points"`
}
type SensorResponse ¶
type SensorResponse struct {
SensorName string `json:"SensorName"`
SensorSWVersion string `json:"SensorSWVersion"`
DetectorFWVersion string `json:"DetectorFWVersion"`
Motion1 bool `json:"Motion1"`
Presence1 bool `json:"Presence1"`
TruePresence1 bool `json:"TruePresence1"`
Brightness1 int `json:"Brightness1"`
Temperature float64 `json:"Temperature"`
Humidity float64 `json:"Humidity"`
VOC int `json:"VOC"`
CO2 int `json:"CO2"`
AirPressure float64 `json:"AirPressure,omitempty"`
Noise int `json:"Noise,omitempty"`
AerosolStaleAirStatus int `json:"AerosolStaleAirStatus,omitempty"`
AerosolRiskOfInfectionStatus int `json:"AerosolRiskOfInfectionStatus,omitempty"`
ComfortZone bool `json:"ComfortZone,omitempty"`
DewPoint float64 `json:"DewPoint,omitempty"`
AerosolStaleAir int `json:"AerosolStaleAir,omitempty"`
AerosolRiskOfInfection int `json:"AerosolRiskOfInfection,omitempty"`
ZonePeople0 int `json:"ZonePeople0,omitempty"`
IAQ int `json:"IAQ,omitempty"`
}
type TemperatureSensor ¶
type TemperatureSensor struct {
traits.UnimplementedAirTemperatureApiServer
TemperatureValue *resource.Value
// contains filtered or unexported fields
}
func NewTemperatureSensor ¶
func (*TemperatureSensor) GetAirTemperature ¶
func (a *TemperatureSensor) GetAirTemperature(_ context.Context, _ *traits.GetAirTemperatureRequest) (*traits.AirTemperature, error)
func (*TemperatureSensor) GetUpdate ¶
func (a *TemperatureSensor) GetUpdate() error
func (*TemperatureSensor) PullAirTemperature ¶
func (a *TemperatureSensor) PullAirTemperature(request *traits.PullAirTemperatureRequest, server traits.AirTemperatureApi_PullAirTemperatureServer) error
func (*TemperatureSensor) StartPollingForData ¶ added in v0.2024.5
func (a *TemperatureSensor) StartPollingForData()
StartPollingForData starts a loop which fetches data from the sensor at a set interval
type UdmiServiceServer ¶ added in v0.2024.5
type UdmiServiceServer struct {
gen.UnimplementedUdmiServiceServer
// contains filtered or unexported fields
}
func NewUdmiServiceServer ¶ added in v0.2024.5
func (*UdmiServiceServer) GetExportMessage ¶ added in v0.2024.5
func (u *UdmiServiceServer) GetExportMessage(_ context.Context, _ *gen.GetExportMessageRequest) (*gen.MqttMessage, error)
func (*UdmiServiceServer) OnMessage ¶ added in v0.2024.5
func (u *UdmiServiceServer) OnMessage(_ context.Context, _ *gen.OnMessageRequest) (*gen.OnMessageResponse, error)
func (*UdmiServiceServer) PullControlTopics ¶ added in v0.2024.5
func (u *UdmiServiceServer) PullControlTopics(_ *gen.PullControlTopicsRequest, _ gen.UdmiService_PullControlTopicsServer) error
func (*UdmiServiceServer) PullExportMessages ¶ added in v0.2024.5
func (u *UdmiServiceServer) PullExportMessages(request *gen.PullExportMessagesRequest, server gen.UdmiService_PullExportMessagesServer) error
Source Files
¶
Click to show internal directories.
Click to hide internal directories.