Skip to content

Releases: Terdious/gladys-netatmo

v2.6.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 10:16

Changed

  • Clearer setup, step by step (forum feedback): the documentation (en, fr, de, es) opens with an "In short" checklist and walks through each screen with the exact button names: the Netatmo Connect form (what to fill in, Redirect URI and Webhook URI left empty, where the client ID and secret show), saving then connecting, the redirect address Gladys shows above Connect (not needed for Netatmo, with the fallback if Netatmo refuses it), a new step 4 to add the devices from the Discover tab and show them on the dashboard, and the usual connection errors.
  • Gladys Plus webhooks setup made concrete: the Open API key is created from plus.gladysassistant.com (the Open API tab does not exist on the local address), under Settings → Open API (« Paramètres » in French, not « Réglages »), shown only once, and it is not the RSA key of the Gladys Plus tab; it goes into the Gladys Plus webhooks block with that block's own Save button.
  • Configuration screen texts: numbered steps in the Netatmo Connect section, precise client ID / secret / account descriptions, what to do after saving the families (Discover tab, Update button), a precise Security toggle (cameras, doorbell, alarms) and a new last section, Real time with Gladys Plus (optional), that explains the Open API key in three steps.

Fixed

  • A camera can be saved again from the Devices tab (name, room): the camera image is now kept under 72 KB instead of 150 KB. The Devices tab saves a device by posting it whole, its image included, to a Gladys route limited to 100 KB, so a camera with a recent image always failed with « Une erreur s'est produite lors de l'enregistrement de cet appareil » (413, forum report). The dashboard image is a little lighter. The budget goes back to 150 KB once Gladys stops posting the states on save (GladysAssistant/Gladys#3228).

What's Changed

  • docs: concrete step-by-step setup and precise Configuration texts by @Terdious in #83
  • fix: keep the camera image under 72 KB so a camera can be saved by @Terdious in #84

Full Changelog: v2.6.0...v2.6.1

v2.6.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 11:52

Added

  • Richer Netatmo heating widget: a caption with the home and its active schedule, two tiles (heating mode, rooms heating n/total), one compact row per room — measured → setpoint, then the markers Manual / Boost / Off, Window (open_window) and Heating (the room's heating state of #77: heating_power_request above 0 or the boiler thermostat running), the icon colored alike; with more than ten rooms the tenth row sums up the others. The buttons are the heating modes but the active one, Change schedule and a new Room setpoint button whose form (widget action fields) takes the room, the action (set the setpoint, boost, back to the schedule, off), the setpoint (7–30 °C, rounded to 0.5 °C; empty keeps the current one) and the duration, sent with setroomthermpoint (a boost keeps Netatmo's boost duration for "default" and "no end") (#40).
  • Duration of a setpoint sent by Gladys setting (setpoint_duration, new Heating section of the Configuration screen): Netatmo default (unchanged behaviour, the default), 1 h, 3 h, 6 h, 12 h, until the next change of the active Netatmo schedule for the room (computed from the homesdata timetable in the home's timezone, DST included) or no end (30 days, stepped down to 7 days, 2 days, 12 hours when Netatmo refuses the endtime, without endtime as a last resort). It applies to the setpoint feature writes — device page, "Set device value", the Gladys Thermostat service — not to the scene actions that carry their own duration nor to a boost. "No end" is the choice for the Gladys Thermostat integration: a setpoint Netatmo ends on its own looks like a manual hold to the core (#77).

What's Changed

  • feat: richer Netatmo heating widget and configurable setpoint duration by @Terdious in #81

Full Changelog: v2.5.0...v2.6.0

v2.5.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 20:39

Added

  • Netatmo heating fully usable by the Gladys Thermostat integration and its dashboard widget (Gladys 5.2+, core PR GladysAssistant/Gladys#3178): one device per heated room — its thermostat (NATherm1, OTM, BNS), else the valve (NRV) with the smallest id — carries two features named after the room. Heating state (thermostat/operating-state, read-only): heating while the room's heating_power_request is above 0 or a boiler thermostat's boiler_status is on, cooling while a Smarther's cooler_status is on, idle otherwise. Thermostat mode (thermostat/mode, writable, supported_options Off / Heating): off when the room's therm_setpoint_mode is off, heating otherwise; writing it sends setroomthermpoint mode off or home (back to the room's schedule), nothing when the room is already in that mode, and a token without the write scope gets the "reconnect" message. The window sensor is the existing Detecting open window (open_window) of any thermostat or valve of the room, now also created on the OTM and BNS thermostats. Existing devices get them with Update on the Discovery screen; no new permission (#77).
  • A room switched off keeps it: a setpoint written while the room is off is not sent (a manual setpoint would switch it back on — the Thermostat service stops a room with Off then its frost setpoint, and starts it with Heating before the setpoint), and the setpoint of an off room is no longer published, so whatever Netatmo reports then never looks like a change made on the thermostat. After a command, the next cycle re-publishes the value Netatmo reports even when unchanged since the last publish. Docs: "Use the Gladys Thermostat widget" in the four languages — one external thermostat per room, which features to pick, what the widget brings, and the Netatmo schedule that keeps running under Gladys's manual setpoints (#77).
  • Legrand Home + Control (Céliane / dooxie / Mosaic with Netatmo), first three groups (#60), behind a new opt-in toggle Legrand Home + Control — preview (legrand_api, off by default). Its read_magellan / write_magellan scopes are requested only while it is on: turning it on asks to click Connect again, and a refused command says so on the Configuration screen. One device per module of a Home + Control gateway; the gateway (NLG / NLGS) is not a device, it is the bridge of every /api/setstate command (plug_id param). Lighting (NLM, NLL, each gang <id>#n of the NLIS double switch, dimmers NLF, NLFN, NLFE, NLUF, NLUO): a writable light, plus a writable brightness (0-100, Netatmo's scale) when the dimmer reports one. Plugs and relays (NLP, NLPM, NLPBS, NLC, NLUP, NLUI, contactor NLPO, latching relay NLPT, dry contact NLPD): a writable switch. A read-only power (W) when homestatus reports it. Netatmo reports the state back: after a command, the commanded value is kept by the dedup and ONE refresh about 2 s later publishes what Netatmo reports (a slider burst shares it). Unreachable badge: a gang follows its switch, a module its gateway; homestatus wins over a homesdata entry carrying a state. The Device diagnostic reports the Legrand family, the modules and their unused fields, and why the gateway and the NLIS parent are no device. Built on the pyatmo fixtures: not yet tested on real Legrand hardware. Docs in the four languages (supported modules, reconnection, what is not supported yet).

Changed

  • open_window (thermostats, valves) and opening (door / window tags) now follow the Gladys convention — 0 open, 1 closed — instead of 1 when open; the dashboard showed an open window or door as closed. A scene that tested = 1 for open must now test = 0. Absent or unreliable values (no open_window in the room, a tag status other than open / closed) still publish nothing (#77).
  • The delayed one-shot refreshes after a command (shutters 30 s, Legrand 2 s) keep one timer each and start from a fresh account load.

What's Changed

  • feat: Legrand Home + Control lights, dimmers, plugs and relays (preview) by @Terdious in #78
  • feat: Netatmo rooms ready for the Gladys Thermostat widget; opening sensors follow the Gladys convention by @Terdious in #79
  • docs: roadmap ready for 2.5.0 by @Terdious in #80

Full Changelog: v2.4.0...v2.5.0

v2.4.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 08:50

Added

  • Detections without webhooks: every refresh cycle (and every webhook-triggered refresh) also reads the last events of each home with a camera, doorbell, smoke / CO alarm (Security family) or BTicino door entry gateway (BTicino toggle) — GET /api/getevents, one call per home and per cycle, at most one per home within 30 s (pyatmo async_update_events, fixture getevents.json). The new events go through the same path as the webhooks (factored out of events.js): motion, person, outdoor camera human / animal / vehicle sub-events, doorbell and door entry ring, smoke / CO with their "cleared" events, the known-person and siren scene events, the same 60 s reset. The events already there at startup are only recorded (history is never replayed on a restart), an event older than 10 minutes when read is never published, and a detection the webhook already published (same Netatmo event id, or the same feature within 90 s) is not published again, and vice versa. A failure is logged at warn once per streak (a scope refusal says to click Connect again), never breaks the cycle and is counted in a new events family of the health; it never marks devices degraded. No new permission: the camera, doorbell, alarm and BTicino read scopes already requested cover it.
  • Device diagnostic: an Events poll (getevents) health line, the Last events seen by getevents per module (time, type / sub type, ids, what was done with it — no URL, no message) and the last 5 overall, next to the webhook ones: events in getevents and no webhook means Netatmo does not deliver the webhooks. Docs: detections within ~2 minutes without webhooks, troubleshooting in the four languages.

Fixed

  • The motion, person, animal, vehicle, smoke, carbon monoxide and ring features (and the known-person / siren scene triggers) stayed empty when the Gladys Plus webhooks did not reach the integration — even with Netatmo holding the integration's URL — while the Netatmo app showed the alerts: they now arrive within about 2 minutes from getevents (#5).
  • Docs: when the webhook URL held by Netatmo is the integration's and nothing arrives, create a new Gladys Plus Open API key — an older one (for instance taken from the former core Netatmo service URL) authenticated yet never delivered the webhooks on a real installation.

What's Changed

  • fix: detections via getevents when the webhooks do not arrive by @Terdious in #76

Full Changelog: v2.3.1...v2.4.0

v2.3.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 07:50

Added

  • Webhook delivery checks: each event Netatmo delivers through Gladys Plus is now logged at info level, as Netatmo webhook event received: <push type> (<module ids>) (never the payload), and the Device diagnostic report says which webhook URL Netatmo actually holds for the application (GET webhooks/v1/, key redacted): the integration's, none, or another one that overwrote it (developer portal field, former core service). Docs: "registered but nothing arrives" troubleshooting in the four languages.

What's Changed

  • feat: log every received webhook and show the URL Netatmo holds in the diagnostic by @Terdious in #75

Full Changelog: v2.3.0...v2.3.1

v2.3.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 07:25

Added

  • BTicino door entry, step 2: the staircase / outdoor light (BNSL) is a standard writable light, switched through /api/setstate on with its BNCX bridge (Netatmo Home + Security documentation: "Modifying the staircase light status (on/off)", pyatmo SwitchMixin). Netatmo does not report its state ("not retrievable"): the commanded value is published once Netatmo acknowledged it, a module error in the answer fails the command, and a homestatus on would win. A missing BTicino scope says "click Connect again" on the Configuration screen. The ring (incoming_call, documented by Netatmo for the BNCX webhooks) is a doorbell feature of the door entry device, usable as a scene trigger, like the video doorbell; it lands there whichever bridged module the event names. Opening the door (BNDL) is not offered: Netatmo blocks it for third-party applications (#59).
  • Device diagnostic action on the Configuration screen, for any Netatmo module (like gladys-tuya): pick a device created in Gladys, or type the name / Netatmo id of a module not created, or leave both empty for the account summary. The plain-text report gives the version, enabled families, granted / missing scopes, the health of each API family (last success, consecutive failures, degraded state) and of the Gladys Plus webhook, then for the module its type, home, bridge, support status, the Gladys device and features it maps to, its raw homesdata / homestatus entries, the Netatmo fields the integration does not use yet and its last webhook events (a redacted in-memory history: last 20, last 10 per module). Redaction is shared with the [bticino-diagnostic] log; the report is also logged at info level (#59).

Changed

  • BTicino door entry: one Gladys device per door entry — the BNCX gateway — instead of one per module. The modules it bridges (BNEU, BNDL, BNSL, BNCS, BNXM) add their features to it, keyed by their own ids (ext:netatmo:<module id>:<suffix>) and named after them; a bridged module whose gateway is missing is published alone only if it has a feature, never as an empty device. The unreachable badge follows the gateway; a bridged module reported offline (or behind an offline gateway) publishes no value. The 2.2.0 preview devices are regrouped: delete any you created and create the door entry device again. Test fixtures are now the real payloads of a Classe 300 EOS (#59).

What's Changed

  • feat: BTicino door entry as one device (light, ring) + "Device diagnostic" action by @Terdious in #74

Full Changelog: v2.2.0...v2.3.0

v2.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 13:49

Added

  • BTicino Classe 300X / Classe 300 EOS door entry, preview (step 1: discovery and diagnostic log), behind a new toggle BTicino door entry, off by default: the BNCX indoor unit, BNEU street panel, BNDL door lock, BNSL staircase light, BNCS controlled socket and BNXM X module are discovered with only what their payload carries (WiFi / RF quality, the read-only on / off of BNSL / BNCS) and the unreachable badge. While the toggle is on, a [bticino-diagnostic] log writes the raw homesdata / homestatus entries of these modules (first load, then on change only) and every webhook event about them, with tokens, keys, URLs and e-mail addresses redacted and each line bounded to 8 KB, so the real formats can be collected for the ring, door lock and staircase light commands. Its read_bfi / write_bfi / read_mx / write_mx scopes are requested only while the toggle is on: turning it on asks to click Connect again (the Configuration screen says so until then); accounts without a door entry are not affected (#59).
  • WebRTC live view of the video doorbell (NDB) and the Indoor Camera Advance (NPC): both are published with the GLADYS_CAMERA_STREAM_PROTOCOL = webrtc device param, and the browser's SDP offer relayed by Gladys goes to the Netatmo /api/webrtc/offer (answer, session id and tag id back), the stop to /api/webrtc/terminate. Needs a Gladys version newer than 5.2.1 with the WebRTC camera live view (GladysAssistant/Gladys#3215) and the SDK handlers (GladysAssistant/integration-sdk-js#43): inert until then, the dashboard keeps the still image — an older core refusing the param gets the discovery again without it. No new Netatmo permission; a refused one fails with the "reconnect" message (#70).

What's Changed

  • feat: WebRTC live view of the video doorbell and Indoor Camera Advance by @Terdious in #71
  • feat: BTicino Classe 300 door entry preview — discovery and diagnostic log by @Terdious in #72
  • docs: roadmap and changelog ready for 2.2.0 by @Terdious in #73

Full Changelog: v2.1.0...v2.2.0

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 12:00

Added

  • Netatmo modulating / OpenTherm thermostat, in the Energy family: the OTM thermostat gets the room temperature, the writable setpoint (setroomthermpoint), the heating mode preset (therm_preset), the boiler status, battery and RF quality, like the NATherm1, with the unreachable badge when out of reach; the OTH OpenTherm relay gets its WiFi quality, the outdoor temperature (outdoor_temperature) and a Boiler fault binary (boiler_fault: 1 while homestatus reports a boiler_error, 0 when it reports the relay without one). The thermostat's room joins the heating widget and the heating mode scene action. No reconnection needed (#53).
  • BTicino Smarther with Netatmo thermostat (BNS), in the Energy family: room temperature, writable setpoint, heating mode preset, boiler status, cooler status (cooler_status), the reported comfort boost (boiler_valve_comfort_boost, read-only) and WiFi quality; its room joins the heating widget and the heating mode scene action. It needs the new read_smarther / write_smarther scopes: an account connected before must click Connect again (the Configuration screen says so until then) (#54).
  • Advanced heating: four new scene actions — "Set a room setpoint" (7 to 30 °C, optional duration), "Boost a room" (optional duration), "Back to the schedule" (room of the chosen thermostat or valve, setroomthermpoint manual / max / home with endtime) and "Choose the heating schedule" (by its Netatmo name, switchhomeschedule; an unknown name lists the available ones). The Netatmo heating widget shows the active schedule, marks the rooms whose setpoint is manual or a boost, and gets a "Change schedule" button listing the heating schedules of the home (#58).
  • Netatmo Indoor Camera Advance (NPC), discovered with the Security family: the same features as the indoor camera — dashboard image, writable monitoring switch (/api/setstate), Motion and Person detected from the Gladys Plus webhooks (NPC- events) — and it joins the Netatmo cameras widget. As a WebRTC camera (like the video doorbell), its snapshot is fetched on the Netatmo VPN URL only and it gets no live stream (CAMERA_URL). It needs three new Netatmo permissions (read_camerapro, write_camerapro, access_camerapro): an account connected before must click Connect again, which the connection status asks for (#55).
  • Floodlight of the outdoor camera (NOC): Netatmo's on / off / auto mode becomes two writable features, Floodlight (a Gladys light: on = forced on, so the light scene actions work) and Floodlight automatic mode (a switch: on = auto), sent through /api/setstate. Turning one of them off only acts when it is the current mode, so a "lights off" scene never disables the automatic lighting. Read from the home status, and published at once from the webhook light_mode event; a command refused for a missing permission asks to reconnect. Existing cameras get the features with Update on the Discovery screen (#56).
  • Presence of the persons known to the Netatmo cameras: with the Security family enabled, each home gets a " - Known persons" device with one presence feature per person named in the Netatmo app (Presence detected = at home, from the homestatus out_of_sight). Unnamed faces are skipped, a person Netatmo does not report publishes nothing, and the state refreshes every cycle and at once on the webhook events (#57).

Changed

  • The "some Netatmo permissions are missing" connection message now gives the BTicino Smarther and the Indoor Camera Advance as examples (#54).

Fixed

  • A webhook-triggered refresh now always starts from a fresh Netatmo load: a cycle in flight or a load still in the 10 s burst cache could hide the state the event announced (#57).

What's Changed

  • feat: presence of the persons known to the Netatmo cameras by @Terdious in #62
  • feat: advanced heating — room setpoint with duration, boost, back to schedule, schedule selection by @Terdious in #63
  • feat: modulating / OpenTherm thermostat (OTH + OTM) by @Terdious in #64
  • feat: BTicino Smarther with Netatmo thermostat (BNS) by @Terdious in #65
  • feat: Netatmo Indoor Camera Advance (NPC) by @Terdious in #66
  • feat: outdoor camera floodlight (on / off / auto) by @Terdious in #67
  • docs: group the 2.1.0 changelog by theme and refresh the roadmap by @Terdious in #68

Full Changelog: v2.0.1...v2.1.0

v2.0.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 11:11

Fixed

  • Feature names of a weather module without a room no longer read "Minimum in undefined" / "Temperature - room undefined": the device name is used instead (display names only, feature external ids are unchanged) (#12).

Changed

  • Test coverage of the post-1.0 review backlog (#12).

What's Changed

  • test: close the post-1.0 coverage backlog, no more "Minimum in undefined" names by @Terdious in #52

Full Changelog: v2.0.0...v2.0.1

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 09:48

Added

  • Netatmo Smart Indoor Air Quality Monitor (Home Coach, NHC): new opt-in Air quality devices (Home Coach) toggle (aircare_api, off by default) loading gethomecoachsdata as its own API family — its failure keeps the previous discovery list but never blocks the other families. Each Home Coach brings temperature (with the day's minimum and maximum), humidity, CO2, noise, pressure, absolute pressure and WiFi quality, with the same feature suffixes as the weather indoor modules, plus an Air quality feature (airquality-sensor / aqi, suffix health_idx). The Home Coach rates the room on five levels (healthy, fine, fair, poor, unhealthy): as Gladys reads an AQI (0-500) for its dashboard colours and HomeKit, each level is published as the middle of the matching AQI band (25, 75, 125, 175, 250). An Air quality level feature (text / select, suffix health_level) shows the same rating in words (Sain … Malsain: Gladys option labels are not translated yet) on the dashboard. An offline Home Coach is badged unreachable and publishes no stale value. No reconnection needed (read_homecoach was already requested) (#37).
  • Heating mode of the Netatmo home (schedule / away / frost protection) on every thermostat and valve, readable and writable from Gladys as a thermostat preset: the command goes through setthermmode and applies to the whole home, then an immediate refresh shows the new mode on every device of the home. Existing thermostats get the feature through Update on the Discovery screen (#38).
  • Scene triggers (Gladys Plus webhooks): "A known person arrives" (an indoor camera recognized a known face), "A known person leaves" and "The siren sounds", with the person, camera / siren and home names passed on to the scene and optional camera and person filters (#39).
  • Scene actions: "Change the heating mode" (schedule / away / frost protection, optional duration), "Mark a person as away" (or the whole home empty) and "Mark a person as at home" (or every known person), on the home of the chosen device or the account's single home (#39).
  • Dashboard widgets: Netatmo weather (live tiles of the station, a health row for a module with a low battery or out of reach, three views), Netatmo heating (heating mode, one row per room with the measured and set temperatures, Schedule / Frost protection / Away buttons) and Netatmo cameras (latest picture of each camera served by the integration under a content-addressed key, monitoring state and on / off buttons). The widgets are nudged to refresh when the heating mode, the module health, the monitoring or a picture changes (#40).
  • Bubendorff / iDiamant roller shutters (NBR radio, NBO wired, NBS solar), behind a new Roller shutters (Bubendorff / iDiamant) toggle (off by default): open / close / stop, a writable position (0-100 %, read from current_position) and the RF quality, commanded through /api/setstate via the iDiamant gateway, with a values refresh 30 seconds after each command. The read_bubendorff / write_bubendorff scopes are requested: already connected users click Connect again to grant them — a refused shutter command says so on the Configuration screen, in the four languages (#34).
  • Netatmo video doorbell (NDB), behind the Security toggle: dashboard image (snapshot fetched on the Netatmo VPN URL — the doorbell serves nothing on the local network), Wifi quality and a Doorbell ring fed by the webhooks (incoming_call event), usable as an "If the doorbell rings" scene trigger and reset after 60 s. No monitoring switch (none in the Netatmo API for the doorbell) and no live stream button (WebRTC only) (#35).
  • New read_doorbell and access_doorbell OAuth scopes: an account connected before must click Connect again. The integration reads the scopes Netatmo granted to the token and, while some are missing, the Configuration screen shows "click Connect again" next to the connected status (#35).
  • Netatmo carbon monoxide alarm (NCO), behind the Security toggle and modelled on the smoke alarm: battery and signal (published when Netatmo reports them), plus a Carbon monoxide detection fed by the webhooks (co_detected event: pre-alarm and alarm are detections, "back to normal" returns it to No), usable as a scene trigger and reset after 60 s. The read_carbonmonoxidedetector scope was already requested: no reconnection needed (#36).

Changed

  • Gladys Assistant 5.2.0 or later is required: the thermostat preset feature type does not exist before, and an older core would refuse the whole discovery list (#38).
  • Documentation: the troubleshooting section and the README point to the forum topic Intégration externe - Netatmo; the roadmap lists what shipped and what is planned.
  • GitHub Release notes, like gladys-tuya: the version's changelog section, one line per bullet (no more hard line breaks), followed by the notes GitHub generates — "What's Changed" with the merged pull requests and their authors, and the "Full Changelog" comparison. A manual run of the GitHub releases workflow with "refresh" rewrites the notes of the existing Releases.
  • The Release workflow refuses to release when the Unreleased section of CHANGELOG.md lists no change.
  • User documentation (en, fr, de, es): the update section describes the catalog update (Update button, new configuration fields applied on their own) instead of re-pasting the manifest, now only needed in developer mode; the migration section gives the procedure of the Gladys Migrate button (4.84.1+), which keeps the history, scenes and dashboards of the devices of the built-in Netatmo service.

Fixed

  • Weather values no longer freeze when the Netatmo weather service (getstationsdata) fails: the station and module measures also come from the home status, now loaded whenever a device family is enabled (#33).
  • A Netatmo API failing for 3 refresh cycles in a row no longer goes unnoticed: the devices it leaves without fresh values get a degraded badge with the reason, the Configuration screen shows it under the Connected status, and both clear on the first complete refresh (#33).
  • The "smoke cleared" webhook event (sub_type 0) no longer raises a smoke detection: it returns the Smoke feature to No at once, so a scene triggered by smoke does not fire a second time when the smoke clears.

What's Changed

  • chore(deps): bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #28
  • chore(deps): bump actions/setup-node from 6 to 7 by @dependabot[bot] in #27
  • chore(deps-dev): bump the dev-dependencies group with 4 updates by @dependabot[bot] in #29
  • docs: catalog updates and the Gladys device migration (history kept) by @Terdious in #31
  • ci(release): GitHub Release notes like gladys-tuya, refuse an empty Unreleased by @Terdious in #32
  • fix(events): a "smoke cleared" webhook no longer raises a smoke detection by @Terdious in #51
  • fix(weather): keep the station values when getstationsdata fails, flag degraded devices by @Terdious in #43
  • feat: Netatmo carbon monoxide alarm (NCO) by @Terdious in #46
  • feat: Netatmo video doorbell (NDB) by @Terdious in #47
  • feat: Bubendorff / iDiamant roller shutters (NBR, NBO, NBS) by @Terdious in #45
  • feat: heating mode of the Netatmo home as a thermostat preset by @Terdious in #48
  • feat: Netatmo scene triggers and scene actions by @Terdious in #49
  • feat: Netatmo dashboard widgets (weather, heating, cameras) by @Terdious in #50
  • feat: Home Coach / Smart Indoor Air Quality Monitor (NHC) by @Terdious in #44
  • docs: up-to-date roadmap, forum topic links by @Terdious in #42

New Contributors

Full Changelog: v1.3.0...v2.0.0