Skip to content

Commit c65fe51

Browse files
mcm1957claude
andcommitted
Add air quality and environmental state roles
Sync lib/config_StateRoles.js with the current stateroles.md definitions from ioBroker.docs. Adds new value.* roles for air quality and environmental sensors (co, no, no2, o3, ch2o, pm1, pm25, pm10, rn, tvoc, airquality, humidity.relative, humidity.absolute) and defines type/read/write constraints for value.temperature.dewpoint. No roles were removed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 4f345da commit c65fe51

2 files changed

Lines changed: 74 additions & 1 deletion

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ Example:
3131
Placeholder for the next version (at the beginning of the line):
3232
### **WORK IN PROGRESS**
3333
-->
34+
### **WORK IN PROGRESS**
35+
36+
* (mcm1957) Added new state roles for air quality and environmental sensors (`value.co`, `value.no`, `value.no2`, `value.o3`, `value.ch2o`, `value.pm1`, `value.pm25`, `value.pm10`, `value.rn`, `value.tvoc`, `value.airquality`, `value.humidity.relative`, `value.humidity.absolute`) and defined type/read/write constraints for `value.temperature.dewpoint`.
37+
3438
### 5.20.8 (2026-08-09)
3539

3640
* (mcm1957) Fixed source directory exclusion so multi-level paths (e.g. `src/lib/scripts`, `src/scripts`) are correctly skipped during code scanning, avoiding false positives such as `[S5051]`.

lib/config_StateRoles.js

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -853,6 +853,11 @@ const STATE_ROLE_RULES = {
853853
read: true,
854854
write: false,
855855
},
856+
'value.airquality': {
857+
types: ['number'],
858+
read: true,
859+
write: false,
860+
},
856861
'value.battery': {
857862
types: ['number'],
858863
read: true,
@@ -873,7 +878,17 @@ const STATE_ROLE_RULES = {
873878
read: true,
874879
write: false,
875880
},
881+
'value.ch2o': {
882+
types: ['number'],
883+
read: true,
884+
write: false,
885+
},
876886
'value.clouds': {},
887+
'value.co': {
888+
types: ['number'],
889+
read: true,
890+
write: false,
891+
},
877892
'value.co2': {
878893
types: ['number'],
879894
read: true,
@@ -1015,8 +1030,18 @@ const STATE_ROLE_RULES = {
10151030
read: true,
10161031
write: false,
10171032
},
1033+
'value.humidity.absolute': {
1034+
types: ['number'],
1035+
read: true,
1036+
write: false,
1037+
},
10181038
'value.humidity.max': {},
10191039
'value.humidity.min': {},
1040+
'value.humidity.relative': {
1041+
types: ['number'],
1042+
read: true,
1043+
write: false,
1044+
},
10201045
'value.interval': {
10211046
types: ['number'],
10221047
read: true,
@@ -1038,6 +1063,36 @@ const STATE_ROLE_RULES = {
10381063
write: false,
10391064
},
10401065
'value.mode.airconditioner': {},
1066+
'value.no': {
1067+
types: ['number'],
1068+
read: true,
1069+
write: false,
1070+
},
1071+
'value.no2': {
1072+
types: ['number'],
1073+
read: true,
1074+
write: false,
1075+
},
1076+
'value.o3': {
1077+
types: ['number'],
1078+
read: true,
1079+
write: false,
1080+
},
1081+
'value.pm1': {
1082+
types: ['number'],
1083+
read: true,
1084+
write: false,
1085+
},
1086+
'value.pm10': {
1087+
types: ['number'],
1088+
read: true,
1089+
write: false,
1090+
},
1091+
'value.pm25': {
1092+
types: ['number'],
1093+
read: true,
1094+
write: false,
1095+
},
10411096
'value.position': {},
10421097
'value.power': {
10431098
types: ['number'],
@@ -1094,6 +1149,11 @@ const STATE_ROLE_RULES = {
10941149
'value.rain': {},
10951150
'value.rain.hour': {},
10961151
'value.rain.today': {},
1152+
'value.rn': {
1153+
types: ['number'],
1154+
read: true,
1155+
write: false,
1156+
},
10971157
'value.severity': {
10981158
types: ['number'],
10991159
read: true,
@@ -1130,7 +1190,11 @@ const STATE_ROLE_RULES = {
11301190
read: true,
11311191
write: false,
11321192
},
1133-
'value.temperature.dewpoint': {},
1193+
'value.temperature.dewpoint': {
1194+
types: ['number'],
1195+
read: true,
1196+
write: false,
1197+
},
11341198
'value.temperature.feelslike': {},
11351199
'value.temperature.max': {},
11361200
'value.temperature.max.forecast.0': {},
@@ -1154,6 +1218,11 @@ const STATE_ROLE_RULES = {
11541218
read: true,
11551219
write: false,
11561220
},
1221+
'value.tvoc': {
1222+
types: ['number'],
1223+
read: true,
1224+
write: false,
1225+
},
11571226
'value.uv': {},
11581227
'value.valve': {
11591228
types: ['number'],

0 commit comments

Comments
 (0)