Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { Dc *DeviceCollection // contains filtered or unexported fields }
Client use to make request to Netatmo API
func (*Client) Read ¶
func (c *Client) Read() (*DeviceCollection, error)
GetStations returns the list of stations owned by the user, and their modules
type Config ¶
Config is used to specify credential to Netatmo API ClientID : Client ID from netatmo app registration at http://dev.netatmo.com/dev/listapps ClientSecret : Client app secret Username : Your netatmo account username Password : Your netatmo account password
type DashboardData ¶
type DashboardData struct { Temperature *float32 `json:"Temperature,omitempty"` // use pointer to detect ommitted field by json mapping MaxTemp *float32 `json:"max_temp,omitempty"` MinTemp *float32 `json:"min_temp,omitempty"` TempTrend string `json:"temp_trend,omitempty"` Humidity *int32 `json:"Humidity,omitempty"` CO2 *int32 `json:"CO2,omitempty"` Noise *int32 `json:"Noise,omitempty"` Pressure *float32 `json:"Pressure,omitempty"` AbsolutePressure *float32 `json:"AbsolutePressure,omitempty"` PressureTrend string `json:"pressure_trend,omitempty"` Rain *float32 `json:"Rain,omitempty"` Rain1Hour *float32 `json:"sum_rain_1,omitempty"` Rain1Day *float32 `json:"sum_rain_24,omitempty"` WindAngle *int32 `json:"WindAngle,omitempty"` WindStrength *int32 `json:"WindStrength,omitempty"` GustAngle *int32 `json:"GustAngle,omitempty"` GustStrength *int32 `json:"GustStrength,omitempty"` LastMeasure *int64 `json:"time_utc"` }
DashboardData is used to store sensor values Temperature : Last temperature measure @ LastMeasure (in °C) Humidity : Last humidity measured @ LastMeasure (in %) CO2 : Last Co2 measured @ time_utc (in ppm) Noise : Last noise measured @ LastMeasure (in db) Pressure : Last Sea level pressure measured @ LastMeasure (in mb) AbsolutePressure : Real measured pressure @ LastMeasure (in mb) Rain : Last rain measured (in mm) Rain1Hour : Amount of rain in last hour Rain1Day : Amount of rain today WindAngle : Current 5 min average wind direction @ LastMeasure (in °) WindStrength : Current 5 min average wind speed @ LastMeasure (in km/h) GustAngle : Direction of the last 5 min highest gust wind @ LastMeasure (in °) GustStrength : Speed of the last 5 min highest gust wind @ LastMeasure (in km/h) LastMeasure : Contains timestamp of last data received
type Device ¶
type Device struct { ID string `json:"_id"` StationName string `json:"station_name"` ModuleName string `json:"module_name"` BatteryPercent *int32 `json:"battery_percent,omitempty"` WifiStatus *int32 `json:"wifi_status,omitempty"` RFStatus *int32 `json:"rf_status,omitempty"` Type string DashboardData DashboardData `json:"dashboard_data"` Place Place `json:"place"` //DataType []string `json:"data_type"` LinkedModules []*Device `json:"modules"` }
Device is a station or a module ID : Mac address StationName : Station name (only for station) ModuleName : Module name BatteryPercent : Percentage of battery remaining WifiStatus : Wifi status per Base station RFStatus : Current radio status per module Type : Module type :
"NAMain" : for the base station "NAModule1" : for the outdoor module "NAModule4" : for the additionnal indoor module "NAModule3" : for the rain gauge module "NAModule2" : for the wind gauge module
DashboardData : Data collection from device sensors DataType : List of available datas LinkedModules : Associated modules (only for station)
type DeviceCollection ¶
type DeviceCollection struct { Body struct { Devices []*Device `json:"devices"` } }
DeviceCollection hold all devices from netatmo account
func (*DeviceCollection) Devices ¶
func (dc *DeviceCollection) Devices() []*Device
Devices returns the list of devices
func (*DeviceCollection) Stations ¶
func (dc *DeviceCollection) Stations() []*Device
Stations is an alias of Devices