action netatmo_devicelist { label: "devicelist" description: "The method devicelist returns the list of devices owned by the user, and their modules.\nA device is identified by its _id (which is its mac address) and each device may have one, several or no modules, also identified by an _id.\n" provider: netatmo method: GET path: "/devicelist" encoding: json input: { type: "object" properties: { app_type: { type: "string" enum: ["app_thermostat", "app_station"] } device_id: { type: "string" } get_favorites: { type: "boolean" } } additionalProperties: false } output: { properties: { body: { properties: { devices: { type: "array" items: { properties: { _id: { type: "string" } behavior: { type: "integer" format: "int32" } cipher_id: { type: "string" } 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: { properties: { sec: { type: "integer" format: "int32" } usec: { type: "integer" format: "int32" } } } firmware: { type: "integer" format: "int32" } first_pid_avail: { type: "boolean" } heating_system: { properties: { heating_energy: { type: "string" } heating_system_window_seen: { type: "boolean" } } } house_model: { properties: { algo_type: { type: "string" } ca: { properties: { so: { type: "string" } te: { type: "number" format: "double" } ti: { type: "integer" format: "int32" } } } ext_temps: { type: "object" } first_anticipate_avail: { type: "boolean" } first_pid_avail: { type: "boolean" } gefs: { properties: { lag_down: { type: "integer" format: "int32" } lag_up: { type: "integer" format: "int32" } off_overshoot: { type: "number" format: "float" } on_overshoot: { type: "number" format: "float" } pk: { type: "integer" format: "int32" } tau: { type: "integer" format: "int32" } } } in_use: { type: "string" } last_compute_try: { type: "object" additionalProperties: true } link_station: { properties: { Temperature: { type: "number" format: "float" } ext: { type: "string" } mac: { type: "string" } } } pid_algo: { properties: { gain: { type: "integer" format: "int32" } period: { type: "integer" format: "int32" } td: { type: "integer" format: "int32" } ti: { type: "integer" format: "int32" } } } prefered_algo_type: { type: "string" } simple_algo: { properties: { high_deadband: { type: "integer" format: "int32" } } } station: { type: "object" additionalProperties: true } station_firsttime_anticipate: { type: "boolean" } time: { type: "object" additionalProperties: true } time_algo_changed: { type: "integer" format: "int32" } time_pid_computed: { type: "integer" format: "int32" } } } hw_version: { type: "integer" format: "int32" } ip: { type: "string" } last_fw_update: { type: "integer" format: "int32" } last_radio_store: { type: "integer" format: "int32" } last_status_store: { type: "integer" format: "int32" } last_upgrade: { type: "integer" format: "int32" } module_name: { type: "string" } modules: { type: "array" description: "It lists which modules are linked with this device" items: { type: "string" } } new_feature_avail: { type: "boolean" } 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" } } } public_ext_data: { type: "boolean" } setpoint: { type: "object" } setpoint_default_duration: { type: "integer" format: "int32" } setpoint_order: { type: "object" } station_name: { type: "string" } therm_program: { type: "object" } therm_program_backup: { type: "object" } therm_program_order: { type: "object" } 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" } udp_conn: { type: "boolean" } user_owner: { type: "array" items: { type: "string" } } 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" } } } } 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" } } date_setup: { type: "object" additionalProperties: true } firmware: { type: "integer" format: "int32" } last_message: { type: "integer" format: "int32" } last_seen: { type: "integer" format: "int32" } main_device: { type: "string" } module_name: { type: "string" } public_ext_data: { type: "boolean" } 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" } therm_orientation: { type: "integer" format: "int32" } therm_relay_cmd: { type: "integer" format: "int32" } 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" } } } } } } status: { type: "string" } time_exec: { type: "number" format: "double" } time_server: { type: "integer" format: "int32" } } } }