Newer Older
66 lines | 2.294kb
Bogdan Timofte authored 2 weeks ago
1
<script type="text/x-red" data-template-name="z2m-snzb-04p-homebus">
2
  <div class="form-row">
3
    <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
4
    <input type="text" id="node-input-name" placeholder="Name">
5
  </div>
6
  <div class="form-row">
7
    <label for="node-input-site"><i class="fa fa-globe"></i> Site</label>
8
    <input type="text" id="node-input-site" placeholder="unknown">
9
  </div>
10
  <div class="form-row">
11
    <label for="node-input-batteryLowThreshold">Battery low threshold (%)</label>
12
    <input type="number" id="node-input-batteryLowThreshold" min="0" max="100" placeholder="20">
13
  </div>
14
</script>
15

            
16
<script type="text/x-red" data-help-name="z2m-snzb-04p-homebus">
17
  <p>
18
    Translates Zigbee2MQTT messages for SONOFF <code>SNZB-04P</code> contact sensors into canonical HomeBus topics.
19
  </p>
20
  <p>
21
    Canonical topic shape:
22
    <code>&lt;site&gt;/home/&lt;location&gt;/&lt;capability&gt;/&lt;device_id&gt;/&lt;stream&gt;</code>
23
  </p>
24
  <p>
25
    Example outputs:
26
    <code>vad/home/entry/contact/front-door/value</code>,
27
    <code>vad/home/entry/battery/front-door/last</code>,
28
    <code>vad/home/entry/contact/front-door/meta</code>
29
  </p>
30
  <p>
31
    Expected Zigbee2MQTT telemetry topic:
32
    <code>zigbee2mqtt/SNZB-04P/&lt;site&gt;/&lt;location&gt;/&lt;device_id&gt;</code>.
33
  </p>
34
  <p>
35
    Used fields:
36
    <code>contact</code>, <code>battery</code>, <code>battery_low</code>, <code>voltage</code>,
37
    <code>tamper</code>, <code>availability</code>, <code>online</code>.
38
  </p>
39
  <ol>
40
    <li>MQTT-ready publish messages, emitted as an array.</li>
41
    <li><code>mqtt in</code> control messages for the raw Zigbee2MQTT subscription.</li>
42
  </ol>
43
</script>
44

            
45
<script>
46
  RED.nodes.registerType("z2m-snzb-04p-homebus", {
47
    category: "myNodes",
48
    color: "#d9ecfb",
49
    defaults: {
50
      name: { value: "" },
51
      site: { value: "unknown" },
52
      batteryLowThreshold: { value: 20, validate: RED.validators.number() },
53
      mqttSite: { value: "" },
54
      mqttBus: { value: "" },
55
      mqttRoom: { value: "" },
56
      mqttSensor: { value: "" }
57
    },
58
    inputs: 1,
59
    outputs: 2,
60
    icon: "font-awesome/fa-sitemap",
61
    label: function() {
62
      return this.name || "z2m-snzb-04p-homebus";
63
    },
64
    paletteLabel: "snzb-04p homebus"
65
  });
66
</script>