hpd

package
v0.2024.5 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2024 License: GPL-3.0 Imports: 27 Imported by: 0

Documentation

Index

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 APIError struct {
	Code   int      `json:"code"`
	Info   string   `json:"info"`
	Detail []string `json:"detail,omitempty"`
}

func (APIError) Error

func (err APIError) Error() string

type AirQualitySensor

type AirQualitySensor struct {
	traits.UnimplementedAirQualitySensorApiServer
	gen.UnimplementedMqttServiceServer
	gen.UnimplementedUdmiServiceServer

	AirQualityValue *resource.Value
	// contains filtered or unexported fields
}

func NewAirQualitySensor

func NewAirQualitySensor(client *Client, logger *zap.Logger, pollInterval time.Duration) *AirQualitySensor

func (*AirQualitySensor) GetAirQuality

func (*AirQualitySensor) GetUpdate

func (a *AirQualitySensor) GetUpdate() error

func (*AirQualitySensor) PullAirQuality

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

func NewInsecureClient(host string, password string) *Client

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 Driver

type Driver struct {
	*service.Service[config.Root]
	// contains filtered or unexported fields
}

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 NewOccupancySensor(client *Client, logger *zap.Logger, pollInterval time.Duration) *Occupancy

func (*Occupancy) GetOccupancy

func (*Occupancy) GetUpdate

func (o *Occupancy) GetUpdate() error

func (*Occupancy) PullOccupancy

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 NewTemperatureSensor(client *Client, logger *zap.Logger, pollInterval time.Duration) *TemperatureSensor

func (*TemperatureSensor) GetAirTemperature

func (*TemperatureSensor) GetUpdate

func (a *TemperatureSensor) GetUpdate() error

func (*TemperatureSensor) PullAirTemperature

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 NewUdmiServiceServer(logger *zap.Logger, aq *resource.Value, o *resource.Value, t *resource.Value, udmiPrefix string) *UdmiServiceServer

func (*UdmiServiceServer) GetExportMessage added in v0.2024.5

func (*UdmiServiceServer) OnMessage added in v0.2024.5

func (*UdmiServiceServer) PullControlTopics added in v0.2024.5

func (*UdmiServiceServer) PullExportMessages added in v0.2024.5

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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