smart-nodes 0.3.36 → 0.4.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/CHANGELOG.md +62 -0
- package/README.md +35 -17
- package/central/central.html +27 -24
- package/central/central.js +84 -26
- package/central/locales/de-DE/central.html +10 -0
- package/central/locales/de-DE/central.json +14 -0
- package/central/locales/en-US/central.html +10 -0
- package/central/locales/en-US/central.json +14 -0
- package/compare/compare.html +64 -87
- package/compare/compare.js +69 -29
- package/compare/locales/de-DE/compare.html +36 -0
- package/compare/locales/de-DE/compare.json +35 -0
- package/compare/locales/en-US/compare.html +36 -0
- package/compare/locales/en-US/compare.json +35 -0
- package/counter/counter.html +70 -72
- package/counter/counter.js +43 -20
- package/counter/locales/de-DE/counter.html +48 -0
- package/counter/locales/de-DE/counter.json +21 -0
- package/counter/locales/en-US/counter.html +48 -0
- package/counter/locales/en-US/counter.json +21 -0
- package/delay/delay.html +30 -102
- package/delay/delay.js +63 -20
- package/delay/locales/de-DE/delay.html +71 -0
- package/delay/locales/de-DE/delay.json +19 -0
- package/delay/locales/en-US/delay.html +76 -0
- package/delay/locales/en-US/delay.json +19 -0
- package/forwarder/forwarder.html +11 -42
- package/forwarder/forwarder.js +59 -18
- package/forwarder/locales/de-DE/forwarder.html +32 -0
- package/forwarder/locales/de-DE/forwarder.json +15 -0
- package/forwarder/locales/en-US/forwarder.html +32 -0
- package/forwarder/locales/en-US/forwarder.json +15 -0
- package/heating-curve/heating-curve.html +10 -51
- package/heating-curve/heating-curve.js +38 -13
- package/heating-curve/locales/de-DE/heating-curve.html +38 -0
- package/heating-curve/locales/de-DE/heating-curve.json +12 -0
- package/heating-curve/locales/en-US/heating-curve.html +38 -0
- package/heating-curve/locales/en-US/heating-curve.json +12 -0
- package/hysteresis/hysteresis.html +49 -69
- package/hysteresis/hysteresis.js +94 -68
- package/hysteresis/locales/de-DE/hysteresis.html +36 -0
- package/hysteresis/locales/de-DE/hysteresis.json +27 -0
- package/hysteresis/locales/en-US/hysteresis.html +36 -0
- package/hysteresis/locales/en-US/hysteresis.json +27 -0
- package/light/light.html +250 -0
- package/{light-control/light-control.js → light/light.js} +151 -32
- package/light/locales/de-DE/light.html +149 -0
- package/light/locales/de-DE/light.json +24 -0
- package/light/locales/en-US/light.html +148 -0
- package/light/locales/en-US/light.json +24 -0
- package/logic/locales/de-DE/logic.html +12 -0
- package/logic/locales/de-DE/logic.json +26 -0
- package/logic/locales/en-US/logic.html +12 -0
- package/logic/locales/en-US/logic.json +26 -0
- package/logic/logic.html +48 -64
- package/logic/logic.js +63 -29
- package/long-press/locales/de-DE/long-press.html +5 -0
- package/long-press/locales/de-DE/long-press.json +13 -0
- package/long-press/locales/en-US/long-press.html +5 -0
- package/long-press/locales/en-US/long-press.json +13 -0
- package/{long-press-control/long-press-control.html → long-press/long-press.html} +10 -14
- package/long-press/long-press.js +163 -0
- package/mixing-valve/locales/de-DE/mixing-valve.html +65 -0
- package/mixing-valve/locales/de-DE/mixing-valve.json +19 -0
- package/mixing-valve/locales/en-US/mixing-valve.html +66 -0
- package/mixing-valve/locales/en-US/mixing-valve.json +19 -0
- package/mixing-valve/mixing-valve.html +27 -93
- package/mixing-valve/mixing-valve.js +87 -61
- package/multi-press/locales/de-DE/multi-press.html +5 -0
- package/multi-press/locales/de-DE/multi-press.json +12 -0
- package/multi-press/locales/en-US/multi-press.html +5 -0
- package/multi-press/locales/en-US/multi-press.json +12 -0
- package/{multi-press-control/multi-press-control.html → multi-press/multi-press.html} +9 -13
- package/{multi-press-control/multi-press-control.js → multi-press/multi-press.js} +53 -5
- package/package.json +7 -7
- package/persistence.js +1 -0
- package/scene/locales/de-DE/scene.html +105 -0
- package/scene/locales/de-DE/scene.json +21 -0
- package/scene/locales/en-US/scene.html +107 -0
- package/scene/locales/en-US/scene.json +20 -0
- package/{scene-control/scene-control.html → scene/scene.html} +30 -132
- package/{scene-control/scene-control.js → scene/scene.js} +76 -26
- package/scheduler/locales/de-DE/scheduler.html +30 -0
- package/scheduler/locales/de-DE/scheduler.json +21 -0
- package/scheduler/locales/en-US/scheduler.html +30 -0
- package/scheduler/locales/en-US/scheduler.json +21 -0
- package/scheduler/scheduler.html +34 -64
- package/scheduler/scheduler.js +85 -53
- package/shutter/locales/de-DE/shutter.html +127 -0
- package/shutter/locales/de-DE/shutter.json +11 -0
- package/shutter/locales/en-US/shutter.html +133 -0
- package/shutter/locales/en-US/shutter.json +11 -0
- package/{shutter-control/shutter-control.html → shutter/shutter.html} +7 -133
- package/{shutter-control/shutter-control.js → shutter/shutter.js} +116 -56
- package/shutter-complex/locales/de-DE/shutter-complex.html +120 -0
- package/shutter-complex/locales/de-DE/shutter-complex.json +20 -0
- package/shutter-complex/locales/en-US/shutter-complex.html +120 -0
- package/shutter-complex/locales/en-US/shutter-complex.json +20 -0
- package/{shutter-complex-control/shutter-complex-control.html → shutter-complex/shutter-complex.html} +36 -140
- package/shutter-complex/shutter-complex.js +578 -0
- package/smart_helper.js +52 -9
- package/statistic/locales/de-DE/statistic.html +10 -0
- package/statistic/locales/de-DE/statistic.json +29 -0
- package/statistic/locales/en-US/statistic.html +10 -0
- package/statistic/locales/en-US/statistic.json +29 -0
- package/statistic/statistic.html +38 -43
- package/statistic/statistic.js +57 -28
- package/text-exec/locales/de-DE/text-exec.html +18 -0
- package/text-exec/locales/de-DE/text-exec.json +7 -0
- package/text-exec/locales/en-US/text-exec.html +18 -0
- package/text-exec/locales/en-US/text-exec.json +7 -0
- package/text-exec/text-exec.html +9 -25
- package/text-exec/text-exec.js +43 -2
- package/light-control/light-control.html +0 -363
- package/long-press-control/long-press-control.js +0 -76
- package/shutter-complex-control/shutter-complex-control.js +0 -442
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
<script type="text/html" data-help-name="smart_shutter-complex-control">
|
|
2
|
+
<p>
|
|
3
|
+
<b>Hinweis:</b> Diese Node wurde entwickelt, falls die KNX Rollladensteuerung nicht verwendet werden kann um man gezwungen ist 2 separate Ausgänge für Auf und Ab zu verwenden.
|
|
4
|
+
Es ist dabei sehr zu empfehlen, dass die Ausgänge sich gegenseitig verriegeln um ein gleichzeitiges Ansteuern zu verhindern. Für etwaige Schäden am Rollladen ist jeder selbst verantwortlich.
|
|
5
|
+
</p>
|
|
6
|
+
<p>
|
|
7
|
+
<b>Hinweis:</b> Smart Nodes verwenden Topics im Format <code>name#nummer</code>, damit können verschiedene Smart Nodes mit dem gleichen Topic angesteuert werden.<br/>
|
|
8
|
+
Diese Node verwendet nur den Teil <code>name</code>. <code>#</code> und <code>nummer</code> sind dabei optional.
|
|
9
|
+
</p>
|
|
10
|
+
<p>
|
|
11
|
+
Diese Node steuert Rollladen oder Jalousien.
|
|
12
|
+
Es gibt 3 Ausgänge die angesteuert werden können:
|
|
13
|
+
<ol>
|
|
14
|
+
<li><b>Auf:</b> <code>msg.payload = true;</code> startet den Rollladen um nach oben zu fahren und <code>msg.payload = false;</code> stoppt diesen wieder.</li>
|
|
15
|
+
<li><b>Ab:</b> <code>msg.payload = true;</code> startet den Rollladen um nach unten zu fahren und <code>msg.payload = false;</code> stoppt diesen wieder.</li>
|
|
16
|
+
<li><b>Status Position:</b> <code>msg.payload = 42;</code>Gibt den aktuellen Status der Rollladen aus. 0 = offen, 100 = geschlossen.</li>
|
|
17
|
+
</ol>
|
|
18
|
+
Die Ausgänge sind den jeweiligen KNX Gruppenadressen zuzuordnen.
|
|
19
|
+
</p>
|
|
20
|
+
<p>
|
|
21
|
+
Diese Node erwartet folgende Topics als Eingang:<br/>
|
|
22
|
+
<table>
|
|
23
|
+
<thead>
|
|
24
|
+
<tr>
|
|
25
|
+
<th>Topic</th>
|
|
26
|
+
<th>Beschreibung</th>
|
|
27
|
+
<th>msg.payload == false wird ignoriert</th>
|
|
28
|
+
</tr>
|
|
29
|
+
</thead>
|
|
30
|
+
<tbody>
|
|
31
|
+
<tr>
|
|
32
|
+
<td><code>up_stop</code></td>
|
|
33
|
+
<td>Sendet abwechselnd einen Stop- und einen Hochfahrbefehl.</td>
|
|
34
|
+
<td>Ja</td>
|
|
35
|
+
</tr>
|
|
36
|
+
<tr>
|
|
37
|
+
<td><code>up</code></td>
|
|
38
|
+
<td>Sendet einen Hochfahrbefehl, falls der Rollladen nicht bereits nach oben fährt. Ggf. wird vorher noch ein Stop-Befehl gesendet und die eingestellte Zeit gewartet.</td>
|
|
39
|
+
<td>Ja</td>
|
|
40
|
+
</tr>
|
|
41
|
+
<tr>
|
|
42
|
+
<td><code>down_stop</code></td>
|
|
43
|
+
<td>Sendet abwechselnd einen Stop- und einen Runterfahrbefehl.</td>
|
|
44
|
+
<td>Ja</td>
|
|
45
|
+
</tr>
|
|
46
|
+
<tr>
|
|
47
|
+
<td><code>down</code></td>
|
|
48
|
+
<td>Sendet einen Runterfahrbefehl, falls der Rollladen nicht bereits nach unten fährt. Ggf. wird vorher noch ein Stop-Befehl gesendet und die eingestellte Zeit gewartet.</td>
|
|
49
|
+
<td>Ja</td>
|
|
50
|
+
</tr>
|
|
51
|
+
<tr>
|
|
52
|
+
<td><code>up_down</code></td>
|
|
53
|
+
<td>Nimmt einen Befehl von Home Assistant entgegen und leitet die entsprechende Aktion ein.</td>
|
|
54
|
+
<td>Nein</td>
|
|
55
|
+
</tr>
|
|
56
|
+
<tr>
|
|
57
|
+
<td><code>stop</code></td>
|
|
58
|
+
<td>Sendet einen Stopbefehl.</td>
|
|
59
|
+
<td>Ja</td>
|
|
60
|
+
</tr>
|
|
61
|
+
<tr>
|
|
62
|
+
<td><code>position</code></td>
|
|
63
|
+
<td>Sendet einen Positionsbefehl. <code>msg.payload</code> sollte ein Wert zwischen 0 (offen) und 100 (geschlossen) haben.</td>
|
|
64
|
+
<td>Nein</td>
|
|
65
|
+
</tr>
|
|
66
|
+
<tr>
|
|
67
|
+
<td><code>alarm</code></td>
|
|
68
|
+
<td>Setzt den aktuellen Alarmzustand.</td>
|
|
69
|
+
<td>Nein</td>
|
|
70
|
+
</tr>
|
|
71
|
+
<tr>
|
|
72
|
+
<td><code>toggle</code> (default)</td>
|
|
73
|
+
<td>Schaltet den Rollladen abwechselnd auf hoch, stop, runter, stop.</td>
|
|
74
|
+
<td>Ja</td>
|
|
75
|
+
</tr>
|
|
76
|
+
</tbody>
|
|
77
|
+
</table>
|
|
78
|
+
</p>
|
|
79
|
+
<p>
|
|
80
|
+
Diese Node verwaltet die Laufzeit für den Rollladen selbst.
|
|
81
|
+
Es ist aber auch möglich, den Rollladen nach einer definierten Zeit automatisch abschalten zu lassen.
|
|
82
|
+
Beispiel: <code>msg = { "topic": "up", "time_on": 5000 }</code> oder <code>msg = { "topic": "up", "time_on": "5s" }</code><br/>
|
|
83
|
+
Diese Nachricht lässt den Rollladen für 5000 Millisekunden / 5 Sekunden nach oben fahren. Sollte es sich um eine Jalousie halten, werden die Lamellen entsprechend gedreht.
|
|
84
|
+
Als Einheit für die Zeit können folgende Werte verwendet werden:
|
|
85
|
+
<table>
|
|
86
|
+
<thead>
|
|
87
|
+
<tr>
|
|
88
|
+
<th>Einheit</th>
|
|
89
|
+
<th>Beschreibung</th>
|
|
90
|
+
</tr>
|
|
91
|
+
</thead>
|
|
92
|
+
<tbody>
|
|
93
|
+
<tr>
|
|
94
|
+
<td><code>ms</code> (default)</td>
|
|
95
|
+
<td>Millisekunden</td>
|
|
96
|
+
</tr>
|
|
97
|
+
<tr>
|
|
98
|
+
<td><code>s</code> oder <code>sec</code></td>
|
|
99
|
+
<td>Sekunden</td>
|
|
100
|
+
</tr>
|
|
101
|
+
<tr>
|
|
102
|
+
<td><code>m</code> oder <code>min</code></td>
|
|
103
|
+
<td>Minuten.</td>
|
|
104
|
+
</tr>
|
|
105
|
+
<tr>
|
|
106
|
+
<td><code>h</code></td>
|
|
107
|
+
<td>Stunden</td>
|
|
108
|
+
</tr>
|
|
109
|
+
</tbody>
|
|
110
|
+
</table>
|
|
111
|
+
</p>
|
|
112
|
+
<p>
|
|
113
|
+
Um mögliche Positionsabweichungen zu korrigieren läuft der Rollladen immer für mindestens 5 Sekunden, wenn nichts anderes in <code>msg.on_time</code> eingestellt wurde.
|
|
114
|
+
Dadurch kann der Rollladen auch noch weiter hochgefahren werden, falls er im System als offen erkannt wird, er aber in Wirklichkeit noch nicht ganz oben sein sollte.<br>
|
|
115
|
+
Manchmal kann es aber auch erwünscht sein, dass ein Rollladen bei 0 oder 100 % nicht nochmals startet. Dafür muss dann <code>msg.exact = true</code> gesetzt werden.
|
|
116
|
+
</p>
|
|
117
|
+
<p>
|
|
118
|
+
Die Angabe einer Zeit funktioniert nicht mit dem topic <b>position</b>.
|
|
119
|
+
</p>
|
|
120
|
+
</script>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"shutter": {
|
|
3
|
+
"ui": {
|
|
4
|
+
"name": "Name",
|
|
5
|
+
"text": "Text",
|
|
6
|
+
"controlled_by_words": "Diese Node kann über die eingegebenen Wörter gesteuert werden. Mehrere Wörter werden durch ein Komma getrennt.",
|
|
7
|
+
"time_up": "Zeit auf",
|
|
8
|
+
"time_down": "Zeit ab",
|
|
9
|
+
"pause_change": "Pause Wechsel",
|
|
10
|
+
"alarm_on": "Alarm Ein",
|
|
11
|
+
"alarm_off": "Alarm Aus",
|
|
12
|
+
"controlled_by_central": "Dieser Baustein wird von folgenden Zentralbausteinen gesteuert:",
|
|
13
|
+
|
|
14
|
+
"no_action": "Keine Aktion",
|
|
15
|
+
"up": "Hoch / Öffnen",
|
|
16
|
+
"down": "Runter / Schließen",
|
|
17
|
+
"last_position": "Letze Position"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
<script type="text/html" data-help-name="smart_shutter-complex-control">
|
|
2
|
+
<p>
|
|
3
|
+
<b>Note:</b> This node was developed if the KNX roller shutter control cannot be used and you are forced to use 2 separate outputs for up and down.
|
|
4
|
+
It is highly recommended that the outputs lock each other to prevent simultaneous control. Everyone is responsible for any damage to the roller shutter.
|
|
5
|
+
</p>
|
|
6
|
+
<p>
|
|
7
|
+
<b>Note:</b> Smart nodes use topics in the format <code>name#number</code>, so that different smart nodes can be controlled with the same topic.<br />
|
|
8
|
+
This node only uses the <code>name</code> part. <code>#</code> and <code>number</code> are optional.
|
|
9
|
+
</p>
|
|
10
|
+
<p>
|
|
11
|
+
This node controls roller shutters or blinds.
|
|
12
|
+
There are 3 outputs that can be controlled:
|
|
13
|
+
<ol>
|
|
14
|
+
<li><b>Up:</b> <code>msg.payload = true;</code> starts the roller shutter to move up and <code>msg.payload = false;</code> stops it again. </li>
|
|
15
|
+
<li><b>Down:</b> <code>msg.payload = true;</code> starts the roller shutter to move down and <code>msg.payload = false;</code> stops it again. </li>
|
|
16
|
+
<li><b>Status Position:</b> <code>msg.payload = 42;</code>Shows the current status of the roller shutter. 0 = open, 100 = closed.</li>
|
|
17
|
+
</ol>
|
|
18
|
+
The outputs are assigned to the respective KNX group addresses.
|
|
19
|
+
</p>
|
|
20
|
+
<p>
|
|
21
|
+
This node expects the following topics as input:<br />
|
|
22
|
+
<table>
|
|
23
|
+
<thead>
|
|
24
|
+
<tr>
|
|
25
|
+
<th>Topic</th>
|
|
26
|
+
<th>Description</th>
|
|
27
|
+
<th>msg.payload == false is ignored</th>
|
|
28
|
+
</tr>
|
|
29
|
+
</thead>
|
|
30
|
+
<tbody>
|
|
31
|
+
<tr>
|
|
32
|
+
<td><code>up_stop</code></td>
|
|
33
|
+
<td>Sends a stop and a raise command alternately.</td>
|
|
34
|
+
<td>Yes</td>
|
|
35
|
+
</tr>
|
|
36
|
+
<tr>
|
|
37
|
+
<td><code>up</code></td>
|
|
38
|
+
<td>Sends a raise command if the roller shutter is not already moving up. If necessary, a stop command is sent beforehand and the set time is waited for.</td>
|
|
39
|
+
<td>Yes</td>
|
|
40
|
+
</tr>
|
|
41
|
+
<tr>
|
|
42
|
+
<td><code>down_stop</code></td>
|
|
43
|
+
<td>Sends a stop and a down command alternately.</td>
|
|
44
|
+
<td>Yes</td>
|
|
45
|
+
</tr>
|
|
46
|
+
<tr>
|
|
47
|
+
<td><code>down</code></td>
|
|
48
|
+
<td>Sends a down command if the roller shutter is not already moving down. If necessary, a stop command is sent beforehand and the set time is waited for.</td>
|
|
49
|
+
<td>Yes</td>
|
|
50
|
+
</tr>
|
|
51
|
+
<tr>
|
|
52
|
+
<td><code>up_down</code></td>
|
|
53
|
+
<td>Receives a command from Home Assistant and initiates the corresponding action.</td>
|
|
54
|
+
<td>No</td>
|
|
55
|
+
</tr>
|
|
56
|
+
<tr>
|
|
57
|
+
<td><code>stop</code></td>
|
|
58
|
+
<td>Sends a stop command.</td>
|
|
59
|
+
<td>Yes</td>
|
|
60
|
+
</tr>
|
|
61
|
+
<tr>
|
|
62
|
+
<td><code>position</code></td>
|
|
63
|
+
<td>Sends a position command. <code>msg.payload</code> should have a value between 0 (open) and 100 (closed).</td>
|
|
64
|
+
<td>No</td>
|
|
65
|
+
</tr>
|
|
66
|
+
<tr>
|
|
67
|
+
<td><code>alarm</code></td>
|
|
68
|
+
<td>Sets the current alarm state.</td>
|
|
69
|
+
<td>No</td>
|
|
70
|
+
</tr>
|
|
71
|
+
<tr>
|
|
72
|
+
<td><code>toggle</code> (default)</td>
|
|
73
|
+
<td>Switches the roller shutter alternately to up, stop, down, stop.</td>
|
|
74
|
+
<td>Yes</td>
|
|
75
|
+
</tr>
|
|
76
|
+
</tbody>
|
|
77
|
+
</table>
|
|
78
|
+
</p>
|
|
79
|
+
<p>
|
|
80
|
+
This node manages the running time for the roller shutter itself.
|
|
81
|
+
It is also possible to have the roller shutter switch off automatically after a defined time.
|
|
82
|
+
Example: <code>msg = { "topic": "up", "time_on": 5000 }</code> or <code>msg = { "topic": "up", "time_on": "5s" }</code><br />
|
|
83
|
+
This message causes the roller shutter to move up for 5000 milliseconds / 5 seconds. If it is a blind, the slats are rotated accordingly.
|
|
84
|
+
The following values can be used as a unit for time:
|
|
85
|
+
<table>
|
|
86
|
+
<thead>
|
|
87
|
+
<tr>
|
|
88
|
+
<th>Unit</th>
|
|
89
|
+
<th>Description</th>
|
|
90
|
+
</tr>
|
|
91
|
+
</thead>
|
|
92
|
+
<tbody>
|
|
93
|
+
<tr>
|
|
94
|
+
<td><code>ms</code> (default)</td>
|
|
95
|
+
<td>Milliseconds</td>
|
|
96
|
+
</tr>
|
|
97
|
+
<tr>
|
|
98
|
+
<td><code>s</code> or <code>sec</code></td>
|
|
99
|
+
<td>Seconds</td>
|
|
100
|
+
</tr>
|
|
101
|
+
<tr>
|
|
102
|
+
<td><code>m</code> or <code>min</code></td>
|
|
103
|
+
<td>Minutes.</td>
|
|
104
|
+
</tr>
|
|
105
|
+
<tr>
|
|
106
|
+
<td><code>h</code></td>
|
|
107
|
+
<td>Hours</td>
|
|
108
|
+
</tr>
|
|
109
|
+
</tbody>
|
|
110
|
+
</table>
|
|
111
|
+
</p>
|
|
112
|
+
<p>
|
|
113
|
+
To correct possible position deviations, the roller shutter always runs for at least 5 seconds if nothing else has been set in <code>msg.on_time</code>.
|
|
114
|
+
This means that the roller shutter can be raised even further if it is recognized as open in the system, but in reality it is not yet completely up.<br>
|
|
115
|
+
Sometimes it may also be desirable for a roller shutter not to start again at 0 or 100%. For this, <code>msg.exact = true</code> must be set.
|
|
116
|
+
</p>
|
|
117
|
+
<p>
|
|
118
|
+
Specifying a time does not work with the topic <b>position</b>.
|
|
119
|
+
</p>
|
|
120
|
+
</script>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"shutter": {
|
|
3
|
+
"ui": {
|
|
4
|
+
"name": "Name",
|
|
5
|
+
"text": "Text",
|
|
6
|
+
"controlled_by_words": "This node can be controlled using the words entered. Multiple words are separated by a comma.",
|
|
7
|
+
"time_up": "Time up",
|
|
8
|
+
"time_down": "Time down",
|
|
9
|
+
"pause_change": "Pause change",
|
|
10
|
+
"alarm_on": "Alarm On",
|
|
11
|
+
"alarm_off": "Alarm Off",
|
|
12
|
+
"controlled_by_central": "This module is controlled by the following central modules:",
|
|
13
|
+
|
|
14
|
+
"no_action": "No action",
|
|
15
|
+
"up": "Up / Open",
|
|
16
|
+
"down": "Down / Close",
|
|
17
|
+
"last_position": "Last position"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -144,6 +144,7 @@
|
|
|
144
144
|
max_time_down: { value: 60 },
|
|
145
145
|
revert_time_ms: { value: 100 },
|
|
146
146
|
alarm_action: { value: 'NOTHING' }, // NOTHING | UP | DOWN
|
|
147
|
+
alarm_off_action: { value: 'NOTHING' }, // NOTHING | ON | OFF | LAST
|
|
147
148
|
links: { value: [], type: "smart_central-control[]" }
|
|
148
149
|
},
|
|
149
150
|
inputs: 1,
|
|
@@ -210,16 +211,28 @@
|
|
|
210
211
|
});
|
|
211
212
|
|
|
212
213
|
$("#node-input-alarm_action").typedInput({
|
|
213
|
-
types: [
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
214
|
+
types: [{
|
|
215
|
+
default: "NOTHING",
|
|
216
|
+
value: "alarm_action",
|
|
217
|
+
options: [
|
|
218
|
+
{ value: "NOTHING", label: node._("shutter.ui.no_action") },
|
|
219
|
+
{ value: "UP", label: node._("shutter.ui.up") },
|
|
220
|
+
{ value: "DOWN", label: node._("shutter.ui.down") }
|
|
221
|
+
],
|
|
222
|
+
}],
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
$("#node-input-alarm_off_action").typedInput({
|
|
226
|
+
types: [{
|
|
227
|
+
value: "alarm_off_action",
|
|
228
|
+
default: "NOTHING",
|
|
229
|
+
options: [
|
|
230
|
+
{ value: "NOTHING", label: node._("shutter.ui.no_action") },
|
|
231
|
+
{ value: "UP", label: node._("shutter.ui.up") },
|
|
232
|
+
{ value: "DOWN", label: node._("shutter.ui.down") },
|
|
233
|
+
{ value: "LAST", label: node._("shutter.ui.last_position") }
|
|
234
|
+
],
|
|
235
|
+
}],
|
|
223
236
|
});
|
|
224
237
|
},
|
|
225
238
|
onadd: function ()
|
|
@@ -233,151 +246,34 @@
|
|
|
233
246
|
|
|
234
247
|
<script type="text/html" data-template-name="smart_shutter-complex-control">
|
|
235
248
|
<div class="form-row">
|
|
236
|
-
<label for="node-input-name"><i class="fa fa-tag"></i>
|
|
237
|
-
<input type="text" id="node-input-name"
|
|
249
|
+
<label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="shutter.ui.name"></span></label>
|
|
250
|
+
<input type="text" id="node-input-name" data-i18n="[placeholder]shutter.ui.name" />
|
|
238
251
|
</div>
|
|
239
252
|
<div class="form-row">
|
|
240
|
-
<label for="node-input-exec_text_names"><i class="fa fa-comments-o"></i>
|
|
253
|
+
<label for="node-input-exec_text_names"><i class="fa fa-comments-o"></i> <span data-i18n="shutter.ui.text"></span></label>
|
|
241
254
|
<input id="node-input-exec_text_names" type="text" />
|
|
242
|
-
<div style="max-width: 450px;"
|
|
255
|
+
<div style="max-width: 450px;" data-i18n="shutter.ui.controlled_by_words"></div>
|
|
243
256
|
</div>
|
|
244
257
|
<div class="form-row">
|
|
245
|
-
<label for="node-input-max_time_up"><i class="fa fa-clock-o"></i>
|
|
258
|
+
<label for="node-input-max_time_up"><i class="fa fa-clock-o"></i> <span data-i18n="shutter.ui.time_up"></span></label>
|
|
246
259
|
<input id="node-input-max_time_up" placeholder="Komplette Fahrt auf" /> s
|
|
247
260
|
</div>
|
|
248
261
|
<div class="form-row">
|
|
249
|
-
<label for="node-input-max_time_down"><i class="fa fa-clock-o"></i>
|
|
262
|
+
<label for="node-input-max_time_down"><i class="fa fa-clock-o"></i> <span data-i18n="shutter.ui.time_down"></span></label>
|
|
250
263
|
<input id="node-input-max_time_down" placeholder="Komplette Fahrt ab" /> s
|
|
251
264
|
</div>
|
|
252
265
|
<div class="form-row">
|
|
253
|
-
<label for="node-input-revert_time_ms"><i class="fa fa-clock-o"></i>
|
|
266
|
+
<label for="node-input-revert_time_ms"><i class="fa fa-clock-o"></i> <span data-i18n="shutter.ui.pause_change"></span></label>
|
|
254
267
|
<input id="node-input-revert_time_ms" placeholder="Pause zwischen Wechsel" /> ms
|
|
255
268
|
</div>
|
|
256
269
|
<div class="form-row">
|
|
257
|
-
<label for="node-input-alarm_action"><i class="fa fa-exclamation-triangle"></i>
|
|
270
|
+
<label for="node-input-alarm_action"><i class="fa fa-exclamation-triangle"></i> <span data-i18n="shutter.ui.alarm_on"></span></label>
|
|
258
271
|
<input id="node-input-alarm_action"/>
|
|
259
272
|
</div>
|
|
260
|
-
<
|
|
273
|
+
<div class="form-row">
|
|
274
|
+
<label for="node-input-alarm_off_action"><i class="fa fa-exclamation-triangle"></i> <span data-i18n="shutter.ui.alarm_off"></span></label>
|
|
275
|
+
<input id="node-input-alarm_off_action"/>
|
|
276
|
+
</div>
|
|
277
|
+
<span><i class="fa fa-link"></i> <span data-i18n="shutter.ui.controlled_by_central"></span></span>
|
|
261
278
|
<div class="form-row node-input-link-row node-input-link-rows"></div>
|
|
262
|
-
</script>
|
|
263
|
-
|
|
264
|
-
<script type="text/html" data-help-name="smart_shutter-complex-control">
|
|
265
|
-
<p>
|
|
266
|
-
<b>Hinweis:</b> Diese Node wurde entwickelt, falls die KNX Rollladensteuerung nicht verwendet werden kann um man gezwungen ist 2 separate Ausgänge für Auf und Ab zu verwenden.
|
|
267
|
-
Es ist dabei sehr zu empfehlen, dass die Ausgänge sich gegenseitig verriegeln um ein gleichzeitiges Ansteuern zu verhindern. Für etwaige Schäden am Rollladen ist jeder selbst verantwortlich.
|
|
268
|
-
</p>
|
|
269
|
-
<p>
|
|
270
|
-
<b>Hinweis:</b> Smart Nodes verwenden Topics im Format <code>name#nummer</code>, damit können verschiedene Smart Nodes mit dem gleichen Topic angesteuert werden.<br/>
|
|
271
|
-
Diese Node verwendet nur den Teil <code>name</code>. <code>#</code> und <code>nummer</code> sind dabei optional.
|
|
272
|
-
</p>
|
|
273
|
-
<p>
|
|
274
|
-
Diese Node steuert Rollladen oder Jalousien.
|
|
275
|
-
Es gibt 3 Ausgänge die angesteuert werden können:
|
|
276
|
-
<ol>
|
|
277
|
-
<li><b>Auf:</b> <code>msg.payload = true;</code> startet den Rollladen um nach oben zu fahren und <code>msg.payload = false;</code> stoppt diesen wieder.</li>
|
|
278
|
-
<li><b>Ab:</b> <code>msg.payload = true;</code> startet den Rollladen um nach unten zu fahren und <code>msg.payload = false;</code> stoppt diesen wieder.</li>
|
|
279
|
-
<li><b>Status Position:</b> <code>msg.payload = 42;</code>Gibt den aktuellen Status der Rollladen aus. 0 = offen, 100 = geschlossen.</li>
|
|
280
|
-
</ol>
|
|
281
|
-
Die Ausgänge sind den jeweiligen KNX Gruppenadressen zuzuordnen.
|
|
282
|
-
</p>
|
|
283
|
-
<p>
|
|
284
|
-
Diese Node erwartet folgende Topics als Eingang:<br/>
|
|
285
|
-
<table>
|
|
286
|
-
<thead>
|
|
287
|
-
<tr>
|
|
288
|
-
<th>Topic</th>
|
|
289
|
-
<th>Beschreibung</th>
|
|
290
|
-
<th>msg.payload == false wird ignoriert</th>
|
|
291
|
-
</tr>
|
|
292
|
-
</thead>
|
|
293
|
-
<tbody>
|
|
294
|
-
<tr>
|
|
295
|
-
<td><code>up_stop</code></td>
|
|
296
|
-
<td>Sendet abwechselnd einen Stop- und einen Hochfahrbefehl.</td>
|
|
297
|
-
<td>Ja</td>
|
|
298
|
-
</tr>
|
|
299
|
-
<tr>
|
|
300
|
-
<td><code>up</code></td>
|
|
301
|
-
<td>Sendet einen Hochfahrbefehl, falls der Rollladen nicht bereits nach oben fährt. Ggf. wird vorher noch ein Stop-Befehl gesendet und die eingestellte Zeit gewartet.</td>
|
|
302
|
-
<td>Ja</td>
|
|
303
|
-
</tr>
|
|
304
|
-
<tr>
|
|
305
|
-
<td><code>down_stop</code></td>
|
|
306
|
-
<td>Sendet abwechselnd einen Stop- und einen Runterfahrbefehl.</td>
|
|
307
|
-
<td>Ja</td>
|
|
308
|
-
</tr>
|
|
309
|
-
<tr>
|
|
310
|
-
<td><code>down</code></td>
|
|
311
|
-
<td>Sendet einen Runterfahrbefehl, falls der Rollladen nicht bereits nach unten fährt. Ggf. wird vorher noch ein Stop-Befehl gesendet und die eingestellte Zeit gewartet.</td>
|
|
312
|
-
<td>Ja</td>
|
|
313
|
-
</tr>
|
|
314
|
-
<tr>
|
|
315
|
-
<td><code>up_down</code></td>
|
|
316
|
-
<td>Nimmt einen Befehl von Home Assistant entgegen und leitet die entsprechende Aktion ein.</td>
|
|
317
|
-
<td>Nein</td>
|
|
318
|
-
</tr>
|
|
319
|
-
<tr>
|
|
320
|
-
<td><code>stop</code></td>
|
|
321
|
-
<td>Sendet einen Stopbefehl.</td>
|
|
322
|
-
<td>Ja</td>
|
|
323
|
-
</tr>
|
|
324
|
-
<tr>
|
|
325
|
-
<td><code>position</code></td>
|
|
326
|
-
<td>Sendet einen Positionsbefehl. <code>msg.payload</code> sollte ein Wert zwischen 0 (offen) und 100 (geschlossen) haben.</td>
|
|
327
|
-
<td>Nein</td>
|
|
328
|
-
</tr>
|
|
329
|
-
<tr>
|
|
330
|
-
<td><code>alarm</code></td>
|
|
331
|
-
<td>Setzt den aktuellen Alarmzustand.</td>
|
|
332
|
-
<td>Nein</td>
|
|
333
|
-
</tr>
|
|
334
|
-
<tr>
|
|
335
|
-
<td><code>toggle</code> (default)</td>
|
|
336
|
-
<td>Schaltet den Rollladen abwechselnd auf hoch, stop, runter, stop.</td>
|
|
337
|
-
<td>Ja</td>
|
|
338
|
-
</tr>
|
|
339
|
-
</tbody>
|
|
340
|
-
</table>
|
|
341
|
-
</p>
|
|
342
|
-
<p>
|
|
343
|
-
Diese Node verwaltet die Laufzeit für den Rollladen selbst.
|
|
344
|
-
Es ist aber auch möglich, den Rollladen nach einer definierten Zeit automatisch abschalten zu lassen.
|
|
345
|
-
Beispiel: <code>msg = { "topic": "up", "time_on": 5000 }</code> oder <code>msg = { "topic": "up", "time_on": "5s" }</code><br/>
|
|
346
|
-
Diese Nachricht lässt den Rollladen für 5000 Millisekunden / 5 Sekunden nach oben fahren. Sollte es sich um eine Jalousie halten, werden die Lamellen entsprechend gedreht.
|
|
347
|
-
Als Einheit für die Zeit können folgende Werte verwendet werden:
|
|
348
|
-
<table>
|
|
349
|
-
<thead>
|
|
350
|
-
<tr>
|
|
351
|
-
<th>Einheit</th>
|
|
352
|
-
<th>Beschreibung</th>
|
|
353
|
-
</tr>
|
|
354
|
-
</thead>
|
|
355
|
-
<tbody>
|
|
356
|
-
<tr>
|
|
357
|
-
<td><code>ms</code> (default)</td>
|
|
358
|
-
<td>Millisekunden</td>
|
|
359
|
-
</tr>
|
|
360
|
-
<tr>
|
|
361
|
-
<td><code>s</code> oder <code>sec</code></td>
|
|
362
|
-
<td>Sekunden</td>
|
|
363
|
-
</tr>
|
|
364
|
-
<tr>
|
|
365
|
-
<td><code>m</code> oder <code>min</code></td>
|
|
366
|
-
<td>Mintun.</td>
|
|
367
|
-
</tr>
|
|
368
|
-
<tr>
|
|
369
|
-
<td><code>h</code></td>
|
|
370
|
-
<td>Stunden</td>
|
|
371
|
-
</tr>
|
|
372
|
-
</tbody>
|
|
373
|
-
</table>
|
|
374
|
-
</p>
|
|
375
|
-
<p>
|
|
376
|
-
Um mögliche Positionsabweichungen zu korrigieren läuft der Rollladen immer für mindestens 5 Sekunden, wenn nichts anderes in <code>msg.on_time</code> eingestellt wurde.
|
|
377
|
-
Dadurch kann der Rollladen auch noch weiter hochgefahren werden, falls er im System als offen erkannt wird, er aber in Wirklichkeit noch nicht ganz oben sein sollte.<br>
|
|
378
|
-
Manchmal kann es aber auch erwünscht sein, dass ein Rollladen bei 0 oder 100 % nicht nochmals startet. Dafür muss dann <code>msg.exact = true</code> gesetzt werden.
|
|
379
|
-
</p>
|
|
380
|
-
<p>
|
|
381
|
-
Die Angabe einer Zeit funktioniert nicht mit dem topic <b>position</b>.
|
|
382
|
-
</p>
|
|
383
279
|
</script>
|