Javascript transform tester
Testing javascript transforms
HTML
Input: <input id="input" oninput="javascript:update(this.value)"/>
<br />
Output:
<pre>
<div id="output" />
</pre>
Formatted output:
<pre>
<div id="formattedOutput" />
</pre>
JavaScript
function update(input) {
//input = document.getElementById('input').value;
document.getElementById('output').innerHTML = (
//
// openHAB transform begins
//
// Wrap everything in a function
// variable "input" contains data passed by openhab
(function(cmd) {
var cmdToValue = {"UP": 1, "DOWN": -1, "MOVE": 1, "STOP": 0};
var cmdToAddress = {"UP": 1, "DOWN": 1, "MOVE": 2, "STOP": 2};
var value = cmdToValue[cmd];
var address = cmdToAddress[cmd];
if(value === undefined || address === undefined) {
// unknown command, do not write anything
return "[]";
} else {
return (
"["
+ "{\"functionCode\": 6, \"index\":" + address.toString() + ", \"value\": [" + value + "] }"
+ "]"
);
}
})(input)
//
// openHAB transform ends
//
);
document.getElementById('formattedOutput').innerHTML = JSON.stringify(JSON.parse(document.getElementById('output').innerHTML), null, 4);
console.log(input + " -> " + document.getElementById('output').innerHTML);
};