do not create hc on empty message

This commit is contained in:
MichaelDvP
2025-04-09 17:38:58 +02:00
parent 99b769626e
commit d7b9754ddb
4 changed files with 70 additions and 66 deletions

View File

@@ -24,8 +24,8 @@
"@alova/adapter-xhr": "2.1.1",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.0",
"@mui/icons-material": "^7.0.1",
"@mui/material": "^7.0.1",
"@mui/icons-material": "^7.0.2",
"@mui/material": "^7.0.2",
"@table-library/react-table-library": "4.1.12",
"alova": "3.2.10",
"async-validator": "^4.2.5",
@@ -49,7 +49,7 @@
"@types/formidable": "^3",
"@types/node": "^22.14.0",
"@types/react": "^19.1.0",
"@types/react-dom": "^19.1.1",
"@types/react-dom": "^19.1.2",
"concurrently": "^9.1.2",
"eslint": "^9.24.0",
"eslint-config-prettier": "^10.1.1",

View File

@@ -218,7 +218,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.26.10, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7":
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.27.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7":
version: 7.27.0
resolution: "@babel/runtime@npm:7.27.0"
dependencies:
@@ -799,49 +799,49 @@ __metadata:
languageName: node
linkType: hard
"@mui/core-downloads-tracker@npm:^7.0.1":
version: 7.0.1
resolution: "@mui/core-downloads-tracker@npm:7.0.1"
checksum: 10c0/8291211a5aefd9348c9fddd4b12340087f2d661bfbdcf6797b09b2e58ae9a4a37ae80de7124613b870ea3a8ea5661b6a35849214eeb2d5f238cdba10d381d056
"@mui/core-downloads-tracker@npm:^7.0.2":
version: 7.0.2
resolution: "@mui/core-downloads-tracker@npm:7.0.2"
checksum: 10c0/20cb142d8c38b93c6290eb7d57f0d1d34a6821168e3085d139dbe6b82e9e9101095521869e6e0c9c12126757a32300bb01c15aacd3f308a0d9d18ce42944116c
languageName: node
linkType: hard
"@mui/icons-material@npm:^7.0.1":
version: 7.0.1
resolution: "@mui/icons-material@npm:7.0.1"
"@mui/icons-material@npm:^7.0.2":
version: 7.0.2
resolution: "@mui/icons-material@npm:7.0.2"
dependencies:
"@babel/runtime": "npm:^7.26.10"
"@babel/runtime": "npm:^7.27.0"
peerDependencies:
"@mui/material": ^7.0.1
"@mui/material": ^7.0.2
"@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
react: ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 10c0/375ba909363cc248154937bcc8522ba98566311bf20d4c0c3114ed4bd31430354b0d5779523b3f7cf78bb15ba7544d137a7ccbde63cf75ec957ae30e73083693
checksum: 10c0/5c4e6348046cbdc305477a26fe100ad47f0f88a8d2eca37f5807c9c55c05bce61e66a1e1f7e57c239a1132de3fdbe7a13a79d661e4ebf2d9586fa292a88eb687
languageName: node
linkType: hard
"@mui/material@npm:^7.0.1":
version: 7.0.1
resolution: "@mui/material@npm:7.0.1"
"@mui/material@npm:^7.0.2":
version: 7.0.2
resolution: "@mui/material@npm:7.0.2"
dependencies:
"@babel/runtime": "npm:^7.26.10"
"@mui/core-downloads-tracker": "npm:^7.0.1"
"@mui/system": "npm:^7.0.1"
"@mui/types": "npm:^7.4.0"
"@mui/utils": "npm:^7.0.1"
"@babel/runtime": "npm:^7.27.0"
"@mui/core-downloads-tracker": "npm:^7.0.2"
"@mui/system": "npm:^7.0.2"
"@mui/types": "npm:^7.4.1"
"@mui/utils": "npm:^7.0.2"
"@popperjs/core": "npm:^2.11.8"
"@types/react-transition-group": "npm:^4.4.12"
clsx: "npm:^2.1.1"
csstype: "npm:^3.1.3"
prop-types: "npm:^15.8.1"
react-is: "npm:^19.0.0"
react-is: "npm:^19.1.0"
react-transition-group: "npm:^4.4.5"
peerDependencies:
"@emotion/react": ^11.5.0
"@emotion/styled": ^11.3.0
"@mui/material-pigment-css": ^7.0.1
"@mui/material-pigment-css": ^7.0.2
"@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
react: ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -854,16 +854,16 @@ __metadata:
optional: true
"@types/react":
optional: true
checksum: 10c0/95203b299dc5481f8fe903f7604dea641067db431c0606bffa5fafa8a4e9e0a0203a8d5ef9af3e314186c779c08654d6e0c1b85c70d8320397f2ce7a05ee633d
checksum: 10c0/ca854ca668ec06d57ea9b26d968c1187b56e12cd48b1ed9cccf1c7c1753878e161364cfadbb826cfa2274137080d3cc87d4968a77a71d61f80c123e6978984f8
languageName: node
linkType: hard
"@mui/private-theming@npm:^7.0.1":
version: 7.0.1
resolution: "@mui/private-theming@npm:7.0.1"
"@mui/private-theming@npm:^7.0.2":
version: 7.0.2
resolution: "@mui/private-theming@npm:7.0.2"
dependencies:
"@babel/runtime": "npm:^7.26.10"
"@mui/utils": "npm:^7.0.1"
"@babel/runtime": "npm:^7.27.0"
"@mui/utils": "npm:^7.0.2"
prop-types: "npm:^15.8.1"
peerDependencies:
"@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -871,15 +871,15 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 10c0/15f0037925d9dd59b0bdc4bf6031407e31ef008ebe0e437f424eeed3f433bafd585676b995739f0362c9d403c0cbe2f99478d5eeadd60bfa8b1d968a6be7185d
checksum: 10c0/a2154b0473cab717742abe8f54e2c674ba53f4cd495970addfa5c9c0f3dcbf9d49000503b592873ad389e0c42fae28b40912e0c47d44378a0afbb70fbbb4613a
languageName: node
linkType: hard
"@mui/styled-engine@npm:^7.0.1":
version: 7.0.1
resolution: "@mui/styled-engine@npm:7.0.1"
"@mui/styled-engine@npm:^7.0.2":
version: 7.0.2
resolution: "@mui/styled-engine@npm:7.0.2"
dependencies:
"@babel/runtime": "npm:^7.26.10"
"@babel/runtime": "npm:^7.27.0"
"@emotion/cache": "npm:^11.13.5"
"@emotion/serialize": "npm:^1.3.3"
"@emotion/sheet": "npm:^1.4.0"
@@ -894,19 +894,19 @@ __metadata:
optional: true
"@emotion/styled":
optional: true
checksum: 10c0/cdef1c15ea645198440cd87a53c1a0155f444688387ed816b98890e42bd22a9204242cae8fb1b56124fe05c163d9e38fa482901804dee0bef6f88da1cddd8579
checksum: 10c0/3a8293bf2e28afe0a11e655634881ac1cf814a8fa56bd4eb4d7a9b97e007c6eb6b991f4f1b780bdac81481f9a28b0b690d4e6ed184315ce2c9bd81c0ef12165b
languageName: node
linkType: hard
"@mui/system@npm:^7.0.1":
version: 7.0.1
resolution: "@mui/system@npm:7.0.1"
"@mui/system@npm:^7.0.2":
version: 7.0.2
resolution: "@mui/system@npm:7.0.2"
dependencies:
"@babel/runtime": "npm:^7.26.10"
"@mui/private-theming": "npm:^7.0.1"
"@mui/styled-engine": "npm:^7.0.1"
"@mui/types": "npm:^7.4.0"
"@mui/utils": "npm:^7.0.1"
"@babel/runtime": "npm:^7.27.0"
"@mui/private-theming": "npm:^7.0.2"
"@mui/styled-engine": "npm:^7.0.2"
"@mui/types": "npm:^7.4.1"
"@mui/utils": "npm:^7.0.2"
clsx: "npm:^2.1.1"
csstype: "npm:^3.1.3"
prop-types: "npm:^15.8.1"
@@ -922,41 +922,41 @@ __metadata:
optional: true
"@types/react":
optional: true
checksum: 10c0/58de50dceef8a85aa24cda596836c034068b6f3e960c47520b9401a3f6f5bdf013e6ad7adb1a31cc57707ae304d524813ed53d4d12c1193ec8ca6b31d90f8dcf
checksum: 10c0/d8a399d8e9ebd0021a355299e46389c9c5ad6e22f308e268b2a07fe99cc8106a4fa026f4fe3050bc1f31959ca9a98e10115d278a9ab412ade0cbc5ec8e7b2af4
languageName: node
linkType: hard
"@mui/types@npm:^7.4.0":
version: 7.4.0
resolution: "@mui/types@npm:7.4.0"
"@mui/types@npm:^7.4.1":
version: 7.4.1
resolution: "@mui/types@npm:7.4.1"
dependencies:
"@babel/runtime": "npm:^7.26.10"
"@babel/runtime": "npm:^7.27.0"
peerDependencies:
"@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 10c0/1f456206e8c6742a76c265d6c407a930d7126b03aac98949bd35a1edd14db1fd98c5169266a7948b9e24d0295adbeb3b58635eceb38217ee5f2d04d88b6b7d1c
checksum: 10c0/958a1dd29956b4646058c7bf5615cb5211736568b9997e8baac4698b02189cdfd7aa880fa935c59138dfa9e9163549ca6c509142da28add835abeff3c68d6ccf
languageName: node
linkType: hard
"@mui/utils@npm:^7.0.1":
version: 7.0.1
resolution: "@mui/utils@npm:7.0.1"
"@mui/utils@npm:^7.0.2":
version: 7.0.2
resolution: "@mui/utils@npm:7.0.2"
dependencies:
"@babel/runtime": "npm:^7.26.10"
"@mui/types": "npm:^7.4.0"
"@babel/runtime": "npm:^7.27.0"
"@mui/types": "npm:^7.4.1"
"@types/prop-types": "npm:^15.7.14"
clsx: "npm:^2.1.1"
prop-types: "npm:^15.8.1"
react-is: "npm:^19.0.0"
react-is: "npm:^19.1.0"
peerDependencies:
"@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
react: ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 10c0/bf5d721c9e09f2eba359db227dfafca51152a47753c6f32d020f8a9af572f8f14515e03592b2a95b5bea8207efe775d7d1ae4a0e42f0638f03a15fd1d303ffce
checksum: 10c0/2409d6f9ede9b5c5bdff6893d1f077eb84fa816ac5a7e36a9b6878b1f228e89d9b3bf684d64328f7a62d5036a2c02fb4934a4f9a12648796b833e5390e48d0dd
languageName: node
linkType: hard
@@ -1447,12 +1447,12 @@ __metadata:
languageName: node
linkType: hard
"@types/react-dom@npm:^19.1.1":
version: 19.1.1
resolution: "@types/react-dom@npm:19.1.1"
"@types/react-dom@npm:^19.1.2":
version: 19.1.2
resolution: "@types/react-dom@npm:19.1.2"
peerDependencies:
"@types/react": ^19.0.0
checksum: 10c0/83833af502f501a372b370fdeb7cf933dfc8780903fe0e0d6e6a76b4ea3adbe5316159a62a0388d8afdd409afd76a40959e2ce82fbb788f57d32c786a63601ee
checksum: 10c0/100c341cacba9ec8ae1d47ee051072a3450e9573bf8eeb7262490e341cb246ea0f95a07a1f2077e61cf92648f812a0324c602fcd811bd87b7ce41db2811510cd
languageName: node
linkType: hard
@@ -1613,8 +1613,8 @@ __metadata:
"@emotion/react": "npm:^11.14.0"
"@emotion/styled": "npm:^11.14.0"
"@eslint/js": "npm:^9.24.0"
"@mui/icons-material": "npm:^7.0.1"
"@mui/material": "npm:^7.0.1"
"@mui/icons-material": "npm:^7.0.2"
"@mui/material": "npm:^7.0.2"
"@preact/compat": "npm:^18.3.1"
"@preact/preset-vite": "npm:^2.10.1"
"@table-library/react-table-library": "npm:4.1.12"
@@ -1622,7 +1622,7 @@ __metadata:
"@types/formidable": "npm:^3"
"@types/node": "npm:^22.14.0"
"@types/react": "npm:^19.1.0"
"@types/react-dom": "npm:^19.1.1"
"@types/react-dom": "npm:^19.1.2"
alova: "npm:3.2.10"
async-validator: "npm:^4.2.5"
concurrently: "npm:^9.1.2"
@@ -5626,7 +5626,7 @@ __metadata:
languageName: node
linkType: hard
"react-is@npm:^19.0.0":
"react-is@npm:^19.1.0":
version: 19.1.0
resolution: "react-is@npm:19.1.0"
checksum: 10c0/b6c6cadd172d5d39f66d493700d137a5545c294a62ce0f8ec793d59794c97d2bed6bad227626f16bd0e90004ed7fdc8ed662a004e6edcf5d2b7ecb6e3040ea6b

View File

@@ -102,7 +102,7 @@ board_build.filesystem = littlefs
lib_deps =
bblanchon/ArduinoJson @ 7.3.1
ESP32Async/AsyncTCP @ 3.3.8
ESP32Async/ESPAsyncWebServer @ 3.7.4
ESP32Async/ESPAsyncWebServer @ 3.7.6
https://github.com/emsesp/EMS-ESP-Modules.git @ 1.0.5
;

View File

@@ -272,6 +272,10 @@ std::shared_ptr<Thermostat::HeatingCircuit> Thermostat::heating_circuit(const in
// returns pointer to the HeatingCircuit or nullptr if it can't be found
// if its a new one, the heating circuit object will be created and also the fetch flags set
std::shared_ptr<Thermostat::HeatingCircuit> Thermostat::heating_circuit(std::shared_ptr<const Telegram> telegram) {
// do not create a hc on empty messages
if (telegram->message_length == 0) {
return nullptr;
}
// look through the Monitor and Set arrays to see if there is a match
uint8_t hc_num = 0; // 0 means we haven't found it yet
bool toggle_ = false;