From 187c4e982aeeb38ef4fce72ca5328cb615a5fe14 Mon Sep 17 00:00:00 2001 From: Tommy Date: Fri, 13 Oct 2023 11:14:17 -0400 Subject: [PATCH] Support FLP55 thermostats Flextherm thermostats are rebranded Sinope thermostats, so even if they are supposed to use a specific "Concerto Connect" app and website, they can be used in Neviweb because they are basically TH1300WF thermostat with a custom sku. Funny enough, Neviweb shows them as TH1300WF despite the sku being something else. Here's an example of a device: ``` { "id":123456789, "identifier":"xxxxx", "name":"Bathroom", "family":"738", "signature":{"model":738,"modelCfg":0,"softBuildCfg":0,"softVersion":{"major":2,"middle":4,"minor":6},"hardRev":0}, "location$id":123, "parentDevice$id":null, "group$id":null, "orderIdx":0, "sku":"FLP55", "vendor":"Flextherm", "url_en":"https://www.flextherm.com/en/thermostats/concerto-connect", "url_fr":"https://www.flextherm.com/fr/thermostats/concerto-connect" } ``` --- src/platform.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/platform.ts b/src/platform.ts index 5077936..a2cb77e 100644 --- a/src/platform.ts +++ b/src/platform.ts @@ -79,7 +79,10 @@ export class SinopePlatform implements DynamicPlatformPlugin { // filter these out. // TODO(palourde): There must be a more reliable way of doing this than // looking at the parentDevice$id field - const thermostats = devices.filter(device => device.sku.substring(0, 2) === 'TH'); + const thermostats = devices.filter(device => { + // FLP55 are Flextherm thermostats, which are rebranded TH1300WF + return device.sku.substring(0, 2) === 'TH' || device.sku === 'FLP55'; + }); const dimmers = devices.filter(device => device.sku.substring(0, 2) === 'DM'); const outlets = devices.filter(device => device.sku.substring(0, 2) === 'SP'); const switchesregex = new RegExp('^SW|^RM', 'g');