UNPKG

node-red-contrib-roomba980-fw2

Version:

Node to control a Roomba980(v2 firmware) robot via dorita980 API

194 lines (157 loc) 6.29 kB
<script type="text/javascript"> RED.nodes.registerType("dorita980Config",{ category:'config', defaults: { ip: {value: '', required: true}, username: {value: '', required: true}, password: {value: '', required: true}, name: {value: ''} }, label: function(){ return this.name || 'Roomba980'; } }); </script> <script type="text/x-red" data-template-name="dorita980Config"> <div class="form-row"> <label for="node-config-input-ip"><i class="fa "></i> IP </label> <input type="text" id="node-config-input-ip" placeholder=""> </div> <div class="form-row"> <label for="node-config-input-username"><i class="fa "></i> Username </label> <input type="text" id="node-config-input-username" placeholder=""> </div> <div class="form-row"> <label for="node-config-input-password"><i class="fa "></i> Password </label> <input type="text" id="node-config-input-password" placeholder=""> </div> <div class="form-row"> <label for="node-config-input-name"><i class="fa "></i> Name</label> <input type="text" id="node-config-input-name" placeholder="Roomba980"> </div> </script> <script type="text/x-red" data-help-name="dorita980Config"> <p>Details of the Roomba 980 connection</p> </script> <script type="text/javascript"> RED.nodes.registerType('get',{ category: 'roomba980fw2', color: '#5094d8', defaults: { connection: {type: 'dorita980Config', required: true}, method:{value:"",required: true}, name: {value:""} }, inputs:1, outputs:1, icon: "roomba.png", label: function() { return this.name|| this.method ||"get"; } }); </script> <script type="text/x-red" data-template-name="get"> <div class="form-row"> <label for="node-input-connection"><i class="fa "></i> Connection</label> <input type="text" id="node-input-connection" placeholder=""> </div> <div class="form-row"> <label for="node-input-method"><i class="fa "></i> Method</label> <select type="text" id="node-input-method" style="width:180px"> <option value="getTime">getTime()</option> <option value="getBbrun">getBbrun()</option> <option value="getLangs">getLangs()</option> <option value="getSys">getSys()</option> <option value="getWirelessLastStatus">getWirelessLastStatus()</option> <option value="getWeek">getWeek()</option> <option value="getPreferences">getPreferences()</option> <option value="getMission">getMission()</option> <option value="getWirelessStatus">getWirelessStatus()</option> </select> </div> <div class="form-row"> <label for="node-input-name"><i class="icon-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> </script> <script type="text/x-red" data-help-name="get"> <p>A simple node that triggers one of the get() functions of dorita980</p> </script> <script type="text/javascript"> RED.nodes.registerType('set',{ category: 'roomba980fw2', color: '#5094d8', defaults: { connection: {type: 'dorita980Config', required: true}, method:{value:"",required: true}, name: {value:""} }, inputs:1, outputs:1, icon: "roomba.png", align: 'right', label: function() { return this.name|| this.method ||"set"; } }); </script> <script type="text/x-red" data-template-name="set"> <div class="form-row"> <label for="node-input-connection"><i class="fa "></i> Connection</label> <input type="text" id="node-input-connection" placeholder=""> </div> <div class="form-row"> <label for="node-input-method"><i class="fa "></i> Method</label> <select type="text" id="node-input-method" style="width:180px"> <option value="setCarpetBoostAuto">setCarpetBoostAuto()</option> <option value="setCarpetBoostPerformance">setCarpetBoostPerformance()</option> <option value="setCarpetBoostEco">setCarpetBoostEco()</option> <option value="setEdgeCleanOn">setEdgeCleanOn()</option> <option value="setEdgeCleanOff">setEdgeCleanOff()</option> <option value="setCleaningPassesAuto">setCleaningPassesAuto()</option> <option value="setCleaningPassesOne">setCleaningPassesOne()</option> <option value="setCleaningPassesTwo">setCleaningPassesTwo()</option> <option value="setAlwaysFinishOn">setAlwaysFinishOn()</option> <option value="setAlwaysFinishOff">setAlwaysFinishOff()</option> <option value="setWeek">setWeek()</option> </select> </div> <div class="form-row"> <label for="node-input-name"><i class="icon-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> </script> <script type="text/x-red" data-help-name="set"> <p>A simple node that triggers one of the set() functions of dorita980</p> </script> <script type="text/javascript"> RED.nodes.registerType('basic',{ category: 'roomba980fw2', color: '#5ac950', defaults: { connection: {type: 'dorita980Config', required: true}, name: {value:""} }, inputs:1, outputs:1, icon: "roomba.png", align: 'right', label: function() { return this.name|| "basic"; } }); </script> <script type="text/x-red" data-template-name="basic"> <div class="form-row"> <label for="node-input-connection"><i class="fa "></i> Connection</label> <input type="text" id="node-input-connection" placeholder=""> </div> <div class="form-row"> <label for="node-input-name"><i class="icon-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> </script> <script type="text/x-red" data-help-name="basic"> <p>A simple node that triggers one of the basic functions of dorita980.</p> <p>It accepts msg.payload as "start","pause","stop","resume" or "dock". </p> </script>