iobroker.alias-workbench 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -98
- package/admin/css/werkbank.css +88 -0
- package/admin/i18n/de.json +766 -1
- package/admin/i18n/en.json +766 -1
- package/admin/i18n/es.json +766 -1
- package/admin/i18n/fr.json +766 -1
- package/admin/i18n/it.json +766 -1
- package/admin/i18n/nl.json +766 -1
- package/admin/i18n/pl.json +766 -1
- package/admin/i18n/pt.json +766 -1
- package/admin/i18n/ru.json +766 -1
- package/admin/i18n/uk.json +766 -1
- package/admin/i18n/zh-cn.json +766 -1
- package/admin/js/ablage.js +118 -0
- package/admin/js/attrappe.js +749 -0
- package/admin/js/baum.js +52 -5
- package/admin/js/detail.js +64 -3
- package/admin/js/entwurf.js +246 -31
- package/admin/js/ergebnis.js +77 -2
- package/admin/js/katalog.js +235 -40
- package/admin/js/mqtt.js +297 -27
- package/admin/js/musternamen.js +70 -26
- package/admin/js/objekte.js +2 -0
- package/admin/js/quellentausch.js +823 -16
- package/admin/js/schreiben.js +3 -2
- package/admin/js/sprache.js +11 -8
- package/admin/js/vorlagen.js +8 -3
- package/admin/js/vorlagenblatt.js +228 -64
- package/admin/js/werte.js +294 -5
- package/admin/js/zielleiste.js +19 -10
- package/admin/js/zuordnung.js +8 -7
- package/admin/js/zustand.js +32 -0
- package/admin/js/zustandsliste.js +9 -2
- package/admin/tab.html +24 -0
- package/admin/vorlagen/hm-dimmer.json +32 -8
- package/admin/vorlagen/hm-fensterkontakt-hm.json +20 -5
- package/admin/vorlagen/hm-fensterkontakt-hmip.json +28 -7
- package/admin/vorlagen/hm-heizgruppe.json +38 -11
- package/admin/vorlagen/hm-heizkoerper.json +42 -12
- package/admin/vorlagen/hm-rollladen.json +28 -7
- package/admin/vorlagen/hm-schaltaktor-lampe.json +24 -6
- package/admin/vorlagen/hm-schaltaktor-mehrfach.json +32 -8
- package/admin/vorlagen/hm-schaltaktor-steckdose.json +24 -6
- package/admin/vorlagen/hm-temperatur-feuchte.json +8 -2
- package/admin/vorlagen/hm-wandthermostat.json +36 -9
- package/admin/vorlagen/messpunkt.json +40 -10
- package/admin/vorlagen/tasmota-lampe.json +48 -12
- package/admin/vorlagen/tasmota-mehrfach.json +40 -10
- package/admin/vorlagen/tasmota-rgb.json +36 -9
- package/admin/vorlagen/tasmota-steckdose.json +56 -14
- package/io-package.json +41 -28
- package/package.json +3 -3
- package/admin/sprachen/de.json +0 -685
- package/admin/sprachen/en.json +0 -685
|
@@ -25,7 +25,10 @@
|
|
|
25
25
|
"verboten": [
|
|
26
26
|
"1.SET_POINT_TEMPERATURE"
|
|
27
27
|
],
|
|
28
|
-
"hinweis":
|
|
28
|
+
"hinweis": {
|
|
29
|
+
"de": "2.STATE steht fest in der Liste, damit die Vorlage nicht auch am Einfach-Aktor greift - der hat nur Kanal 1 und gehoert zur Einfach-Vorlage. %N%.WORKING trennt die Schaltkanaele von allem anderen, was zufaellig STATE heisst: die Heizgruppe HmIP-HEATING hat einen schaltbaren 6.STATE, aber kein 6.WORKING, und der Fensterkontakt hat weder das eine noch das andere. Das verbotene SET_POINT_TEMPERATURE haelt zusaetzlich alle Thermostate fern.",
|
|
30
|
+
"en": "2.STATE is fixed in the list so the template does not also match the single actuator — that one has only channel 1 and belongs to the single-output template. %N%.WORKING separates the switch channels from everything else that happens to be called STATE: the heating group HmIP-HEATING has a switchable 6.STATE but no 6.WORKING, and the window contact has neither. The forbidden SET_POINT_TEMPERATURE additionally keeps all thermostats away."
|
|
31
|
+
}
|
|
29
32
|
},
|
|
30
33
|
"zustaende": [
|
|
31
34
|
{
|
|
@@ -41,7 +44,10 @@
|
|
|
41
44
|
"typ": "boolean",
|
|
42
45
|
"lesen": "%N%.STATE",
|
|
43
46
|
"optional": true,
|
|
44
|
-
"hinweis":
|
|
47
|
+
"hinweis": {
|
|
48
|
+
"de": "Liest dieselbe Quelle wie SET - der Aktor meldet keinen getrennten Istwert, 1.STATE ist beides. Deshalb standardmaessig aus: angehakt stuende derselbe Wert zweimal im Alias, und die Pruefung „kein Punkt doppelt\" meldet es zu Recht. Anhaken nur, wenn ein Widget ausdruecklich einen eigenen Rueckmeldepunkt erwartet.",
|
|
49
|
+
"en": "Reads the same source as SET — the actuator reports no separate actual value, 1.STATE is both. Therefore off by default: ticked, the same value would sit in the alias twice, and the check \"no point twice\" reports it, rightly. Tick it only when a widget explicitly expects its own feedback point."
|
|
50
|
+
},
|
|
45
51
|
"vorgabeAus": true
|
|
46
52
|
},
|
|
47
53
|
{
|
|
@@ -50,7 +56,10 @@
|
|
|
50
56
|
"typ": "boolean",
|
|
51
57
|
"lesen": "%N%.WORKING",
|
|
52
58
|
"optional": true,
|
|
53
|
-
"hinweis":
|
|
59
|
+
"hinweis": {
|
|
60
|
+
"de": "Gehoert zum einzelnen Ausgang, nicht zum Geraet - jeder Ausgang bekommt sein eigenes.",
|
|
61
|
+
"en": "Belongs to the single output, not to the device — each output gets its own."
|
|
62
|
+
}
|
|
54
63
|
},
|
|
55
64
|
{
|
|
56
65
|
"name": "ON_TIME",
|
|
@@ -61,7 +70,10 @@
|
|
|
61
70
|
"schreiben": "%N%.ON_TIME",
|
|
62
71
|
"optional": true,
|
|
63
72
|
"vorgabeAus": true,
|
|
64
|
-
"hinweis":
|
|
73
|
+
"hinweis": {
|
|
74
|
+
"de": "Einschaltdauer in Sekunden. Der Platz ON_TIME im Muster nimmt ihn auf.",
|
|
75
|
+
"en": "On-time in seconds. The pattern's ON_TIME slot takes it."
|
|
76
|
+
}
|
|
65
77
|
},
|
|
66
78
|
{
|
|
67
79
|
"name": "INHIBIT",
|
|
@@ -71,7 +83,10 @@
|
|
|
71
83
|
"schreiben": "%N%.INHIBIT",
|
|
72
84
|
"optional": true,
|
|
73
85
|
"vorgabeAus": true,
|
|
74
|
-
"hinweis":
|
|
86
|
+
"hinweis": {
|
|
87
|
+
"de": "Sperrt diesen Ausgang. Solange true, nimmt er keine Befehle an - auch nicht vom Taster.",
|
|
88
|
+
"en": "Locks this output. While true it accepts no commands — not even from the wall switch."
|
|
89
|
+
}
|
|
75
90
|
},
|
|
76
91
|
{
|
|
77
92
|
"name": "LOWBAT",
|
|
@@ -82,7 +97,10 @@
|
|
|
82
97
|
"punkt": "0.LOW_BAT"
|
|
83
98
|
},
|
|
84
99
|
"optional": true,
|
|
85
|
-
"hinweis":
|
|
100
|
+
"hinweis": {
|
|
101
|
+
"de": "Kanal 0 gilt fuer das ganze Geraet. Beide Ausgaenge bekommen denselben Punkt - die Meldung betrifft ja beide.",
|
|
102
|
+
"en": "Channel 0 applies to the whole device. Both outputs get the same point — the report concerns both."
|
|
103
|
+
}
|
|
86
104
|
},
|
|
87
105
|
{
|
|
88
106
|
"name": "UNREACH",
|
|
@@ -90,7 +108,10 @@
|
|
|
90
108
|
"typ": "boolean",
|
|
91
109
|
"lesen": "0.UNREACH",
|
|
92
110
|
"optional": true,
|
|
93
|
-
"hinweis":
|
|
111
|
+
"hinweis": {
|
|
112
|
+
"de": "Kanal 0, gilt fuer beide Ausgaenge.",
|
|
113
|
+
"en": "Channel 0, applies to both outputs."
|
|
114
|
+
}
|
|
94
115
|
},
|
|
95
116
|
{
|
|
96
117
|
"name": "RSSI",
|
|
@@ -103,7 +124,10 @@
|
|
|
103
124
|
"lesenSonst": {
|
|
104
125
|
"punkt": "0.RSSI_PEER"
|
|
105
126
|
},
|
|
106
|
-
"hinweis":
|
|
127
|
+
"hinweis": {
|
|
128
|
+
"de": "RSSI_DEVICE steht zuerst: es ist der Pegel, den die Zentrale vom Geraet empfaengt. RSSI_PEER ist bei Batteriegeraeten oft unbelegt und traegt dann Grenzwerte wie -2147483648.",
|
|
129
|
+
"en": "RSSI_DEVICE comes first: it is the level the central unit receives from the device. RSSI_PEER is often empty on battery devices and then carries sentinel values such as -2147483648."
|
|
130
|
+
}
|
|
107
131
|
}
|
|
108
132
|
],
|
|
109
133
|
"weiterePunkte": {
|
|
@@ -21,7 +21,10 @@
|
|
|
21
21
|
"2.STATE"
|
|
22
22
|
],
|
|
23
23
|
"namenshinweis": "steckdose|dose|stecker|plug|socket|pumpe|luefter",
|
|
24
|
-
"hinweis":
|
|
24
|
+
"hinweis": {
|
|
25
|
+
"de": "1.WORKING steht mit in der Pflicht: es trennt den Schaltaktor vom Fensterkontakt, der ebenfalls einen 1.STATE hat, aber nichts zu schalten. 2.STATE ist verboten, sonst wuerde diese Vorlage auch am Zweifach-Aktor greifen und dessen zweiten Ausgang stillschweigend unterschlagen.",
|
|
26
|
+
"en": "1.WORKING is required as well: it separates the switch actuator from the window contact, which also has a 1.STATE but nothing to switch. 2.STATE is forbidden, otherwise this template would also match the dual actuator and silently drop its second output."
|
|
27
|
+
}
|
|
25
28
|
},
|
|
26
29
|
"zustaende": [
|
|
27
30
|
{
|
|
@@ -38,7 +41,10 @@
|
|
|
38
41
|
"lesen": "1.STATE",
|
|
39
42
|
"optional": true,
|
|
40
43
|
"vorgabeAus": true,
|
|
41
|
-
"hinweis":
|
|
44
|
+
"hinweis": {
|
|
45
|
+
"de": "Liest dieselbe Quelle wie SET - der Aktor meldet keinen getrennten Istwert, 1.STATE ist beides. Deshalb standardmaessig aus: angehakt stuende derselbe Wert zweimal im Alias, und die Pruefung „kein Punkt doppelt\" meldet es zu Recht. Anhaken nur, wenn ein Widget ausdruecklich einen eigenen Rueckmeldepunkt erwartet.",
|
|
46
|
+
"en": "Reads the same source as SET — the actuator reports no separate actual value, 1.STATE is both. Therefore off by default: ticked, the same value would sit in the alias twice, and the check \"no point twice\" reports it, rightly. Tick it only when a widget explicitly expects its own feedback point."
|
|
47
|
+
}
|
|
42
48
|
},
|
|
43
49
|
{
|
|
44
50
|
"name": "WORKING",
|
|
@@ -46,7 +52,10 @@
|
|
|
46
52
|
"typ": "boolean",
|
|
47
53
|
"lesen": "1.WORKING",
|
|
48
54
|
"optional": true,
|
|
49
|
-
"hinweis":
|
|
55
|
+
"hinweis": {
|
|
56
|
+
"de": "Steht auf true, solange der Aktor den Befehl noch ausfuehrt.",
|
|
57
|
+
"en": "Stays true while the actuator is still carrying out the command."
|
|
58
|
+
}
|
|
50
59
|
},
|
|
51
60
|
{
|
|
52
61
|
"name": "ON_TIME",
|
|
@@ -57,7 +66,10 @@
|
|
|
57
66
|
"schreiben": "1.ON_TIME",
|
|
58
67
|
"optional": true,
|
|
59
68
|
"vorgabeAus": true,
|
|
60
|
-
"hinweis":
|
|
69
|
+
"hinweis": {
|
|
70
|
+
"de": "Einschaltdauer in Sekunden. Der Platz ON_TIME im Muster nimmt ihn auf.",
|
|
71
|
+
"en": "On-time in seconds. The pattern's ON_TIME slot takes it."
|
|
72
|
+
}
|
|
61
73
|
},
|
|
62
74
|
{
|
|
63
75
|
"name": "INHIBIT",
|
|
@@ -67,7 +79,10 @@
|
|
|
67
79
|
"schreiben": "1.INHIBIT",
|
|
68
80
|
"optional": true,
|
|
69
81
|
"vorgabeAus": true,
|
|
70
|
-
"hinweis":
|
|
82
|
+
"hinweis": {
|
|
83
|
+
"de": "Sperrt den Aktor. Solange true, nimmt er keine Befehle an — auch nicht vom Taster.",
|
|
84
|
+
"en": "Locks the actuator. While true it accepts no commands — not even from the wall switch."
|
|
85
|
+
}
|
|
71
86
|
},
|
|
72
87
|
{
|
|
73
88
|
"name": "LOWBAT",
|
|
@@ -97,7 +112,10 @@
|
|
|
97
112
|
"lesenSonst": {
|
|
98
113
|
"punkt": "0.RSSI_PEER"
|
|
99
114
|
},
|
|
100
|
-
"hinweis":
|
|
115
|
+
"hinweis": {
|
|
116
|
+
"de": "RSSI_DEVICE steht zuerst: es ist der Pegel, den die Zentrale vom Geraet empfaengt. RSSI_PEER ist bei Batteriegeraeten oft unbelegt und traegt dann Grenzwerte wie -2147483648.",
|
|
117
|
+
"en": "RSSI_DEVICE comes first: it is the level the central unit receives from the device. RSSI_PEER is often empty on battery devices and then carries sentinel values such as -2147483648."
|
|
118
|
+
}
|
|
101
119
|
}
|
|
102
120
|
],
|
|
103
121
|
"weiterePunkte": {
|
|
@@ -21,7 +21,10 @@
|
|
|
21
21
|
"1.SET_POINT_TEMPERATURE",
|
|
22
22
|
"1.ACTUAL_TEMPERATURE"
|
|
23
23
|
],
|
|
24
|
-
"hinweis":
|
|
24
|
+
"hinweis": {
|
|
25
|
+
"de": "Die Thermostate messen ebenfalls Temperatur und Feuchte, heissen ihre Punkte aber ACTUAL_TEMPERATURE und haben einen Sollwert. Beides ist hier verboten, sonst wuerde diese Vorlage ihnen den Rang ablaufen und das Stellglied unter den Tisch fallen.",
|
|
26
|
+
"en": "The thermostats also measure temperature and humidity, but their points are called ACTUAL_TEMPERATURE and they have a setpoint. Both are forbidden here, otherwise this template would outrank them and the actuator would be dropped."
|
|
27
|
+
}
|
|
25
28
|
},
|
|
26
29
|
"zustaende": [
|
|
27
30
|
{
|
|
@@ -66,7 +69,10 @@
|
|
|
66
69
|
},
|
|
67
70
|
"optional": true,
|
|
68
71
|
"vorgabeAus": true,
|
|
69
|
-
"hinweis":
|
|
72
|
+
"hinweis": {
|
|
73
|
+
"de": "RSSI_DEVICE steht zuerst: es ist der Pegel, den die Zentrale vom Geraet empfaengt. RSSI_PEER ist bei Batteriegeraeten oft unbelegt und traegt dann Grenzwerte wie -2147483648.",
|
|
74
|
+
"en": "RSSI_DEVICE comes first: it is the level the central unit receives from the device. RSSI_PEER is often empty on battery devices and then carries sentinel values such as -2147483648."
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
],
|
|
72
78
|
"weiterePunkte": {
|
|
@@ -8,7 +8,10 @@
|
|
|
8
8
|
},
|
|
9
9
|
"geraetetyp": "thermostat",
|
|
10
10
|
"funktion": "heating",
|
|
11
|
-
"hinweis":
|
|
11
|
+
"hinweis": {
|
|
12
|
+
"de": "HmIP-WTH und Verwandte — der Thermostat an der Wand. Er misst Temperatur und Luftfeuchte und gibt den Sollwert vor, hat aber kein eigenes Ventil: geregelt wird am Heizkörper. Deshalb fehlt hier VALVE.",
|
|
13
|
+
"en": "HmIP-WTH and relatives — the thermostat on the wall. It measures temperature and humidity and sets the setpoint, but it has no valve of its own: control happens at the radiator. VALVE is therefore absent here."
|
|
14
|
+
},
|
|
12
15
|
"erkennung": {
|
|
13
16
|
"erforderlich": [
|
|
14
17
|
"1.SET_POINT_TEMPERATURE",
|
|
@@ -18,7 +21,10 @@
|
|
|
18
21
|
"1.LEVEL",
|
|
19
22
|
"4.SECTION"
|
|
20
23
|
],
|
|
21
|
-
"hinweis":
|
|
24
|
+
"hinweis": {
|
|
25
|
+
"de": "1.HUMIDITY hat nur der Wandthermostat und die Heizgruppe; 1.LEVEL schliesst das Heizkoerperventil aus, 4.SECTION die Gruppe.",
|
|
26
|
+
"en": "Only the wall thermostat and the heating group have 1.HUMIDITY; 1.LEVEL excludes the radiator valve, 4.SECTION the group."
|
|
27
|
+
}
|
|
22
28
|
},
|
|
23
29
|
"zustaende": [
|
|
24
30
|
{
|
|
@@ -42,7 +48,10 @@
|
|
|
42
48
|
"typ": "number",
|
|
43
49
|
"einheit": "%",
|
|
44
50
|
"lesen": "1.HUMIDITY",
|
|
45
|
-
"hinweis":
|
|
51
|
+
"hinweis": {
|
|
52
|
+
"de": "Die Quelle traegt die Einheit „% rF\"; das thermostat-Muster erwartet an diesem Platz Prozent.",
|
|
53
|
+
"en": "The source carries the unit \"% rH\"; the thermostat pattern expects percent on this slot."
|
|
54
|
+
}
|
|
46
55
|
},
|
|
47
56
|
{
|
|
48
57
|
"name": "MODE",
|
|
@@ -57,7 +66,10 @@
|
|
|
57
66
|
"2": "Urlaub",
|
|
58
67
|
"3": "Modus 3"
|
|
59
68
|
},
|
|
60
|
-
"hinweis":
|
|
69
|
+
"hinweis": {
|
|
70
|
+
"de": "Der Platz MODE verlangt eine Werteliste - ohne common.states steht im Widget nur eine nackte Zahl. Die Quelle liefert keine mit: hm-rpc meldet den Punkt als INTEGER 0 bis 3 ohne VALUE_LIST.\nBelegt sind 0, 1 und 2. Die Zuordnung steht so in aiohomematic, der Bibliothek hinter der Homematic-Anbindung von Home Assistant: AUTO=0, MANU=1, AWAY=2. Automatik heisst, das Wochenprogramm laeuft; Manuell haelt den eingestellten Sollwert; Urlaub (englisch away) ist der Modus, zu dem PARTY_MODE und PARTY_TIME_START/END gehoeren.\n3 bleibt neutral - bei HmIP kennt aiohomematic keine 3, und Boost laeuft ueber den eigenen Punkt.",
|
|
71
|
+
"en": "The MODE slot requires a value list — without common.states the widget shows a bare number. The source supplies none: hm-rpc reports the point as INTEGER 0 to 3 without a VALUE_LIST.\n0, 1 and 2 are used. The mapping is the one in aiohomematic, the library behind Home Assistant's Homematic integration: AUTO=0, MANU=1, AWAY=2. Automatic means the week programme is running; manual holds the setpoint; holiday (English: away) is the mode that PARTY_MODE and PARTY_TIME_START/END belong to.\n3 stays neutral — on HmIP aiohomematic knows no 3, and boost runs through its own point."
|
|
72
|
+
}
|
|
61
73
|
},
|
|
62
74
|
{
|
|
63
75
|
"name": "BOOST",
|
|
@@ -74,7 +86,10 @@
|
|
|
74
86
|
"lesen": "1.PARTY_MODE",
|
|
75
87
|
"optional": true,
|
|
76
88
|
"vorgabeAus": true,
|
|
77
|
-
"hinweis":
|
|
89
|
+
"hinweis": {
|
|
90
|
+
"de": "Nur lesbar. Gehoert zum Urlaubsmodus und wird ueber MODE gesetzt, nicht hier.",
|
|
91
|
+
"en": "Read only. Belongs to holiday mode and is set via MODE, not here."
|
|
92
|
+
}
|
|
78
93
|
},
|
|
79
94
|
{
|
|
80
95
|
"name": "WINDOW_STATE",
|
|
@@ -87,7 +102,10 @@
|
|
|
87
102
|
"0": "zu",
|
|
88
103
|
"1": "offen"
|
|
89
104
|
},
|
|
90
|
-
"hinweis":
|
|
105
|
+
"hinweis": {
|
|
106
|
+
"de": "Meldet, ob die Fensteroffen-Erkennung zugeschlagen hat. Das thermostat-Muster hat zwar einen Platz WINDOW, der nimmt aber nur sensor.window oder state.window - die Quelle liefert eine Zahl mit value.window. Angehakt landet der Punkt deshalb im info-Geraet. Wer ihn im Thermostat haben will, rechnet ihn per Leseformel auf einen Wahrheitswert um und setzt die Rolle auf sensor.window.",
|
|
107
|
+
"en": "Reports whether the open-window detection has tripped. The thermostat pattern does have a WINDOW slot, but it only accepts sensor.window or state.window — the source delivers a number with value.window. Ticked, the point therefore lands in the info device. To have it in the thermostat, convert it to a boolean with a read formula and set the role to sensor.window."
|
|
108
|
+
}
|
|
91
109
|
},
|
|
92
110
|
{
|
|
93
111
|
"name": "LOWBAT",
|
|
@@ -98,7 +116,10 @@
|
|
|
98
116
|
"punkt": "0.LOWBAT"
|
|
99
117
|
},
|
|
100
118
|
"optional": true,
|
|
101
|
-
"hinweis":
|
|
119
|
+
"hinweis": {
|
|
120
|
+
"de": "HmIP schreibt LOW_BAT, die aeltere Homematic-Reihe LOWBAT.",
|
|
121
|
+
"en": "HmIP writes LOW_BAT, the older Homematic line writes LOWBAT."
|
|
122
|
+
}
|
|
102
123
|
},
|
|
103
124
|
{
|
|
104
125
|
"name": "UNREACH",
|
|
@@ -118,7 +139,10 @@
|
|
|
118
139
|
},
|
|
119
140
|
"optional": true,
|
|
120
141
|
"vorgabeAus": true,
|
|
121
|
-
"hinweis":
|
|
142
|
+
"hinweis": {
|
|
143
|
+
"de": "RSSI_DEVICE steht zuerst: es ist der Pegel, den die Zentrale vom Geraet empfaengt. RSSI_PEER ist bei Batteriegeraeten oft unbelegt und traegt dann Grenzwerte wie -2147483648.",
|
|
144
|
+
"en": "RSSI_DEVICE comes first: it is the level the central unit receives from the device. RSSI_PEER is often empty on battery devices and then carries sentinel values such as -2147483648."
|
|
145
|
+
}
|
|
122
146
|
},
|
|
123
147
|
{
|
|
124
148
|
"name": "VOLTAGE",
|
|
@@ -128,7 +152,10 @@
|
|
|
128
152
|
"lesen": "0.OPERATING_VOLTAGE",
|
|
129
153
|
"optional": true,
|
|
130
154
|
"vorgabeAus": true,
|
|
131
|
-
"hinweis":
|
|
155
|
+
"hinweis": {
|
|
156
|
+
"de": "Batteriespannung. Nicht vorgehakt, und der VOLTAGE-Platz des Musters ist dafuer auch nicht gedacht: im type-detector gehoert VOLTAGE zur Messgruppe neben Strom, Verbrauch und Frequenz. Dass die Batterie zur Neige geht, meldet LOWBAT, und das ist vorgehakt.",
|
|
157
|
+
"en": "Battery voltage. Not ticked, and the pattern's VOLTAGE slot is not meant for it either: in the type-detector VOLTAGE belongs to the metering group next to current, consumption and frequency. That the battery is running low is reported by LOWBAT, and that one is ticked."
|
|
158
|
+
}
|
|
132
159
|
}
|
|
133
160
|
],
|
|
134
161
|
"weiterePunkte": {
|
|
@@ -76,7 +76,10 @@
|
|
|
76
76
|
"feld": "ENERGY.ApparentPower",
|
|
77
77
|
"optional": true,
|
|
78
78
|
"vorgabeAus": true,
|
|
79
|
-
"hinweis":
|
|
79
|
+
"hinweis": {
|
|
80
|
+
"de": "Scheinleistung. Kein Platz in socket oder light — landet wie TODAY im info-Geraet.",
|
|
81
|
+
"en": "Apparent power. No slot in socket or light — lands in the info device, like TODAY."
|
|
82
|
+
}
|
|
80
83
|
},
|
|
81
84
|
{
|
|
82
85
|
"name": "REACTIVE_POWER",
|
|
@@ -87,7 +90,10 @@
|
|
|
87
90
|
"feld": "ENERGY.ReactivePower",
|
|
88
91
|
"optional": true,
|
|
89
92
|
"vorgabeAus": true,
|
|
90
|
-
"hinweis":
|
|
93
|
+
"hinweis": {
|
|
94
|
+
"de": "Blindleistung.",
|
|
95
|
+
"en": "Reactive power."
|
|
96
|
+
}
|
|
91
97
|
},
|
|
92
98
|
{
|
|
93
99
|
"name": "POWER_FACTOR",
|
|
@@ -97,7 +103,10 @@
|
|
|
97
103
|
"feld": "ENERGY.Factor",
|
|
98
104
|
"optional": true,
|
|
99
105
|
"vorgabeAus": true,
|
|
100
|
-
"hinweis":
|
|
106
|
+
"hinweis": {
|
|
107
|
+
"de": "Leistungsfaktor cos phi, 0 bis 1 — ohne Einheit.",
|
|
108
|
+
"en": "Power factor cos phi, 0 to 1 — no unit."
|
|
109
|
+
}
|
|
101
110
|
},
|
|
102
111
|
{
|
|
103
112
|
"name": "UNREACH",
|
|
@@ -126,7 +135,10 @@
|
|
|
126
135
|
"feld": "UptimeSec",
|
|
127
136
|
"optional": true,
|
|
128
137
|
"vorgabeAus": true,
|
|
129
|
-
"hinweis":
|
|
138
|
+
"hinweis": {
|
|
139
|
+
"de": "Sekunden seit dem letzten Start. Faellt der Wert staendig zurueck, startet das Geraet neu.",
|
|
140
|
+
"en": "Seconds since the last start. If the value keeps falling back, the device is restarting."
|
|
141
|
+
}
|
|
130
142
|
},
|
|
131
143
|
{
|
|
132
144
|
"name": "LAST_REPORT",
|
|
@@ -136,7 +148,10 @@
|
|
|
136
148
|
"feld": "Time",
|
|
137
149
|
"optional": true,
|
|
138
150
|
"vorgabeAus": true,
|
|
139
|
-
"hinweis":
|
|
151
|
+
"hinweis": {
|
|
152
|
+
"de": "Zeitstempel der letzten Telemetrie des Geraets, nicht der von ioBroker.",
|
|
153
|
+
"en": "Timestamp of the device's last telemetry, not ioBroker's."
|
|
154
|
+
}
|
|
140
155
|
},
|
|
141
156
|
{
|
|
142
157
|
"name": "HEAP",
|
|
@@ -147,7 +162,10 @@
|
|
|
147
162
|
"feld": "Heap",
|
|
148
163
|
"optional": true,
|
|
149
164
|
"vorgabeAus": true,
|
|
150
|
-
"hinweis":
|
|
165
|
+
"hinweis": {
|
|
166
|
+
"de": "Freier Speicher. Wird er klein, wird das Geraet unzuverlaessig.",
|
|
167
|
+
"en": "Free memory. If it gets small, the device becomes unreliable."
|
|
168
|
+
}
|
|
151
169
|
},
|
|
152
170
|
{
|
|
153
171
|
"name": "WIFI_QUALITY",
|
|
@@ -158,7 +176,10 @@
|
|
|
158
176
|
"feld": "Wifi.RSSI",
|
|
159
177
|
"optional": true,
|
|
160
178
|
"vorgabeAus": true,
|
|
161
|
-
"hinweis":
|
|
179
|
+
"hinweis": {
|
|
180
|
+
"de": "Guete 0 bis 100. RSSI in dBm steht getrennt daneben.",
|
|
181
|
+
"en": "Quality 0 to 100. RSSI in dBm is listed separately beside it."
|
|
182
|
+
}
|
|
162
183
|
},
|
|
163
184
|
{
|
|
164
185
|
"name": "WIFI_SSID",
|
|
@@ -177,7 +198,10 @@
|
|
|
177
198
|
"feld": "Wifi.LinkCount",
|
|
178
199
|
"optional": true,
|
|
179
200
|
"vorgabeAus": true,
|
|
180
|
-
"hinweis":
|
|
201
|
+
"hinweis": {
|
|
202
|
+
"de": "Wie oft die WLAN-Verbindung seit dem Start neu aufgebaut wurde.",
|
|
203
|
+
"en": "How often the Wi-Fi connection has been re-established since start."
|
|
204
|
+
}
|
|
181
205
|
},
|
|
182
206
|
{
|
|
183
207
|
"name": "WIFI_DOWNTIME",
|
|
@@ -187,7 +211,10 @@
|
|
|
187
211
|
"feld": "Wifi.Downtime",
|
|
188
212
|
"optional": true,
|
|
189
213
|
"vorgabeAus": true,
|
|
190
|
-
"hinweis":
|
|
214
|
+
"hinweis": {
|
|
215
|
+
"de": "Summe der Ausfallzeit seit dem Start.",
|
|
216
|
+
"en": "Total downtime since start."
|
|
217
|
+
}
|
|
191
218
|
},
|
|
192
219
|
{
|
|
193
220
|
"name": "IP",
|
|
@@ -197,7 +224,10 @@
|
|
|
197
224
|
"feld": "IPAddress",
|
|
198
225
|
"optional": true,
|
|
199
226
|
"vorgabeAus": true,
|
|
200
|
-
"hinweis":
|
|
227
|
+
"hinweis": {
|
|
228
|
+
"de": "Drei Wege, weil keiner allein reicht. tele.STATE steht zuerst, weil es alle paar Minuten frisch kommt und einem Adresswechsel folgt - allerdings fuehrt es die IP erst ab neuerer Firmware mit (gemessen: 12.5.0 nein, 15.5.0 ja). tele.INFO2 schickt eine Tasmota beim Start und laesst es retained stehen; das steht auch bei alter Firmware da, ist aber ein Standbild vom letzten Boot. stat.STATUS5 entsteht, wenn jemand den Status abfragt. Aeltere Firmware schreibt die Felder in tele.INFO2 ohne die Huelle Info2 - deshalb derselbe Punkt zweimal, einmal mit und einmal ohne (gemessen 20.09.2026 am Badlicht: {WebServerMode, Hostname, IPAddress}).",
|
|
229
|
+
"en": "Three paths, because none of them is enough on its own. tele.STATE comes first, because it arrives fresh every few minutes and follows an address change — though it only carries the IP from newer firmware on (measured: 12.5.0 no, 15.5.0 yes). tele.INFO2 is sent by a Tasmota at start and left retained; it is there on old firmware too, but it is a snapshot from the last boot. stat.STATUS5 appears when someone queries the status. Older firmware writes the fields into tele.INFO2 without the Info2 wrapper — hence the same point twice, once with and once without (measured 20.09.2026 on Badlicht: {WebServerMode, Hostname, IPAddress})."
|
|
230
|
+
},
|
|
201
231
|
"lesenSonst": [
|
|
202
232
|
{
|
|
203
233
|
"punkt": "tele.INFO2",
|
|
@@ -16,7 +16,10 @@
|
|
|
16
16
|
"tele.STATE": "POWER"
|
|
17
17
|
},
|
|
18
18
|
"namenshinweis": "licht|lampe|light|led|leuchte|strahler",
|
|
19
|
-
"hinweis":
|
|
19
|
+
"hinweis": {
|
|
20
|
+
"de": "stat.POWER steht bewusst nicht in der Pflichtliste: den Punkt legt der mqtt-Adapter erst an, wenn das Geraet zum ersten Mal geschaltet hat. Vorher haette die Vorlage nie gegriffen, obwohl der Schaltzustand die ganze Zeit in tele.STATE steht - von dort liest sie ersatzweise. cmnd.POWER bleibt dagegen Pflicht: es ist der Beleg dafuer, dass hier ueberhaupt etwas zu schalten ist. Ohne ihn wuerde jeder blosse Messpunkt mit Relaismeldung als Steckdose durchgehen.",
|
|
21
|
+
"en": "stat.POWER is deliberately not in the required list: the mqtt adapter only creates the point once the device has been switched for the first time. Before that the template would never have matched, even though the switch state has been in tele.STATE the whole time — that is where it reads from instead. cmnd.POWER stays required: it is the evidence that there is anything to switch here at all. Without it every bare measuring point with a relay report would pass as a socket."
|
|
22
|
+
}
|
|
20
23
|
},
|
|
21
24
|
"zustaende": [
|
|
22
25
|
{
|
|
@@ -36,7 +39,10 @@
|
|
|
36
39
|
"rolle": "sensor.light",
|
|
37
40
|
"typ": "boolean",
|
|
38
41
|
"lesen": "stat.POWER",
|
|
39
|
-
"hinweis":
|
|
42
|
+
"hinweis": {
|
|
43
|
+
"de": "beim light heisst die Rueckmeldung ON_ACTUAL, nicht ACTUAL",
|
|
44
|
+
"en": "on light the feedback is called ON_ACTUAL, not ACTUAL"
|
|
45
|
+
},
|
|
40
46
|
"lesenSonst": {
|
|
41
47
|
"punkt": "tele.STATE",
|
|
42
48
|
"leseformel": "JSON.parse(val)?.POWER === 'ON'"
|
|
@@ -108,7 +114,10 @@
|
|
|
108
114
|
"feld": "ENERGY.ApparentPower",
|
|
109
115
|
"optional": true,
|
|
110
116
|
"vorgabeAus": true,
|
|
111
|
-
"hinweis":
|
|
117
|
+
"hinweis": {
|
|
118
|
+
"de": "Scheinleistung. Kein Platz in socket oder light — landet wie TODAY im info-Geraet.",
|
|
119
|
+
"en": "Apparent power. No slot in socket or light — lands in the info device, like TODAY."
|
|
120
|
+
}
|
|
112
121
|
},
|
|
113
122
|
{
|
|
114
123
|
"name": "REACTIVE_POWER",
|
|
@@ -119,7 +128,10 @@
|
|
|
119
128
|
"feld": "ENERGY.ReactivePower",
|
|
120
129
|
"optional": true,
|
|
121
130
|
"vorgabeAus": true,
|
|
122
|
-
"hinweis":
|
|
131
|
+
"hinweis": {
|
|
132
|
+
"de": "Blindleistung.",
|
|
133
|
+
"en": "Reactive power."
|
|
134
|
+
}
|
|
123
135
|
},
|
|
124
136
|
{
|
|
125
137
|
"name": "POWER_FACTOR",
|
|
@@ -129,7 +141,10 @@
|
|
|
129
141
|
"feld": "ENERGY.Factor",
|
|
130
142
|
"optional": true,
|
|
131
143
|
"vorgabeAus": true,
|
|
132
|
-
"hinweis":
|
|
144
|
+
"hinweis": {
|
|
145
|
+
"de": "Leistungsfaktor cos phi, 0 bis 1 — ohne Einheit.",
|
|
146
|
+
"en": "Power factor cos phi, 0 to 1 — no unit."
|
|
147
|
+
}
|
|
133
148
|
},
|
|
134
149
|
{
|
|
135
150
|
"name": "UNREACH",
|
|
@@ -158,7 +173,10 @@
|
|
|
158
173
|
"feld": "UptimeSec",
|
|
159
174
|
"optional": true,
|
|
160
175
|
"vorgabeAus": true,
|
|
161
|
-
"hinweis":
|
|
176
|
+
"hinweis": {
|
|
177
|
+
"de": "Sekunden seit dem letzten Start. Faellt der Wert staendig zurueck, startet das Geraet neu.",
|
|
178
|
+
"en": "Seconds since the last start. If the value keeps falling back, the device is restarting."
|
|
179
|
+
}
|
|
162
180
|
},
|
|
163
181
|
{
|
|
164
182
|
"name": "LAST_REPORT",
|
|
@@ -168,7 +186,10 @@
|
|
|
168
186
|
"feld": "Time",
|
|
169
187
|
"optional": true,
|
|
170
188
|
"vorgabeAus": true,
|
|
171
|
-
"hinweis":
|
|
189
|
+
"hinweis": {
|
|
190
|
+
"de": "Zeitstempel der letzten Telemetrie des Geraets, nicht der von ioBroker.",
|
|
191
|
+
"en": "Timestamp of the device's last telemetry, not ioBroker's."
|
|
192
|
+
}
|
|
172
193
|
},
|
|
173
194
|
{
|
|
174
195
|
"name": "HEAP",
|
|
@@ -179,7 +200,10 @@
|
|
|
179
200
|
"feld": "Heap",
|
|
180
201
|
"optional": true,
|
|
181
202
|
"vorgabeAus": true,
|
|
182
|
-
"hinweis":
|
|
203
|
+
"hinweis": {
|
|
204
|
+
"de": "Freier Speicher. Wird er klein, wird das Geraet unzuverlaessig.",
|
|
205
|
+
"en": "Free memory. If it gets small, the device becomes unreliable."
|
|
206
|
+
}
|
|
183
207
|
},
|
|
184
208
|
{
|
|
185
209
|
"name": "WIFI_QUALITY",
|
|
@@ -190,7 +214,10 @@
|
|
|
190
214
|
"feld": "Wifi.RSSI",
|
|
191
215
|
"optional": true,
|
|
192
216
|
"vorgabeAus": true,
|
|
193
|
-
"hinweis":
|
|
217
|
+
"hinweis": {
|
|
218
|
+
"de": "Guete 0 bis 100. RSSI in dBm steht getrennt daneben.",
|
|
219
|
+
"en": "Quality 0 to 100. RSSI in dBm is listed separately beside it."
|
|
220
|
+
}
|
|
194
221
|
},
|
|
195
222
|
{
|
|
196
223
|
"name": "WIFI_SSID",
|
|
@@ -209,7 +236,10 @@
|
|
|
209
236
|
"feld": "Wifi.LinkCount",
|
|
210
237
|
"optional": true,
|
|
211
238
|
"vorgabeAus": true,
|
|
212
|
-
"hinweis":
|
|
239
|
+
"hinweis": {
|
|
240
|
+
"de": "Wie oft die WLAN-Verbindung seit dem Start neu aufgebaut wurde.",
|
|
241
|
+
"en": "How often the Wi-Fi connection has been re-established since start."
|
|
242
|
+
}
|
|
213
243
|
},
|
|
214
244
|
{
|
|
215
245
|
"name": "WIFI_DOWNTIME",
|
|
@@ -219,7 +249,10 @@
|
|
|
219
249
|
"feld": "Wifi.Downtime",
|
|
220
250
|
"optional": true,
|
|
221
251
|
"vorgabeAus": true,
|
|
222
|
-
"hinweis":
|
|
252
|
+
"hinweis": {
|
|
253
|
+
"de": "Summe der Ausfallzeit seit dem Start.",
|
|
254
|
+
"en": "Total downtime since start."
|
|
255
|
+
}
|
|
223
256
|
},
|
|
224
257
|
{
|
|
225
258
|
"name": "IP",
|
|
@@ -229,7 +262,10 @@
|
|
|
229
262
|
"feld": "IPAddress",
|
|
230
263
|
"optional": true,
|
|
231
264
|
"vorgabeAus": true,
|
|
232
|
-
"hinweis":
|
|
265
|
+
"hinweis": {
|
|
266
|
+
"de": "Drei Wege, weil keiner allein reicht. tele.STATE steht zuerst, weil es alle paar Minuten frisch kommt und einem Adresswechsel folgt - allerdings fuehrt es die IP erst ab neuerer Firmware mit (gemessen: 12.5.0 nein, 15.5.0 ja). tele.INFO2 schickt eine Tasmota beim Start und laesst es retained stehen; das steht auch bei alter Firmware da, ist aber ein Standbild vom letzten Boot. stat.STATUS5 entsteht, wenn jemand den Status abfragt. Aeltere Firmware schreibt die Felder in tele.INFO2 ohne die Huelle Info2 - deshalb derselbe Punkt zweimal, einmal mit und einmal ohne (gemessen 20.09.2026 am Badlicht: {WebServerMode, Hostname, IPAddress}).",
|
|
267
|
+
"en": "Three paths, because none of them is enough on its own. tele.STATE comes first, because it arrives fresh every few minutes and follows an address change — though it only carries the IP from newer firmware on (measured: 12.5.0 no, 15.5.0 yes). tele.INFO2 is sent by a Tasmota at start and left retained; it is there on old firmware too, but it is a snapshot from the last boot. stat.STATUS5 appears when someone queries the status. Older firmware writes the fields into tele.INFO2 without the Info2 wrapper — hence the same point twice, once with and once without (measured 20.09.2026 on Badlicht: {WebServerMode, Hostname, IPAddress})."
|
|
268
|
+
},
|
|
233
269
|
"lesenSonst": [
|
|
234
270
|
{
|
|
235
271
|
"punkt": "tele.INFO2",
|