UNPKG

iobroker.wm-bus

Version:
286 lines (253 loc) 9.94 kB
<html> <link rel="stylesheet" type="text/css" href="../../lib/css/themes/jquery-ui/redmond/jquery-ui.min.css"/> <link rel="stylesheet" type="text/css" href="../../lib/css/jqGrid/ui.jqgrid-4.5.4.css"/> <script type="text/javascript" src="../../lib/js/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="../../socket.io/socket.io.js"></script> <script type="text/javascript" src="../../lib/js/jquery-ui-1.10.3.full.min.js"></script> <script type="text/javascript" src="../../lib/js/jqGrid/jquery.jqGrid-4.5.4.min.js"></script> <script type="text/javascript" src="../../lib/js/jqGrid/grid.locale-all.js"></script> <link rel="stylesheet" type="text/css" href="../../css/adapter.css"/> <script type="text/javascript" src="../../js/translate.js"></script> <script type="text/javascript" src="../../js/adapter-settings.js"></script> <script type="text/javascript"> systemDictionary = { "WM-Bus adapter settings": { "de": "WM-Bus Einstellungen", "ru": "Пример" }, "Settings": { "de": "Einstellungen", "ru": "Settings" }, "Manufacturer ID": { "de": "Manufacturer ID", "en": "Manufacturer ID" }, "AES Key": { "de": "AES Key", "en": "AES Key" }, "Select a COM port": { "de": "COM Port auswählen", "en": "Select a COM Port" }, "Cannot find any device": { "de": "Kein neues Gerät gefunden", "en": "Cannot find new devices" }, "Please wait, looking for devices...": { "de": "Bitte warten...", "en": "Please wait..." }, "Enable adapter first": { "de": "Adapter #namespace ist nicht gestartet, bitte starten bzw. aktivieren!", "en": "Enable adapter #namespace first" }, "looking for device": { "de": "Suche Geräte", "en": "Looking for devices" }, "on save adapter restarts with new config immediately": { "de": "Beim Speichern der Einstellungen wird der Adapter automatisch neu gestartet.", "ru": "Сразу после сохранения настроек драйвер перезапуститься с новыми значениями" }, "comPort": { "de": "COM Port", "ru": "Settings" }, "manufacturerId": { "de": "Manufacturer ID", "en": "Manufacturer ID" }, "aesKey": { "de": "AES Key", "en": "AES Key" }, "version": { "de": "Version", "en": "Version" }, "type": { "de": "Typ", "en": "Type" }, "devices": { "de": "Geräte-liste", "en": "Dives list" }, "AddDevice": { "de": "Zum Hinzufügen +-Button betätigen", "en": "Add #-Button to add device" } }; var devices = []; var active = false; var namespace ='n/a'; function load(settings, onChange) { if (!settings) return; namespace = adapter + '.' + instance; $("#dialog-search").dialog({ autoOpen: false, modal: true, width: 500, height: 300 }); socket.emit('getState', 'system.adapter.' + namespace + '.alive', function (err, state) { active = common.enabled || (state && state.val); //active = true; }); g_onChange = onChange; changed = true; for (var key in settings) { if ($('#' + key + '.value').attr('type') == 'checkbox') { $('#' + key + '.value').prop('checked', settings[key]).change(function() { if ($('#auth').prop('checked')) { $('#secure').prop('checked', true); } onChange(); showHideSettings(); }); } else { $('#' + key + '.value').val(settings[key]).change(function() { onChange(); }).keyup(function() { onChange(); }); } } if (!settings.language) { settings.language = systemLang || 'en'; $('#language').val(settings.language).trigger('change'); } devices = settings.devices; // || [ {comPort: 'COM3', manufacturerId: "man", aesKey: "aes"}]; editTable({ tabId: 'devices', cols: [{name: 'manufacturerId', width: '50'}, {name: 'version', width: 30}, {name: 'type', width: 30}, {name: 'aesKey', width: '120'}], values: devices, top: 400, title: 'Devices' }); changed = true; onChange(false); } function save(callback) { var obj = {}; changed = true; $('.value').each(function () { var $this = $(this); if ($this.attr('type') == 'checkbox') { obj[$this.attr('id')] = $this.prop('checked'); } else { obj[$this.attr('id')] = $this.val(); } }); obj.devices = getTableResult('devices', ['manufacturerId', 'version', 'type', 'aesKey']); changed = true; callback(obj); } $(document).ready(function () { $('#find').button().click(function () { if (!active) { var msg = translateWord('Enable adapter first').replace('#namespace', namespace) //$("#dialog-search").dialog('option', 'title', msg); //$("#dialog-search").html(msg); //$("#dialog-search").dialog("open"); showMessage(_(msg), 'Warning', 'info'); return; } $("#dialog-search").html(translateWord('Please wait, looking for devices...')); $("#dialog-search").dialog('option', 'title', translateWord("looking for device")); $("#dialog-search").dialog("open"); sendTo(namespace, 'discovery', 5000, function (result) { try { var arr = JSON.parse(result); if (!arr.length) { var popup = '<table class="msgTable"><tr><td>' + translateWord('Cannot find any device') + '</span></td></tr></table>'; } else { $("#dialog-search").dialog('option', 'title', translateWord("Select a COM port")); var popup = '<table class="hoverTable"><tr><th>Port</th><th>Manufacturer</th></tr>'; arr.forEach(function (element, index, array) { popup = popup + '<tr href="#" onclick=' + '"$(\'#comPort.value\').val(\''+element.comName+'\').trigger(\'change\');' + '$(\'#dialog-search\').dialog(\'close\');' + '"><td>' + element.comName + '</td><td>' + element.manufacturer + '</td></tr>'; }); popup += '</table>'; } $("#dialog-search").html(popup); } catch (e) { alert("error finding a device"); } }); }); }); </script> <style> td { font-size: 14px; padding-left:1px; padding-right: 4px; padding-top: 3px; padding-bottom: 3px; } input { font-size: 14px; } h1 { font-size: 11px; color: #505050; font-weight: bold; width: 100%; padding-left:6px; padding-right: 5px; padding-top: 5px; padding-bottom: 5px; background-color: #e0e0e0; /*background-image: linear-gradient(to right, #e0e0e0, rgba(224,224,224,0.0));*/ /*background-image: linear-gradient(to right, #e0e0e0, #e8e8e8 50%, #e0e0e0);*/ } .msgTable{ width:100%; border-collapse:collapse; } .msgTable td{ padding:7px; border:#4e95f4 1px solid; } .msgTable tr{ background: #b8d1f3; } .hoverTable{ width:100%; border-collapse:collapse; } .hoverTable td{ padding:7px; border:#4e95f4 1px solid; cursor: hand; } .hoverTable th{ padding:7px; border:#4e95f4 1px solid; background-color: #b8d1f3; } .hoverTable th:hover{ padding:7px; border:#4e95f4 1px solid; background-color: #b8d1f3; } .hoverTable tr{ background: #b8d1f3; } .hoverTable tr:hover { background-color: #ffff99; } </style> <div id="adapter-container" style="padding-left: 6px; padding-right: 0px; width: 97%;"> <table> <td><img src="wm-bus.png" height="48" width="48" /></td> <td style="padding-top: 20px;padding-left: 10px"><h3 class="translate">WM-Bus adapter settings</h3></td> </table> <h1 class="translate">Swrial Port</h1> <table> <tr><td class="translate">COM Port Name</td><td><input class="value" id="comPort" type="input" size="15" /></td><td></td><td><button id="find"><span class="translate">Select a COM port</span></button></td></td></tr> </table> <!--div style="padding: 10px"></div--> <h1 class="translate">AddDevice</h1> <table id="devices"></table><div id="pager-devices"></div> <div id="dialog-search" title="Select a COM port"></div> </div> </html>