mirror of
https://github.com/node-red/node-red-nodes.git
synced 2023-10-10 13:36:58 +02:00
156 lines
5.4 KiB
HTML
156 lines
5.4 KiB
HTML
|
|
<script type="text/x-red" data-template-name="emoncms">
|
|
<div class="form-row">
|
|
<label for="node-input-emonServer"><i class="fa fa-globe"></i> Emoncms server</label>
|
|
<input type="text" id="node-input-emonServer">
|
|
</div>
|
|
<div class="form-row">
|
|
<label for="node-input-nodegroup"><i class="fa fa-object-group"></i> Node</label>
|
|
<input type="text" id="node-input-nodegroup" placeholder="or set by msg.nodegroup">
|
|
</div>
|
|
<div class="form-row">
|
|
<label for="node-input-datatype"><i class="fa fa-tag"></i> Data Type</label>
|
|
<select id="node-input-datatype" style="width:180px;">
|
|
<option value="legacy">Legacy Processing</option>
|
|
<option value="fulljson">Valid JSON object</option>
|
|
<option value="json">Simple JSON</option>
|
|
<option value="CSV">CSV</option>
|
|
</select>
|
|
</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="Emoncms">
|
|
</div>
|
|
|
|
</script>
|
|
|
|
<script type="text/x-red" data-help-name="emoncms">
|
|
<p>Posts data to Emoncms.</p>
|
|
<p>The <code>msg.payload</code> can contain either a comma separated list of name
|
|
value pairs (legacy) e.g. <pre>name:value,...</pre> or a comma separated list of values (CSV) e.g. <pre>1,2,...</pre>
|
|
an Emoncms simple data object e.g. <pre>{temp:12}</pre>
|
|
or a valid JSON object e.g. <pre>{"Total":3.273,"Yesterday":1.695}</pre>
|
|
<p>The node must be specified either by the <i>Node</i> element or if left blank by <code>msg.nodegroup</code></p>
|
|
<p>Data Type must be one of <pre>legacy, json, fulljson, CSV</pre></p>
|
|
<p>Insertion time can be set by using <code>msg.time</code>.
|
|
This can either be a valid ISO 8601 format or seconds since 1970. Not setting a time or setting an incorrect
|
|
time format will result in data being pushed to Emoncms without the time element.</p>
|
|
<p>The output node contains the server response</p>
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
RED.nodes.registerType('emoncms',{
|
|
category: 'output',
|
|
color:"rgb(91, 192, 222)",
|
|
defaults: {
|
|
name: {value:"Emoncms Push"},
|
|
emonServer: {type:"emoncms-server", required:true},
|
|
nodegroup: {value:"", validate:function(v) {return ((v === "")||(/^[\d\w\s.-]*$/).test(v));} },
|
|
datatype: {value:"legacy"}
|
|
},
|
|
inputs:1,
|
|
outputs:0,
|
|
icon: "emoncms.png",
|
|
align: "right",
|
|
label: function() {
|
|
return this.name||this.baseurl;
|
|
},
|
|
labelStyle: function() {
|
|
return this.name?"node_label_italic":"";
|
|
},
|
|
oneditprepare: function() {
|
|
if (this.datatype === undefined) {
|
|
$("#node-input-datatype").val("legacy");
|
|
}
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<script type="text/x-red" data-template-name="emoncms in">
|
|
<div class="form-row">
|
|
<label for="node-input-emonServer"><i class="fa fa-globe"></i> Emoncms server</label>
|
|
<input type="text" id="node-input-emonServer">
|
|
</div>
|
|
<div class="form-row">
|
|
<label for="node-input-feedid"><i class="fa fa-tag"></i> Feed ID</label>
|
|
<input type="text" id="node-input-feedid" placeholder="">
|
|
</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="Emoncms">
|
|
</div>
|
|
</script>
|
|
|
|
<script type="text/x-red" data-help-name="emoncms in">
|
|
<p>Fetches data from emoncms.</p>
|
|
<p>The <code>msg.topic</code> contains the name of the Feed</p>
|
|
<p>The <code>msg.payload</code> contains last emoncms feed value</p>
|
|
<p>The <code>msg.feed_data</code> contains all the feed data</p>
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
RED.nodes.registerType('emoncms in',{
|
|
category: 'input',
|
|
color:"rgb(91, 192, 222)",
|
|
defaults: {
|
|
name: {value:"Emoncms"},
|
|
emonServer: {type:"emoncms-server", required:true},
|
|
feedid: {value:""}
|
|
},
|
|
inputs:1,
|
|
outputs:1,
|
|
icon: "emoncms.png",
|
|
align: "right",
|
|
label: function() {
|
|
return this.name||this.baseurl;
|
|
},
|
|
labelStyle: function() {
|
|
return this.name?"node_label_italic":"";
|
|
}
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/x-red" data-template-name="emoncms-server">
|
|
<div class="form-row">
|
|
<label for="node-config-input-server"><i class="fa fa-globe"></i> Base URL</label>
|
|
<input type="text" id="node-config-input-server">
|
|
</div>
|
|
<div class="form-row">
|
|
<label for="node-config-input-apikey"><i class="fa fa-tasks"></i> API key</label>
|
|
<input type="text" id="node-config-input-apikey">
|
|
</div>
|
|
<div class="form-row">
|
|
<label for="node-config-input-name"><i class="fa fa-tag"></i> Name</label>
|
|
<input type="text" id="node-config-input-name">
|
|
</div>
|
|
<div class="form-tips">The <b>Base URL</b> is the URL to the Emoncms root directory.</div>
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
RED.nodes.registerType('emoncms-server',{
|
|
category: 'config',
|
|
defaults: {
|
|
server: {value:"http://localhost",required:true},
|
|
name: {value:""}
|
|
},
|
|
credentials: {
|
|
apikey: {type:"text"}
|
|
},
|
|
label: function() {
|
|
return this.name||this.server;
|
|
}
|
|
});
|
|
</script>
|