node-red-contrib-rainbird
Version:
Node-RED nodes for controlling RainBird sprinkler controller (like: ESP-ME3) via local LNK2 wifi module connection. This wraps the RainBird SIP protocol using AES encryption. It uses a slightly modified version of node-rainbird originally developed by @bb
53 lines (48 loc) • 2.14 kB
HTML
<script type="text/javascript">
RED.nodes.registerType('rainbird-startZone', {
category: 'rainbird',
color: '#64d10a',
defaults: {
server: { value: "", type: "rainbird-server" },
duration: { value: 10 },
name: { value: "" }
},
inputs: 1,
outputs: 1,
icon: "font-awesome/fa-play",
label: function () {
return this.name || "rainbird-startZone";
}
});
</script>
<script type="text/html" data-template-name="rainbird-startZone">
<div class="form-row">
<label for="node-input-server"><i class="fa fa-tag"></i> Server</label>
<input type="text" id="node-input-server" placeholder="Server">
</div>
<div class="form-row">
<label for="node-input-duration"><i class="fa fa-clock-o"></i> Default Duration (minutes)</label>
<input type="number" id="node-input-duration" min="1" max="60" placeholder="10">
</div>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Optional name">
</div>
</script>
<script type="text/html" data-help-name="rainbird-startZone">
<p>This node activates a RainBird irrigation zone via the LNK2 local controller.</p>
<h3>Input</h3>
<ul>
<li><code>payload.Active</code>: <code>1</code> triggers watering. <code>0</code> is ignored.</li>
<li><code>payload.SetDuration</code>: optional, sets default duration for a zone (in seconds).</li>
<li><code>msg.topic</code>: required, contains zone number as string or integer.</li>
<li><code>msg.time</code>: optional, overrides all durations (in minutes).</li>
</ul>
<h3>Behavior</h3>
<ul>
<li>Duration is resolved in order: <code>msg.time</code> → zone default → configured default.</li>
<li>Zone number must be between 1 and 22.</li>
<li>Duration must be between 1 and 60 minutes.</li>
<li>No action is taken for <code>Active = 0</code> or missing <code>Active</code>.</li>
</ul>
</script>