Render values in Web natively #70

This commit is contained in:
proddy
2021-06-07 21:19:52 +02:00
parent db43f2d711
commit 8dd18aa24d
23 changed files with 946 additions and 724 deletions

View File

@@ -9,10 +9,19 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@msgpack/msgpack": "^2.7.0",
"express": "^4.17.1",
"nodemon": "^2.0.7"
}
},
"node_modules/@msgpack/msgpack": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.7.0.tgz",
"integrity": "sha512-mlRYq9FSsOd4m+3wZWatemn3hGFZPWNJ4JQOdrir4rrMK2PyIk26idKBoUWrqF3HJJHl+5GpRU+M0wEruJwecg==",
"engines": {
"node": ">= 10"
}
},
"node_modules/@sindresorhus/is": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
@@ -1593,6 +1602,11 @@
}
},
"dependencies": {
"@msgpack/msgpack": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.7.0.tgz",
"integrity": "sha512-mlRYq9FSsOd4m+3wZWatemn3hGFZPWNJ4JQOdrir4rrMK2PyIk26idKBoUWrqF3HJJHl+5GpRU+M0wEruJwecg=="
},
"@sindresorhus/is": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",

View File

@@ -11,6 +11,7 @@
"author": "proddy",
"license": "ISC",
"dependencies": {
"@msgpack/msgpack": "^2.7.0",
"express": "^4.17.1",
"nodemon": "^2.0.7"
}

View File

@@ -1,6 +1,9 @@
const express = require('express')
const path = require('path')
const msgpack = require('@msgpack/msgpack')
// import { encode } from "@msgpack/msgpack";
const app = express()
const port = process.env.PORT || 3080
@@ -284,7 +287,10 @@ const emsesp_alldevices = {
version: '01.03',
},
],
sensors: [],
sensors: [
{ no: 1, id: '28-233D-9497-0C03', temp: '25.7' },
{ no: 2, id: '28-243D-7437-1E3A', temp: '26.1' },
],
}
const emsesp_status = {
status: 0,
@@ -293,273 +299,408 @@ const emsesp_status = {
rx_quality: 100,
tx_quality: 100,
}
const emsesp_devicedata_1 = {
name: 'Thermostat: RC20/Moduline 300',
data: [
'16:28:21 01/04/2021',
'',
'date/time',
'datetime',
'(0)',
'',
'error code',
'',
15,
'°C',
'(hc1) setpoint room temperature',
'temp',
20.5,
'°C',
'(hc1) current room temperature',
'',
'auto',
'',
'(hc1) mode',
'mode',
{
v: '(0)',
u: 0,
n: 'error code',
c: '',
},
{
v: '14:54:39 06/06/2021',
u: 0,
n: 'date/time',
c: '',
},
{
v: 18,
u: 1,
n: '(hc1) selected room temperature',
c: 'hc1/seltemp',
},
{
v: 22.6,
u: 1,
n: '(hc1) current room temperature',
c: '',
},
{
v: 'auto',
u: 0,
n: '(hc1) mode',
c: 'hc1/mode',
},
],
}
const emsesp_devicedata_2 = {
name: 'Boiler: Nefit GBx72/Trendline/Cerapur/Greenstar Si/27i',
data: [
'off',
'',
'heating active',
'',
'off',
'',
'warm water active',
'',
5,
'°C',
'selected flow temperature',
'selflowtemp',
0,
'%',
'burner selected max power',
'',
0,
'%',
'heating pump modulation',
'',
42.7,
'°C',
'current flow temperature',
'',
39,
'°C',
'return temperature',
'',
1.2,
'bar',
'system pressure',
'',
45.3,
'°C',
'max boiler temperature',
'',
'off',
'',
'gas',
'',
0,
'uA',
'flame current',
'',
'off',
'',
'heating pump',
'',
'off',
'',
'fan',
'',
'off',
'',
'ignition',
'',
'on',
'',
'heating activated',
'',
75,
'°C',
'heating temperature',
'',
90,
'%',
'burner pump max power',
'',
55,
'%',
'burner pump min power',
'',
1,
null,
'pump delay',
'',
10,
null,
'burner min period',
'',
0,
'%',
'burner min power',
'',
75,
'%',
'burner max power',
'',
-6,
'°C',
'hysteresis on temperature',
'',
6,
'°C',
'hysteresis off temperature',
'',
0,
'%',
'burner current power',
'',
295740,
'',
'burner # starts',
'',
'344 days 2 hours 8 minutes',
null,
'total burner operating time',
'',
'279 days 11 hours 55 minutes',
null,
'total heat operating time',
'',
'2946 days 19 hours 8 minutes',
null,
'total UBA operating time',
'',
'1C(210) 06.06.2020 12:07',
'',
'last error code',
'',
'0H',
'',
'service code',
'',
203,
'',
'service code number',
'',
'01.01.2012',
'',
'maintenance set date',
'',
'off',
'',
'maintenance scheduled',
'',
6000,
'hours',
'maintenance set time',
'',
60,
'°C',
'(warm water) selected temperature',
'',
62,
'°C',
'(warm water) set temperature',
'',
'flow',
'',
'(warm water) type',
'',
'hot',
'',
'(warm water) comfort',
'',
40,
'',
'(warm water) flow temperature offset',
'',
100,
'%',
'(warm water) max power',
'',
'off',
'',
'(warm water) circulation pump available',
'',
'3-way valve',
'',
'(warm water) charging type',
'',
70,
'°C',
'(warm water) disinfection temperature',
'',
'off',
'',
'(warm water) circulation pump freq',
'',
'off',
'',
'(warm water) circulation active',
'',
34.7,
'°C',
'(warm water) current intern temperature',
'',
0,
'l/min',
'(warm water) current tap water flow',
'',
34.6,
'°C',
'(warm water) storage intern temperature',
'',
'on',
'',
'(warm water) activated',
'',
'off',
'',
'(warm water) one time charging',
'',
'off',
'',
'(warm water) disinfecting',
'',
'off',
'',
'(warm water) charging',
'',
'off',
'',
'(warm water) recharging',
'',
'on',
'',
'(warm water) temperature ok',
'',
'off',
'',
'(warm water) active',
'',
'on',
'',
'(warm water) heating',
'',
262387,
'',
'(warm water) # starts',
'',
'64 days 14 hours 13 minutes',
null,
'(warm water) active time',
'',
{
v: false,
u: 16,
n: 'heating active',
c: '',
},
{
v: false,
u: 16,
n: 'warm water active',
c: '',
},
{
v: 5,
u: 1,
n: 'selected flow temperature',
c: 'selflowtemp',
},
{
v: 0,
u: 2,
n: 'burner selected max power',
c: 'selburnpow',
},
{
v: 0,
u: 2,
n: 'heating pump modulation',
c: '',
},
{
v: 51,
u: 1,
n: 'current flow temperature',
c: '',
},
{
v: 49.8,
u: 1,
n: 'return temperature',
c: '',
},
{
v: 1.1,
u: 9,
n: 'system pressure',
c: '',
},
{
v: 52.7,
u: 1,
n: 'boiler temperature',
c: '',
},
{
v: false,
u: 16,
n: 'gas',
c: '',
},
{
v: 0,
u: 8,
n: 'flame current',
c: '',
},
{
v: false,
u: 16,
n: 'heating pump',
c: '',
},
{
v: false,
u: 16,
n: 'fan',
c: '',
},
{
v: false,
u: 16,
n: 'ignition',
c: '',
},
{
v: true,
u: 16,
n: 'heating activated',
c: 'heatingactivated',
},
{
v: 75,
u: 1,
n: 'heating temperature',
c: 'heatingtemp',
},
{
v: 90,
u: 2,
n: 'burner pump max power',
c: 'pumpmodmax',
},
{
v: 55,
u: 2,
n: 'burner pump min power',
c: 'pumpmodmin',
},
{
v: 1,
u: 7,
n: 'pump delay',
c: 'pumpdelay',
},
{
v: 10,
u: 7,
n: 'burner min period',
c: 'burnminperiod',
},
{
v: 0,
u: 2,
n: 'burner min power',
c: 'burnminpower',
},
{
v: 75,
u: 2,
n: 'burner max power',
c: 'burnmaxpower',
},
{
v: -6,
u: 1,
n: 'hysteresis on temperature',
c: 'boilhyston',
},
{
v: 6,
u: 1,
n: 'hysteresis off temperature',
c: 'boilhystoff',
},
{
v: 0,
u: 2,
n: 'burner current power',
c: '',
},
{
v: 303226,
u: 15,
n: '# burner starts',
c: '',
},
{
v: 510634,
u: 7,
n: 'total burner operating time',
c: '',
},
{
v: 415235,
u: 7,
n: 'total heat operating time',
c: '',
},
{
v: 4338730,
u: 7,
n: 'total UBA operating time',
c: '',
},
{
v: '1C(210) 06.06.2020 12:07',
u: 0,
n: 'last error code',
c: '',
},
{
v: '0H',
u: 0,
n: 'service code',
c: '',
},
{
v: 203,
u: 0,
n: 'service code number',
c: '',
},
{
v: '01.01.2012',
u: 0,
n: 'maintenance set date',
c: '',
},
{
v: 'off',
u: 0,
n: 'maintenance scheduled',
c: 'maintenance',
},
{
v: 6000,
u: 6,
n: 'maintenance set time',
c: '',
},
{
v: 60,
u: 1,
n: '(ww) selected temperature',
c: '',
},
{
v: 62,
u: 1,
n: '(ww) set temperature',
c: 'wwsettemp',
},
{
v: 'flow',
u: 0,
n: '(ww) type',
c: '',
},
{
v: 'hot',
u: 0,
n: '(ww) comfort',
c: 'wwcomfort',
},
{
v: 40,
u: 0,
n: '(ww) flow temperature offset',
c: 'wwflowtempoffset',
},
{
v: 100,
u: 2,
n: '(ww) max power',
c: 'wwmaxpower',
},
{
v: false,
u: 16,
n: '(ww) circulation pump available',
c: 'wwcircpump',
},
{
v: 'charge pump',
u: 0,
n: '(ww) charging type',
c: '',
},
{
v: 70,
u: 1,
n: '(ww) disinfection temperature',
c: 'wwdisinfectiontemp',
},
{
v: 'off',
u: 0,
n: '(ww) circulation pump frequency',
c: 'wwcircmode',
},
{
v: false,
u: 16,
n: '(ww) circulation active',
c: 'wwcirc',
},
{
v: 44.4,
u: 1,
n: '(ww) current intern temperature',
c: '',
},
{
v: 0,
u: 3,
n: '(ww) current tap water flow',
c: '',
},
{
v: 44.4,
u: 1,
n: '(ww) storage intern temperature',
c: '',
},
{
v: true,
u: 16,
n: '(ww) activated',
c: 'wwactivated',
},
{
v: false,
u: 16,
n: '(ww) one time charging',
c: 'wwonetime',
},
{
v: false,
u: 16,
n: '(ww) disinfecting',
c: '',
},
{
v: false,
u: 16,
n: '(ww) charging',
c: '',
},
{
v: false,
u: 16,
n: '(ww) recharging',
c: '',
},
{
v: true,
u: 16,
n: '(ww) temperature ok',
c: '',
},
{
v: false,
u: 16,
n: '(ww) active',
c: '',
},
{
v: true,
u: 16,
n: '(ww) heating',
c: '',
},
{
v: 268671,
u: 15,
n: '(ww) # starts',
c: '',
},
{
v: 95399,
u: 7,
n: '(ww) active time',
c: '',
},
],
}
const emsesp_devicedata_3 = {
name: 'Controller: BC1',
data: [],
}
// NETWORK
app.get(NETWORK_STATUS_ENDPOINT, (req, res) => {
res.json(network_status)
@@ -672,16 +813,27 @@ app.get(EMSESP_STATUS_ENDPOINT, (req, res) => {
app.post(EMSESP_DEVICEDATA_ENDPOINT, (req, res) => {
const id = req.body.id
if (id == 1) {
res.json(emsesp_devicedata_1)
const encoded = msgpack.encode(emsesp_devicedata_1)
res.write(encoded, 'binary')
res.end(null, 'binary')
}
if (id == 2) {
res.json(emsesp_devicedata_2)
const encoded = msgpack.encode(emsesp_devicedata_2)
res.write(encoded, 'binary')
res.end(null, 'binary')
}
if (id == 3) {
const encoded = msgpack.encode(emsesp_devicedata_3)
res.write(encoded, 'binary')
res.end(null, 'binary')
}
})
app.post(WRITE_VALUE_ENDPOINT, (req, res) => {
const devicevalue = req.body.devicevalue
const id = req.body.id
console.log(id)
console.log(devicevalue)
res.sendStatus(200)