smart-nodes
Version:
184 lines (183 loc) • 10.4 kB
HTML
<script type="text/html" data-help-name="smart_dimmer-control">
<p>
Diese Node steuert einen dimmbaren Ausgang.
Als Ausgang wird immer <code>msg.payload = value</code> gesendet, wobei value eine Kommazahl zwischen 0 und 100 ist.
</p>
<p>
<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/>
Diese Node verwendet nur den Teil <code>name</code>. <code>#</code> und <code>nummer</code> sind dabei optional.
</p>
<p>
Folgende topics werden akzeptiert:
<table>
<thead>
<tr>
<th>Topic</th>
<th>Beschreibung</th>
<th>msg.payload === false wird ignoriert</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>status</code></td>
<td>
Gibt über <code>msg.payload = value</code> den aktuellen Status des Ausgangs an, wobei value eine Zahl zwischen 0 und 100 sein muss.<br/>
Bei einem Wechsel von 0% zu größer 0% wird die Zeitmessung für die hinterlegte, bzw. mitgesendete Zeit gestartet, sofern vorhanden.
</td>
<td>Nein</td>
</tr>
<tr>
<td><code>on</code></td>
<td>Schaltet den Ausgang auf 100% ein und startet die Zeitmessung für die hinterlegte, bzw. mitgesendete Zeit gestartet, sofern vorhanden.</td>
<td>Ja</td>
</tr>
<tr>
<td><code>off</code></td>
<td>Schaltet den Ausgang auf 0%.</td>
<td>Ja</td>
</tr>
<tr>
<td><code>set</code></td>
<td>
Setzt den Ausgang auf den gesendet Wert <code>msg.payload = value</code>.<br/>
Bei einem Wechsel von 0% zu größer 0% wird die Zeitmessung für die hinterlegte, bzw. mitgesendete Zeit gestartet, sofern vorhanden.
</td>
<td>Nein</td>
</tr>
<tr>
<td><code>set_permanent</code></td>
<td>
Setzt den Ausgang auf den gesendet Wert <code>msg.payload = value</code> ohne eine Zeitmessung zu starten.<br/>
</td>
<td>Nein</td>
</tr>
<tr>
<td><code>motion</code></td>
<td>
Setzt den Ausgang bei <code>msg.payload = true</code> auf den zuletzt verwendeten Wert, welcher größer 0% war, ohne eine Zeitmessung zu starten.<br/>
Bei <code>msg.payload = false</code> wird die Zeitmessung für die hinterlegte, bzw. mitgesendete Zeit gestartet, sofern vorhanden.<br/>
Ist keine Zeit angegeben oder hinterlegt, wird der Ausgang auf 0% gesetzt.
</td>
<td>Nein</td>
</tr>
<tr>
<td><code>alarm</code></td>
<td>
Setzt den aktuellen Alarmzustand auf den Wert von <code>msg.payload</code> und löst die entsprechende Aktion aus.<br/>
<table>
<thead>
<tr>
<th>Einstellung</th>
<th>Beschreibung</th>
</tr>
</thead>
<tbody>
<tr>
<td>Keine Aktion</td>
<td>Es passiert nichts</td>
</tr>
<tr>
<td>Einschalten</td>
<td>Der Ausgang wird auf 100% gesetzt.</td>
</tr>
<tr>
<td>Ausschalten</td>
<td>Der Ausgang wird auf 0% gesetzt.</td>
</tr>
<tr>
<td>Prozent</td>
<td>Der Ausgang wird auf die eingestellten Prozent gesetzt.</td>
</tr>
<tr>
<td>Letzen Zustand</td>
<td>Der Zustand bevor der Alarm gesetzt wurde, wird wiederhergestellt.</td>
</tr>
<tr>
<td>Zuletzt gesendeten Zustand</td>
<td>Der Zustand der zuletzt empfangen wurde, auch während der Alarm aktiv war, wird wiederhergestellt.</td>
</tr>
</tbody>
</table>
</td>
<td>Nein</td>
</tr>
<tr>
<td><code>dim</code></td>
<td>
Die Nachricht <code>msg.payload = true</code> startet den Dimmvorgang. Dieser erfolgt abwechselnd nach oben und dann nach unten.<br/>
<code>msg.payload = false</code> beendet den Dimmvorgang wieder.<br/>
Mit <code>msg.direction = true</code> oder <code>msg.direction = "up"</code> kann die Dimmrichtung fest nach oben gesetzt werden.<br/>
Mit <code>msg.direction = false</code> oder <code>msg.direction = "down"</code> kann die Dimmrichtung fest nach unten gesetzt werden.<br/>
Bei einem Wechsel der Prozentzahl größer 0% wird die Zeitmessung für die hinterlegte, bzw. mitgesendete Zeit gestartet, sofern vorhanden.
</td>
<td>Nein</td>
</tr>
<tr>
<td><code>toggle_dim</code></td>
<td>
Setzt den Ausgang bei einem kurzen Tastendruck abwechselnd auf den letzten Wert, welcher größer 0% war und 0%.<br/>
Bei einem langen Tastendruck wird der Dimvorgang gestartet. Dieser erfolgt abwechselnd nach oben und dann nach unten.<br/>
Die Zeitmessung des Tastendrucks erfolgt nach <code>msg.payload = true</code>. Sobald die Langdruck-Zeit überschritten wurde, startet der Dimmvorgang.<br/>
Sollte diese Zeit bei erreichen von <code>msg.payload = false</code> noch nicht erreicht worden sein, handelte es sich um einen kurzen Tastendruck.<br/>
Mit <code>msg.direction = true</code> oder <code>msg.direction = "up"</code> kann die Dimmrichtung fest nach oben gesetzt werden.<br/>
Mit <code>msg.direction = false</code> oder <code>msg.direction = "down"</code> kann die Dimmrichtung fest nach unten gesetzt werden.<br/>
Bei einem Wechsel der Prozentzahl größer 0% wird die Zeitmessung für die hinterlegte, bzw. mitgesendete Zeit gestartet, sofern vorhanden.
</td>
<td>Nein</td>
</tr>
<tr>
<td><code>toggle</code> (default)</td>
<td>
Setzt den Ausgang abwechselnd auf den letzten Wert, welcher größer 0% war und 0%.<br/>
Bei einem Wechsel von 0% auf größer 0% wird die Zeitmessung für die hinterlegte, bzw. mitgesendete Zeit gestartet, sofern vorhanden.
</td>
<td>Ja</td>
</tr>
<tr>
<td><code>blink</code></td>
<td>
Schaltet den Ausgang kurz auf 0% ohne die laufende Zeitmessung zu unterbrechen. Dies kann verwendet werden um eine optische Rückmeldung für eine bestimmte Aktion zu ermöglichen.<br/>
Die Standardzeit beträgt 0,5 Sekunden, kann aber mittels <code>msg.time_on</code> überschrieben werden.
</td>
<td>Ja</td>
</tr>
</tbody>
</table>
</p>
<p>
Diese Node hat eine einstellbare Maximallaufzeit, bevor der Ausgang automatisch wieder auf 0% gesetzt wird.
Diese Zeitmessung wird wie in der Tabelle oben verwendet.
Die eingestellte Zeit kann gezielt überschrieben werden.
Beispiel: <code>msg = { "topic": "on", "time_on": 5000 }</code> oder <code>msg = { "topic": "on", "time_on": "5s" }</code><br/>
Diese Nachricht setzt den Ausgang für 5000 Millisekunden / 5 Sekunden auf 100% an und anschließend wieder auf 0%.
Die nächste Nachricht ohne <code>time_on</code> Angabe verwendet wieder die voreingestellte Zeit.
Ist die Zeit auf 0 eingestellt, wird das Licht <b>nicht</b> automatisch ausgeschalten.<br/>
Als Einheit für die Zeit können folgende Werte verwendet werden:
<table>
<thead>
<tr>
<th>Einheit</th>
<th>Beschreibung</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>ms</code> (default)</td>
<td>Millisekunden</td>
</tr>
<tr>
<td><code>s</code> oder <code>sec</code></td>
<td>Sekunden</td>
</tr>
<tr>
<td><code>m</code> oder <code>min</code></td>
<td>Mintun.</td>
</tr>
<tr>
<td><code>h</code></td>
<td>Stunden</td>
</tr>
</tbody>
</table>
</p>
</script>