This commit is contained in:
MichaelDvP
2024-12-19 09:39:46 +01:00
3 changed files with 113 additions and 21 deletions

View File

@@ -21,7 +21,7 @@
"lint": "eslint . --fix" "lint": "eslint . --fix"
}, },
"dependencies": { "dependencies": {
"@alova/adapter-xhr": "2.0.12", "@alova/adapter-xhr": "2.1.0",
"@emotion/react": "^11.14.0", "@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.0", "@emotion/styled": "^11.14.0",
"@mui/icons-material": "^6.2.1", "@mui/icons-material": "^6.2.1",
@@ -36,7 +36,7 @@
"react-dom": "^19.0.0", "react-dom": "^19.0.0",
"react-icons": "^5.4.0", "react-icons": "^5.4.0",
"react-router": "^7.0.2", "react-router": "^7.0.2",
"react-toastify": "^11.0.0", "react-toastify": "^11.0.1",
"typesafe-i18n": "^5.26.2", "typesafe-i18n": "^5.26.2",
"typescript": "^5.7.2" "typescript": "^5.7.2"
}, },
@@ -48,7 +48,7 @@
"@trivago/prettier-plugin-sort-imports": "^5.2.0", "@trivago/prettier-plugin-sort-imports": "^5.2.0",
"@types/formidable": "^3", "@types/formidable": "^3",
"@types/node": "^22.10.2", "@types/node": "^22.10.2",
"@types/react": "^19.0.1", "@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2", "@types/react-dom": "^19.0.2",
"concurrently": "^9.1.0", "concurrently": "^9.1.0",
"eslint": "^9.17.0", "eslint": "^9.17.0",

View File

@@ -5,14 +5,14 @@ __metadata:
version: 8 version: 8
cacheKey: 10c0 cacheKey: 10c0
"@alova/adapter-xhr@npm:2.0.12": "@alova/adapter-xhr@npm:2.1.0":
version: 2.0.12 version: 2.1.0
resolution: "@alova/adapter-xhr@npm:2.0.12" resolution: "@alova/adapter-xhr@npm:2.1.0"
dependencies: dependencies:
"@alova/shared": "npm:1.1.2" "@alova/shared": "npm:1.1.2"
peerDependencies: peerDependencies:
alova: ^3.0.20 alova: ^3.0.20
checksum: 10c0/d5713945de00f4fb63b5ef477de5d5d53e5ca1dfa08d52e2e4e4d0ab1a88e336619606c1361e785cd896bd2fcb0e2d0d7762a8762f58187621c6224dc3999a54 checksum: 10c0/41cf62a5ed7fb654df8b201ce33c665950fde6b845b7c061a1b28132cfcc60b099ad20f807affb8dfbb4563439dc60b2c7c25126717137e1748cfa00436da01b
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1436,12 +1436,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/react@npm:^19.0.1": "@types/react@npm:^19.0.2":
version: 19.0.1 version: 19.0.2
resolution: "@types/react@npm:19.0.1" resolution: "@types/react@npm:19.0.2"
dependencies: dependencies:
csstype: "npm:^3.0.2" csstype: "npm:^3.0.2"
checksum: 10c0/25eb69114abb9a6d5fc4414ee584388275bbc9ac32976449cf58b95fe9880efe6b3f936c3842be9bed8c571546a9752e8d3e2095288381e9c809269f5f574f2e checksum: 10c0/8992f39701fcf1bf893ef8f94a56196445667baf08fe4f6050a14e229a17aad3265ad3efc01595ff3b4d5d5c69da885f9aa4ff80f164a613018734efcff1eb8f
languageName: node languageName: node
linkType: hard linkType: hard
@@ -1579,7 +1579,7 @@ __metadata:
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "EMS-ESP@workspace:." resolution: "EMS-ESP@workspace:."
dependencies: dependencies:
"@alova/adapter-xhr": "npm:2.0.12" "@alova/adapter-xhr": "npm:2.1.0"
"@babel/core": "npm:^7.26.0" "@babel/core": "npm:^7.26.0"
"@emotion/react": "npm:^11.14.0" "@emotion/react": "npm:^11.14.0"
"@emotion/styled": "npm:^11.14.0" "@emotion/styled": "npm:^11.14.0"
@@ -1592,7 +1592,7 @@ __metadata:
"@trivago/prettier-plugin-sort-imports": "npm:^5.2.0" "@trivago/prettier-plugin-sort-imports": "npm:^5.2.0"
"@types/formidable": "npm:^3" "@types/formidable": "npm:^3"
"@types/node": "npm:^22.10.2" "@types/node": "npm:^22.10.2"
"@types/react": "npm:^19.0.1" "@types/react": "npm:^19.0.2"
"@types/react-dom": "npm:^19.0.2" "@types/react-dom": "npm:^19.0.2"
alova: "npm:3.2.7" alova: "npm:3.2.7"
async-validator: "npm:^4.2.5" async-validator: "npm:^4.2.5"
@@ -1608,7 +1608,7 @@ __metadata:
react-dom: "npm:^19.0.0" react-dom: "npm:^19.0.0"
react-icons: "npm:^5.4.0" react-icons: "npm:^5.4.0"
react-router: "npm:^7.0.2" react-router: "npm:^7.0.2"
react-toastify: "npm:^11.0.0" react-toastify: "npm:^11.0.1"
rollup-plugin-visualizer: "npm:^5.12.0" rollup-plugin-visualizer: "npm:^5.12.0"
terser: "npm:^5.37.0" terser: "npm:^5.37.0"
typesafe-i18n: "npm:^5.26.2" typesafe-i18n: "npm:^5.26.2"
@@ -5607,15 +5607,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"react-toastify@npm:^11.0.0": "react-toastify@npm:^11.0.1":
version: 11.0.0 version: 11.0.1
resolution: "react-toastify@npm:11.0.0" resolution: "react-toastify@npm:11.0.1"
dependencies: dependencies:
clsx: "npm:^2.1.1" clsx: "npm:^2.1.1"
peerDependencies: peerDependencies:
react: ^18 || ^19 react: ^18 || ^19
react-dom: ^18 || ^19 react-dom: ^18 || ^19
checksum: 10c0/0c0665a2b58e7545bf8ec0a2fe0e025b8d94e704b43f2831aace1fb128ec3b94a979eb7ca6f644ab376f32484eecef4042bf2ad3ea8e84c525c941501fb02113 checksum: 10c0/ead322440484e89b184d0db59842b65a606ddbd1f6695d8695698178c55782ca7ac1dded24cf1f6aa3c40853579370131dee3943785e0f9db97d15ea4d9c711e
languageName: node languageName: node
linkType: hard linkType: hard

View File

@@ -14,7 +14,7 @@ const headers = {
'Content-type': 'application/msgpack' 'Content-type': 'application/msgpack'
}; };
let VERSION_IS_UPGRADEABLE; let VERSION_IS_UPGRADEABLE: boolean;
// Versions // Versions
// default - on latest stable, no upgrades // default - on latest stable, no upgrades
@@ -882,6 +882,18 @@ const emsesp_coredata = {
v: '73.03', v: '73.03',
e: 63, e: 63,
url: 'thermostat' url: 'thermostat'
},
{
id: 11,
tn: 'Ventilation',
t: 18,
b: '',
n: 'Vent4000CC',
d: 81,
p: 231,
v: '53.02',
e: 10,
url: 'ventilation'
} }
] ]
}; };
@@ -936,6 +948,10 @@ const activity = {
// 5 - MM10 mixer // 5 - MM10 mixer
// 6 - SM10 solar // 6 - SM10 solar
// 7 - Nefit Trendline boiler // 7 - Nefit Trendline boiler
// 8 - Bosch Compress 7000i AW Heat Pump
// 9 - RC100H thermostat
// 10 - Thermostat RC310
// 11 - Ventilation
// 99 - Custom // 99 - Custom
const emsesp_devicedata_1 = { const emsesp_devicedata_1 = {
@@ -3776,6 +3792,71 @@ const emsesp_devicedata_10 = {
] ]
}; };
const emsesp_devicedata_11 = {
nodes: [
{
v: 11,
u: 1,
id: '00outdoor fresh air'
},
{
v: 13.699999809265137,
u: 1,
id: '00indoor fresh air'
},
{
v: 11.399999618530273,
u: 1,
id: '00outdoor exhaust air'
},
{
v: 14.800000190734863,
u: 1,
id: '00indoor exhaust air'
},
{
v: 0,
u: 3,
id: '00in blower speed'
},
{
v: 0,
u: 3,
id: '00out blower speed'
},
{
v: 'auto',
u: 0,
id: '00ventilation mode',
c: 'ventmode',
l: [
'auto',
'off',
'L1',
'L2',
'L3',
'L4',
'demand',
'sleep',
'intense',
'bypass',
'party',
'fireplace'
]
},
{
v: 1770,
u: 0,
id: '00air quality (voc)'
},
{
v: 53,
u: 3,
id: '00relative air humidity'
}
]
};
const emsesp_devicedata_99 = { const emsesp_devicedata_99 = {
nodes: [ nodes: [
{ {
@@ -3940,7 +4021,7 @@ let emsesp_modules = {
const dummy_deviceentities = [ const dummy_deviceentities = [
{ {
v: 'unknown', v: 'unknown',
n: 'no entities for this device', n: 'sorry, no demo entities for this device!',
id: 'unknown', id: 'unknown',
m: 0, m: 0,
w: false w: false
@@ -3955,6 +4036,7 @@ const emsesp_deviceentities_6 = dummy_deviceentities;
const emsesp_deviceentities_8 = dummy_deviceentities; const emsesp_deviceentities_8 = dummy_deviceentities;
const emsesp_deviceentities_9 = dummy_deviceentities; const emsesp_deviceentities_9 = dummy_deviceentities;
const emsesp_deviceentities_10 = dummy_deviceentities; const emsesp_deviceentities_10 = dummy_deviceentities;
const emsesp_deviceentities_11 = dummy_deviceentities;
const emsesp_deviceentities_none = dummy_deviceentities; const emsesp_deviceentities_none = dummy_deviceentities;
const emsesp_deviceentities_2 = [ const emsesp_deviceentities_2 = [
@@ -4272,6 +4354,9 @@ function deviceData(id: number) {
if (id == 10) { if (id == 10) {
return new Response(encoder.encode(emsesp_devicedata_10), { headers }); return new Response(encoder.encode(emsesp_devicedata_10), { headers });
} }
if (id == 11) {
return new Response(encoder.encode(emsesp_devicedata_11), { headers });
}
if (id == 99) { if (id == 99) {
return new Response(encoder.encode(emsesp_devicedata_99), { headers }); return new Response(encoder.encode(emsesp_devicedata_99), { headers });
} }
@@ -4325,6 +4410,7 @@ function getDashboardEntityData(id: number) {
else if (id == 8) device_data = emsesp_devicedata_8; else if (id == 8) device_data = emsesp_devicedata_8;
else if (id == 9) device_data = emsesp_devicedata_9; else if (id == 9) device_data = emsesp_devicedata_9;
else if (id == 10) device_data = emsesp_devicedata_10; else if (id == 10) device_data = emsesp_devicedata_10;
else if (id == 11) device_data = emsesp_devicedata_11;
else if (id == 99) device_data = emsesp_devicedata_99; else if (id == 99) device_data = emsesp_devicedata_99;
// filter device_data on // filter device_data on
@@ -4541,7 +4627,9 @@ router
} else if (id === 9) { } else if (id === 9) {
updateMask(entity, emsesp_deviceentities_9, emsesp_devicedata_9); updateMask(entity, emsesp_deviceentities_9, emsesp_devicedata_9);
} else if (id === 10) { } else if (id === 10) {
updateMask(entity, emsesp_deviceentities_9, emsesp_devicedata_10); updateMask(entity, emsesp_deviceentities_10, emsesp_devicedata_10);
} else if (id === 11) {
updateMask(entity, emsesp_deviceentities_11, emsesp_devicedata_11);
} }
} }
console.log('customization saved', content); console.log('customization saved', content);
@@ -4646,6 +4734,10 @@ router
objIndex = emsesp_devicedata_10.nodes.findIndex((obj) => obj.c == command); objIndex = emsesp_devicedata_10.nodes.findIndex((obj) => obj.c == command);
emsesp_devicedata_10.nodes[objIndex].v = value; emsesp_devicedata_10.nodes[objIndex].v = value;
} }
if (id === 10) {
objIndex = emsesp_devicedata_11.nodes.findIndex((obj) => obj.c == command);
emsesp_devicedata_11.nodes[objIndex].v = value;
}
if (id === DeviceTypeUniqueID.CUSTOM_UID) { if (id === DeviceTypeUniqueID.CUSTOM_UID) {
// custom entities // custom entities
objIndex = emsesp_devicedata_99.nodes.findIndex((obj) => obj.c == command); objIndex = emsesp_devicedata_99.nodes.findIndex((obj) => obj.c == command);