first contrib
This commit is contained in:
@@ -1,17 +1,139 @@
|
||||
<script type="text/javascript">
|
||||
RED.nodes.registerType('xilica-ping',{
|
||||
RED.nodes.registerType('xilica-ping', {
|
||||
category: 'Xilica',
|
||||
color: '#D8E7FF',
|
||||
defaults: { name: {value:""} },
|
||||
defaults: {
|
||||
name: { value: "" }
|
||||
},
|
||||
inputs: 1,
|
||||
outputs: 1,
|
||||
icon: "font-awesome/fa-plug",
|
||||
label: function() { return this.name || "xilica ping"; }
|
||||
label: function () { return this.name || "xilica ping"; }
|
||||
});
|
||||
|
||||
RED.nodes.registerType('xilica-connection', {
|
||||
category: 'config',
|
||||
defaults: {
|
||||
name: { value: "" },
|
||||
host: { value: "", required: true },
|
||||
port: { value: 10007, required: true },
|
||||
timeout: { value: 5000 }
|
||||
},
|
||||
credentials: {
|
||||
password: { type: "password" }
|
||||
},
|
||||
label: function () {
|
||||
if (this.name) {
|
||||
return this.name;
|
||||
}
|
||||
if (this.host && this.port) {
|
||||
return this.host + ":" + this.port;
|
||||
}
|
||||
return "Xilica connection";
|
||||
}
|
||||
});
|
||||
|
||||
RED.nodes.registerType('xilica-command', {
|
||||
category: 'Xilica',
|
||||
color: '#D8E7FF',
|
||||
defaults: {
|
||||
name: { value: "" },
|
||||
connection: { value: "", type: "xilica-connection", required: true },
|
||||
command: { value: "" },
|
||||
control: { value: "" },
|
||||
data: { value: "" },
|
||||
parseResponse: { value: true }
|
||||
},
|
||||
inputs: 1,
|
||||
outputs: 1,
|
||||
icon: "font-awesome/fa-plug",
|
||||
label: function () {
|
||||
if (this.name) {
|
||||
return this.name;
|
||||
}
|
||||
if (this.command) {
|
||||
return "xilica " + this.command.toLowerCase();
|
||||
}
|
||||
return "xilica command";
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="form-row">
|
||||
<label for="node-input-name">Name</label>
|
||||
<input type="text" id="node-input-name">
|
||||
</div>
|
||||
<script type="text/x-red" data-template-name="xilica-ping">
|
||||
<div class="form-row">
|
||||
<label for="node-input-name">Name</label>
|
||||
<input type="text" id="node-input-name">
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/x-red" data-help-name="xilica-ping">
|
||||
<p>Simple test node that returns a fixed payload to confirm the Xilica nodes module is installed.</p>
|
||||
</script>
|
||||
|
||||
<script type="text/x-red" data-template-name="xilica-connection">
|
||||
<div class="form-row">
|
||||
<label for="node-config-input-name">Name</label>
|
||||
<input type="text" id="node-config-input-name">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-config-input-host">Host</label>
|
||||
<input type="text" id="node-config-input-host" placeholder="192.168.x.x">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-config-input-port">TCP Port</label>
|
||||
<input type="number" id="node-config-input-port" min="1" max="65535">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-config-input-timeout">Timeout (ms)</label>
|
||||
<input type="number" id="node-config-input-timeout" min="100" max="60000">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-config-input-password">Password</label>
|
||||
<input type="password" id="node-config-input-password">
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/x-red" data-help-name="xilica-connection">
|
||||
<p>Configuration for connecting to a Xilica Solaro processor using the Third-Party Control API.</p>
|
||||
<p>Specify the device IP address and TCP port (default 10007). Optionally set a password if the device is locked.</p>
|
||||
</script>
|
||||
|
||||
<script type="text/x-red" data-template-name="xilica-command">
|
||||
<div class="form-row">
|
||||
<label for="node-input-name">Name</label>
|
||||
<input type="text" id="node-input-name">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-connection">Connection</label>
|
||||
<input type="text" id="node-input-connection">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-command">Command</label>
|
||||
<input type="text" id="node-input-command" placeholder="SET, GET, GETRAW, INC, ...">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-control">Control Object/Group</label>
|
||||
<input type="text" id="node-input-control" placeholder="gain1, $group1, ...">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-data">Data</label>
|
||||
<input type="text" id="node-input-data" placeholder="-3.2, "Butterworth", TRUE, ...">
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-parseResponse">Parse response</label>
|
||||
<input type="checkbox" id="node-input-parseResponse" style="width:auto;">
|
||||
<span>Return structured payload instead of raw text</span>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/x-red" data-help-name="xilica-command">
|
||||
<p>Send a single command to a Xilica Solaro processor using the Third-Party Control API over TCP.</p>
|
||||
<p>You can either:</p>
|
||||
<ul>
|
||||
<li>Configure the command, control object and data fields in the node, or</li>
|
||||
<li>Provide a complete command string in <code>msg.payload</code>, or</li>
|
||||
<li>Provide <code>msg.command</code>, <code>msg.control</code> and <code>msg.data</code>.</li>
|
||||
</ul>
|
||||
<p>The node automatically appends the required carriage return and waits for the response. When parsing is enabled, it returns an object (or array of objects) describing values, notifications, OK and error responses. When disabled, it returns the raw response lines as a single string.</p>
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user