mynodes / adapters / smart-socket / energy-adapter / z2m-smart-socket-energy.html
1 contributor
73 lines | 2.497kb
<script type="text/x-red" data-template-name="z2m-smart-socket-energy">
  <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="Name">
  </div>
  <div class="form-row">
    <label for="node-input-site"><i class="fa fa-globe"></i> Site</label>
    <input type="text" id="node-input-site" placeholder="vad">
  </div>
  <div class="form-row">
    <label for="node-input-entityType">Entity type</label>
    <select id="node-input-entityType">
      <option value="load">Load</option>
      <option value="source">Source</option>
      <option value="storage">Storage</option>
      <option value="grid">Grid</option>
      <option value="transfer">Transfer</option>
    </select>
  </div>
</script>

<script type="text/x-red" data-help-name="z2m-smart-socket-energy">
  <p>
    Projects <code>A1Z</code> and <code>S60ZBTPF</code> smart socket measurements onto the canonical Energy Bus.
  </p>
  <p>
    Canonical topic shape:
    <code>&lt;site&gt;/energy/&lt;entity_type&gt;/&lt;entity_id&gt;/&lt;metric&gt;/&lt;stream&gt;</code>
  </p>
  <p>
    Standardized metrics:
    <code>active_power</code>,
    <code>energy_total</code>,
    <code>voltage</code>,
    <code>current</code>,
    plus <code>energy_today</code>, <code>energy_yesterday</code>, and <code>energy_month</code> for <code>S60ZBTPF</code>.
  </p>
  <h3>Inputs</h3>
  <p>
    Raw Zigbee2MQTT telemetry:
    <code>zigbee2mqtt/A1Z/&lt;site&gt;/&lt;location&gt;/&lt;device_id&gt;</code> or
    <code>zigbee2mqtt/S60ZBTPF/&lt;site&gt;/&lt;location&gt;/&lt;device_id&gt;</code>,
    plus optional sibling <code>/availability</code>.
  </p>
  <h3>Outputs</h3>
  <ol>
    <li>MQTT-ready Energy Bus and <code>sys</code> publish messages.</li>
    <li>Dynamic <code>mqtt in</code> control messages that subscribe to both supported raw Zigbee2MQTT model trees.</li>
  </ol>
</script>

<script>
  RED.nodes.registerType("z2m-smart-socket-energy", {
    category: "myNodes",
    color: "#fce3cf",
    defaults: {
      name: { value: "" },
      site: { value: "unknown" },
      entityType: { value: "load" },
      mqttSite: { value: "" },
      mqttBus: { value: "" },
      mqttRoom: { value: "" },
      mqttSensor: { value: "" }
    },
    inputs: 1,
    outputs: 2,
    icon: "font-awesome/fa-bolt",
    label: function() {
      return this.name || "z2m-smart-socket-energy";
    },
    paletteLabel: "smart socket energy"
  });
</script>