Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Units = map[string]UnitBuilder{ "single_fan": SingleFanConfig{}, "dummy": DummyConfig{}, "relay_dummy": RelayDummyConfig{}, }
Functions ¶
This section is empty.
Types ¶
type DummyConfig ¶
type DummyConfig struct {
HumOn float64 `json:"hum_on"`
HumOff float64 `json:"hum_off"`
FanOn config.Duration `json:"fan_on"`
FanOff config.Duration `json:"fan_off"`
HumidifierRelay int `json:"humidifier_relay"`
FanRelay int `json:"fan_rly"`
NoRelay bool `json:"no_relay"`
FakeTemp float64 `json:"fake_temp"`
FakeHum float64 `json:"fake_hum"`
}
DummyConfig is a standard unit config
func (DummyConfig) BuildFromJSON ¶
type DummyUnit ¶
type DummyUnit struct {
DummyConfig
// contains filtered or unexported fields
}
DummyUnit is a standard unit implementation
func NewDummyUnit ¶
type DummyUnitState ¶
type DummyUnitState struct {
Humidifier bool `json:"humidifier"`
Fan bool `json:"fan"`
FanLastToggled time.Time `json:"fan_last_toggled"`
}
DummyUnitState is the persistent state for the unit
type RelayDummyConfig ¶
type RelayDummyConfig struct {
HumidifierRelay int `json:"humidifier_relay"`
FanRelay int `json:"fan_rly"`
HumidifierState bool `json:"humidifier_state"`
FanState bool `json:"fan_state"`
}
RelayDummyConfig is a standard unit config
func (RelayDummyConfig) BuildFromJSON ¶
type RelayDummyUnit ¶
type RelayDummyUnit struct {
RelayDummyConfig
// contains filtered or unexported fields
}
RelayDummyUnit is a standard unit implementation
func NewRelayDummyUnit ¶
func NewRelayDummyUnit( c RelayDummyConfig, client api.API, log tools.Logger, ) *RelayDummyUnit
func (*RelayDummyUnit) GetState ¶
func (c *RelayDummyUnit) GetState() interface{}
func (*RelayDummyUnit) Refresh ¶
func (c *RelayDummyUnit) Refresh() error
func (*RelayDummyUnit) SetState ¶
func (c *RelayDummyUnit) SetState(state interface{})
type SingleFanConfig ¶
type SingleFanConfig struct {
HumRelay int `json:"hum_relay"`
FanRelay int `json:"fan_rly"`
TemperatureCelciusADC int `json:"temp_adc"`
RelativeHumidityADC int `json:"rh_adc"`
VoltageCalibrationADC int `json:"vcc_adc"`
StatsDAddress string `json:"statsd_address"`
Name string `json:"name"`
HumOn float64 `json:"hum_on"`
HumOff float64 `json:"hum_off"`
FanOn config.Duration `json:"fan_on"`
FanOff config.Duration `json:"fan_off"`
InvertHumPin bool `json:"invert_hum_pin"`
InvertFanPin bool `json:"invert_fan_pin"`
}
SingleFanConfig is a standard unit config
func (SingleFanConfig) BuildFromJSON ¶
type SingleFanUnit ¶
type SingleFanUnit struct {
SingleFanConfig
// contains filtered or unexported fields
}
SingleFanUnit is a standard unit implementation
func NewSingleFanUnit ¶
func NewSingleFanUnit( c SingleFanConfig, client api.API, log tools.Logger, ) *SingleFanUnit
func (*SingleFanUnit) GetState ¶
func (c *SingleFanUnit) GetState() interface{}
func (*SingleFanUnit) Refresh ¶
func (c *SingleFanUnit) Refresh() error
func (*SingleFanUnit) SetState ¶
func (c *SingleFanUnit) SetState(state interface{})
type SingleFanUnitState ¶
type SingleFanUnitState struct {
Humidifier bool `json:"humidifier"`
Fan bool `json:"fan"`
FanLastToggled time.Time `json:"fan_last_toggled"`
}
SingleFanUnitState is the persistent state for the unit
type Unit ¶
type Unit interface {
Refresh() error
SetState(interface{})
GetState() interface{}
}
Unit represents some sensors and things
type UnitBuilder ¶
type UnitBuilder interface {
BuildFromJSON(data []byte, client api.API, logger tools.Logger) (Unit, error)
}
UnitBuilder is used to encode a Unit in JSON
func GetBlankUnitBuilder ¶
func GetBlankUnitBuilder(kind string) (*UnitBuilder, error)
Click to show internal directories.
Click to hide internal directories.