diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 6a0ddf1e1..7a62dcb07 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -29,7 +29,7 @@ assignees: ''
*If applicable, add screenshots to help explain your problem.*
**Device information**
-*Copy-paste here the information as it is outputted by the device. You can get this information by from http://ems-esp.local/api?device=system&cmd=info*
+*Copy-paste here the information as it is outputted by the device. You can get this information by from http://ems-esp.local/api/system*
**Additional context**
*Add any other context about the problem here.*
diff --git a/.github/ISSUE_TEMPLATE/questions---troubleshooting.md b/.github/ISSUE_TEMPLATE/questions---troubleshooting.md
index fa26a177b..0e8175477 100644
--- a/.github/ISSUE_TEMPLATE/questions---troubleshooting.md
+++ b/.github/ISSUE_TEMPLATE/questions---troubleshooting.md
@@ -23,7 +23,7 @@ assignees: ''
*If applicable, add screenshots to help explain your problem.*
**Device information**
-*Copy-paste here the information as it is outputted by the device. You can get this information from http://ems-esp.local/api?device=system&cmd=info*
+*Copy-paste here the information as it is outputted by the device. You can get this information from http://ems-esp.local/api/system*
**Additional context**
*Add any other context about the problem here.*
diff --git a/README.md b/README.md
index 4f3893c9c..063a55364 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ Note, EMS-ESP requires a small hardware circuit that can convert the EMS bus dat
- Native support for Home Assistant and Domoticz via [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/)
- Can run standalone as an independent WiFi Access Point or join an existing WiFi network
- Easy first-time configuration via a web Captive Portal
-- Support for more than [80 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways)
+- Support for more than [100 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways)
## **Demo**
diff --git a/interface/package-lock.json b/interface/package-lock.json
index b3f7cc0b5..60e461923 100644
--- a/interface/package-lock.json
+++ b/interface/package-lock.json
@@ -11,11 +11,11 @@
"@emotion/react": "^11.9.0",
"@emotion/styled": "^11.8.1",
"@msgpack/msgpack": "^2.7.2",
- "@mui/icons-material": "^5.6.2",
- "@mui/material": "^5.7.0",
+ "@mui/icons-material": "^5.8.0",
+ "@mui/material": "^5.8.0",
"@table-library/react-table-library": "^3.1.2",
"@types/lodash": "^4.14.182",
- "@types/node": "^17.0.33",
+ "@types/node": "^17.0.35",
"@types/react": "^17.0.43",
"@types/react-dom": "^17.0.14",
"@types/react-router-dom": "^5.3.3",
@@ -2856,15 +2856,14 @@
}
},
"node_modules/@mui/base": {
- "version": "5.0.0-alpha.80",
- "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.80.tgz",
- "integrity": "sha512-sPSYwJzwNMaqpksdLuOhpQQLrhtpBH4sNnMSgkzJzo7Jo4HF9ivjNpq27Zh5+sdRe5MTt0gcBT0QSMO6zML1Aw==",
+ "version": "5.0.0-alpha.81",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.81.tgz",
+ "integrity": "sha512-KJP+RdKBLSbhiAliy1b5xFuoAezawupfIHc/MRtEZdqAmUW0+UFNDXIUDlBKR9zLCjgjQ7eVJsSe0TwAgd8OMQ==",
"dependencies": {
"@babel/runtime": "^7.17.2",
"@emotion/is-prop-valid": "^1.1.2",
- "@mui/private-classnames": "^5.7.0",
"@mui/types": "^7.1.3",
- "@mui/utils": "^5.7.0",
+ "@mui/utils": "^5.8.0",
"@popperjs/core": "^2.11.5",
"clsx": "^1.1.1",
"prop-types": "^15.8.1",
@@ -2889,9 +2888,9 @@
}
},
"node_modules/@mui/icons-material": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.6.2.tgz",
- "integrity": "sha512-9QdI7axKuBAyaGz4mtdi7Uy1j73/thqFmEuxpJHxNC7O8ADEK1Da3t2veK2tgmsXsUlAHcAG63gg+GvWWeQNqQ==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.8.0.tgz",
+ "integrity": "sha512-ScwLxa0q5VYV70Jfc60V/9VD0b9SvIeZ0Jddx2Dt2pBUFFO9vKdrbt9LYiT+4p21Au5NdYIb2XSHj46CLN1v3g==",
"dependencies": {
"@babel/runtime": "^7.17.2"
},
@@ -2914,16 +2913,15 @@
}
},
"node_modules/@mui/material": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.7.0.tgz",
- "integrity": "sha512-s1TSuUK5upNzGY5ZFHfJyzEt9fijn4cE+kEdEq7jGF+vpZIYXsDooH07+dNJ9+cJjYo6f9Fq1q5fPkknRC2Trw==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.8.0.tgz",
+ "integrity": "sha512-yvt3sUmUZ1i8SPadRYBCThcB57lBZsvyhC7ufVpRxA3AD39O+WXtXAapEfpDdDkJnnKb5MCimDMwBYgWLmY89Q==",
"dependencies": {
"@babel/runtime": "^7.17.2",
- "@mui/base": "5.0.0-alpha.80",
- "@mui/private-classnames": "^5.7.0",
- "@mui/system": "^5.7.0",
+ "@mui/base": "5.0.0-alpha.81",
+ "@mui/system": "^5.8.0",
"@mui/types": "^7.1.3",
- "@mui/utils": "^5.7.0",
+ "@mui/utils": "^5.8.0",
"@types/react-transition-group": "^4.4.4",
"clsx": "^1.1.1",
"csstype": "^3.0.11",
@@ -2958,25 +2956,13 @@
}
}
},
- "node_modules/@mui/private-classnames": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/private-classnames/-/private-classnames-5.7.0.tgz",
- "integrity": "sha512-OSB4ybzpYiS11rQ3VtbcJz/CS19lC0r0Hk14iRZwPtVgapnL1hKsGtmgRviZLxpLk/cZUKaxaJDuuzI/extCoA==",
- "engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mui"
- }
- },
"node_modules/@mui/private-theming": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.7.0.tgz",
- "integrity": "sha512-r/6JAWAHV1IFASZnceJPe9QT/s12ia/okGbmCUO4MEPdsWcNKye1RVKSwVgLATaX3YwPxDljWguIQrM3R2gZNA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.8.0.tgz",
+ "integrity": "sha512-MjRAneTmCKLR9u2S4jtjLUe6gpHxlbb4g2bqpDJ2PdwlvwsWIUzbc/gVB4dvccljXeWxr5G2M/Co2blXisvFIw==",
"dependencies": {
"@babel/runtime": "^7.17.2",
- "@mui/utils": "^5.7.0",
+ "@mui/utils": "^5.8.0",
"prop-types": "^15.8.1"
},
"engines": {
@@ -2997,9 +2983,9 @@
}
},
"node_modules/@mui/styled-engine": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.7.0.tgz",
- "integrity": "sha512-JTvp+6lbAXYqgf/YInwR+hd4F8Fhg5PxMBwKTFsdKbaZFvyBD95hzKcxRmO9Y/NdjwFYWm5bBhcZAT4r2g1kZA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.8.0.tgz",
+ "integrity": "sha512-Q3spibB8/EgeMYHc+/o3RRTnAYkSl7ROCLhXJ830W8HZ2/iDiyYp16UcxKPurkXvLhUaILyofPVrP3Su2uKsAw==",
"dependencies": {
"@babel/runtime": "^7.17.2",
"@emotion/cache": "^11.7.1",
@@ -3027,15 +3013,15 @@
}
},
"node_modules/@mui/system": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.7.0.tgz",
- "integrity": "sha512-M0vemfcfaRQzqLUmVRIsAVb0rx2ULHisHED6njoJqtjH58gbVb497mH+K1vI+Lh29fKR6Ki2mx3egxVi7mUn9w==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.8.0.tgz",
+ "integrity": "sha512-1tEj2S59RjlZ/6JMJMUktQDbV2ev7hyGXqO7dRRUQ7nOJi9qHmCFP0uXj3YS6LbM6hVasgYXJg8GBjbEtfTJvg==",
"dependencies": {
"@babel/runtime": "^7.17.2",
- "@mui/private-theming": "^5.7.0",
- "@mui/styled-engine": "^5.7.0",
+ "@mui/private-theming": "^5.8.0",
+ "@mui/styled-engine": "^5.8.0",
"@mui/types": "^7.1.3",
- "@mui/utils": "^5.7.0",
+ "@mui/utils": "^5.8.0",
"clsx": "^1.1.1",
"csstype": "^3.0.11",
"prop-types": "^15.8.1"
@@ -3079,9 +3065,9 @@
}
},
"node_modules/@mui/utils": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.7.0.tgz",
- "integrity": "sha512-uWpDIEXl7bWYkJwKQQ4Rdhc2dcotVETRYuLy29V6qLYZyAbs7AMKwDDz0XKy3RMNmU7S2R/jEeSb9xjXscQUHQ==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.8.0.tgz",
+ "integrity": "sha512-7LgUtCvz78676iC0wpTH7HizMdCrTphhBmRWimIMFrp5Ph6JbDFVuKS1CwYnWWxRyYKL0QzXrDL0lptAU90EXg==",
"dependencies": {
"@babel/runtime": "^7.17.2",
"@types/prop-types": "^15.7.5",
@@ -3776,9 +3762,9 @@
"integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"node_modules/@types/node": {
- "version": "17.0.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.33.tgz",
- "integrity": "sha512-miWq2m2FiQZmaHfdZNcbpp9PuXg34W5JZ5CrJ/BaS70VuhoJENBEQybeiYSaPBRNq6KQGnjfEnc/F3PN++D+XQ=="
+ "version": "17.0.35",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz",
+ "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg=="
},
"node_modules/@types/parse-json": {
"version": "4.0.0",
@@ -19569,15 +19555,14 @@
"integrity": "sha512-rYEi46+gIzufyYUAoHDnRzkWGxajpD9vVXFQ3g1vbjrBm6P7MBmm+s/fqPa46sxa+8FOUdEuRQKaugo5a4JWpw=="
},
"@mui/base": {
- "version": "5.0.0-alpha.80",
- "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.80.tgz",
- "integrity": "sha512-sPSYwJzwNMaqpksdLuOhpQQLrhtpBH4sNnMSgkzJzo7Jo4HF9ivjNpq27Zh5+sdRe5MTt0gcBT0QSMO6zML1Aw==",
+ "version": "5.0.0-alpha.81",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.81.tgz",
+ "integrity": "sha512-KJP+RdKBLSbhiAliy1b5xFuoAezawupfIHc/MRtEZdqAmUW0+UFNDXIUDlBKR9zLCjgjQ7eVJsSe0TwAgd8OMQ==",
"requires": {
"@babel/runtime": "^7.17.2",
"@emotion/is-prop-valid": "^1.1.2",
- "@mui/private-classnames": "^5.7.0",
"@mui/types": "^7.1.3",
- "@mui/utils": "^5.7.0",
+ "@mui/utils": "^5.8.0",
"@popperjs/core": "^2.11.5",
"clsx": "^1.1.1",
"prop-types": "^15.8.1",
@@ -19585,24 +19570,23 @@
}
},
"@mui/icons-material": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.6.2.tgz",
- "integrity": "sha512-9QdI7axKuBAyaGz4mtdi7Uy1j73/thqFmEuxpJHxNC7O8ADEK1Da3t2veK2tgmsXsUlAHcAG63gg+GvWWeQNqQ==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.8.0.tgz",
+ "integrity": "sha512-ScwLxa0q5VYV70Jfc60V/9VD0b9SvIeZ0Jddx2Dt2pBUFFO9vKdrbt9LYiT+4p21Au5NdYIb2XSHj46CLN1v3g==",
"requires": {
"@babel/runtime": "^7.17.2"
}
},
"@mui/material": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.7.0.tgz",
- "integrity": "sha512-s1TSuUK5upNzGY5ZFHfJyzEt9fijn4cE+kEdEq7jGF+vpZIYXsDooH07+dNJ9+cJjYo6f9Fq1q5fPkknRC2Trw==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.8.0.tgz",
+ "integrity": "sha512-yvt3sUmUZ1i8SPadRYBCThcB57lBZsvyhC7ufVpRxA3AD39O+WXtXAapEfpDdDkJnnKb5MCimDMwBYgWLmY89Q==",
"requires": {
"@babel/runtime": "^7.17.2",
- "@mui/base": "5.0.0-alpha.80",
- "@mui/private-classnames": "^5.7.0",
- "@mui/system": "^5.7.0",
+ "@mui/base": "5.0.0-alpha.81",
+ "@mui/system": "^5.8.0",
"@mui/types": "^7.1.3",
- "@mui/utils": "^5.7.0",
+ "@mui/utils": "^5.8.0",
"@types/react-transition-group": "^4.4.4",
"clsx": "^1.1.1",
"csstype": "^3.0.11",
@@ -19612,25 +19596,20 @@
"react-transition-group": "^4.4.2"
}
},
- "@mui/private-classnames": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/private-classnames/-/private-classnames-5.7.0.tgz",
- "integrity": "sha512-OSB4ybzpYiS11rQ3VtbcJz/CS19lC0r0Hk14iRZwPtVgapnL1hKsGtmgRviZLxpLk/cZUKaxaJDuuzI/extCoA=="
- },
"@mui/private-theming": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.7.0.tgz",
- "integrity": "sha512-r/6JAWAHV1IFASZnceJPe9QT/s12ia/okGbmCUO4MEPdsWcNKye1RVKSwVgLATaX3YwPxDljWguIQrM3R2gZNA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.8.0.tgz",
+ "integrity": "sha512-MjRAneTmCKLR9u2S4jtjLUe6gpHxlbb4g2bqpDJ2PdwlvwsWIUzbc/gVB4dvccljXeWxr5G2M/Co2blXisvFIw==",
"requires": {
"@babel/runtime": "^7.17.2",
- "@mui/utils": "^5.7.0",
+ "@mui/utils": "^5.8.0",
"prop-types": "^15.8.1"
}
},
"@mui/styled-engine": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.7.0.tgz",
- "integrity": "sha512-JTvp+6lbAXYqgf/YInwR+hd4F8Fhg5PxMBwKTFsdKbaZFvyBD95hzKcxRmO9Y/NdjwFYWm5bBhcZAT4r2g1kZA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.8.0.tgz",
+ "integrity": "sha512-Q3spibB8/EgeMYHc+/o3RRTnAYkSl7ROCLhXJ830W8HZ2/iDiyYp16UcxKPurkXvLhUaILyofPVrP3Su2uKsAw==",
"requires": {
"@babel/runtime": "^7.17.2",
"@emotion/cache": "^11.7.1",
@@ -19638,15 +19617,15 @@
}
},
"@mui/system": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.7.0.tgz",
- "integrity": "sha512-M0vemfcfaRQzqLUmVRIsAVb0rx2ULHisHED6njoJqtjH58gbVb497mH+K1vI+Lh29fKR6Ki2mx3egxVi7mUn9w==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.8.0.tgz",
+ "integrity": "sha512-1tEj2S59RjlZ/6JMJMUktQDbV2ev7hyGXqO7dRRUQ7nOJi9qHmCFP0uXj3YS6LbM6hVasgYXJg8GBjbEtfTJvg==",
"requires": {
"@babel/runtime": "^7.17.2",
- "@mui/private-theming": "^5.7.0",
- "@mui/styled-engine": "^5.7.0",
+ "@mui/private-theming": "^5.8.0",
+ "@mui/styled-engine": "^5.8.0",
"@mui/types": "^7.1.3",
- "@mui/utils": "^5.7.0",
+ "@mui/utils": "^5.8.0",
"clsx": "^1.1.1",
"csstype": "^3.0.11",
"prop-types": "^15.8.1"
@@ -19659,9 +19638,9 @@
"requires": {}
},
"@mui/utils": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.7.0.tgz",
- "integrity": "sha512-uWpDIEXl7bWYkJwKQQ4Rdhc2dcotVETRYuLy29V6qLYZyAbs7AMKwDDz0XKy3RMNmU7S2R/jEeSb9xjXscQUHQ==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.8.0.tgz",
+ "integrity": "sha512-7LgUtCvz78676iC0wpTH7HizMdCrTphhBmRWimIMFrp5Ph6JbDFVuKS1CwYnWWxRyYKL0QzXrDL0lptAU90EXg==",
"requires": {
"@babel/runtime": "^7.17.2",
"@types/prop-types": "^15.7.5",
@@ -20156,9 +20135,9 @@
"integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/node": {
- "version": "17.0.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.33.tgz",
- "integrity": "sha512-miWq2m2FiQZmaHfdZNcbpp9PuXg34W5JZ5CrJ/BaS70VuhoJENBEQybeiYSaPBRNq6KQGnjfEnc/F3PN++D+XQ=="
+ "version": "17.0.35",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz",
+ "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg=="
},
"@types/parse-json": {
"version": "4.0.0",
diff --git a/interface/package.json b/interface/package.json
index 82f9d9f25..375f96cb6 100644
--- a/interface/package.json
+++ b/interface/package.json
@@ -7,11 +7,11 @@
"@emotion/react": "^11.9.0",
"@emotion/styled": "^11.8.1",
"@msgpack/msgpack": "^2.7.2",
- "@mui/icons-material": "^5.6.2",
- "@mui/material": "^5.7.0",
+ "@mui/icons-material": "^5.8.0",
+ "@mui/material": "^5.8.0",
"@table-library/react-table-library": "^3.1.2",
"@types/lodash": "^4.14.182",
- "@types/node": "^17.0.33",
+ "@types/node": "^17.0.35",
"@types/react": "^17.0.43",
"@types/react-dom": "^17.0.14",
"@types/react-router-dom": "^5.3.3",
diff --git a/interface/src/project/SettingsCustomization.tsx b/interface/src/project/SettingsCustomization.tsx
index 05dca4571..a5cac3aae 100644
--- a/interface/src/project/SettingsCustomization.tsx
+++ b/interface/src/project/SettingsCustomization.tsx
@@ -376,22 +376,22 @@ const SettingsCustomization: FC = () => {
}}
>