device

package
v0.0.0-...-6d4690e Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2017 License: MPL-2.0 Imports: 12 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// IntelliDoseDeviceName is the name that appears on Windows
	IntelliDoseDeviceName = "IntelliDose"

	// IntelliDoseDeviceNameLinux is the name that appears on Linux
	IntelliDoseDeviceNameLinux = "ASL IntelliDose"

	// IntelliDoseDeviceType is the device type (short)
	IntelliDoseDeviceType = "idoze"

	// IntelliClimateDeviceName is the name that appears on Windows
	IntelliClimateDeviceName = "IntelliClimate"

	// IntelliClimateDeviceNameLinux is the name that appears on Linux
	IntelliClimateDeviceNameLinux = "ASL IntelliClimate"

	// IntelliClimateDeviceType is the device type (short)
	IntelliClimateDeviceType = "iclimate"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AdvancedIClimate

type AdvancedIClimate struct {
	ViewAdvancedSetting bool                     `json:"view_advanced_setting"`
	SwitchingOffsets    SwitchingOffsetsIClimate `json:"switching_offsets"`
	FailSafeSettings    FailSafeSettingsIClimate `json:"fail_safe_settings"`
	Rules               RulesIClimate            `json:"rules"`
}

AdvancedIClimate represents the Advanced data structure from an IntelliClimate packet

type AdvancedIDose

type AdvancedIDose struct {
	ProportinalDosing bool   `json:"proportinal_dosing"`
	SequentialDosing  bool   `json:"sequential_dosing"`
	DisableEc         bool   `json:"disable_ec"`
	DisablePh         bool   `json:"disable_ph"`
	MntnReminderFreq  string `json:"mntn_reminder_freq"`
}

AdvancedIDose represents the Advanced data structure from an IntelliDose packet

type AirConIClimate

type AirConIClimate struct {
	ForceAirCon      bool    `json:"force_air_con"`
	AutoChangeAirCon float64 `json:"auto_change_air_con"`
	StartBefore      byte    `json:"start_before"`
	AutoStartAirCon  float64 `json:"auto_start_air_con"`
}

AirConIClimate represents the AirCon data structure from an IntelliClimate packet

type AirConOverrideIClimate

type AirConOverrideIClimate struct {
	SwAllExhaustFans float64 `json:"sw_all_exhaust_fans"`
}

AirConOverrideIClimate represents the AirConOverride data structure from an IntelliClimate packet

type AirTempIClimate

type AirTempIClimate struct {
	Cool    float64 `json:"cool"`
	Enabled bool    `json:"enabled"`
	Heat    float64 `json:"heat"`
	Max     float64 `json:"max"`
	Min     float64 `json:"min"`
	Page    bool    `json:"page"`
}

AirTempIClimate represents the AirTemp data structure from an IntelliClimate packet

type AlarmsIClimate

type AlarmsIClimate struct {
	Description string `json:"description"`
	Timestamp   string `json:"timestamp"`
}

AlarmsIClimate represents the Alarms data structure from an IntelliClimate packet

type CO2IClimate

type CO2IClimate struct {
	Target  float64 `json:"target"`
	Enabled bool    `json:"enabled"`
	Max     float64 `json:"max"`
	Min     float64 `json:"min"`
	Page    bool    `json:"page"`
}

CO2IClimate represents the CO2 data structure from an IntelliClimate packet

type CO2RulesIClimate

type CO2RulesIClimate struct {
	Co2InjectionAllowed  bool    `json:"co2_injection_allowed"`
	InjectIfLightGreater float64 `json:"inject_if_light_greater"`
	Co2InjectionAvoid    bool    `json:"co2_injection_avoid"`
	Co2Cycling           float64 `json:"co2_cycling"`
	RiseVentTemp         float64 `json:"rise_vent_temp"`
	InjectTimeMin        byte    `json:"inject_time_min"`
	InjectTimeMax        byte    `json:"inject_time_max"`
	WaitTimeMin          byte    `json:"wait_time_min"`
	WaitTimeMax          byte    `json:"wait_time_max"`
	VentTimeMin          byte    `json:"vent_time_min"`
	VentTimeMax          byte    `json:"vent_time_max"`
}

CO2RulesIClimate represents the CO2Rules data structure from an IntelliClimate packet

type Co2FailSafeIClimate

type Co2FailSafeIClimate struct {
	SwOnFansCo2Exceed int `json:"sw_on_fans_co2_exceed"`
}

Co2FailSafeIClimate represents the Co2FailSafe data structure from an IntelliClimate packet

type Co2InjectionOverrideIClimate

type Co2InjectionOverrideIClimate struct {
	RevertFansCo2Falls int `json:"revert_fans_co2_falls"`
}

Co2InjectionOverrideIClimate represents the Co2InjectionOverride data structure from an IntelliClimate packet

type ConfigIClimate

type ConfigIClimate struct {
	Units     UnitsIClimate     `json:"units"`
	Functions FunctionsIClimate `json:"functions"`
	Advanced  AdvancedIClimate  `json:"advanced"`
	General   GeneralIClimate   `json:"general"`
}

ConfigIClimate represents the Config data structure from an IntelliClimate packet

type ConfigIDose

type ConfigIDose struct {
	Units     UnitsIDose     `json:"units"`
	Times     TimesIDose     `json:"times"`
	Functions FunctionsIDose `json:"functions"`
	Advanced  AdvancedIDose  `json:"advanced"`
	General   GeneralIDose   `json:"general"`
}

ConfigIDose represents the Config data structure from an IntelliDose packet

type DehumidifierOverrideIClimate

type DehumidifierOverrideIClimate struct {
	SwOnFansRhExceed byte `json:"sw_on_fans_rh_exceed"`
	SwAcRhExceed     byte `json:"sw_ac_rh_exceed"`
}

DehumidifierOverrideIClimate represents the DehumidifierOverride data structure from an IntelliClimate packet

type Device

type Device struct {
	SerialNumber string `json:"serial"`
	Name         string `json:"name"`
	DeviceType   string `json:"type"`

	HID hid.DeviceInfo `json:"hid"`

	Shadow interface{} `json:"shadow"`
	IsOpen bool        `json:"is_open"`
	// contains filtered or unexported fields
}

Device represents an Intelli device

func NewDevice

func NewDevice(sn, dtype, name string, hiddev hid.DeviceInfo) *Device

NewDevice creates a new Intelli device from the given serial, type (dose or climate), name and HID device info

func (*Device) OnUpdate

func (d *Device) OnUpdate(callback func(Device))

OnUpdate adds a single callback function to be called whenever the devices attributes are updated

type EcIDose

type EcIDose struct {
	Enabled bool    `json:"enabled"`
	Max     float64 `json:"max"`
	Min     float64 `json:"min"`
}

EcIDose represents the Ec data structure from an IntelliDose packet

type FailSafeAlarmsIClimate

type FailSafeAlarmsIClimate struct {
	Enabled bool `json:"enabled"`
	Page    bool `json:"page"`
}

FailSafeAlarmsIClimate represents the FailSafeAlarms data structure from an IntelliClimate packet

type FailSafeSettingsIClimate

type FailSafeSettingsIClimate struct {
	FanFailOverride      FanFailOverrideIClimate      `json:"fan_fail_override"`
	AirConOverride       AirConOverrideIClimate       `json:"air_con_override"`
	DehumidifierOverride DehumidifierOverrideIClimate `json:"dehumidifier_override"`
	Co2FailSafe          Co2FailSafeIClimate          `json:"co2_fail_safe"`
	Co2InjectionOverride Co2InjectionOverrideIClimate `json:"co2_injection_override"`
	PowerFailure         PowerFailureIClimate         `json:"power_failure"`
	LightingOverride     LightingOverrideIClimate     `json:"light_falls_alarm_minimum"`
}

FailSafeSettingsIClimate represents the FailSafeSettings data structure from an IntelliClimate packet

type FanFailOverrideIClimate

type FanFailOverrideIClimate struct {
	SwOffLightTempExceed  float64 `json:"sw_off_light_temp_exceed"`
	SwOffLightsTempExceed float64 `json:"sw_off_lights_temp_exceed"`
}

FanFailOverrideIClimate represents the FanFailOverride data structure from an IntelliClimate packet

type FoggingRulesIClimate

type FoggingRulesIClimate struct {
	FogToCool      byte    `json:"fog_to_cool"`
	FogToAchieveRh float64 `json:"fog_to_achieve_rh"`
	FogTimes       int     `json:"fog_times"`
	FogTimeMax     byte    `json:"fog_time_max"`
	FogTimeMin     byte    `json:"fog_time_min"`
}

FoggingRulesIClimate represents the FoggingRules data structure from an IntelliClimate packet

type FunctionsIClimate

type FunctionsIClimate struct {
	Fan1                        bool   `json:"fan_1"`
	Fan2                        bool   `json:"fan_2"`
	AirConditioner              bool   `json:"air_conditioner"`
	Heater                      bool   `json:"heater"`
	Co2Sensor                   bool   `json:"co2_sensor"`
	Co2SensorRange              string `json:"co2_sensor_range"`
	Co2Injection                bool   `json:"co2_injection"`
	Co2Extraction               bool   `json:"co2_extraction"`
	Dehumidifier                bool   `json:"dehumidifier"`
	Humidifier                  bool   `json:"humidifier"`
	PulsedFogger                bool   `json:"pulsed_fogger"`
	LightBank1                  bool   `json:"light_bank_1"`
	LightsAirColored            bool   `json:"lights_air_colored"`
	LightBank2                  bool   `json:"light_bank_2"`
	LampOverTempShutdownSensors bool   `json:"lamp_over_temp_shutdown_sensors"`
	OutsideTempSensor           bool   `json:"outside_temp_sensor"`
	SecondEnviroSensor          bool   `json:"second_enviro_sensor"`
	IntruderAlarm               bool   `json:"intruder_alarm"`
	DehumidifyBy                string `json:"dehumidify_by"`
	Setup                       string `json:"setup"`
	MuteBuzzer                  bool   `json:"mute_buzzer"`
}

FunctionsIClimate represents the Functions data structure from an IntelliClimate packet

type FunctionsIDose

type FunctionsIDose struct {
	NutrientsParts     byte   `json:"nutrients_parts"`
	PhDosing           string `json:"ph_dosing"`
	IrrigationMode     string `json:"irrigation_mode"`
	IrrigationStations byte   `json:"irrigation_stations"`
	SeparatePumpOutput bool   `json:"separate_pump_output"`
	UseWater           bool   `json:"use_water"`
	ExternalAlarm      bool   `json:"external_alarm"`
	DayNightEc         bool   `json:"day_night_ec"`
	IrrigationStation1 string `json:"irrigation_station_1"`
	IrrigationStation2 string `json:"irrigation_station_2"`
	IrrigationStation3 string `json:"irrigation_station_3"`
	IrrigationStation4 string `json:"irrigation_station_4"`
	Scheduling         bool   `json:"scheduling"`
	MuteBuzzer         bool   `json:"mute_buzzer"`
}

FunctionsIDose represents the Functions data structure from an IntelliDose packet

type GeneralIClimate

type GeneralIClimate struct {
	DeviceName string  `json:"device_name"`
	Firmware   float64 `json:"firmware"`
}

GeneralIClimate represents the General data structure from an IntelliClimate packet

type GeneralIDose

type GeneralIDose struct {
	DeviceName string  `json:"device_name"`
	Firmware   float64 `json:"firmware"`
}

GeneralIDose represents the General data structure from an IntelliDose packet

type GeneralStatusIDose

type GeneralStatusIDose struct {
	DoseInterval        byte                    `json:"dose_interval"`
	NutrientDoseTime    byte                    `json:"nutrient_dose_time"`
	WaterOnTime         byte                    `json:"water_on_time"`
	IrrigationInterval1 IrrigationIntervalIDose `json:"irrigation_interval_1"`
	IrrigationInterval2 IrrigationIntervalIDose `json:"irrigation_interval_2"`
	IrrigationInterval3 IrrigationIntervalIDose `json:"irrigation_interval_3"`
	IrrigationInterval4 IrrigationIntervalIDose `json:"irrigation_interval_4"`
	IrrigationDuration1 int                     `json:"irrigation_duration_1"`
	IrrigationDuration2 int                     `json:"irrigation_duration_2"`
	IrrigationDuration3 int                     `json:"irrigation_duration_3"`
	IrrigationDuration4 int                     `json:"irrigation_duration_4"`
	MaxNutrientDoseTime byte                    `json:"max_nutrient_dose_time"`
	MaxPhDoseTime       byte                    `json:"max_ph_dose_time"`
	Mix1                byte                    `json:"mix_1"`
	Mix2                byte                    `json:"mix_2"`
	Mix3                byte                    `json:"mix_3"`
	Mix4                byte                    `json:"mix_4"`
	Mix5                byte                    `json:"mix_5"`
	Mix6                byte                    `json:"mix_6"`
	Mix7                byte                    `json:"mix_7"`
	Mix8                byte                    `json:"mix_8"`
	PhDoseTime          byte                    `json:"ph_dose_time"`
}

GeneralStatusIDose represents the GeneralStatus data structure from an IntelliDose packet

type HumidificationIClimate

type HumidificationIClimate struct {
	AllowHumidification  bool `json:"allow_humidification"`
	ChangeHumidification byte `json:"change_humidification"`
}

HumidificationIClimate represents the Humidification data structure from an IntelliClimate packet

type HumidifyTempRulesIClimate

type HumidifyTempRulesIClimate struct {
	LowerCoolingTemp float64 `json:"lower_cooling_temp"`
	RaiseHeatingTemp float64 `json:"raise_heating_temp"`
	RhLowThenRaise   float64 `json:"rh_low_then_raise"`
	PreventHeater    byte    `json:"prevent_heater"`
	HeatingOffset    float64 `json:"heating_offset"`
}

HumidifyTempRulesIClimate represents the HumidifyTempRules data structure from an IntelliClimate packet

type IntruderAlarmIClimate

type IntruderAlarmIClimate struct {
	Enabled bool `json:"enabled"`
	Page    bool `json:"page"`
}

IntruderAlarmIClimate represents the IntruderAlarm data structure from an IntelliClimate packet

type IrrigationIntervalIDose

type IrrigationIntervalIDose struct {
	Day   int `json:"day"`
	Night int `json:"night"`
	Every int `json:"every"`
}

IrrigationIntervalIDose represents the IrrigationInterval data structure from an IntelliDose packet

type LightIClimate

type LightIClimate struct {
	Enabled bool    `json:"enabled"`
	Min     float64 `json:"min"`
	Page    bool    `json:"page"`
}

LightIClimate represents the Light data structure from an IntelliClimate packet

type LightingIClimate

type LightingIClimate struct {
	LampCoolDownTime  byte `json:"lamp_cool_down_time"`
	SwOnNextLightBank byte `json:"sw_on_next_light_bank"`
}

LightingIClimate represents the Lighting data structure from an IntelliClimate packet

type LightingOverrideIClimate

type LightingOverrideIClimate struct {
	LightFallsAlarmMinimum bool `json:"light_falls_alarm_minimum"`
}

LightingOverrideIClimate represents the LightingOverride data structure from an IntelliClimate packet

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager represents a manager of attached Intelli devices

func NewManager

func NewManager(enumerateInterval, updateInterval int) *Manager

NewManager will return a new device manager with the given intervals

func (*Manager) AttachAPI

func (mgr *Manager) AttachAPI(r *gin.Engine)

AttachAPI attaches a GIN API engine to the manager so it's internals can be inspected via HTTP REST endpoints

func (*Manager) Discover

func (mgr *Manager) Discover()

Discover will continuously try to discover devices attached via USB and add them to the internal slice of devices. It will rediscover every time the enumerateInterval setting on the manager is passed.

func (*Manager) FindDevice

func (mgr *Manager) FindDevice(sn string) (*Device, bool)

FindDevice returns the device by the given serial number and true, or else it will return nil device and false.

func (*Manager) HasDevice

func (mgr *Manager) HasDevice(serialNumber string) bool

HasDevice returns true if the manager contains the device with the given serial number

func (*Manager) Interrogate

func (mgr *Manager) Interrogate()

Interrogate will interrogate discovered devices for their readings and update their local shadow.

func (*Manager) OnDeviceUpdated

func (mgr *Manager) OnDeviceUpdated(callback func(Device))

OnDeviceUpdated allows a callback to be fired whenever a device is updated

type MetricsIClimate

type MetricsIClimate struct {
	AirTemp        float64 `json:"air_temp"`
	DayNight       string  `json:"day_night"`
	FailSafeAlarms bool    `json:"fail_safe_alarms"`
	Light          float64 `json:"light"`
	PowerFail      bool    `json:"power_fail"`
	Rh             float64 `json:"rh"`
	Vpd            float64 `json:"vpd"`
	Co2            float64 `json:"co2"`
	Intruder       bool    `json:"intruder_alarm"`
	OutsideTemp    float64 `json:"outside_temp_sensor"`
	EnviroAirTemp1 float64 `json:"enviro_air_temp_1"`
	EnviroAirTemp2 float64 `json:"enviro_air_temp_2"`
	EnviroRH1      float64 `json:"enviro_rh_1"`
	EnviroRH2      float64 `json:"enviro_rh_2"`
	EnviroCO21     float64 `json:"enviro_co2_1"`
	EnviroCO22     float64 `json:"enviro_co2_2"`
	EnviroLight1   float64 `json:"enviro_light_1"`
	EnviroLight2   float64 `json:"enviro_light_2"`
}

MetricsIClimate represents the Metrics data structure from an IntelliClimate packet

type MetricsIDose

type MetricsIDose struct {
	Ec      float64 `json:"ec"`
	NutTemp float64 `json:"nut_temp"`
	PH      float64 `json:"pH"`
}

MetricsIDose represents the Metrics data structure from an IntelliDose packet

type MinimumAirChangeRulesIClimate

type MinimumAirChangeRulesIClimate struct {
	DaySecs        int `json:"day_secs"`
	EveryDayMins   int `json:"every_day_mins"`
	NightSecs      int `json:"night_secs"`
	EveryNightMins int `json:"every_night_mins"`
}

MinimumAirChangeRulesIClimate represents the MinimumAirChangeRules data structure from an IntelliClimate packet

type ModeAlarmHistoryIClimate

type ModeAlarmHistoryIClimate struct {
	Alarms []AlarmsIClimate `json:"alarms"`
	Mode   []ModeIClimate   `json:"mode"`
}

ModeAlarmHistoryIClimate represents the ModeAlarmHistory data structure from an IntelliClimate packet

type ModeIClimate

type ModeIClimate struct {
	Description string `json:"description"`
	Timestamp   string `json:"timestamp"`
}

ModeIClimate represents the Mode data structure from an IntelliClimate packet

type NutTempIDose

type NutTempIDose struct {
	Enabled bool    `json:"enabled"`
	Max     float64 `json:"max"`
	Min     float64 `json:"min"`
}

NutTempIDose represents the NutTemp data structure from an IntelliDose packet

type NutrientIDose

type NutrientIDose struct {
	Detent  byte         `json:"detent"`
	Ec      EcIDose      `json:"ec"`
	NutTemp NutTempIDose `json:"nut_temp"`
	Ph      PhIDose      `json:"ph"`
}

NutrientIDose represents the Nutrient data structure from an IntelliDose packet

type PhIDose

type PhIDose struct {
	Enabled bool    `json:"enabled"`
	Max     float64 `json:"max"`
	Min     float64 `json:"min"`
}

PhIDose represents the Ph data structure from an IntelliDose packet

type PowerFailIClimate

type PowerFailIClimate struct {
	Enabled bool `json:"enabled"`
	Page    bool `json:"page"`
}

PowerFailIClimate represents the PowerFail data structure from an IntelliClimate packet

type PowerFailureIClimate

type PowerFailureIClimate struct {
	SwLightsAfterCoolDown byte `json:"sw_lights_after_cool_down"`
}

PowerFailureIClimate represents the PowerFailure data structure from an IntelliClimate packet

type PurgingRulesIClimate

type PurgingRulesIClimate struct {
	PurgeMins byte `json:"purge_mins"`
	PurgeMin  byte `json:"purge_min"`
	PurgeMax  byte `json:"purge_max"`
}

PurgingRulesIClimate represents the PurgingRules data structure from an IntelliClimate packet

type ReadingsIClimate

type ReadingsIClimate struct {
	AirTemp        AirTempIClimate        `json:"air_temp"`
	Detent         byte                   `json:"detent"`
	FailSafeAlarms FailSafeAlarmsIClimate `json:"fail_safe_alarms"`
	Light          LightIClimate          `json:"light"`
	PowerFail      PowerFailIClimate      `json:"power_fail"`
	Rh             RhIClimate             `json:"rh"`
	CO2            CO2IClimate            `json:"co2"`
	IntruderAlarm  IntruderAlarmIClimate  `json:"intruder"`
}

ReadingsIClimate represents the Readings data structure from an IntelliClimate packet

type ReportedIClimate

type ReportedIClimate struct {
	Config    ConfigIClimate  `json:"config"`
	Metrics   MetricsIClimate `json:"metrics"`
	Status    StatusIClimate  `json:"status"`
	Source    string          `json:"source"`
	Device    string          `json:"device"`
	Timestamp int64           `json:"timestamp"`
	Connected bool            `json:"connected"`
}

ReportedIClimate represents the Reported data structure from an IntelliClimate packet

type ReportedIDose

type ReportedIDose struct {
	Config    ConfigIDose  `json:"config"`
	Metrics   MetricsIDose `json:"metrics"`
	Status    StatusIDose  `json:"status"`
	Source    string       `json:"source"`
	Device    string       `json:"device"`
	Timestamp int64        `json:"timestamp"`
	Connected bool         `json:"connected"`
}

ReportedIDose represents the Reported data structure from an IntelliDose packet

type RhIClimate

type RhIClimate struct {
	Enabled bool `json:"enabled"`
	Max     byte `json:"max"`
	Min     byte `json:"min"`
	Page    bool `json:"page"`
	Target  byte `json:"target"`
}

RhIClimate represents the Rh data structure from an IntelliClimate packet

type RulesIClimate

type RulesIClimate struct {
	HumidifyTempRules     HumidifyTempRulesIClimate     `json:"humidify_temp_rules"`
	MinimumAirChangeRules MinimumAirChangeRulesIClimate `json:"minimum_air_change_rules"`
	AllowAirCon           bool                          `json:"allow_air_con"`
	SetpointRamping       SetpointRampingIClimate       `json:"setpoint_ramping"`
	AirCon                AirConIClimate                `json:"air_con"`
	CO2Rules              CO2RulesIClimate              `json:"co2_rules"`
	Humidification        HumidificationIClimate        `json:"humidification"`
	Lighting              LightingIClimate              `json:"lighting"`
	FoggingRules          FoggingRulesIClimate          `json:"fogging_rules"`
	PurgingRules          PurgingRulesIClimate          `json:"purging_rules"`
}

RulesIClimate represents the Rules data structure from an IntelliClimate packet

type SetPointIClimate

type SetPointIClimate struct {
	LightBank     string  `json:"light_bank"`
	LightOn       int     `json:"light_on"`
	LightDuration int     `json:"light_duration"`
	DayTemp       float64 `json:"day_temp"`
	NightDropDeg  float64 `json:"night_drop_deg"`
	RhDay         int     `json:"rh_day"`
	RhMax         int     `json:"rh_max"`
	RhNight       int     `json:"rh_night"`
	CO2           int     `json:"co2"`
}

SetPointIClimate represents the SetPoint data structure from an IntelliClimate packet

type SetPointsIDose

type SetPointsIDose struct {
	Nutrient      float64 `json:"nutrient"`
	NutrientNight float64 `json:"nutrient_night"`
	PhDosing      string  `json:"ph_dosing"`
	Ph            float64 `json:"ph"`
}

SetPointsIDose represents the SetPoints data structure from an IntelliDose packet

type SetpointRampingIClimate

type SetpointRampingIClimate struct {
	RampSetpoints byte `json:"ramp_setpoints"`
}

SetpointRampingIClimate represents the SetpointRamping data structure from an IntelliClimate packet

type StateIClimate

type StateIClimate struct {
	Reported ReportedIClimate `json:"reported"`
}

StateIClimate represents the State data structure from an IntelliClimate packet

type StateIDose

type StateIDose struct {
	Reported ReportedIDose `json:"reported"`
}

StateIDose represents the State data structure from an IntelliDose packet

type States

type States struct {
	// contains filtered or unexported fields
}

States represents the different state packets recieved over USB

type StatisticsIClimate

type StatisticsIClimate struct {
	Lights float64 `json:"lights"`
	CO2    float64 `json:"CO2"`
}

StatisticsIClimate represents the Statistics data structure from an IntelliClimate packet

type StatusIClimate

type StatusIClimate struct {
	Readings         ReadingsIClimate         `json:"readings"`
	Statistics       StatisticsIClimate       `json:"statistics"`
	ModeAlarmHistory ModeAlarmHistoryIClimate `json:"mode_alarm_history"`
	SetPoints        []SetPointIClimate       `json:"set_points"`
	Status           []StatusStatusIClimate   `json:"status"`
}

StatusIClimate represents the Status data structure from an IntelliClimate packet

type StatusIDose

type StatusIDose struct {
	General   GeneralStatusIDose  `json:"general"`
	Nutrient  NutrientIDose       `json:"nutrient"`
	SetPoints SetPointsIDose      `json:"set_points"`
	Status    []StatusStatusIDose `json:"status"`
	Units     UnitsIDose          `json:"units"`
}

StatusIDose represents the Status data structure from an IntelliDose packet

type StatusStatusIClimate

type StatusStatusIClimate struct {
	Active    bool   `json:"active"`
	Enabled   bool   `json:"enabled"`
	ForceOn   bool   `json:"force_on"`
	Function  string `json:"function"`
	Installed bool   `json:"installed"`
}

StatusStatusIClimate represents the StatusStatus data structure from an IntelliClimate packet

type StatusStatusIDose

type StatusStatusIDose struct {
	Active   bool   `json:"active"`
	Enabled  bool   `json:"enabled"`
	ForceOn  bool   `json:"force_on"`
	Function string `json:"function"`
}

StatusStatusIDose represents the StatusStatus data structure from an IntelliDose packet

type SwitchingOffsetsIClimate

type SwitchingOffsetsIClimate struct {
	AirConditionerOn  float64 `json:"air_conditioner_on"`
	AirConditionerOff float64 `json:"air_conditioner_off"`
	CO2On             float64 `json:"co2_on"`
	CO2Off            float64 `json:"co2_off"`
	DehumidifierOn    float64 `json:"dehumidifier_on"`
	DehumidifierOff   float64 `json:"dehumidifier_off"`
	FansOn            float64 `json:"fans_on"`
	FansOff           float64 `json:"fans_off"`
	HeaterOn          float64 `json:"heater_on"`
	HeaterOff         float64 `json:"heater_off"`
	HumidifierOn      float64 `json:"humidifier_on"`
	HumidifierOff     float64 `json:"humidifier_off"`
	PulsedFoggerOn    float64 `json:"pulsed_fogger_on"`
	PulsedFoggerOff   float64 `json:"pulsed_fogger_off"`
}

SwitchingOffsetsIClimate represents the SwitchingOffsets data structure from an IntelliClimate packet

type TimesIDose

type TimesIDose struct {
	DayStart int `json:"day_start"`
	DayEnd   int `json:"day_end"`
}

TimesIDose represents the Times data structure from an IntelliDose packet

type UnitsIClimate

type UnitsIClimate struct {
	DateFormat  string `json:"date_format"`
	Temperature string `json:"temperature"`
}

UnitsIClimate represents the Units data structure from an IntelliClimate packet

type UnitsIDose

type UnitsIDose struct {
	DateFormat              string `json:"date_format"`
	Temperature             string `json:"temperature"`
	Ec                      string `json:"ec"`
	TdsConversationStandart int    `json:"tds_conversation_standart"`
}

UnitsIDose represents the Units data structure from an IntelliDose packet

Jump to

Keyboard shortcuts

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