hpd

package
v0.2024.4 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2024 License: GPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const DriverName = "steinel-hpd"

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
	// 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

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 Occupancy

type Occupancy struct {
	traits.UnimplementedOccupancySensorApiServer
	// contains filtered or unexported fields
}

func NewOccupancySensor

func NewOccupancySensor(client *Client, logger *zap.Logger, pollInterval time.Duration) Occupancy

func (*Occupancy) GetOccupancy

func (a *Occupancy) GetOccupancy(ctx context.Context, req *traits.GetOccupancyRequest) (*traits.Occupancy, error)

func (*Occupancy) GetUpdate

func (a *Occupancy) GetUpdate() error

func (*Occupancy) PullOccupancy

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
	// 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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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