UNPKG

node-red-contrib-kodi

Version:

Node-RED nodes for communicating with a Kodi (former XBMC).

135 lines (125 loc) 4.43 kB
<script type="text/x-red" data-template-name="kodi-controller"> <div class="form-row"> <label for="node-config-input-name"><i class="icon-tag"></i> Name</label> <input type="text" id="node-config-input-name" placeholder="Name"> </div> <div class="form-row"> <label for="node-config-input-host"><i class="icon-bookmark"></i> kodi Host</label> <input type="text" id="node-config-input-host"> </div> <div class="form-row"> <label for="node-config-input-port"><i class="icon-bookmark"></i> kodi Port</label> <input type="text" id="node-config-input-port"> </div> </script> <script type="text/x-red" data-template-name="kodi-out"> <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> <div class="form-row"> <label for="node-input-controller"><i class="icon-bookmark"></i> Kodi host</label> <input type="text" id="node-input-controller"> </div> <div class="form-row"> <label for="node-input-kodicommand"><i class="icon-bookmark"></i> Command</label> <input type="text" id="node-input-kodicommand"> </div> </script> <script type="text/x-red" data-template-name="kodi-in"> <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> <div class="form-row"> <label for="node-input-controller"><i class="icon-bookmark"></i> Controller</label> <input type="text" id="node-input-controller"> </div> </script> <script type="text/x-red" data-help-name="kodi-out"> <p> Use this to <b>send</b> JSON RPC commands to a Kodi player.<br/> <b>msg.payload</b> must be a JavaScript object or a string </p> <p> For example, simple string (command does not has arguments): <code>Input.Home</code><br/> Or Javascript object (command + parameters): <pre>{ "cmd": "Player.Stop", "args" :{ "playerid": 0 } }</pre> </p> <p>Look at official Kodi's JSON-RPC API: <a href="http://kodi.wiki/view/JSON-RPC_API/v6" target="_blank">http://kodi.wiki/view/JSON-RPC_API/v6</a></p> </script> <script type="text/x-red" data-help-name="kodi-in"> <p> Use this to <b>inject</b> flows from Kodi player<br/> Kodi notification being injected as a Javascript object, for example: <pre>{ "data": { "data": { "item": { "title": "Lounge FM Terrace ()", "type": "song" }, "playlistid": 0, "position": 0 }, "sender": "xbmc" }, "notification": "Playlist.OnAdd" }</pre> </p> <p>Read more about official Kodi's JSON-RPC api here: http://kodi.wiki/view/JSON-RPC_API/v6</p> </script> <script type="text/javascript"> RED.nodes.registerType('kodi-controller', { category: 'config', defaults: { name: {value: ""}, host: {value: "127.0.0.1", required: true}, port: {value: 9090, required: false, validate: RED.validators.number()} }, label: function () { return (this.name || 'kodi' ) + "@" + this.host + ":" + this.port; } }); </script> <script type="text/javascript"> RED.nodes.registerType('kodi-out', { category: 'output', color: '#26b050', defaults: { name: {value: ""}, controller: {value: "", type: "kodi-controller"}, unit_number: {value: "1", required: false}, output: {value: "1", required: false}, kodicommand: {value: ""} }, inputs: 1, outputs: 0, align: 'right', icon: "bridge-dash.png", label: function () { return (this.groupaddr || this.name || "kodi"); } }); </script> <script type="text/javascript"> RED.nodes.registerType('kodi-in', { category: 'input', color: '#26b050', defaults: { name: {value: ""}, controller: {value: "", type: "kodi-controller"} }, inputs: 0, outputs: 1, icon: "bridge-dash.png", label: function () { return (this.groupaddr || this.name || "kodi"); } }); </script>