diff --git a/mock-api/rest_server.ts b/mock-api/rest_server.ts index 7fe2e6d2d..514f85ae0 100644 --- a/mock-api/rest_server.ts +++ b/mock-api/rest_server.ts @@ -481,20 +481,20 @@ const emsesp_info = { Devices: [ { type: 'Boiler', - name: 'Nefit GBx72/Trendline/Cerapur/Greenstar Si/27i (DeviceID:0x08 ProductID:123, Version:06.01)', + name: 'Nefit Trendline HRC30 (DeviceID:0x08 ProductID:123, Version:06.01)', handlers: '0x10 0x11 0xC2 0x14 0x15 0x1C 0x18 0x19 0x1A 0x35 0x16 0x33 0x34 0x26 0x2A 0xD1 0xE3 0xE4 0xE5 0xE6 0xE9 0xEA' }, { type: 'Thermostat', - name: 'RC20/Moduline 300 (DeviceID:0x17, ProductID:77, Version:03.03)', + name: 'RC20 (DeviceID:0x17, ProductID:77, Version:03.03)', handlers: '0xA3 0x06 0xA2 0x12 0x91 0xA8' } ] }; const emsesp_allvalues = { - 'Boiler Nefit GBx72/Trendline/Cerapur/Greenstar Si (DeviceID:0x08, ProductID:123, Version:06.01)': { + 'Boiler Nefit Trendline HRC30 (DeviceID:0x08, ProductID:123, Version:06.01)': { 'force heating off': 'off', 'heating active': 'off', 'tapwater active': 'off', @@ -570,7 +570,7 @@ const emsesp_allvalues = { 'energy heating': 2532.94, 'dhw energy': 555.75 }, - 'Thermostat RC20/Moduline 300 (DeviceID:0x17, ProductID:77, Version:03.03)': { + 'Thermostat RC20 (DeviceID:0x17, ProductID:77, Version:03.03)': { 'date/time': '10.12.2023 13:49', 'hc1 how hot lounge should be': 19, 'hc1 current room temp': 19.5, @@ -638,24 +638,60 @@ let settings = { const emsesp_devices = { devices: [ + { + i: 2, + s: 'RC20', + t: 5, + tn: 'thermostat' + }, + { + i: 3, + s: 'GB125', + t: 5, + tn: 'boiler' + }, + { + i: 4, + s: 'Moduline 1000', + t: 5, + tn: 'thermostat' + }, + { + i: 5, + s: 'MM10', + t: 7, + tn: 'mixer' + }, + { + i: 6, + s: 'SM10', + t: 8, + tn: 'solar' + }, { i: 7, - s: 'Boiler (GBx72/Trendline/Cerapur/Greenstar Si/27i)', + s: 'Trendline HRC30', t: 4, tn: 'boiler' }, { - i: 2, - s: 'Thermostat (RC20/Moduline 300)', + i: 8, + s: 'Bosch Compress 7000i AW Heat Pump', t: 5, + tn: 'boiler' + }, + { + i: 9, + s: 'RC100H', + t: 6, tn: 'thermostat' }, { - i: 4, - s: 'Thermostat (RC100/Moduline 1000/1010)', - t: 5, + i: 10, + s: 'RC310', + t: 6, tn: 'thermostat' - } + }, ] }; @@ -669,8 +705,7 @@ const emsesp_coredata = { t: 5, tn: 'Boiler', b: 'Nefit', - n: 'GBx72/Trendline/Cerapur/Greenstar Si/27i', - // n: 'Enviline/Compress 6000AW/Hybrid 3000-7000iAW/SupraEco/Geo 5xx/WLW196i/WSW196i', + n: 'Nefit Trendline HRC30', d: 8, p: 123, v: '06.01', @@ -681,7 +716,7 @@ const emsesp_coredata = { t: 5, tn: 'Boiler', b: 'Buderus', - n: 'GB125/GB135/MC10', + n: 'GB125', d: 8, p: 123, v: '06.01', @@ -703,7 +738,7 @@ const emsesp_coredata = { t: 6, tn: 'Thermostat', b: '', - n: 'RC20/Moduline 300', + n: 'RC20', d: 23, p: 77, v: '03.03', @@ -713,8 +748,8 @@ const emsesp_coredata = { id: 4, t: 6, tn: 'Thermostat', - b: 'Buderus', - n: 'RC100/Moduline 1000/1010', + b: 'Nefit', + n: 'Moduline 1000', d: 16, p: 165, v: '04.01', @@ -742,6 +777,39 @@ const emsesp_coredata = { v: '01.02', e: 22 }, + { + "id": 8, + "tn": "Boiler", + "t": 5, + "b": "", + "n": "Bosch Compress 7000i AW Heat Pump", + "d": 8, + "p": 172, + "v": "01.20", + "e": 152 + }, + { + "id": 9, + "tn": "Thermostat", + "t": 6, + "b": "", + "n": "RC100H", + "d": 56, + "p": 200, + "v": "40.07", + "e": 4 + }, + { + "id": 10, + "tn": "Thermostat", + "t": 6, + "b": "", + "n": "RC310", + "d": 16, + "p": 158, + "v": "73.03", + "e": 63 + }, { id: 99, t: 4, @@ -787,12 +855,12 @@ const activity = { }; // Dashboard data -// 1 - RC35 thermo -// 2 - RC20 thermo +// 1 - RC35 thermostat +// 2 - RC20 thermostat // 3 - Buderus GB125 boiler -// 4 - RC100 thermostat -// 5 - Mixer MM10 -// 6 - Solar SM10 +// 4 - Moduline 1000 thermostat +// 5 - MM10 mixer +// 6 - SM10 solar // 7 - Nefit Trendline boiler // 99 - Custom @@ -2050,6 +2118,1687 @@ const emsesp_devicedata_7 = { ] }; +const emsesp_devicedata_8 = { + "data": [ + { + "v": "", + "u": 0, + "id": "00reset", + "c": "reset", + "l": [ + "-", + "maintenance", + "error", + "history", + "message" + ] + }, + { + "v": "off", + "u": 0, + "id": "00force heating off", + "c": "heatingoff", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00heating active" + }, + { + "v": "off", + "u": 0, + "id": "00tapwater active" + }, + { + "v": 19, + "u": 1, + "id": "00selected flow temperature", + "c": "selflowtemp", + "m": 0, + "x": 90, + "s": "1" + }, + { + "v": 0, + "u": 3, + "id": "00heating pump modulation" + }, + { + "v": 30.299999237060547, + "u": 1, + "id": "00outside temperature" + }, + { + "v": 18.700000762939453, + "u": 1, + "id": "00current flow temperature" + }, + { + "v": 21.399999618530273, + "u": 1, + "id": "00return temperature" + }, + { + "v": 18.700000762939453, + "u": 1, + "id": "00low loss header" + }, + { + "v": "on", + "u": 0, + "id": "00heating activated", + "c": "heatingactivated", + "l": [ + "off", + "on" + ] + }, + { + "v": 85, + "u": 1, + "id": "00heating temperature", + "c": "heatingtemp", + "m": 0, + "x": 90, + "s": "1" + }, + { + "v": "on", + "u": 0, + "id": "00heating pump" + }, + { + "v": 44, + "u": 3, + "id": "00burner selected max power", + "c": "selburnpow", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": 45, + "u": 3, + "id": "00burner current power" + }, + { + "v": 0, + "u": 0, + "id": "00burner starts" + }, + { + "v": 0, + "u": 8, + "id": "00total burner operating time" + }, + { + "v": 0, + "u": 8, + "id": "00burner stage 2 operating time" + }, + { + "v": 0, + "u": 8, + "id": "00total heat operating time" + }, + { + "v": 0, + "u": 0, + "id": "00burner starts heating" + }, + { + "v": 764598, + "u": 8, + "id": "00total UBA operating time" + }, + { + "v": "A01(5453) 01.06.2023 09:23 - 01.06.2023 09:31", + "u": 0, + "id": "00last error code" + }, + { + "v": " 0H", + "u": 0, + "id": "00service code" + }, + { + "v": 203, + "u": 0, + "id": "00service code number" + }, + { + "v": "off", + "u": 0, + "id": "00emergency operation", + "c": "emergencyops", + "l": [ + "off", + "on" + ] + }, + { + "v": 0, + "u": 1, + "id": "00emergency temperature", + "c": "emergencytemp", + "m": 0, + "x": 70, + "s": "1" + }, + { + "v": 763575, + "u": 8, + "id": "00heatpump total uptime" + }, + { + "v": 309983, + "u": 8, + "id": "00total operating time heat" + }, + { + "v": 203673, + "u": 8, + "id": "00operating time compressor heating" + }, + { + "v": 29682, + "u": 8, + "id": "00operating time compressor cooling" + }, + { + "v": 76627, + "u": 8, + "id": "00dhw operating time compressor" + }, + { + "v": 0, + "u": 8, + "id": "00operating time compressor pool" + }, + { + "v": 2054, + "u": 0, + "id": "00total compressor control starts" + }, + { + "v": 1287, + "u": 0, + "id": "00heating control starts" + }, + { + "v": 160, + "u": 0, + "id": "00cooling control starts" + }, + { + "v": 607, + "u": 0, + "id": "00dhw control starts2" + }, + { + "v": 0, + "u": 0, + "id": "00pool control starts" + }, + { + "v": 5368, + "u": 5, + "id": "00total energy consumption" + }, + { + "v": 5336, + "u": 5, + "id": "00total energy consumption compressor" + }, + { + "v": 2977, + "u": 5, + "id": "00energy consumption compressor heating" + }, + { + "v": 2047, + "u": 5, + "id": "00dhw energy consumption compressor" + }, + { + "v": 295, + "u": 5, + "id": "00energy consumption compressor cooling" + }, + { + "v": 0, + "u": 5, + "id": "00energy consumption compressor pool" + }, + { + "v": 32, + "u": 5, + "id": "00total aux elec. heater energy consumption" + }, + { + "v": 0, + "u": 5, + "id": "00aux elec. heater energy consumption heating" + }, + { + "v": 32, + "u": 5, + "id": "00dhw aux elec. heater energy consumption" + }, + { + "v": 0, + "u": 5, + "id": "00aux elec. heater energy consumption pool" + }, + { + "v": 19052, + "u": 5, + "id": "00total energy supplied" + }, + { + "v": 11053, + "u": 5, + "id": "00total energy supplied heating" + }, + { + "v": 5978, + "u": 5, + "id": "00dhw total energy warm supplied" + }, + { + "v": 2019, + "u": 5, + "id": "00total energy supplied cooling" + }, + { + "v": 0, + "u": 5, + "id": "00total energy supplied pool" + }, + { + "v": 4.5, + "u": 11, + "id": "00compressor power output" + }, + { + "v": 100, + "u": 3, + "id": "00compressor max power", + "c": "hpmaxpower", + "m": 0, + "x": 100, + "s": "1" + }, + { + "v": "off", + "u": 0, + "id": "00hp compressor" + }, + { + "v": "cooling", + "u": 0, + "id": "00compressor activity" + }, + { + "v": 0, + "u": 3, + "id": "00brine pump speed" + }, + { + "v": "off", + "u": 0, + "id": "00switch valve" + }, + { + "v": 45, + "u": 3, + "id": "00compressor speed" + }, + { + "v": 33, + "u": 3, + "id": "00circulation pump speed" + }, + { + "v": 0, + "u": 1, + "id": "00brine in/evaporator" + }, + { + "v": 0, + "u": 1, + "id": "00brine out/condenser" + }, + { + "v": 21.399999618530273, + "u": 1, + "id": "00heat carrier return (TC0)" + }, + { + "v": 17.5, + "u": 1, + "id": "00heat carrier forward (TC1)" + }, + { + "v": 18, + "u": 1, + "id": "00condenser temperature (TC3)" + }, + { + "v": 51.599998474121094, + "u": 1, + "id": "00compressor temperature (TR1)" + }, + { + "v": 14.600000381469727, + "u": 1, + "id": "00refrigerant temperature liquid side (condenser output) (TR3)" + }, + { + "v": 37, + "u": 1, + "id": "00evaporator inlet temperature (TR4)" + }, + { + "v": 20.200000762939453, + "u": 1, + "id": "00compressor inlet temperature (TR5)" + }, + { + "v": 54.599998474121094, + "u": 1, + "id": "00compressor outlet temperature (TR6)" + }, + { + "v": 29.600000381469727, + "u": 1, + "id": "00air inlet temperature (TL2)" + }, + { + "v": 13.899999618530273, + "u": 1, + "id": "00low pressure side temperature (PL1)" + }, + { + "v": 37.79999923706055, + "u": 1, + "id": "00high pressure side temperature (PH1)" + }, + { + "v": 25.600000381469727, + "u": 1, + "id": "00drain pan temp (TA4)" + }, + { + "v": 58.5, + "u": 1, + "id": "00reservoir temp (TW1)" + }, + { + "v": 28, + "u": 1, + "id": "00pool set temperature", + "c": "poolsettemp", + "m": 0, + "x": 127, + "s": "0.5" + }, + { + "v": "cooling & defrost", + "u": 0, + "id": "004-way valve (VR4)" + }, + { + "v": "off", + "u": 0, + "id": "00input 1 state" + }, + { + "v": "000000000000000", + "u": 0, + "id": "00input 1 options", + "c": "hpin1opt", + "h": "[]" + }, + { + "v": "off", + "u": 0, + "id": "00input 2 state" + }, + { + "v": "000000000000000", + "u": 0, + "id": "00input 2 options", + "c": "hpin2opt", + "h": "[]" + }, + { + "v": "off", + "u": 0, + "id": "00input 3 state" + }, + { + "v": "000000000000000", + "u": 0, + "id": "00input 3 options", + "c": "hpin3opt", + "h": "[]" + }, + { + "v": "off", + "u": 0, + "id": "00input 4 state" + }, + { + "v": "000000000000", + "u": 0, + "id": "00input 4 options", + "c": "hpin4opt", + "h": "[]" + }, + { + "v": "6 kW", + "u": 0, + "id": "00heat limit compressor", + "c": "maxheatcomp", + "l": [ + "0 kW", + "2 kW", + "3 kW", + "4 kW", + "6 kW", + "9 kW" + ] + }, + { + "v": "9 kW", + "u": 0, + "id": "00heat limit heating", + "c": "maxheatheat", + "l": [ + "0 kW", + "2 kW", + "3 kW", + "4 kW", + "6 kW", + "9 kW" + ] + }, + { + "v": "9 kW", + "u": 0, + "id": "00dhw heat limit", + "c": "dhw/maxheat", + "l": [ + "0 kW", + "2 kW", + "3 kW", + "4 kW", + "6 kW", + "9 kW" + ] + }, + { + "v": "on", + "u": 0, + "id": "00manual defrost", + "c": "mandefrost", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00cooling only with PV", + "c": "pvcooling", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00aux heater only", + "c": "auxheateronly", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00disable aux heater", + "c": "auxheateroff", + "l": [ + "off", + "on" + ] + }, + { + "v": 0, + "u": 3, + "id": "00aux heater status" + }, + { + "v": 500, + "u": 21, + "id": "00aux heater on delay", + "c": "auxheaterdelay", + "m": 10, + "x": 1000, + "s": "10" + }, + { + "v": 0, + "u": 22, + "id": "00aux heater max limit", + "c": "auxmaxlimit", + "m": 0, + "x": 10, + "s": "0.1" + }, + { + "v": 0.10000000149011612, + "u": 22, + "id": "00aux heater limit start", + "c": "auxlimitstart", + "m": 0, + "x": 10, + "s": "0.1" + }, + { + "v": "eco", + "u": 0, + "id": "00aux heater mode", + "c": "auxheatrmode", + "l": [ + "eco", + "comfort" + ] + }, + { + "v": 0, + "u": 21, + "id": "00on/off hyst heat", + "c": "hphystheat", + "m": 0, + "x": 1500, + "s": "5" + }, + { + "v": 0, + "u": 21, + "id": "00on/off hyst cool", + "c": "hphystcool", + "m": 0, + "x": 1500, + "s": "5" + }, + { + "v": 1125, + "u": 21, + "id": "00on/off hyst pool", + "c": "hphystpool", + "m": 50, + "x": 1500, + "s": "5" + }, + { + "v": "auto", + "u": 0, + "id": "00silent mode", + "c": "silentmode", + "l": [ + "off", + "auto", + "on" + ] + }, + { + "v": 1320, + "u": 8, + "id": "00silent mode from", + "c": "silentfrom", + "m": 0, + "x": 3810, + "s": "15" + }, + { + "v": 360, + "u": 8, + "id": "00silent mode to", + "c": "silentto", + "m": 0, + "x": 3810, + "s": "15" + }, + { + "v": -10, + "u": 1, + "id": "00min outside temp for silent mode", + "c": "mintempsilent", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": -5, + "u": 1, + "id": "00outside temp parallel mode", + "c": "tempparmode", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": 0, + "u": 3, + "id": "00aux heater mixing valve" + }, + { + "v": 7, + "u": 22, + "id": "00temp diff TC3/TC0 heat", + "c": "tempdiffheat", + "m": 2, + "x": 10, + "s": "0.1" + }, + { + "v": 3, + "u": 22, + "id": "00temp diff TC3/TC0 cool", + "c": "tempdiffcool", + "m": 2, + "x": 10, + "s": "0.1" + }, + { + "v": "off", + "u": 0, + "id": "00valve/pump cooling", + "c": "vpcooling", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00heating cable", + "c": "heatcable", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00VC0 valve", + "c": "vc0valve", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00primary heatpump", + "c": "primepump", + "l": [ + "off", + "on" + ] + }, + { + "v": 0, + "u": 3, + "id": "00primary heatpump modulation", + "c": "primepumpmod", + "m": 0, + "x": 100, + "s": "1" + }, + { + "v": "off", + "u": 0, + "id": "003-way valve", + "c": "hp3way", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00el. heater step 1", + "c": "elheatstep1", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00el. heater step 2", + "c": "elheatstep2", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00el. heater step 3", + "c": "elheatstep3", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00condensate reservoir heating (EA0)" + }, + { + "v": "auto", + "u": 0, + "id": "00primary heatpump mode", + "c": "hppumpmode", + "l": [ + "auto", + "continuous" + ] + }, + { + "v": "", + "u": 0, + "id": "00shutdown", + "c": "shutdown", + "l": [ + "off", + "on" + ] + }, + { + "v": "on", + "u": 0, + "id": "00dhw alternating operation", + "c": "dhw/alternatingop", + "l": [ + "off", + "on" + ] + }, + { + "v": 35, + "u": 8, + "id": "00dhw prioritise heating during dhw", + "c": "dhw/altopprioheat", + "m": 20, + "x": 120, + "s": "1" + }, + { + "v": 45, + "u": 8, + "id": "00dhw prioritise dhw during heating", + "c": "dhw/altopprio", + "m": 30, + "x": 120, + "s": "1" + }, + { + "v": 57, + "u": 1, + "id": "00dhw comfort switch off", + "c": "dhw/comfoff", + "m": 15, + "x": 65, + "s": "1" + }, + { + "v": 54, + "u": 1, + "id": "00dhw eco switch off", + "c": "dhw/ecooff", + "m": 15, + "x": 65, + "s": "1" + }, + { + "v": 50, + "u": 1, + "id": "00dhw eco+ switch off", + "c": "dhw/ecoplusoff", + "m": 48, + "x": 63, + "s": "1" + }, + { + "v": "off", + "u": 0, + "id": "00dhw circulation pump available during dhw", + "c": "dhw/hpcircpump", + "l": [ + "off", + "on" + ] + }, + { + "v": 54, + "u": 1, + "id": "00dhw set temperature" + }, + { + "v": 45, + "u": 1, + "id": "00dhw selected temperature", + "c": "dhw/seltemp", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": 42, + "u": 1, + "id": "00dhw selected lower temperature", + "c": "dhw/seltemplow", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": 65, + "u": 1, + "id": "00dhw single charge temperature", + "c": "dhw/seltempsingle", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": "high comfort", + "u": 0, + "id": "00dhw comfort mode", + "c": "dhw/comfort1", + "l": [ + "high comfort", + "eco" + ] + }, + { + "v": 25, + "u": 2, + "id": "00dhw flow temperature offset", + "c": "dhw/flowtempoffset", + "m": 0, + "x": 100, + "s": "1" + }, + { + "v": 56, + "u": 1, + "id": "00dhw maximum temperature", + "c": "dhw/maxtemp", + "m": 0, + "x": 80, + "s": "1" + }, + { + "v": "on", + "u": 0, + "id": "00dhw circulation pump available", + "c": "dhw/circpump", + "l": [ + "off", + "on" + ] + }, + { + "v": -2, + "u": 2, + "id": "00dhw hysteresis on temperature", + "c": "dhw/hyston", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": 0, + "u": 2, + "id": "00dhw hysteresis off temperature", + "c": "dhw/hystoff", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": 65, + "u": 1, + "id": "00dhw disinfection temperature", + "c": "dhw/disinfectiontemp", + "m": 60, + "x": 80, + "s": "1" + }, + { + "v": "3x3min", + "u": 0, + "id": "00dhw circulation pump mode", + "c": "dhw/circmode", + "l": [ + "off", + "1x3min", + "2x3min", + "3x3min", + "4x3min", + "5x3min", + "6x3min", + "continuous" + ] + }, + { + "v": "off", + "u": 0, + "id": "00dhw circulation active", + "c": "dhw/circ", + "l": [ + "off", + "on" + ] + }, + { + "v": 58.70000076293945, + "u": 1, + "id": "00dhw current intern temperature" + }, + { + "v": 58.5, + "u": 1, + "id": "00dhw current extern temperature" + }, + { + "v": 0, + "u": 4, + "id": "00dhw current tap water flow" + }, + { + "v": "on", + "u": 0, + "id": "00dhw activated", + "c": "dhw/activated", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00dhw one time charging", + "c": "dhw/onetime", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00dhw disinfecting", + "c": "dhw/disinfecting", + "l": [ + "off", + "on" + ] + }, + { + "v": "off", + "u": 0, + "id": "00dhw charging" + }, + { + "v": "off", + "u": 0, + "id": "00dhw recharging" + }, + { + "v": "off", + "u": 0, + "id": "00dhw temperature ok" + }, + { + "v": "off", + "u": 0, + "id": "00dhw 3-way valve active" + }, + { + "v": 0, + "u": 0, + "id": "00dhw starts" + }, + { + "v": 0, + "u": 8, + "id": "00dhw active time" + } + ] + +}; + +const emsesp_devicedata_9 = { + "data": [ + { + "v": 24, + "u": 1, + "id": "00hc1 room temperature from remote" + }, + { + "v": 14, + "u": 1, + "id": "00hc1 dew point temperature" + }, + { + "v": 46, + "u": 3, + "id": "00hc1 relative air humidity" + }, + { + "v": 0, + "u": 2, + "id": "00hc1 internal temperature offset", + "c": "hc1/intoffset", + "m": -12, + "x": 12, + "s": "0.1" + } + ] +}; + +const emsesp_devicedata_10 = { + "data": [ + { + "v": "26.06.2024 14:49", + "u": 0, + "id": "00date/time", + "c": "datetime", + "h": "NTP | dd.mm.yyyy-hh:mm:ss-day(0-6)-dst(0/1)" + }, + { + "v": 0, + "u": 2, + "id": "00internal temperature offset", + "c": "intoffset", + "m": -12, + "x": 12, + "s": "0.1" + }, + { + "v": "off", + "u": 0, + "id": "00floor drying" + }, + { + "v": 30.299999237060547, + "u": 1, + "id": "00damped outdoor temperature" + }, + { + "v": 0, + "u": 1, + "id": "00floor drying temperature" + }, + { + "v": "heavy", + "u": 0, + "id": "00building type", + "c": "building", + "l": [ + "light", + "medium", + "heavy" + ] + }, + { + "v": -12, + "u": 1, + "id": "00minimal external temperature", + "c": "minexttemp", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": "off", + "u": 0, + "id": "00damping outdoor temperature", + "c": "damping", + "l": [ + "off", + "on" + ] + }, + { + "v": 3.299999952316284, + "u": 0, + "id": "00energy cost ratio", + "c": "energycostratio", + "m": 0, + "x": 20, + "s": "0.1" + }, + { + "v": "off", + "u": 0, + "id": "00enable raise dhw", + "c": "pvenabledhw", + "l": [ + "off", + "on" + ] + }, + { + "v": 3, + "u": 22, + "id": "00raise heating with PV", + "c": "pvraiseheat", + "m": 0, + "x": 5, + "s": "1" + }, + { + "v": 0, + "u": 22, + "id": "00lower cooling with PV", + "c": "pvlowercool", + "m": -5, + "x": 0, + "s": "1" + }, + { + "v": 21, + "u": 1, + "id": "00hc1 selected room temperature", + "c": "hc1/seltemp", + "m": 0, + "x": 30, + "s": "0.5" + }, + { + "v": 24, + "u": 1, + "id": "00hc1 current room temperature" + }, + { + "v": "roomTemp", + "u": 0, + "id": "00hc1 mqtt discovery current room temperature" + }, + { + "v": "manual", + "u": 0, + "id": "00hc1 mode", + "c": "hc1/mode", + "l": [ + "manual", + "auto" + ] + }, + { + "v": "comfort", + "u": 0, + "id": "00hc1 mode type" + }, + { + "v": 15, + "u": 1, + "id": "00hc1 eco temperature", + "c": "hc1/ecotemp", + "m": 0, + "x": 127, + "s": "0.5" + }, + { + "v": 22.5, + "u": 1, + "id": "00hc1 manual temperature", + "c": "hc1/manualtemp", + "m": 0, + "x": 127, + "s": "0.5" + }, + { + "v": 19, + "u": 1, + "id": "00hc1 comfort temperature", + "c": "hc1/comforttemp", + "m": 0, + "x": 127, + "s": "0.5" + }, + { + "v": 11, + "u": 1, + "id": "00hc1 summer temperature", + "c": "hc1/summertemp", + "m": 10, + "x": 30, + "s": "1" + }, + { + "v": 35, + "u": 1, + "id": "00hc1 design temperature", + "c": "hc1/designtemp", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": 0, + "u": 2, + "id": "00hc1 offset temperature", + "c": "hc1/offsettemp", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": 22, + "u": 1, + "id": "00hc1 min flow temperature", + "c": "hc1/minflowtemp", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": 60, + "u": 1, + "id": "00hc1 max flow temperature", + "c": "hc1/maxflowtemp", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": 0, + "u": 2, + "id": "00hc1 room influence", + "c": "hc1/roominfluence", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": 4, + "u": 0, + "id": "00hc1 room influence factor", + "c": "hc1/roominflfactor", + "m": 0, + "x": 25, + "s": "0.1" + }, + { + "v": 0, + "u": 2, + "id": "00hc1 current room influence" + }, + { + "v": "outdoor", + "u": 0, + "id": "00hc1 nofrost mode", + "c": "hc1/nofrostmode", + "l": [ + "room", + "outdoor", + "room outdoor" + ] + }, + { + "v": 2, + "u": 1, + "id": "00hc1 nofrost temperature", + "c": "hc1/nofrosttemp", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": 19, + "u": 1, + "id": "00hc1 target flow temperature" + }, + { + "v": "floor", + "u": 0, + "id": "00hc1 heating type", + "c": "hc1/heatingtype", + "l": [ + "off", + "radiator", + "convector", + "floor" + ] + }, + { + "v": "auto", + "u": 0, + "id": "00hc1 heatpump operating mode", + "c": "hc1/hpoperatingmode", + "l": [ + "off", + "auto", + "heating", + "cooling" + ] + }, + { + "v": "cooling", + "u": 0, + "id": "00hc1 heatpump operating state" + }, + { + "v": "weather compensated", + "u": 0, + "id": "00hc1 control mode", + "c": "hc1/controlmode", + "l": [ + "weather compensated", + "outside basepoint", + "n/a", + "room", + "power", + "constant" + ] + }, + { + "v": "prog 1", + "u": 0, + "id": "00hc1 program", + "c": "hc1/program", + "l": [ + "prog 1", + "prog 2" + ] + }, + { + "v": -1, + "u": 1, + "id": "00hc1 temporary set temperature automode", + "c": "hc1/tempautotemp", + "m": -1, + "x": 30, + "s": "0.5" + }, + { + "v": 21, + "u": 1, + "id": "00hc1 temporary set temperature from remote" + }, + { + "v": 0, + "u": 3, + "id": "00hc1 fast heatup", + "c": "hc1/fastheatup", + "m": 0, + "x": 100, + "s": "1" + }, + { + "v": "off", + "u": 0, + "id": "00hc1 switch-on optimization", + "c": "hc1/switchonoptimization", + "l": [ + "off", + "on" + ] + }, + { + "v": "reduce", + "u": 0, + "id": "00hc1 reduce mode", + "c": "hc1/reducemode", + "l": [ + "outdoor", + "room", + "reduce" + ] + }, + { + "v": -31, + "u": 1, + "id": "00hc1 no reduce below temperature", + "c": "hc1/noreducetemp", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": 5, + "u": 1, + "id": "00hc1 off/reduce switch temperature", + "c": "hc1/reducetemp", + "m": -126, + "x": 126, + "s": "1" + }, + { + "v": "off", + "u": 0, + "id": "00hc1 dhw priority", + "c": "hc1/dhwprio", + "l": [ + "off", + "on" + ] + }, + { + "v": "on", + "u": 0, + "id": "00hc1 cooling" + }, + { + "v": "heating&cooling", + "u": 0, + "id": "00hc1 HP Mode", + "c": "hc1/hpmode", + "l": [ + "heating", + "cooling", + "heating&cooling" + ] + }, + { + "v": 5, + "u": 22, + "id": "00hc1 dew point offset", + "c": "hc1/dewoffset", + "m": 2, + "x": 10, + "s": "1" + }, + { + "v": 1, + "u": 22, + "id": "00hc1 room temp difference", + "c": "hc1/roomtempdiff", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": 11, + "u": 1, + "id": "00hc1 HP min. flow temp.", + "c": "hc1/hpminflowtemp", + "m": 0, + "x": 254, + "s": "1" + }, + { + "v": "RC100H", + "u": 0, + "id": "00hc1 control device", + "c": "hc1/control", + "l": [ + "RC310", + "RC200", + "RC100", + "RC100H", + "TC100" + ] + }, + { + "v": 1, + "u": 7, + "id": "00hc1 heat-on delay", + "c": "hc1/heatondelay", + "m": 1, + "x": 48, + "s": "1" + }, + { + "v": 1, + "u": 7, + "id": "00hc1 heat-off delay", + "c": "hc1/heatoffdelay", + "m": 1, + "x": 48, + "s": "1" + }, + { + "v": 1, + "u": 22, + "id": "00hc1 instant start", + "c": "hc1/instantstart", + "m": 1, + "x": 10, + "s": "1" + }, + { + "v": "normal", + "u": 0, + "id": "00dhw mode", + "c": "dhw/mode", + "l": [ + "off", + "normal", + "comfort", + "auto", + "own prog" + ] + }, + { + "v": "on", + "u": 0, + "id": "00dhw circulation pump mode", + "c": "dhw/circmode", + "l": [ + "off", + "on", + "auto", + "own prog" + ] + }, + { + "v": 15, + "u": 8, + "id": "00dhw charge duration", + "c": "dhw/chargeduration", + "m": 0, + "x": 3810, + "s": "15" + }, + { + "v": "off", + "u": 0, + "id": "00dhw charge", + "c": "dhw/charge", + "l": [ + "off", + "on" + ] + }, + { + "v": 0, + "u": 1, + "id": "00dhw extra" + }, + { + "v": "off", + "u": 0, + "id": "00dhw disinfecting", + "c": "dhw/disinfecting", + "l": [ + "off", + "on" + ] + }, + { + "v": "tu", + "u": 0, + "id": "00dhw disinfection day", + "c": "dhw/disinfectday", + "l": [ + "mo", + "tu", + "we", + "th", + "fr", + "sa", + "su", + "all" + ] + }, + { + "v": 120, + "u": 8, + "id": "00dhw disinfection time", + "c": "dhw/disinfecttime", + "m": 0, + "x": 1431, + "s": "15" + }, + { + "v": "off", + "u": 0, + "id": "00dhw daily heating", + "c": "dhw/dailyheating", + "l": [ + "off", + "on" + ] + }, + { + "v": 120, + "u": 8, + "id": "00dhw daily heating time", + "c": "dhw/dailyheattime", + "m": 0, + "x": 1431, + "s": "15" + } + ] +} + const emsesp_devicedata_99 = { data: [ { @@ -2204,9 +3953,6 @@ let emsesp_modules = { // CUSTOMIZATION const emsesp_deviceentities_1 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; -const emsesp_deviceentities_3 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; -const emsesp_deviceentities_5 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; -const emsesp_deviceentities_6 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; const emsesp_deviceentities_2 = [ { @@ -2249,6 +3995,35 @@ const emsesp_deviceentities_2 = [ } ]; +const emsesp_deviceentities_3 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; + +const emsesp_deviceentities_4 = [ + { + v: 16, + n: 'hc2 selected room temperature', + id: 'hc2/seltemp', + m: 8, + w: true + }, + { + v: 18.5, + n: 'hc2 current room temperature', + id: 'hc2/curtemp', + m: 2, + w: false + }, + { + v: 'off', + n: 'hc2 mode', + id: 'hc2/mode', + m: 2, + w: true + } +]; +const emsesp_deviceentities_5 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; + +const emsesp_deviceentities_6 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; + const emsesp_deviceentities_7 = [ { u: 0, n: '!reset', id: 'reset', m: 8, w: false }, { v: false, n: 'heating active', id: 'heatingactive', m: 8, w: false }, @@ -2332,29 +4107,13 @@ const emsesp_deviceentities_7 = [ { v: 102151, n: 'dhw active time', id: 'dhw/workm', m: 0, w: false } ]; -const emsesp_deviceentities_4 = [ - { - v: 16, - n: 'hc2 selected room temperature', - id: 'hc2/seltemp', - m: 8, - w: true - }, - { - v: 18.5, - n: 'hc2 current room temperature', - id: 'hc2/curtemp', - m: 2, - w: false - }, - { - v: 'off', - n: 'hc2 mode', - id: 'hc2/mode', - m: 2, - w: true - } -]; +const emsesp_deviceentities_8 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; + +const emsesp_deviceentities_9 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; + +const emsesp_deviceentities_10 = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; + +const emsesp_deviceentities_none = [{ v: 'dummy value', n: 'dummy name', id: 'dummy', m: 0, w: false }]; // END DATA @@ -2439,7 +4198,8 @@ router .get(VERIFY_AUTHORIZATION_ENDPOINT, () => verify_authentication) .post(RESTART_ENDPOINT, () => { console.log('restarting...'); - return status(200);}) + return status(200); + }) .post(FACTORY_RESET_ENDPOINT, () => status(200)) .post(SIGN_IN_ENDPOINT, () => signin) .get(GENERATE_TOKEN_ENDPOINT, () => generate_token); @@ -2470,6 +4230,15 @@ function deviceData(id: number) { if (id == 7) { return new Response(encoder.encode(emsesp_devicedata_7), { headers }); } + if (id == 8) { + return new Response(encoder.encode(emsesp_devicedata_8), { headers }); + } + if (id == 9) { + return new Response(encoder.encode(emsesp_devicedata_9), { headers }); + } + if (id == 10) { + return new Response(encoder.encode(emsesp_devicedata_10), { headers }); + } if (id == 99) { return new Response(encoder.encode(emsesp_devicedata_99), { headers }); } @@ -2497,10 +4266,21 @@ function deviceEntities(id: number) { if (id == 7) { return new Response(encoder.encode(emsesp_deviceentities_7), { headers }); } + if (id == 8) { + return new Response(encoder.encode(emsesp_deviceentities_8), { headers }); + } + if (id == 9) { + return new Response(encoder.encode(emsesp_deviceentities_9), { headers }); + } + if (id == 10) { + return new Response(encoder.encode(emsesp_deviceentities_10), { headers }); + } + // not found, return empty + return new Response(encoder.encode(emsesp_deviceentities_none), { headers }); } +// Router starts here... router - // EMS-ESP Settings .get(EMSESP_SETTINGS_ENDPOINT, () => settings) .post(EMSESP_SETTINGS_ENDPOINT, async (request: any) => { @@ -2511,9 +4291,18 @@ router }) // Device Dashboard Data - .get(EMSESP_CORE_DATA_ENDPOINT, () => emsesp_coredata) + .get(EMSESP_CORE_DATA_ENDPOINT, () => { + // sort by type + const sorted_devices = emsesp_coredata.devices.sort((a, b) => b.t - a.t); + return { connected: true, devices: sorted_devices }; + }) .get(EMSESP_SENSOR_DATA_ENDPOINT, () => emsesp_sensordata) - .get(EMSESP_DEVICES_ENDPOINT, () => emsesp_devices) + .get(EMSESP_DEVICES_ENDPOINT, () => { + // sort by type + const sorted_devices = emsesp_devices.devices.sort((a, b) => b.t - a.t); + return { devices: sorted_devices }; + + }) .post(EMSESP_SCANDEVICES_ENDPOINT, () => status(200)) .get(EMSESP_DEVICEDATA_ENDPOINT1, (request) => @@ -2530,9 +4319,7 @@ router const content = await request.json(); const id = content.id; for (const entity of content.entity_ids) { - if (id === 7) { - updateMask(entity, emsesp_deviceentities_7, emsesp_devicedata_7); - } else if (id === 1) { + if (id === 1) { updateMask(entity, emsesp_deviceentities_1, emsesp_devicedata_1); } else if (id === 2) { updateMask(entity, emsesp_deviceentities_2, emsesp_devicedata_2); @@ -2544,6 +4331,14 @@ router updateMask(entity, emsesp_deviceentities_5, emsesp_devicedata_5); } else if (id === 6) { updateMask(entity, emsesp_deviceentities_6, emsesp_devicedata_6); + } else if (id === 7) { + updateMask(entity, emsesp_deviceentities_7, emsesp_devicedata_7); + } else if (id === 8) { + updateMask(entity, emsesp_deviceentities_8, emsesp_devicedata_8); + } else if (id === 9) { + updateMask(entity, emsesp_deviceentities_9, emsesp_devicedata_9); + } else if (id === 10) { + updateMask(entity, emsesp_deviceentities_9, emsesp_devicedata_10); } } console.log('customization saved', content); @@ -2583,7 +4378,7 @@ router console.log('modules updated', emsesp_modules); return status(200); }) - .get(EMSESP_MODULES_ENDPOINT, () => emsesp_modules) + .get(EMSESP_MODULES_ENDPOINT, () => emsesp_modules) // Custom Entities .post(EMSESP_CUSTOMENTITIES_ENDPOINT, async (request: any) => { @@ -2630,6 +4425,18 @@ router objIndex = emsesp_devicedata_7.data.findIndex((obj) => obj.c == command); emsesp_devicedata_7.data[objIndex].v = value; } + if (id === 8) { + objIndex = emsesp_devicedata_8.data.findIndex((obj) => obj.c == command); + emsesp_devicedata_8.data[objIndex].v = value; + } + if (id === 9) { + objIndex = emsesp_devicedata_9.data.findIndex((obj) => obj.c == command); + emsesp_devicedata_9.data[objIndex].v = value; + } + if (id === 10) { + objIndex = emsesp_devicedata_10.data.findIndex((obj) => obj.c == command); + emsesp_devicedata_10.data[objIndex].v = value; + } if (id === 99) { // custom entities objIndex = emsesp_devicedata_99.data.findIndex((obj) => obj.c == command);