action netatmo_getstationsdata { label: "getstationsdata" description: "The method getstationsdata Returns data from a user's Weather Stations (measures and device specific data)." provider: netatmo method: GET path: "/getstationsdata" encoding: json input: { type: "object" properties: { device_id: { type: "string" } get_favorites: { type: "boolean" } } additionalProperties: false } output: { properties: { body: { properties: { devices: { type: "array" items: { properties: { _id: { type: "string" } cipher_id: { type: "string" } co2_calibrating: { type: "boolean" } dashboard_data: { properties: { AbsolutePressure: { type: "number" format: "float" description: "Real measured pressure @ time_utc (in mb)" } BoilerOff: { type: "integer" format: "int32" } BoilerOn: { type: "integer" format: "int32" } CO2: { type: "number" format: "float" description: "Last Co2 measured @ time_utc (in ppm)" } GustAngle: { type: "integer" format: "int32" description: "Direction of the last 5 min highest gust wind" } GustStrength: { type: "integer" format: "int32" description: "Speed of the last 5 min highest gust wind" } Humidity: { type: "number" format: "float" description: "Last humidity measured @ time_utc (in %)" } Noise: { type: "number" format: "float" description: "Last noise measured @ time_utc (in db)" } Pressure: { type: "number" format: "float" description: "Last Sea level pressure measured @ time_utc (in mb)" } Rain: { type: "number" format: "float" description: "Last rain measured (in mm)" } Temperature: { type: "number" format: "float" description: "Last temperature measure @ time_utc (in °C)" } WindAngle: { type: "integer" format: "int32" description: "Current 5 min average wind direction measured @ time_utc (in °)" } WindStrength: { type: "integer" format: "int32" description: "Current 5 min average wind speed measured @ time_utc (in km/h)" } date_max_temp: { type: "integer" format: "int32" description: "Timestamp when max temperature was measured" } date_max_wind_str: { type: "integer" format: "int32" description: "Timestamp when max wind strength was measured" } date_min_temp: { type: "integer" format: "int32" description: "Timestamp when min temperature was measured" } device_id: { type: "number" format: "float" } health_idx: { type: "integer" format: "int32" description: "Current health index: 0 = Healthy, 1 = Fine, 2 = Fair, 3 = Poor, 4 = Unhealthy" } max_temp: { type: "number" format: "float" description: "Min temperature of the day (measured @ date_min_temp)" } max_wind_str: { type: "integer" format: "int32" } min_temp: { type: "number" format: "float" description: "Max temperature of the day (measured @ date_max_temp)" } pressure_trend: { type: "string" description: "Pressure evolution trend" } sum_rain_1: { type: "number" format: "float" description: "Amount of rain in last hour" } sum_rain_24: { type: "number" format: "float" description: "Amount of rain today" } temp_trend: { type: "string" description: "Temperature evolution trend" } time_utc: { type: "integer" format: "int32" } } } data_type: { type: "array" items: { type: "string" } } date_setup: { type: "integer" format: "int32" } favorite: { type: "boolean" description: "true when the device is a user favorite and not owned by them" } firmware: { type: "integer" format: "int32" } last_setup: { type: "integer" format: "int32" } last_status_store: { type: "integer" format: "int32" } last_upgrade: { type: "integer" format: "int32" } module_name: { type: "string" } modules: { type: "array" items: { properties: { _id: { type: "string" } battery_percent: { type: "integer" format: "int32" description: "It contains the current battery level in percentage." } battery_vp: { type: "integer" format: "int32" description: "It contains the current battery status. The threshold depends on the kind of module, below is the list of the different threshold to take into account according the module type.\n\"Indoor module Battery range: 6000 ... 4200\" |\nINDOOR_BATTERY_LEVEL_FULL = 5640\nINDOOR_BATTERY_LEVEL_HIGH = 5280\nINDOOR_BATTERY_LEVEL_MEDIUM = 4920\nINDOOR_BATTERY_LEVEL_LOW = 4560\n\"Below 4560: very low\" |\n \n\"Raingauge and outdoor module Battery range: 6000 ... 3600\" |\nBATTERY_LEVEL_FULL = 5500\nBATTERY_LEVEL_HIGH = 5000\nBATTERY_LEVEL_MEDIUM = 4500\nBATTERY_LEVEL_LOW = 4000\n\"Below 4000: very low\" |\n \n\"Thermostat Battery range: 4500 ... 3000\" |\nTHERMOSTAT_BATTERY_LEVEL_FULL = 4100\nTHERMOSTAT_BATTERY_LEVEL_HIGH = 3600\nTHERMOSTAT_BATTERY_LEVEL_MEDIUM = 3300\nTHERMOSTAT_BATTERY_LEVEL_LOW = 3000\n\"Below 3000: very low\"\n" } dashboard_data: { type: "object" additionalProperties: true } data_type: { type: "array" items: { type: "string" } } firmware: { type: "integer" format: "int32" } last_message: { type: "integer" format: "int32" } last_seen: { type: "integer" format: "int32" } last_setup: { type: "integer" format: "int32" } module_name: { type: "string" } reachable: { type: "boolean" description: "true when the station was seen by the Netatmo cloud within the last 4 hours" } rf_status: { type: "integer" format: "int32" description: "\"It contains the current radio status. The different thresholds to take into account are :\" |\nRADIO_THRESHOLD_SIGNAL_LOW = 90 \nRADIO_THRESHOLD_SIGNAL_MEDIUM = 80\nRADIO_THRESHOLD_SIGNAL_HIGH = 70\nRADIO_THRESHOLD_SIGNAL_FULL = 60\n" } type: { type: "string" description: "Included in every device or module. It defines the type of the device/module. Its values are among :\nNAMain : for the base station\nNAModule1 : for the outdoor module\nNAModule4 : for the additionnal indoor module\nNAModule3 : for the rain gauge module\nNAPlug : for the thermostat relay/plug\nNATherm1 : for the thermostat module\n" } } } } place: { properties: { altitude: { type: "number" format: "float" } city: { type: "string" } country: { type: "string" } from_ip: { type: "boolean" } improveLocProposed: { type: "boolean" } location: { type: "array" items: { type: "number" format: "double" } } timezone: { type: "string" } trust_location: { type: "boolean" } } } reachable: { type: "boolean" description: "true when the station was seen by the Netatmo cloud within the last 4 hours" } read_only: { type: "boolean" description: "true when the user was invited to (or has favorited) a station, false when the user owns it" } station_name: { type: "string" } type: { type: "string" description: "Included in every device or module. It defines the type of the device/module. Its values are among :\nNAMain : for the base station\nNAModule1 : for the outdoor module\nNAModule4 : for the additionnal indoor module\nNAModule3 : for the rain gauge module\nNAPlug : for the thermostat relay/plug\nNATherm1 : for the thermostat module\n" } wifi_status: { type: "integer" format: "int32" description: "It contains the current wifi status. The different thresholds to take into account are\nRSSI_THRESHOLD_0 = 86 bad signal\nRSSI_THRESHOLD_1 = 71 middle quality signal\nRSSI_THRESHOLD_2 = 56 good signal\n" } } } } user: { properties: { _id: { type: "string" } administrative: { properties: { country: { type: "string" description: "user country" } feel_like_algo: { type: "string" description: "algorithm used to compute feel like temperature, 0 -> humidex, 1 -> heat-index" } lang: { type: "string" description: "user locale" } pressureunit: { type: "string" description: "0 -> mbar, 1 -> inHg, 2 -> mmHg" } reg_locale: { type: "string" description: "user regional preferences (used for displaying date)" } unit: { type: "string" description: "0 -> metric system, 1 -> imperial system" } windunit: { type: "string" description: "0 -> kph, 1 -> mph, 2 -> ms, 3 -> beaufort, 4 -> knot" } } } date_creation: { properties: { sec: { type: "integer" format: "int32" } usec: { type: "integer" format: "int32" } } } devices: { type: "array" description: "An array of string containing the ids of the devices owned by the user" items: { type: "string" } } friend_devices: { type: "array" description: "An array of string containing the ids of the devices on which the user has a \"guest\" access\n" items: { type: "string" } } mail: { type: "string" } timeline_not_read: { type: "integer" format: "int32" } timeline_size: { type: "integer" format: "int32" } } } } } status: { type: "string" } time_exec: { type: "number" format: "double" } time_server: { type: "integer" format: "int32" } } } }