iobroker.sbfspot 4.1.7 → 4.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +34 -34
- package/.github/ISSUE_TEMPLATE/BugReport.md +36 -36
- package/.github/ISSUE_TEMPLATE/Enhancement.md +19 -19
- package/.github/dependabot.yml +13 -13
- package/.github/workflows/npmpublish.yml +30 -30
- package/.github/workflows/test-and-release.yml +81 -79
- package/.releaseconfig.json +3 -0
- package/LICENSE +20 -20
- package/README.md +141 -121
- package/admin/index.html +175 -175
- package/admin/index_m.html +261 -261
- package/admin/words.js +24 -24
- package/docs/en/install_arm.md +64 -64
- package/io-package.json +161 -96
- package/lib/tools.js +99 -99
- package/main.js +1144 -1144
- package/package.json +13 -11
- package/widgets/sbfspot/lib/js/flot/jquery.canvaswrapper.js +549 -549
- package/widgets/sbfspot/lib/js/flot/jquery.colorhelpers.js +199 -199
- package/widgets/sbfspot/lib/js/flot/jquery.flot.axislabels.js +212 -212
- package/widgets/sbfspot/lib/js/flot/jquery.flot.browser.js +98 -98
- package/widgets/sbfspot/lib/js/flot/jquery.flot.categories.js +202 -202
- package/widgets/sbfspot/lib/js/flot/jquery.flot.composeImages.js +330 -330
- package/widgets/sbfspot/lib/js/flot/jquery.flot.crosshair.js +202 -202
- package/widgets/sbfspot/lib/js/flot/jquery.flot.drawSeries.js +662 -662
- package/widgets/sbfspot/lib/js/flot/jquery.flot.errorbars.js +375 -375
- package/widgets/sbfspot/lib/js/flot/jquery.flot.fillbetween.js +254 -254
- package/widgets/sbfspot/lib/js/flot/jquery.flot.flatdata.js +47 -47
- package/widgets/sbfspot/lib/js/flot/jquery.flot.hover.js +361 -361
- package/widgets/sbfspot/lib/js/flot/jquery.flot.image.js +249 -249
- package/widgets/sbfspot/lib/js/flot/jquery.flot.js +2953 -2953
- package/widgets/sbfspot/lib/js/flot/jquery.flot.legend.js +437 -437
- package/widgets/sbfspot/lib/js/flot/jquery.flot.logaxis.js +298 -298
- package/widgets/sbfspot/lib/js/flot/jquery.flot.navigate.js +834 -834
- package/widgets/sbfspot/lib/js/flot/jquery.flot.pie.js +794 -794
- package/widgets/sbfspot/lib/js/flot/jquery.flot.resize.js +60 -60
- package/widgets/sbfspot/lib/js/flot/jquery.flot.saturated.js +43 -43
- package/widgets/sbfspot/lib/js/flot/jquery.flot.selection.js +527 -527
- package/widgets/sbfspot/lib/js/flot/jquery.flot.stack.js +220 -220
- package/widgets/sbfspot/lib/js/flot/jquery.flot.symbol.js +98 -98
- package/widgets/sbfspot/lib/js/flot/jquery.flot.threshold.js +143 -143
- package/widgets/sbfspot/lib/js/flot/jquery.flot.time.js +586 -586
- package/widgets/sbfspot/lib/js/flot/jquery.flot.touch.js +320 -320
- package/widgets/sbfspot/lib/js/flot/jquery.flot.touchNavigate.js +360 -360
- package/widgets/sbfspot/lib/js/flot/jquery.flot.uiConstants.js +10 -10
- package/widgets/sbfspot/lib/js/flot/jquery.js +9473 -9473
- package/widgets/sbfspot/lib/js/lib/globalize.culture.en-US.js +33 -33
- package/widgets/sbfspot/lib/js/lib/globalize.js +1601 -1601
- package/widgets/sbfspot/lib/js/lib/jquery.event.drag.js +145 -145
- package/widgets/sbfspot/lib/js/lib/jquery.mousewheel.js +86 -86
- package/widgets/sbfspot.html +1597 -1597
- package/.project +0 -17
- package/.settings/.jsdtscope +0 -7
- package/.settings/org.eclipse.wst.jsdt.ui.superType.container +0 -1
- package/.settings/org.eclipse.wst.jsdt.ui.superType.name +0 -1
- package/admin/sbfspot_alt.png +0 -0
- package/bin/Microsoft.NodejsTools.WebRole.dll +0 -0
- package/lib/SMA_Bluetooth.js +0 -27
- package/main_neu.js +0 -1056
- package/obj/Debug/sbfspot.njsproj.CoreCompileInputs.cache +0 -1
- package/obj/Debug/sbfspot.njsproj.FileListAbsolute.txt +0 -3
- package/obj/Debug/sbfspot.njsprojAssemblyReference.cache +0 -0
- package/package_neu.json +0 -41
- package/readme.txt +0 -4
- package/sbfspot.njsproj +0 -185
- package/todo.txt +0 -24
- package/typings/globals/node/index.d.ts +0 -4209
- package/typings/globals/node/typings.json +0 -8
- package/typings/index.d.ts +0 -1
package/admin/index.html
CHANGED
|
@@ -1,175 +1,175 @@
|
|
|
1
|
-
<html>
|
|
2
|
-
|
|
3
|
-
<!-- these 4 files always have to be included -->
|
|
4
|
-
<link rel="stylesheet" type="text/css" href="../../lib/css/themes/jquery-ui/redmond/jquery-ui.min.css"/>
|
|
5
|
-
<script type="text/javascript" src="../../lib/js/jquery-1.11.1.min.js"></script>
|
|
6
|
-
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
|
|
7
|
-
<script type="text/javascript" src="../../lib/js/jquery-ui-1.10.3.full.min.js"></script>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
<!-- optional: use jqGrid
|
|
11
|
-
<link rel="stylesheet" type="text/css" href="../../lib/css/jqGrid/ui.jqgrid-4.5.4.css"/>
|
|
12
|
-
<script type="text/javascript" src="../../lib/js/jqGrid/jquery.jqGrid-4.5.4.min.js"></script>
|
|
13
|
-
<script type="text/javascript" src="../../lib/js/jqGrid/i18n/grid.locale-all.js"></script>
|
|
14
|
-
-->
|
|
15
|
-
|
|
16
|
-
<!-- optional: use multiselect
|
|
17
|
-
<link rel="stylesheet" type="text/css" href="../../lib/css/jquery.multiselect-1.13.css"/>
|
|
18
|
-
<script type="text/javascript" src="../../lib/js/jquery.multiselect-1.13.min.js"></script>
|
|
19
|
-
-->
|
|
20
|
-
|
|
21
|
-
<!-- these two file always have to be included -->
|
|
22
|
-
<link rel="stylesheet" type="text/css" href="../../css/adapter.css"/>
|
|
23
|
-
<script type="text/javascript" src="../../js/translate.js"></script>
|
|
24
|
-
<script type="text/javascript" src="../../js/adapter-settings.js"></script>
|
|
25
|
-
<script type="text/javascript" src="words.js"></script>
|
|
26
|
-
|
|
27
|
-
<!-- you have to define 2 functions in the global scope: -->
|
|
28
|
-
<script type="text/javascript">
|
|
29
|
-
|
|
30
|
-
// Dictionary (systemDictionary is global variable from adapter-settings.js)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
function CheckSettings(settings, onChange) {
|
|
35
|
-
console.log("start checksettings");
|
|
36
|
-
//just to be compatible with older versions...
|
|
37
|
-
if (typeof settings['databasetype'] == 'undefined') {
|
|
38
|
-
onChange(true);
|
|
39
|
-
$("#databasetype").attr("checked", true);
|
|
40
|
-
$('#databasetype.value').prop('checked', settings['databasetype']).change(function () {
|
|
41
|
-
onChange();
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// the function loadSettings has to exist ...
|
|
47
|
-
function load(settings, onChange) {
|
|
48
|
-
|
|
49
|
-
if (!settings) return;
|
|
50
|
-
|
|
51
|
-
// example: select elements with id=key and class=value and insert value
|
|
52
|
-
for (var key in settings) {
|
|
53
|
-
// example: select elements with id=key and class=value and insert value
|
|
54
|
-
if ($('#' + key + '.value').attr('type') == 'checkbox') {
|
|
55
|
-
$('#' + key + '.value').prop('checked', settings[key]).change(function () {
|
|
56
|
-
onChange();
|
|
57
|
-
});
|
|
58
|
-
} else {
|
|
59
|
-
$('#' + key + '.value').val(settings[key]).change(function () {
|
|
60
|
-
onChange();
|
|
61
|
-
}).keyup(function () {
|
|
62
|
-
$(this).trigger('change');
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
// Signal to admin, that no changes yet
|
|
69
|
-
onChange(false);
|
|
70
|
-
|
|
71
|
-
CheckSettings(settings, onChange);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
// ... and the function save has to exist.
|
|
76
|
-
// you have to make sure the callback is called with the settings object as first param!
|
|
77
|
-
function save(callback) {
|
|
78
|
-
// example: select elements with class=value and build settings object
|
|
79
|
-
var obj = {};
|
|
80
|
-
$('.value').each(function () {
|
|
81
|
-
var $this = $(this);
|
|
82
|
-
obj[$this.attr('id')] = $this.val();
|
|
83
|
-
});
|
|
84
|
-
callback(obj);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
</script>
|
|
90
|
-
|
|
91
|
-
<!-- you have to put your config page in a div with id adapter-container -->
|
|
92
|
-
<div id="adapter-container">
|
|
93
|
-
|
|
94
|
-
<table><tr>
|
|
95
|
-
<td><img src="sbfspot.png" height="50" width="50" /></td>
|
|
96
|
-
<td><h3 class="translate">sbfspot_adapter_settings</h3></td>
|
|
97
|
-
</tr></table>
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
<p class="translate">Attention</p>
|
|
102
|
-
<p class="translate">Hint_mySQL</p>
|
|
103
|
-
<p class="translate">Hint_sqlite</p>
|
|
104
|
-
|
|
105
|
-
<table>
|
|
106
|
-
<tr>
|
|
107
|
-
<td colspan="2" class="translate">install_date</td>
|
|
108
|
-
<td colspan="2">
|
|
109
|
-
<input type="date" id="install_date" class="value" />
|
|
110
|
-
</td>
|
|
111
|
-
</tr>
|
|
112
|
-
<tr>
|
|
113
|
-
<td colspan="4" class="translate">install_date_desc</td>
|
|
114
|
-
</tr>
|
|
115
|
-
<tr>
|
|
116
|
-
<td colspan="2" class="translate" align="right">type_of_DB </td>
|
|
117
|
-
<td colspan="2">
|
|
118
|
-
<select id="databasetype" class="value">
|
|
119
|
-
<option value="mySQL">mySQL</option>
|
|
120
|
-
<option value="MariaDB">MariaDB</option>
|
|
121
|
-
<option value="sqlite">sqlite</option>
|
|
122
|
-
</select>
|
|
123
|
-
</td>
|
|
124
|
-
</tr>
|
|
125
|
-
<tr>
|
|
126
|
-
<td colspan="2" align="center">
|
|
127
|
-
mySQL / MariaDB
|
|
128
|
-
</td>
|
|
129
|
-
<td colspan="2" align="center">
|
|
130
|
-
sqlite
|
|
131
|
-
</td>
|
|
132
|
-
</tr>
|
|
133
|
-
<tr>
|
|
134
|
-
<td class="translate">sbfspot_DB_IP</td>
|
|
135
|
-
<td>
|
|
136
|
-
<input type="text" id="sbfspotIP" class="value" />
|
|
137
|
-
</td>
|
|
138
|
-
<td class="translate">path_to_DB_file</td>
|
|
139
|
-
|
|
140
|
-
<td>
|
|
141
|
-
<input type="text" id="sqlite_path" class="value" />
|
|
142
|
-
</td>
|
|
143
|
-
|
|
144
|
-
</tr>
|
|
145
|
-
<tr>
|
|
146
|
-
<td class="translate">sbfspot_DB_port</td>
|
|
147
|
-
<td>
|
|
148
|
-
<input type="text" id="sbfspotPort" class="value" />
|
|
149
|
-
</td>
|
|
150
|
-
</tr>
|
|
151
|
-
<tr>
|
|
152
|
-
<td class="translate">sbfspot_DB_user</td>
|
|
153
|
-
<td>
|
|
154
|
-
<input type="text" id="sbfspotUser" class="value" />
|
|
155
|
-
</td>
|
|
156
|
-
</tr>
|
|
157
|
-
<tr>
|
|
158
|
-
<td class="translate">sbfspot_DB_password</td>
|
|
159
|
-
<td>
|
|
160
|
-
<input type="text" id="sbfspotPassword" class="value" />
|
|
161
|
-
</td>
|
|
162
|
-
</tr>
|
|
163
|
-
<tr>
|
|
164
|
-
<td class="translate">sbfspot_DB_databasename</td>
|
|
165
|
-
<td>
|
|
166
|
-
<input type="text" id="sbfspotDatabasename" class="value" />
|
|
167
|
-
</td>
|
|
168
|
-
</tr>
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
</table>
|
|
172
|
-
|
|
173
|
-
</div>
|
|
174
|
-
|
|
175
|
-
</html>
|
|
1
|
+
<html>
|
|
2
|
+
|
|
3
|
+
<!-- these 4 files always have to be included -->
|
|
4
|
+
<link rel="stylesheet" type="text/css" href="../../lib/css/themes/jquery-ui/redmond/jquery-ui.min.css"/>
|
|
5
|
+
<script type="text/javascript" src="../../lib/js/jquery-1.11.1.min.js"></script>
|
|
6
|
+
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
|
|
7
|
+
<script type="text/javascript" src="../../lib/js/jquery-ui-1.10.3.full.min.js"></script>
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
<!-- optional: use jqGrid
|
|
11
|
+
<link rel="stylesheet" type="text/css" href="../../lib/css/jqGrid/ui.jqgrid-4.5.4.css"/>
|
|
12
|
+
<script type="text/javascript" src="../../lib/js/jqGrid/jquery.jqGrid-4.5.4.min.js"></script>
|
|
13
|
+
<script type="text/javascript" src="../../lib/js/jqGrid/i18n/grid.locale-all.js"></script>
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
<!-- optional: use multiselect
|
|
17
|
+
<link rel="stylesheet" type="text/css" href="../../lib/css/jquery.multiselect-1.13.css"/>
|
|
18
|
+
<script type="text/javascript" src="../../lib/js/jquery.multiselect-1.13.min.js"></script>
|
|
19
|
+
-->
|
|
20
|
+
|
|
21
|
+
<!-- these two file always have to be included -->
|
|
22
|
+
<link rel="stylesheet" type="text/css" href="../../css/adapter.css"/>
|
|
23
|
+
<script type="text/javascript" src="../../js/translate.js"></script>
|
|
24
|
+
<script type="text/javascript" src="../../js/adapter-settings.js"></script>
|
|
25
|
+
<script type="text/javascript" src="words.js"></script>
|
|
26
|
+
|
|
27
|
+
<!-- you have to define 2 functions in the global scope: -->
|
|
28
|
+
<script type="text/javascript">
|
|
29
|
+
|
|
30
|
+
// Dictionary (systemDictionary is global variable from adapter-settings.js)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
function CheckSettings(settings, onChange) {
|
|
35
|
+
console.log("start checksettings");
|
|
36
|
+
//just to be compatible with older versions...
|
|
37
|
+
if (typeof settings['databasetype'] == 'undefined') {
|
|
38
|
+
onChange(true);
|
|
39
|
+
$("#databasetype").attr("checked", true);
|
|
40
|
+
$('#databasetype.value').prop('checked', settings['databasetype']).change(function () {
|
|
41
|
+
onChange();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// the function loadSettings has to exist ...
|
|
47
|
+
function load(settings, onChange) {
|
|
48
|
+
|
|
49
|
+
if (!settings) return;
|
|
50
|
+
|
|
51
|
+
// example: select elements with id=key and class=value and insert value
|
|
52
|
+
for (var key in settings) {
|
|
53
|
+
// example: select elements with id=key and class=value and insert value
|
|
54
|
+
if ($('#' + key + '.value').attr('type') == 'checkbox') {
|
|
55
|
+
$('#' + key + '.value').prop('checked', settings[key]).change(function () {
|
|
56
|
+
onChange();
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
$('#' + key + '.value').val(settings[key]).change(function () {
|
|
60
|
+
onChange();
|
|
61
|
+
}).keyup(function () {
|
|
62
|
+
$(this).trigger('change');
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
// Signal to admin, that no changes yet
|
|
69
|
+
onChange(false);
|
|
70
|
+
|
|
71
|
+
CheckSettings(settings, onChange);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
// ... and the function save has to exist.
|
|
76
|
+
// you have to make sure the callback is called with the settings object as first param!
|
|
77
|
+
function save(callback) {
|
|
78
|
+
// example: select elements with class=value and build settings object
|
|
79
|
+
var obj = {};
|
|
80
|
+
$('.value').each(function () {
|
|
81
|
+
var $this = $(this);
|
|
82
|
+
obj[$this.attr('id')] = $this.val();
|
|
83
|
+
});
|
|
84
|
+
callback(obj);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
</script>
|
|
90
|
+
|
|
91
|
+
<!-- you have to put your config page in a div with id adapter-container -->
|
|
92
|
+
<div id="adapter-container">
|
|
93
|
+
|
|
94
|
+
<table><tr>
|
|
95
|
+
<td><img src="sbfspot.png" height="50" width="50" /></td>
|
|
96
|
+
<td><h3 class="translate">sbfspot_adapter_settings</h3></td>
|
|
97
|
+
</tr></table>
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
<p class="translate">Attention</p>
|
|
102
|
+
<p class="translate">Hint_mySQL</p>
|
|
103
|
+
<p class="translate">Hint_sqlite</p>
|
|
104
|
+
|
|
105
|
+
<table>
|
|
106
|
+
<tr>
|
|
107
|
+
<td colspan="2" class="translate">install_date</td>
|
|
108
|
+
<td colspan="2">
|
|
109
|
+
<input type="date" id="install_date" class="value" />
|
|
110
|
+
</td>
|
|
111
|
+
</tr>
|
|
112
|
+
<tr>
|
|
113
|
+
<td colspan="4" class="translate">install_date_desc</td>
|
|
114
|
+
</tr>
|
|
115
|
+
<tr>
|
|
116
|
+
<td colspan="2" class="translate" align="right">type_of_DB </td>
|
|
117
|
+
<td colspan="2">
|
|
118
|
+
<select id="databasetype" class="value">
|
|
119
|
+
<option value="mySQL">mySQL</option>
|
|
120
|
+
<option value="MariaDB">MariaDB</option>
|
|
121
|
+
<option value="sqlite">sqlite</option>
|
|
122
|
+
</select>
|
|
123
|
+
</td>
|
|
124
|
+
</tr>
|
|
125
|
+
<tr>
|
|
126
|
+
<td colspan="2" align="center">
|
|
127
|
+
mySQL / MariaDB
|
|
128
|
+
</td>
|
|
129
|
+
<td colspan="2" align="center">
|
|
130
|
+
sqlite
|
|
131
|
+
</td>
|
|
132
|
+
</tr>
|
|
133
|
+
<tr>
|
|
134
|
+
<td class="translate">sbfspot_DB_IP</td>
|
|
135
|
+
<td>
|
|
136
|
+
<input type="text" id="sbfspotIP" class="value" />
|
|
137
|
+
</td>
|
|
138
|
+
<td class="translate">path_to_DB_file</td>
|
|
139
|
+
|
|
140
|
+
<td>
|
|
141
|
+
<input type="text" id="sqlite_path" class="value" />
|
|
142
|
+
</td>
|
|
143
|
+
|
|
144
|
+
</tr>
|
|
145
|
+
<tr>
|
|
146
|
+
<td class="translate">sbfspot_DB_port</td>
|
|
147
|
+
<td>
|
|
148
|
+
<input type="text" id="sbfspotPort" class="value" />
|
|
149
|
+
</td>
|
|
150
|
+
</tr>
|
|
151
|
+
<tr>
|
|
152
|
+
<td class="translate">sbfspot_DB_user</td>
|
|
153
|
+
<td>
|
|
154
|
+
<input type="text" id="sbfspotUser" class="value" />
|
|
155
|
+
</td>
|
|
156
|
+
</tr>
|
|
157
|
+
<tr>
|
|
158
|
+
<td class="translate">sbfspot_DB_password</td>
|
|
159
|
+
<td>
|
|
160
|
+
<input type="text" id="sbfspotPassword" class="value" />
|
|
161
|
+
</td>
|
|
162
|
+
</tr>
|
|
163
|
+
<tr>
|
|
164
|
+
<td class="translate">sbfspot_DB_databasename</td>
|
|
165
|
+
<td>
|
|
166
|
+
<input type="text" id="sbfspotDatabasename" class="value" />
|
|
167
|
+
</td>
|
|
168
|
+
</tr>
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
</table>
|
|
172
|
+
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
</html>
|