UNPKG

node-red-contrib-sensor-ds18b20

Version:

Node-RED node to get temperature in centigrades from DS18B20 sensors

60 lines (56 loc) 2.13 kB
<script type="text/javascript"> RED.nodes.registerType('sensor-ds18b20',{ category: 'Raspberry Pi', color: "#E9967A", defaults: { name: {value:""}, topic: {value:""}, sensorid: {value:"", required:true}, timer: {value:"1", required:true, validate:RED.validators.number()}, repeat: {value: false} }, inputs: 1, outputs: 1, icon: "thermometer.png", label: function() { return this.name || this.sensorid || "sensor-ds18b20"; }, labelStyle: function() { return this.name ? "node_label_italic" : ""; }, oneditprepare: function() { var configuredSensorId = this.sensorid; $.getJSON('/sensors/1wire/',function(data) { $.each(data, function( index, value ) { var isSelected = configuredSensorId === value; $("#node-input-sensorid").append( new Option(value, value, isSelected, isSelected)); }); }); } }); </script> <script type="text/x-red" data-template-name="sensor-ds18b20"> <div class="form-row"> <label for="node-input-sensorid"> <i class="fa fa-ellipsis-v"></i> Sensor ID </label> <select type="text" id="node-input-sensorid"> </select> </div> <div class="form-row"> <label for="node-input-name"><i class="icon-ok"></i>Periodic</label> <input type="checkbox" id="node-input-repeat"> </div> <div class="form-row"> <label for="node-input-timer"><i class="fa fa-repeat"></i> Period (secs)</label> <input type="text" id="node-input-timer" placeholder="1"> </div> <div class="form-row"> <label for="node-input-name"><i class="icon-tag"></i> Name/topic</label> <input type="text" id="node-input-name" placeholder="Name"> </div> </script> <script type="text/x-red" data-help-name="sensor-ds18b20"> <p>Reads temperature from DS18B20 digital sensor in Centigrades (°C)</p> </script>