openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 57.7 kB
JSON
{"openapi":"3.0.0","servers":[{"url":"https://api.netatmo.net/api"}],"info":{"contact":{"email":"contact-api@netatmo.com","name":"Netatmo"},"description":"<h3>Welcome to the Netatmo swagger on-line documentation !</h3>\nThis site is a complement to the official <a href=\"https://dev.netatmo.com/\">Netatmo developper documentation</a> using swagger to bring interactivity and easy testing of requests with the \"try it\" button (authenticate with the authorization code OAuth2 flow by clicking the authenticate button in the methods). You can find the source code for this site can be found in the project <a href=\"https://github.com/cbornet/netatmo-swagger-ui\">netatmo-swagger-ui</a>. You can also use the online <a href=\"./swagger.json\">swagger declaration</a> file to generate code or static documentation (see <a href=\"https://github.com/cbornet/netatmo-swagger-api\">netatmo-swagger-api</a>).\n","license":{"name":"Netatmo : Terms of Service","url":"https://dev.netatmo.com/dev/resources/legal/introduction"},"termsOfService":"https://dev.netatmo.com/dev/resources/legal/introduction","title":"Netatmo","version":"1.1.5","x-apiClientRegistration":{"url":"https://dev.netatmo.com/dev/createanapp"},"x-apisguru-categories":["iot"],"x-logo":{"url":"https://twitter.com/netatmo/profile_image?size=original"},"x-origin":[{"format":"openapi","url":"https://raw.githubusercontent.com/cbornet/netatmo-swagger-decl/master/spec/swagger.yaml","version":"3.0"}],"x-providerName":"netatmo.net","x-unofficialSpec":true},"externalDocs":{"description":"Netatmo reference API documentation","url":"https://dev.netatmo.com/dev/resources/technical/reference"},"tags":[{"description":"Weather station specific methods","name":"station"},{"description":"Healthy Home Coach specific methods","name":"healthyhomecoach"},{"description":"Thermostat specific methods","name":"thermostat"},{"description":"Welcome specific methods","name":"welcome"},{"description":"Public stations specific methods","name":"public"},{"description":"Partner API specific methods","name":"partner"},{"description":"These methods are no longer maintained nor supported","name":"deprecated"}],"paths":{"/addwebhook":{"get":{"description":"Links a callback url to a user.\n","operationId":"addwebhook","parameters":[{"description":"Your webhook callback url","in":"query","name":"url","required":true,"schema":{"type":"string"}},{"description":"Webhooks are only available for Welcome, enter app_camera.","in":"query","name":"app_type","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAWelcomeWebhookResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":[]},{"password_oauth":[]}],"tags":["welcome"]}},"/createnewschedule":{"post":{"description":"The method createnewschedule creates a new schedule stored in the backup list.","operationId":"createnewschedule","parameters":[{"description":"The relay id","in":"query","name":"device_id","required":true,"schema":{"type":"string"}},{"description":"The thermostat id","in":"query","name":"module_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"text/plain":{"schema":{"$ref":"#/components/schemas/NAThermProgram"}}},"description":"The thermostat program (zones and timetable)","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NANewScheduleResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["write_thermostat"]},{"password_oauth":["write_thermostat"]}],"tags":["thermostat"]}},"/devicelist":{"get":{"deprecated":true,"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","operationId":"devicelist","parameters":[{"description":"Defines which device type will be returned by devicelist. It could be app_thermostat or app_station (by default if not provided)","in":"query","name":"app_type","schema":{"enum":["app_thermostat","app_station"],"type":"string"}},{"description":"Specify a device_id if you want to retrieve only this device informations.","in":"query","name":"device_id","schema":{"type":"string"}},{"description":"When set to \"true\", the favorite devices of the user are returned. This flag is available only if the devices requested are Weather Stations.","in":"query","name":"get_favorites","required":false,"schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NADeviceListResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["read_thermostat","read_station"]},{"password_oauth":["read_thermostat","read_station"]}],"tags":["deprecated"]}},"/dropwebhook":{"get":{"description":"Dissociates a webhook from a user.\n","operationId":"dropwebhook","parameters":[{"description":"For Welcome, use app_camera","in":"query","name":"app_type","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAWelcomeWebhookResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":[]},{"password_oauth":[]}],"tags":["welcome"]}},"/getcamerapicture":{"get":{"description":"Returns the snapshot associated to an event.\n","operationId":"getcamerapicture","parameters":[{"description":"id of the image (can be retrieved as 'id' in 'face' in Gethomedata, or as 'id' in 'snapshot' in Getnextevents, Getlasteventof and Geteventsuntil)","in":"query","name":"image_id","required":true,"schema":{"type":"string"}},{"description":"Security key to access snapshots.","in":"query","name":"key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"format":"byte","type":"string"}}},"description":"Successful response"}},"security":[{"code_oauth":[]},{"password_oauth":[]}],"tags":["welcome"]}},"/geteventsuntil":{"get":{"description":"Returns the snapshot associated to an event.\n","operationId":"geteventsuntil","parameters":[{"description":"ID of the Home you're interested in","in":"query","name":"home_id","required":true,"schema":{"type":"string"}},{"description":"Your request will retrieve all the events until this one","in":"query","name":"event_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAWelcomeEventResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["access_camera","read_camera"]},{"password_oauth":["access_camera","read_camera"]}],"tags":["welcome"]}},"/gethomecoachsdata":{"get":{"description":"The method gethomecoachsdata Returns data from a user Healthy Home Coach Station (measures and device specific data).","operationId":"gethomecoachsdata","parameters":[{"description":"Id of the device you want to retrieve information of","in":"query","name":"device_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAHealthyHomeCoachDataResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["read_homecoach"]},{"password_oauth":["read_homecoach"]}],"tags":["healthyhomecoach"]}},"/gethomedata":{"get":{"description":"Returns information about users homes and cameras.\n","operationId":"gethomedata","parameters":[{"description":"Specify if you're looking for the events of a specific Home.","in":"query","name":"home_id","schema":{"type":"string"}},{"description":"Number of events to retrieve. Default is `30`.","in":"query","name":"size","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAWelcomeHomeDataResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["access_camera","read_camera"]},{"password_oauth":["access_camera","read_camera"]}],"tags":["welcome"]}},"/getlasteventof":{"get":{"description":"Returns most recent events.\n","operationId":"getlasteventof","parameters":[{"description":"ID of the Home you're interested in","in":"query","name":"home_id","required":true,"schema":{"type":"string"}},{"description":"Your request will retrieve all events of the given home until the most recent event of the given person","in":"query","name":"person_id","required":true,"schema":{"type":"string"}},{"description":"Number of events to retrieve. Default is 30.","in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAWelcomeEventResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["access_camera","read_camera"]},{"password_oauth":["access_camera","read_camera"]}],"tags":["welcome"]}},"/getmeasure":{"get":{"description":"The method getmeasure returns the measurements of a device or a module.\n","operationId":"getmeasure","parameters":[{"description":"Id of the device whose module's measurements you want to retrieve. This _id can be found in the user's devices field.","in":"query","name":"device_id","required":true,"schema":{"type":"string"}},{"description":"If you don't specify any module_id you will retrieve the device's measurements. If you specify a module_id you will retrieve the module's measurements.","in":"query","name":"module_id","schema":{"type":"string"}},{"description":"Defines the time interval between two measurements.\nPossible values :\nmax -> every value stored will be returned\n30min -> 1 value every 30 minutes\n1hour -> 1 value every hour\n3hours -> 1 value every 3 hours\n1day -> 1 value per day\n1week -> 1 value per week\n1month -> 1 value per month\n","in":"query","name":"scale","required":true,"schema":{"enum":["max","30min","1hour","3hours","1day","1week","1month"],"type":"string"}},{"description":"Measures you are interested in. Data you can request depends on the scale.\n**For Weather Station:**\n * max -> Temperature (°C), CO2 (ppm), Humidity (%), Pressure (mbar), Noise (db), Rain (mm), WindStrength (km/h), WindAngle (angles), Guststrength (km/h), GustAngle (angles)\n * 30min, 1hour, 3hours -> Same as above + min_temp, max_temp, min_hum, max_hum, min_pressure, max_pressure, min_noise, max_noise, sum_rain, date_max_gust\n * 1day, 1week, 1month -> Same as above + date_min_temp, date_max_temp, date_min_hum, date_max_hum, date_min_pressure, date_max_pressure, date_min_noise, date_max_noise, date_min_co2, date_max_co2\n\n**For Thermostat:**\n * max -> temperature (°C), sp_temperature (°C), boileron (sec), boileroff (sec)\n * 30min, 1hour, 3hours -> temperature, sp_temperature, min_temp,\nmax_temp, sum_boiler_on, sum_boiler_off\n * 1day, 1week, 1month -> temperature, min_temp, date_min_temp,\nmax_temp, sum_boiler_on, sum_boiler_off\n","explode":false,"in":"query","name":"type","required":true,"schema":{"items":{"enum":["Temperature","CO2","Humidity","Pressure","Noise","Rain","WindStrength","WindAngle","Guststrength","GustAngle","Sp_Temperature","BoilerOn","BoilerOff","min_temp","date_min_temp","max_temp","date_max_temp","min_hum","date_min_hum","max_hum","date_max_hum","min_pressure","date_min_pressure","max_pressure","date_max_pressure","min_noise","date_min_noise","max_noise","date_max_noise","date_min_co2","date_max_co2","date_max_gust","sum_rain","sum_boiler_on","sum_boiler_off"],"type":"string"},"type":"array"},"style":"form"},{"description":"Starting timestamp (utc) of the requested measurements.\nPlease note measurement retrieving is limited to 1024 measurements.\n","in":"query","name":"date_begin","schema":{"format":"int32","type":"integer"}},{"description":"Ending timestamp (utc) of the request measurements.\nIf you want only the last measurement, do not provide date_begin, and set date_end to `last`.\n","in":"query","name":"date_end","schema":{"type":"string"}},{"description":"Limits the number of measurements returned (default & max is 1024)","in":"query","name":"limit","schema":{"format":"int32","maximum":1024,"type":"integer"}},{"description":"Allows you to choose the format of the answer.\nIf you build a mobile app and bandwith usage is an issue, use `optimize = true`.\nUse `optimize = false`, for an easier parse. In this case, values are indexed by sorted timestamp.\nExample of un-optimized response :\n```json\n{\"status\": \"ok\", \n \"body\": {\n \"1347575400\": [18.3,39],\n \"1347586200\": [20.6,48]\n },\n\"time_exec\": 0.012136936187744}\n```\nIf optimize is set true, measurements are returned as an array of series of regularly spaced measurements. Each series is defined by a beginning time beg_time and a step between measurements, step_time:\n```json\n{\"status\": \"ok\",\n \"body\": [\n {\"beg_time\": 1347575400,\n \"step_time\": 10800,\n \"value\": \n [[18.3,39],\n [ 20.6,48]]\n }],\n\"time_exec\": 0.014238119125366}\n```\nDefault value is `true`.\n","in":"query","name":"optimize","schema":{"type":"boolean"}},{"description":"In scales higher than max, since the data is aggregated, the timestamps returned are by default offset by +(scale/2).\nFor instance, if you ask for measurements at a daily scale, you will receive data timestamped at 12:00 if real_time is set to `false` (default case), and timestamped at 00:00 if real_time is set to `true`.\nNB : The servers always store data with real_time set to `true` and data are offset by this parameter AFTER having being time-filtered, thus you could have data after date_end if real_time is set to `false`.\n","in":"query","name":"real_time","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAMeasureResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["read_thermostat","read_station"]},{"password_oauth":["read_thermostat","read_station"]}],"tags":["station","thermostat","partner","public"]}},"/getnextevents":{"get":{"description":"Returns previous events.\n","operationId":"getnextevents","parameters":[{"description":"ID of the Home you're interested in","in":"query","name":"home_id","required":true,"schema":{"type":"string"}},{"description":"Your request will retrieve events occured before this one","in":"query","name":"event_id","required":true,"schema":{"type":"string"}},{"description":"Number of events to retrieve. Default is 30.","in":"query","name":"size","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAWelcomeEventResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["access_camera","read_camera"]},{"password_oauth":["access_camera","read_camera"]}],"tags":["welcome"]}},"/getpublicdata":{"get":{"description":"Retrieves publicly shared weather data from Outdoor Modules within a predefined area.","operationId":"getpublicdata","parameters":[{"description":"Latitude of the north east corner of the requested area. -85 <= lat_ne <= 85 and lat_ne>lat_sw","in":"query","name":"lat_ne","required":true,"schema":{"format":"int32","type":"integer"}},{"description":"Longitude of the north east corner of the requested area. -180 <= lon_ne <= 180 and lon_ne>lon_sw","in":"query","name":"lon_ne","required":true,"schema":{"format":"int32","type":"integer"}},{"description":"Latitude of the south west corner of the requested area. -85 <= lat_sw <= 85","in":"query","name":"lat_sw","required":true,"schema":{"format":"int32","type":"integer"}},{"description":"Longitude of the south west corner of the requested area. -180 <= lon_sw <= 180","in":"query","name":"lon_sw","required":true,"schema":{"format":"int32","type":"integer"}},{"description":"To filter stations based on relevant measurements you want (e.g. rain will only return stations with rain gauges). Default is no filter. You can find all measurements available on the Thermostat page.","explode":false,"in":"query","name":"required_data","schema":{"items":{"enum":["temperature","humidity","pressure","wind","rain"],"type":"string"},"type":"array"},"style":"form"},{"description":"True to exclude stations with abnormal temperature measures. Default is false.","in":"query","name":"filter","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAPublicDataResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":[]},{"password_oauth":[]}],"tags":["public"]}},"/getstationsdata":{"get":{"description":"The method getstationsdata Returns data from a user's Weather Stations (measures and device specific data).","operationId":"getstationsdata","parameters":[{"description":"Id of the device you want to retrieve information of","in":"query","name":"device_id","schema":{"type":"string"}},{"description":"Whether to include the user's favorite Weather Stations in addition to the user's own Weather Stations","in":"query","name":"get_favorites","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAStationDataResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["read_station"]},{"password_oauth":["read_station"]}],"tags":["station"]}},"/getthermostatsdata":{"get":{"description":"The method getthermostatsdata returns information about user's thermostats such as their last measurements.","operationId":"getthermostatsdata","parameters":[{"description":"Id of the device you want to retrieve information of","in":"query","name":"device_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAThermostatDataResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["read_thermostat"]},{"password_oauth":["read_thermostat"]}],"tags":["thermostat"]}},"/getthermstate":{"get":{"deprecated":true,"description":"The method getthermstate returns the last Thermostat measurements, its current weekly schedule, and, if present, its current manual temperature setpoint.","operationId":"getthermstate","parameters":[{"description":"The relay id","in":"query","name":"device_id","required":true,"schema":{"type":"string"}},{"description":"The thermostat id","in":"query","name":"module_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAThermStateResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["read_thermostat"]},{"password_oauth":["read_thermostat"]}],"tags":["deprecated"]}},"/getuser":{"get":{"deprecated":true,"description":"The method getuser returns information about a user such as prefered language, prefered units, and list of devices.\n","operationId":"getuser","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAUserResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":[]},{"password_oauth":[]}],"tags":["deprecated"]}},"/partnerdevices":{"get":{"description":"The method partnerdevices returns the list of device_id to which your partner application has access to.","operationId":"partnerdevices","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAPartnerDevicesResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":[]},{"password_oauth":[]}],"tags":["partner"]}},"/setpersonsaway":{"post":{"description":"Sets a person as 'Away' or the Home as 'Empty'. The event will be added to the user’s timeline.\n","operationId":"setpersonsaway","parameters":[{"description":"ID of the Home you're interested in","in":"query","name":"home_id","required":true,"schema":{"type":"string"}},{"description":"If a person_id is specified, that person will be set as 'Away'. If no person_id is specified, the Home will be set as 'Empty'.","in":"query","name":"person_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAWelcomePersonsAwayResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["write_camera"]},{"password_oauth":["write_camera"]}],"tags":["welcome"]}},"/setpersonshome":{"post":{"description":"Sets a person as 'At home'.\n","operationId":"setpersonshome","parameters":[{"description":"ID of the Home you're interested in","in":"query","name":"home_id","required":true,"schema":{"type":"string"}},{"description":"List of persons IDs","in":"query","name":"person_ids","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAWelcomePersonsHomeResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["write_camera"]},{"password_oauth":["write_camera"]}],"tags":["welcome"]}},"/setthermpoint":{"post":{"description":"The method setthermpoint changes the Thermostat manual temperature setpoint.","operationId":"setthermpoint","parameters":[{"description":"The relay id","in":"query","name":"device_id","required":true,"schema":{"type":"string"}},{"description":"The thermostat id","in":"query","name":"module_id","required":true,"schema":{"type":"string"}},{"description":"Chosen setpoint_mode","in":"query","name":"setpoint_mode","required":true,"schema":{"enum":["program","away","hg","manual","off","max"],"type":"string"}},{"description":"When using the manual or max setpoint_mode, this parameter defines when the setpoint expires.","in":"query","name":"setpoint_endtime","schema":{"format":"int32","type":"integer"}},{"description":"When using the manual setpoint_mode, this parameter defines the temperature setpoint (in Celcius) to use.","in":"query","name":"setpoint_temp","schema":{"format":"float","type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAOkResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["write_thermostat"]},{"password_oauth":["write_thermostat"]}],"tags":["thermostat"]}},"/switchschedule":{"post":{"description":"The method switchschedule switches the Thermostat's schedule to another existing schedule.","operationId":"switchschedule","parameters":[{"description":"The relay id","in":"query","name":"device_id","required":true,"schema":{"type":"string"}},{"description":"The thermostat id","in":"query","name":"module_id","required":true,"schema":{"type":"string"}},{"description":"The schedule id. It can be found in the getthermstate response, under the keys `therm_program_backup` and `therm_program`.\n","in":"query","name":"schedule_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAOkResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["write_thermostat"]},{"password_oauth":["write_thermostat"]}],"tags":["thermostat"]}},"/syncschedule":{"post":{"description":"The method syncschedule changes the Thermostat weekly schedule.","operationId":"syncschedule","parameters":[{"description":"The relay id","in":"query","name":"device_id","required":true,"schema":{"type":"string"}},{"description":"The thermostat id","in":"query","name":"module_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"text/plain":{"schema":{"$ref":"#/components/schemas/NAThermProgram"}}},"description":"The thermostat program (zones, timetable and name)","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NAOkResponse"}}},"description":"Successful response"}},"security":[{"code_oauth":["write_thermostat"]},{"password_oauth":["write_thermostat"]}],"tags":["thermostat"]}}},"components":{"schemas":{"NADashboardData":{"properties":{"AbsolutePressure":{"description":"Real measured pressure @ time_utc (in mb)","format":"float","type":"number"},"BoilerOff":{"format":"int32","type":"integer"},"BoilerOn":{"format":"int32","type":"integer"},"CO2":{"description":"Last Co2 measured @ time_utc (in ppm)","format":"float","type":"number"},"GustAngle":{"description":"Direction of the last 5 min highest gust wind","format":"int32","type":"integer"},"GustStrength":{"description":"Speed of the last 5 min highest gust wind","format":"int32","type":"integer"},"Humidity":{"description":"Last humidity measured @ time_utc (in %)","format":"float","type":"number"},"Noise":{"description":"Last noise measured @ time_utc (in db)","format":"float","type":"number"},"Pressure":{"description":"Last Sea level pressure measured @ time_utc (in mb)","format":"float","type":"number"},"Rain":{"description":"Last rain measured (in mm)","format":"float","type":"number"},"Temperature":{"description":"Last temperature measure @ time_utc (in °C)","format":"float","type":"number"},"WindAngle":{"description":"Current 5 min average wind direction measured @ time_utc (in °)","format":"int32","type":"integer"},"WindStrength":{"description":"Current 5 min average wind speed measured @ time_utc (in km/h)","format":"int32","type":"integer"},"date_max_temp":{"description":"Timestamp when max temperature was measured","format":"int32","type":"integer"},"date_max_wind_str":{"description":"Timestamp when max wind strength was measured","format":"int32","type":"integer"},"date_min_temp":{"description":"Timestamp when min temperature was measured","format":"int32","type":"integer"},"device_id":{"format":"float","type":"number"},"health_idx":{"description":"Current health index: 0 = Healthy, 1 = Fine, 2 = Fair, 3 = Poor, 4 = Unhealthy","format":"int32","type":"integer"},"max_temp":{"description":"Min temperature of the day (measured @ date_min_temp)","format":"float","type":"number"},"max_wind_str":{"format":"int32","type":"integer"},"min_temp":{"description":"Max temperature of the day (measured @ date_max_temp)","format":"float","type":"number"},"pressure_trend":{"description":"Pressure evolution trend","type":"string"},"sum_rain_1":{"description":"Amount of rain in last hour","format":"float","type":"number"},"sum_rain_24":{"description":"Amount of rain today","format":"float","type":"number"},"temp_trend":{"description":"Temperature evolution trend","type":"string"},"time_utc":{"format":"int32","type":"integer"}}},"NADate":{"properties":{"sec":{"format":"int32","type":"integer"},"usec":{"format":"int32","type":"integer"}}},"NADevice":{"properties":{"_id":{"type":"string"},"behavior":{"format":"int32","type":"integer"},"cipher_id":{"type":"string"},"dashboard_data":{"$ref":"#/components/schemas/NADashboardData"},"data_type":{"items":{"type":"string"},"type":"array"},"date_setup":{"$ref":"#/components/schemas/NADate"},"firmware":{"format":"int32","type":"integer"},"first_pid_avail":{"type":"boolean"},"heating_system":{"$ref":"#/components/schemas/NAHeatingSystem"},"house_model":{"$ref":"#/components/schemas/NAHouseModel"},"hw_version":{"format":"int32","type":"integer"},"ip":{"type":"string"},"last_fw_update":{"format":"int32","type":"integer"},"last_radio_store":{"format":"int32","type":"integer"},"last_status_store":{"format":"int32","type":"integer"},"last_upgrade":{"format":"int32","type":"integer"},"module_name":{"type":"string"},"modules":{"description":"It lists which modules are linked with this device","items":{"type":"string"},"type":"array"},"new_feature_avail":{"type":"boolean"},"place":{"$ref":"#/components/schemas/NAPlace"},"public_ext_data":{"type":"boolean"},"setpoint":{"type":"object"},"setpoint_default_duration":{"format":"int32","type":"integer"},"setpoint_order":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NAObject"},"type":"array"},"type":"object"},"station_name":{"type":"string"},"therm_program":{"additionalProperties":{"$ref":"#/components/schemas/NAThermProgram"},"type":"object"},"therm_program_backup":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NAThermProgram"},"type":"array"},"type":"object"},"therm_program_order":{"additionalProperties":{"items":{"$ref":"#/components/schemas/NAObject"},"type":"array"},"type":"object"},"type":{"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","type":"string"},"udp_conn":{"type":"boolean"},"user_owner":{"items":{"type":"string"},"type":"array"},"wifi_status":{"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","format":"int32","type":"integer"}}},"NADeviceListBody":{"properties":{"devices":{"items":{"$ref":"#/components/schemas/NADevice"},"type":"array"},"modules":{"items":{"$ref":"#/components/schemas/NAModule"},"type":"array"}}},"NADeviceListResponse":{"properties":{"body":{"$ref":"#/components/schemas/NADeviceListBody"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAHealthyHomeCoach":{"properties":{"_id":{"type":"string"},"cipher_id":{"type":"string"},"co2_calibrating":{"type":"boolean"},"dashboard_data":{"$ref":"#/components/schemas/NADashboardData"},"data_type":{"items":{"type":"string"},"type":"array"},"date_setup":{"format":"int32","type":"integer"},"firmware":{"format":"int32","type":"integer"},"last_setup":{"format":"int32","type":"integer"},"last_status_store":{"format":"int32","type":"integer"},"last_upgrade":{"format":"int32","type":"integer"},"name":{"type":"string"},"place":{"$ref":"#/components/schemas/NAPlace"},"type":{"description":"Included in every device or module. It defines the type of the device/module. Its values are among :\nNHC: Healthy Home Coach\n","type":"string"},"wifi_status":{"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","format":"int32","type":"integer"}}},"NAHealthyHomeCoachDataBody":{"properties":{"devices":{"items":{"$ref":"#/components/schemas/NAHealthyHomeCoach"},"type":"array"},"user":{"$ref":"#/components/schemas/NAUser"}}},"NAHealthyHomeCoachDataResponse":{"properties":{"body":{"$ref":"#/components/schemas/NAHealthyHomeCoachDataBody"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAHeatingSystem":{"properties":{"heating_energy":{"type":"string"},"heating_system_window_seen":{"type":"boolean"}}},"NAHouseModel":{"properties":{"algo_type":{"type":"string"},"ca":{"$ref":"#/components/schemas/NAHouseModelCa"},"ext_temps":{"additionalProperties":{"format":"int32","type":"integer"},"type":"object"},"first_anticipate_avail":{"type":"boolean"},"first_pid_avail":{"type":"boolean"},"gefs":{"$ref":"#/components/schemas/NAStation"},"in_use":{"type":"string"},"last_compute_try":{"$ref":"#/components/schemas/NADate"},"link_station":{"$ref":"#/components/schemas/NALinkStation"},"pid_algo":{"$ref":"#/components/schemas/NAPidAlgo"},"prefered_algo_type":{"type":"string"},"simple_algo":{"$ref":"#/components/schemas/NASimpleAlgo"},"station":{"$ref":"#/components/schemas/NAStation"},"station_firsttime_anticipate":{"type":"boolean"},"time":{"$ref":"#/components/schemas/NADate"},"time_algo_changed":{"format":"int32","type":"integer"},"time_pid_computed":{"format":"int32","type":"integer"}}},"NAHouseModelCa":{"properties":{"so":{"type":"string"},"te":{"format":"double","type":"number"},"ti":{"format":"int32","type":"integer"}}},"NALinkStation":{"properties":{"Temperature":{"format":"float","type":"number"},"ext":{"type":"string"},"mac":{"type":"string"}}},"NAMain":{"properties":{"_id":{"type":"string"},"cipher_id":{"type":"string"},"co2_calibrating":{"type":"boolean"},"dashboard_data":{"$ref":"#/components/schemas/NADashboardData"},"data_type":{"items":{"type":"string"},"type":"array"},"date_setup":{"format":"int32","type":"integer"},"favorite":{"description":"true when the device is a user favorite and not owned by them","type":"boolean"},"firmware":{"format":"int32","type":"integer"},"last_setup":{"format":"int32","type":"integer"},"last_status_store":{"format":"int32","type":"integer"},"last_upgrade":{"format":"int32","type":"integer"},"module_name":{"type":"string"},"modules":{"items":{"$ref":"#/components/schemas/NAStationModule"},"type":"array"},"place":{"$ref":"#/components/schemas/NAPlace"},"reachable":{"description":"true when the station was seen by the Netatmo cloud within the last 4 hours","type":"boolean"},"read_only":{"description":"true when the user was invited to (or has favorited) a station, false when the user owns it","type":"boolean"},"station_name":{"type":"string"},"type":{"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","type":"string"},"wifi_status":{"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","format":"int32","type":"integer"}}},"NAMeasure":{"properties":{"gust_angle":{"type":"number"},"gust_strength":{"type":"number"},"rain_24h":{"type":"number"},"rain_60min":{"type":"number"},"rain_live":{"type":"number"},"rain_utc":{"format":"int64","type":"integer"},"res":{"additionalProperties":{"items":{"format":"double","type":"number"},"type":"array"}},"type":{"items":{"type":"string"},"type":"array"},"wind_angle":{"type":"number"},"wind_strength":{"type":"number"},"wind_timeutc\"":{"format":"int64","type":"integer"}}},"NAMeasureBodyElem":{"properties":{"beg_time":{"format":"int32","type":"integer"},"step_time":{"format":"int32","type":"integer"},"value":{"items":{"items":{"format":"float","type":"number"},"type":"array"},"type":"array"}}},"NAMeasureResponse":{"properties":{"body":{"items":{"$ref":"#/components/schemas/NAMeasureBodyElem"},"type":"array"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAModule":{"properties":{"_id":{"type":"string"},"battery_percent":{"description":"It contains the current battery level in percentage.","format":"int32","type":"integer"},"battery_vp":{"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","format":"int32","type":"integer"},"dashboard_data":{"$ref":"#/components/schemas/NADashboardData"},"data_type":{"items":{"type":"string"},"type":"array"},"date_setup":{"$ref":"#/components/schemas/NADate"},"firmware":{"format":"int32","type":"integer"},"last_message":{"format":"int32","type":"integer"},"last_seen":{"format":"int32","type":"integer"},"main_device":{"type":"string"},"module_name":{"type":"string"},"public_ext_data":{"type":"boolean"},"rf_status":{"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","format":"int32","type":"integer"},"therm_orientation":{"format":"int32","type":"integer"},"therm_relay_cmd":{"format":"int32","type":"integer"},"type":{"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","type":"string"}}},"NANewScheduleBody":{"properties":{"schedule_id":{"description":"Id of the schedule. It can be use with the method \"switchschedule\" \n","type":"string"}}},"NANewScheduleResponse":{"properties":{"body":{"$ref":"#/components/schemas/NANewScheduleBody"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAObject":{"properties":{"$id":{"type":"string"}}},"NAOkResponse":{"properties":{"body":{"type":"string"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAPartnerDevicesResponse":{"properties":{"body":{"items":{"type":"string"},"type":"array"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAPidAlgo":{"properties":{"gain":{"format":"int32","type":"integer"},"period":{"format":"int32","type":"integer"},"td":{"format":"int32","type":"integer"},"ti":{"format":"int32","type":"integer"}}},"NAPlace":{"properties":{"altitude":{"format":"float","type":"number"},"city":{"type":"string"},"country":{"type":"string"},"from_ip":{"type":"boolean"},"improveLocProposed":{"type":"boolean"},"location":{"items":{"format":"double","type":"number"},"type":"array"},"timezone":{"type":"string"},"trust_location":{"type":"boolean"}}},"NAPlug":{"properties":{"_id":{"example":"70:ee:50:09:f0:xx","type":"string"},"firmware":{"format":"int32","type":"integer"},"last_bilan":{"$ref":"#/components/schemas/NAYearMonth"},"last_plug_seen":{"format":"int32","type":"integer"},"last_status_store":{"format":"int32","type":"integer"},"modules":{"items":{"$ref":"#/components/schemas/NAThermostat"},"type":"array"},"place":{"$ref":"#/components/schemas/NAPlace"},"plug_connected_boiler":{"format":"int32","type":"integer"},"station_name":{"type":"string"},"syncing":{"type":"boolean"},"type":{"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","type":"string"},"udp_conn":{"type":"boolean"},"wifi_status":{"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","format":"int32","type":"integer"}}},"NAPublicData":{"properties":{"_id":{"description":"id of the station","example":"70:ee:50:09:f0:xx","type":"string"},"mark":{"type":"integer"},"measures":{"additionalProperties":{"$ref":"#/components/schemas/NAMeasure"},"type":"object"},"module_types":{"additionalProperties":{"type":"string"},"description":"Latest measurements of the station, organized by module","type":"object"},"modules":{"items":{"type":"string"},"type":"array"},"place":{"$ref":"#/components/schemas/NAPlace"}}},"NAPublicDataResponse":{"properties":{"body":{"items":{"$ref":"#/components/schemas/NAPublicData"},"type":"array"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NASetpoint":{"properties":{"setpoint_endtime":{"format":"int32","type":"integer"},"setpoint_mode":{"type":"string"},"setpoint_temp":{"format":"float","type":"number"}}},"NASetpointLog":{"properties":{"setpoint":{"$ref":"#/components/schemas/NASetpoint"},"timestamp":{"format":"int64","type":"integer"}}},"NASimpleAlgo":{"properties":{"high_deadband":{"format":"int32","type":"integer"}}},"NAStation":{"properties":{"lag_down":{"format":"int32","type":"integer"},"lag_up":{"format":"int32","type":"integer"},"off_overshoot":{"format":"float","type":"number"},"on_overshoot":{"format":"float","type":"number"},"pk":{"format":"int32","type":"integer"},"tau":{"format":"int32","type":"integer"}}},"NAStationDataBody":{"properties":{"devices":{"items":{"$ref":"#/components/schemas/NAMain"},"type":"array"},"user":{"$ref":"#/components/schemas/NAUser"}}},"NAStationDataResponse":{"properties":{"body":{"$ref":"#/components/schemas/NAStationDataBody"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAStationModule":{"properties":{"_id":{"type":"string"},"battery_percent":{"description":"It contains the current battery level in percentage.","format":"int32","type":"integer"},"battery_vp":{"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","format":"int32","type":"integer"},"dashboard_data":{"$ref":"#/components/schemas/NADashboardData"},"data_type":{"items":{"type":"string"},"type":"array"},"firmware":{"format":"int32","type":"integer"},"last_message":{"format":"int32","type":"integer"},"last_seen":{"format":"int32","type":"integer"},"last_setup":{"format":"int32","type":"integer"},"module_name":{"type":"string"},"reachable":{"description":"true when the station was seen by the Netatmo cloud within the last 4 hours","type":"boolean"},"rf_status":{"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","format":"int32","type":"integer"},"type":{"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","type":"string"}}},"NAThermMeasure":{"properties":{"setpoint_temp":{"format":"float","type":"number"},"temperature":{"format":"float","type":"number"},"time":{"format":"int32","type":"integer"}}},"NAThermProgram":{"properties":{"name":{"type":"string"},"program_id":{"type":"string"},"selected":{"type":"boolean"},"timetable":{"items":{"$ref":"#/components/schemas/NATimeTableItem"},"type":"array"},"zones":{"items":{"$ref":"#/components/schemas/NAZone"},"type":"array"}}},"NAThermStateBody":{"properties":{"battery_percent":{"description":"It contains the current battery level in percentage.","format":"int32","type":"integer"},"battery_vp":{"format":"int32","type":"integer"},"last_plug_seen":{"format":"int32","type":"integer"},"last_therm_seen":{"format":"int32","type":"integer"},"measured":{"$ref":"#/components/schemas/NAThermMeasure"},"plug_connected_boiler":{"format":"int32","type":"integer"},"rf_status":{"format":"int32","type":"integer"},"setpoint":{"$ref":"#/components/schemas/NASetpoint"},"setpoint_order":{"$ref":"#/components/schemas/NASetpoint"},"therm_orientation":{"format":"int32","type":"integer"},"therm_program":{"$ref":"#/components/schemas/NAThermProgram"},"therm_program_backup":{"items":{"$ref":"#/components/schemas/NAThermProgram"},"type":"array"},"therm_program_order":{"$ref":"#/components/schemas/NAThermProgram"},"therm_relay_cmd":{"format":"int32","type":"integer"},"udp_conn":{"type":"boolean"},"wifi_status":{"format":"int32","type":"integer"}}},"NAThermStateResponse":{"properties":{"body":{"$ref":"#/components/schemas/NAThermStateBody"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAThermostat":{"properties":{"_id":{"type":"string"},"battery_percent":{"description":"It contains the current battery level in percentage.","format":"int32","type":"integer"},"battery_vp":{"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","format":"int32","type":"integer"},"firmware":{"format":"int32","type":"integer"},"last_message":{"format":"int32","type":"integer"},"last_therm_seen":{"format":"int32","type":"integer"},"measured":{"$ref":"#/components/schemas/NAThermMeasure"},"module_name":{"type":"string"},"rf_status":{"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","format":"int32","type":"integer"},"setpoint":{"$ref":"#/components/schemas/NASetpoint"},"setpoint_history":{"description":"The last 20 setpoints (mode, endtime, and timestamp) the thermostats has entered.","items":{"$ref":"#/components/schemas/NASetpointLog"},"type":"array"},"setpoint_order":{"$ref":"#/components/schemas/NASetpoint"},"therm_orientation":{"format":"int32","type":"integer"},"therm_program_list":{"description":"List of the weekly heating planning used by the thermostat","items":{"$ref":"#/components/schemas/NAThermProgram"},"type":"array"},"therm_relay_cmd":{"format":"int32","type":"integer"},"type":{"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","type":"string"}}},"NAThermostatDataBody":{"properties":{"devices":{"items":{"$ref":"#/components/schemas/NAPlug"},"type":"array"},"user":{"$ref":"#/components/schemas/NAUser"}}},"NAThermostatDataResponse":{"properties":{"body":{"$ref":"#/components/schemas/NAThermostatDataBody"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NATimeTableItem":{"properties":{"id":{"format":"int32","type":"integer"},"m_offset":{"format":"int32","type":"integer"}}},"NAUser":{"properties":{"_id":{"type":"string"},"administrative":{"$ref":"#/components/schemas/NAUserAdministrative"},"date_creation":{"$ref":"#/components/schemas/NADate"},"devices":{"description":"An array of string containing the ids of the devices owned by the user","items":{"type":"string"},"type":"array"},"friend_devices":{"description":"An array of string containing the ids of the devices on which the user has a \"guest\" access\n","items":{"type":"string"},"type":"array"},"mail":{"type":"string"},"timeline_not_read":{"format":"int32","type":"integer"},"timeline_size":{"format":"int32","type":"integer"}}},"NAUserAdministrative":{"properties":{"country":{"description":"user country","type":"string"},"feel_like_algo":{"description":"algorithm used to compute feel like temperature, 0 -> humidex, 1 -> heat-index","type":"string"},"lang":{"description":"user locale","type":"string"},"pressureunit":{"description":"0 -> mbar, 1 -> inHg, 2 -> mmHg","type":"string"},"reg_locale":{"description":"user regional preferences (used for displaying date)","type":"string"},"unit":{"description":"0 -> metric system, 1 -> imperial system","type":"string"},"windunit":{"description":"0 -> kph, 1 -> mph, 2 -> ms, 3 -> beaufort, 4 -> knot","type":"string"}}},"NAUserResponse":{"properties":{"body":{"$ref":"#/components/schemas/NAUser"},"status":{"example":"ok","type":"string"},"time_exec":{"format":"double","type":"number"},"time_server":{"format":"int32","type":"integer"}}},"NAWelcomeCamera":{"properties":{"alim_sta