iobroker.amtronwallbox 0.0.1
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/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
- package/.github/workflows/npmpublish.yml +30 -0
- package/.github/workflows/test-and-release.yml +120 -0
- package/LICENSE +21 -0
- package/README.md +60 -0
- package/admin/amtronwallbox.png +0 -0
- package/admin/index_m.html +147 -0
- package/admin/words.js +13 -0
- package/amtronwallbox.njsproj +115 -0
- package/amtronwallbox.njsproj.user +6 -0
- package/io-package.json +89 -0
- package/lib/tools.js +99 -0
- package/main.js +918 -0
- package/package.json +61 -0
- package/readme.txt +20 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Something is not working as it should
|
|
4
|
+
title: ''
|
|
5
|
+
labels: ''
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
**Describe the bug**
|
|
10
|
+
A clear and concise description of what the bug is.
|
|
11
|
+
|
|
12
|
+
**To Reproduce**
|
|
13
|
+
Steps to reproduce the behavior:
|
|
14
|
+
1. Go to '...'
|
|
15
|
+
2. Click on '...'
|
|
16
|
+
3. Scroll down to '....'
|
|
17
|
+
4. See error
|
|
18
|
+
|
|
19
|
+
**Expected behavior**
|
|
20
|
+
A clear and concise description of what you expected to happen.
|
|
21
|
+
|
|
22
|
+
**Screenshots & Logfiles**
|
|
23
|
+
If applicable, add screenshots and logfiles to help explain your problem.
|
|
24
|
+
|
|
25
|
+
**Versions:**
|
|
26
|
+
- Adapter version: <adapter-version>
|
|
27
|
+
- JS-Controller version: <js-controller-version> <!-- determine this with `iobroker -v` on the console -->
|
|
28
|
+
- Node version: <node-version> <!-- determine this with `node -v` on the console -->
|
|
29
|
+
- Operating system: <os-name>
|
|
30
|
+
|
|
31
|
+
**Additional context**
|
|
32
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [created]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v1
|
|
12
|
+
- uses: actions/setup-node@v1
|
|
13
|
+
with:
|
|
14
|
+
node-version: 10
|
|
15
|
+
- run: npm i
|
|
16
|
+
- run: npm test
|
|
17
|
+
|
|
18
|
+
publish-npm:
|
|
19
|
+
needs: build
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v1
|
|
23
|
+
- uses: actions/setup-node@v1
|
|
24
|
+
with:
|
|
25
|
+
node-version: 10
|
|
26
|
+
registry-url: https://registry.npmjs.org/
|
|
27
|
+
- run: npm i
|
|
28
|
+
- run: npm publish
|
|
29
|
+
env:
|
|
30
|
+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# This is a composition of lint and test scripts
|
|
2
|
+
# Make sure to update this file along with the others
|
|
3
|
+
|
|
4
|
+
name: Test and Release
|
|
5
|
+
|
|
6
|
+
# Run this job on all pushes and pull requests
|
|
7
|
+
# as well as tags with a semantic version
|
|
8
|
+
on:
|
|
9
|
+
push:
|
|
10
|
+
branches:
|
|
11
|
+
- "*"
|
|
12
|
+
tags:
|
|
13
|
+
# normal versions
|
|
14
|
+
- "v[0-9]+.[0-9]+.[0-9]+"
|
|
15
|
+
# pre-releases
|
|
16
|
+
- "v[0-9]+.[0-9]+.[0-9]+-**"
|
|
17
|
+
pull_request: {}
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
# Performs quick checks before the expensive test runs
|
|
21
|
+
check-and-lint:
|
|
22
|
+
if: contains(github.event.head_commit.message, '[skip ci]') == false
|
|
23
|
+
|
|
24
|
+
runs-on: ubuntu-latest
|
|
25
|
+
|
|
26
|
+
strategy:
|
|
27
|
+
matrix:
|
|
28
|
+
node-version: [12.x]
|
|
29
|
+
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v2
|
|
32
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
33
|
+
uses: actions/setup-node@v1
|
|
34
|
+
with:
|
|
35
|
+
node-version: ${{ matrix.node-version }}
|
|
36
|
+
|
|
37
|
+
- name: Install Dependencies
|
|
38
|
+
run: npm ci
|
|
39
|
+
|
|
40
|
+
- name: Lint source code
|
|
41
|
+
run: npm run lint
|
|
42
|
+
- name: Test package files
|
|
43
|
+
run: npm run test:package
|
|
44
|
+
|
|
45
|
+
# Runs adapter tests on all supported node versions and OSes
|
|
46
|
+
adapter-tests:
|
|
47
|
+
if: contains(github.event.head_commit.message, '[skip ci]') == false
|
|
48
|
+
|
|
49
|
+
needs: [check-and-lint]
|
|
50
|
+
|
|
51
|
+
runs-on: ${{ matrix.os }}
|
|
52
|
+
strategy:
|
|
53
|
+
matrix:
|
|
54
|
+
node-version: [12.x, 14.x, 16.x]
|
|
55
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
56
|
+
exclude:
|
|
57
|
+
# Don't test Node.js 8 on Windows. npm is weird here
|
|
58
|
+
- os: windows-latest
|
|
59
|
+
node-version: 8.x
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/checkout@v2
|
|
62
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
63
|
+
uses: actions/setup-node@v1
|
|
64
|
+
with:
|
|
65
|
+
node-version: ${{ matrix.node-version }}
|
|
66
|
+
|
|
67
|
+
- name: Install Dependencies
|
|
68
|
+
run: npm ci
|
|
69
|
+
|
|
70
|
+
- name: Run unit tests
|
|
71
|
+
run: npm run test:unit
|
|
72
|
+
|
|
73
|
+
- name: Run integration tests (unix only)
|
|
74
|
+
if: startsWith(runner.OS, 'windows') == false
|
|
75
|
+
run: DEBUG=testing:* npm run test:integration
|
|
76
|
+
|
|
77
|
+
- name: Run integration tests (windows only)
|
|
78
|
+
if: startsWith(runner.OS, 'windows')
|
|
79
|
+
run: set DEBUG=testing:* & npm run test:integration
|
|
80
|
+
|
|
81
|
+
# TODO: To enable automatic npm releases, create a token on npmjs.org
|
|
82
|
+
# Enter this token as a GitHub secret (with name NPM_TOKEN) in the repository options
|
|
83
|
+
# Then uncomment the following block:
|
|
84
|
+
|
|
85
|
+
# # Deploys the final package to NPM
|
|
86
|
+
# deploy:
|
|
87
|
+
# needs: [adapter-tests]
|
|
88
|
+
#
|
|
89
|
+
# # Trigger this step only when a commit on master is tagged with a version number
|
|
90
|
+
# if: |
|
|
91
|
+
# contains(github.event.head_commit.message, '[skip ci]') == false &&
|
|
92
|
+
# github.event_name == 'push' &&
|
|
93
|
+
# github.event.base_ref == 'refs/heads/master' &&
|
|
94
|
+
# startsWith(github.ref, 'refs/tags/v')
|
|
95
|
+
#
|
|
96
|
+
# runs-on: ubuntu-latest
|
|
97
|
+
# strategy:
|
|
98
|
+
# matrix:
|
|
99
|
+
# node-version: [12.x]
|
|
100
|
+
#
|
|
101
|
+
# steps:
|
|
102
|
+
# - uses: actions/checkout@v2
|
|
103
|
+
# - name: Use Node.js ${{ matrix.node-version }}
|
|
104
|
+
# uses: actions/setup-node@v1
|
|
105
|
+
# with:
|
|
106
|
+
# node-version: ${{ matrix.node-version }}
|
|
107
|
+
#
|
|
108
|
+
# - name: Publish package to npm
|
|
109
|
+
# run: |
|
|
110
|
+
# npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
|
|
111
|
+
# npm whoami
|
|
112
|
+
# npm publish
|
|
113
|
+
|
|
114
|
+
# Dummy job for skipped builds - without this, github reports the build as failed
|
|
115
|
+
skip-ci:
|
|
116
|
+
if: contains(github.event.head_commit.message, '[skip ci]')
|
|
117
|
+
runs-on: ubuntu-latest
|
|
118
|
+
steps:
|
|
119
|
+
- name: Skip build
|
|
120
|
+
run: echo "Build skipped!"
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 rg-engineering <info@rg-engineering.eu>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+

|
|
2
|
+
# ioBroker.amtronwallbox
|
|
3
|
+
|
|
4
|
+
 
|
|
5
|
+
[](https://www.npmjs.com/package/iobroker.amtronwallbox)
|
|
6
|
+
[](https://www.npmjs.com/package/iobroker.amtronwallbox)
|
|
7
|
+
|
|
8
|
+
[](https://snyk.io/test/github/rg-engineering/ioBroker.amtronwallbox)
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
[](https://nodei.co/npm/iobroker.amtronwallbox/)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.**
|
|
15
|
+
For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
**If you like it, please consider a donation:**
|
|
19
|
+
|
|
20
|
+
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YBAZTEBT9SYC2&source=url)
|
|
21
|
+
|
|
22
|
+
Attention:
|
|
23
|
+
At the moment only Amtron ChargeControl is implemented via REST API. The REST API allows read only
|
|
24
|
+
Others with App connection will follow if someone can test it
|
|
25
|
+
|
|
26
|
+
## known issues
|
|
27
|
+
* please create issues at [github](https://github.com/rg-engineering/ioBroker.amtronwallbox/issues) if you find bugs or whish new features
|
|
28
|
+
|
|
29
|
+
## Changelog
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### 0.0.1 (2022-05-19)
|
|
34
|
+
* (René) initial release
|
|
35
|
+
|
|
36
|
+
## License
|
|
37
|
+
MIT License
|
|
38
|
+
|
|
39
|
+
Copyright (c) 2022 rg-engineering <info@rg-engineering.eu>
|
|
40
|
+
|
|
41
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
42
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
43
|
+
in the Software without restriction, including without limitation the rights
|
|
44
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
45
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
46
|
+
furnished to do so, subject to the following conditions:
|
|
47
|
+
|
|
48
|
+
The above copyright notice and this permission notice shall be included in all
|
|
49
|
+
copies or substantial portions of the Software.
|
|
50
|
+
|
|
51
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
52
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
53
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
54
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
55
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
56
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
57
|
+
SOFTWARE.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
Binary file
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
|
|
3
|
+
<head>
|
|
4
|
+
<!-- Load ioBroker scripts and styles-->
|
|
5
|
+
<link rel="stylesheet" type="text/css" href="../../lib/css/fancytree/ui.fancytree.min.css" />
|
|
6
|
+
<link rel="stylesheet" type="text/css" href="../../css/adapter.css" />
|
|
7
|
+
<link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css">
|
|
8
|
+
|
|
9
|
+
<script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script>
|
|
10
|
+
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
|
|
11
|
+
|
|
12
|
+
<script type="text/javascript" src="../../lib/js/materialize.js"></script>
|
|
13
|
+
<script type="text/javascript" src="../../lib/js/jquery-ui.min.js"></script>
|
|
14
|
+
<script type="text/javascript" src="../../lib/js/jquery.fancytree-all.min.js"></script>
|
|
15
|
+
|
|
16
|
+
<script type="text/javascript" src="../../js/translate.js"></script>
|
|
17
|
+
|
|
18
|
+
<script type="text/javascript" src="../../js/adapter-settings.js"></script>
|
|
19
|
+
|
|
20
|
+
<!-- my own styles -->
|
|
21
|
+
<link rel="stylesheet" type="text/css" href="style.css" />
|
|
22
|
+
<script type="text/javascript" src="words.js"></script>
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
<!-- you have to define 2 functions in the global scope: -->
|
|
26
|
+
<script type="text/javascript">
|
|
27
|
+
|
|
28
|
+
// the function loadSettings has to exist ...
|
|
29
|
+
function load(settings, onChange) {
|
|
30
|
+
|
|
31
|
+
if (!settings) return;
|
|
32
|
+
|
|
33
|
+
// example: select elements with id=key and class=value and insert value
|
|
34
|
+
for (var key in settings) {
|
|
35
|
+
// example: select elements with id=key and class=value and insert value
|
|
36
|
+
if ($('#' + key + '.value').attr('type') == 'checkbox') {
|
|
37
|
+
$('#' + key + '.value').prop('checked', settings[key]).change(function () {
|
|
38
|
+
onChange();
|
|
39
|
+
});
|
|
40
|
+
} else {
|
|
41
|
+
$('#' + key + '.value').val(settings[key]).change(function () {
|
|
42
|
+
onChange();
|
|
43
|
+
}).keyup(function () {
|
|
44
|
+
$(this).trigger('change');
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
myOnChange = onChange;
|
|
50
|
+
// Signal to admin, that no changes yet
|
|
51
|
+
onChange(false);
|
|
52
|
+
|
|
53
|
+
M.updateTextFields();
|
|
54
|
+
|
|
55
|
+
values2table('systems', settings.WallboxSystems, onChange, tableSystemsOnReady);
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function tableSystemsOnReady() {
|
|
62
|
+
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// ... and the function save has to exist.
|
|
66
|
+
// you have to make sure the callback is called with the settings object as first param!
|
|
67
|
+
function save(callback) {
|
|
68
|
+
// example: select elements with class=value and build settings object
|
|
69
|
+
var obj = {};
|
|
70
|
+
$('.value').each(function () {
|
|
71
|
+
var $this = $(this);
|
|
72
|
+
|
|
73
|
+
var id = $this.attr('id');
|
|
74
|
+
|
|
75
|
+
if ($this.attr('type') === 'checkbox') {
|
|
76
|
+
obj[$this.attr('id')] = $this.prop('checked');
|
|
77
|
+
} else {
|
|
78
|
+
obj[$this.attr('id')] = $this.val();
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
obj.WallboxSystems = table2values('systems');
|
|
83
|
+
|
|
84
|
+
callback(obj);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
</script>
|
|
90
|
+
</head>
|
|
91
|
+
<body>
|
|
92
|
+
<!-- you have to put your config page in a div with id adapter-container -->
|
|
93
|
+
<div class="m adapter-container">
|
|
94
|
+
<div class="row">
|
|
95
|
+
|
|
96
|
+
<div class="col s12">
|
|
97
|
+
<ul class="tabs">
|
|
98
|
+
<li class="tab col s2"><a href="#tab-main" class="translate active">Main settings</a></li>
|
|
99
|
+
<li class="tab col s2 le-settings"><a href="#tab-systems" class="translate">systems</a></li>
|
|
100
|
+
</ul>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<!-- main - settings -->
|
|
104
|
+
<div id="tab-main" class="col s12 page">
|
|
105
|
+
<div class="row">
|
|
106
|
+
<div class="col s6 m4 l2">
|
|
107
|
+
<img src="amtronwallbox.png" class="logo">
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
<div class="row">
|
|
113
|
+
<div class="input-field col s12 m4 l3">
|
|
114
|
+
<input class="value number" id="readInterval" size="3" maxlength="3" type="number" />
|
|
115
|
+
<label for="readInterval" class="translate">readInterval</label>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<!-- settings for systems -->
|
|
123
|
+
<div id="tab-systems" class="col s12 page">
|
|
124
|
+
<div class="col s12" id="systems">
|
|
125
|
+
|
|
126
|
+
<a class="btn-floating waves-effect waves-light blue table-button-add"><i class="material-icons">add</i></a>
|
|
127
|
+
|
|
128
|
+
<div class="table-values-div">
|
|
129
|
+
<table id="table_systems" class="table-values" style="width: 100%;">
|
|
130
|
+
<thead>
|
|
131
|
+
<tr>
|
|
132
|
+
<th id="tableSystems_col1" data-name="Name" style="width: 20%; background: #64b5f6 " class="translate">name</th>
|
|
133
|
+
<th id="tableSystems_col2" data-name="URL" style=" background: #64b5f6 " class="translate">URL</th>
|
|
134
|
+
<th id="tableSystems_col3" data-name="ApiKey" style=" background: #64b5f6 " class="translate">ApiKey</th>
|
|
135
|
+
<th id="tableSystems_col4" data-name="Type" data-options="Compact;ChargeControl;Xtra" data-type="select" style="background: #64b5f6 " class="translate">Type</th>
|
|
136
|
+
<th data-buttons="up down delete" style="width: 100px; background: #64b5f6"></th>
|
|
137
|
+
</tr>
|
|
138
|
+
</thead>
|
|
139
|
+
</table>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
</body>
|
|
146
|
+
</html>
|
|
147
|
+
|
package/admin/words.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*global systemDictionary:true */
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
systemDictionary = {
|
|
5
|
+
"ApiKey": { "en": "API key", "de": "API-Schlüssel", "ru": "ключ API", "pt": "Chave API", "nl": "API sleutel", "fr": "Clé API", "it": "Chiave API", "es": "Clave API", "pl": "Klucz API", "zh-cn": "API 密钥"},
|
|
6
|
+
"IsDonated": { "en": "donation status", "de": "wird gespendet", "ru": "статус пожертвования", "pt": "status de doação", "nl": "donatiestatus", "fr": "état du don", "it": "stato di donazione", "es": "estado de donación", "pl": "status darowizny", "zh-cn": "捐赠状况"},
|
|
7
|
+
"Main settings": { "en": "Main settings", "de": "Haupteinstellungen", "ru": "Основные параметры", "pt": "Configurações principais", "nl": "Belangrijkste instellingen", "fr": "Réglages principaux", "it": "Impostazioni principali", "es": "Ajustes principales", "pl": "Ustawienia główne", "zh-cn": "主要设置"},
|
|
8
|
+
"SystemId": { "en": "System ID", "de": "System-ID", "ru": "Идентификатор системы", "pt": "ID do sistema", "nl": "Systeem-ID", "fr": "ID système", "it": "ID di sistema", "es": "identificación del sistema", "pl": "Identyfikator systemu", "zh-cn": "系统编号"},
|
|
9
|
+
"name": { "en": "Name", "de": "Name", "ru": "Имя", "pt": "Nome", "nl": "Naam", "fr": "Nom", "it": "Nome", "es": "Nombre", "pl": "Nazwać", "zh-cn": "姓名"},
|
|
10
|
+
"pvoutputorg adapter settings": { "en": "Adapter settings for pvoutputorg", "de": "Adaptereinstellungen für pvoutputorg", "ru": "Настройки адаптера для pvoutputorg", "pt": "Configurações do adaptador para pvoutputorg", "nl": "Adapterinstellingen voor pvoutputorg", "fr": "Paramètres de l'adaptateur pour pvoutputorg", "it": "Impostazioni dell'adattatore per pvoutputorg", "es": "Configuración del adaptador para pvoutputorg", "pl": "Ustawienia adaptera dla pvoutputorg", "zh-cn": "pvoutputorg 的适配器设置"},
|
|
11
|
+
"readInterval": { "en": "interval to read data [min]", "de": "Intervall zum Lesen von Daten [min]", "ru": "интервал чтения данных [мин]", "pt": "intervalo para ler os dados [min]", "nl": "interval om gegevens te lezen [min]", "fr": "intervalle de lecture des données [min]", "it": "intervallo di lettura dei dati [min]", "es": "intervalo para leer datos [min]", "pl": "interwał odczytu danych [min]", "zh-cn": "读取数据的间隔 [分钟]"},
|
|
12
|
+
"systems": { "en": "System", "de": "System", "ru": "Система", "pt": "Sistema", "nl": "Systeem", "fr": "Système", "it": "Sistema", "es": "Sistema", "pl": "System", "zh-cn": "系统"},
|
|
13
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
<PropertyGroup>
|
|
4
|
+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
5
|
+
<SchemaVersion>2.0</SchemaVersion>
|
|
6
|
+
<ProjectGuid>{47e966e4-ee54-4282-a0fe-7054a9ccebe4}</ProjectGuid>
|
|
7
|
+
<ProjectHome>
|
|
8
|
+
</ProjectHome>
|
|
9
|
+
<ProjectView>ShowAllFiles</ProjectView>
|
|
10
|
+
<StartupFile>daswetter.js</StartupFile>
|
|
11
|
+
<WorkingDirectory>.</WorkingDirectory>
|
|
12
|
+
<OutputPath>.</OutputPath>
|
|
13
|
+
<ProjectTypeGuids>{3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}</ProjectTypeGuids>
|
|
14
|
+
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
|
|
15
|
+
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
|
16
|
+
</PropertyGroup>
|
|
17
|
+
<PropertyGroup Condition="'$(Configuration)' == 'Debug'" />
|
|
18
|
+
<PropertyGroup Condition="'$(Configuration)' == 'Release'" />
|
|
19
|
+
<ItemGroup>
|
|
20
|
+
<Compile Include="gulpfile.js" />
|
|
21
|
+
<Compile Include="lib\tools.js" />
|
|
22
|
+
<Content Include=".github\workflows\npmpublish.yml" />
|
|
23
|
+
<Content Include=".github\workflows\test-and-release.yml" />
|
|
24
|
+
<Content Include=".gitignore" />
|
|
25
|
+
<Content Include=".npmignore" />
|
|
26
|
+
<Content Include="admin\i18n\de\translations.json" />
|
|
27
|
+
<Content Include="admin\i18n\en\translations.json" />
|
|
28
|
+
<Content Include="admin\i18n\es\translations.json" />
|
|
29
|
+
<Content Include="admin\i18n\fr\translations.json" />
|
|
30
|
+
<Content Include="admin\i18n\it\translations.json" />
|
|
31
|
+
<Content Include="admin\i18n\nl\translations.json" />
|
|
32
|
+
<Content Include="admin\i18n\pl\translations.json" />
|
|
33
|
+
<Content Include="admin\i18n\pt\translations.json" />
|
|
34
|
+
<Content Include="admin\i18n\ru\translations.json" />
|
|
35
|
+
<Content Include="admin\i18n\zh-cn\translations.json" />
|
|
36
|
+
<Content Include="admin\index_m.html" />
|
|
37
|
+
<Content Include="admin\amtronwallbox.png" />
|
|
38
|
+
<Content Include="admin\words.js" />
|
|
39
|
+
<Content Include="io-package.json" />
|
|
40
|
+
<Content Include="LICENSE" />
|
|
41
|
+
<Content Include="main.js" />
|
|
42
|
+
<Content Include="package.json" />
|
|
43
|
+
<Content Include="README.md" />
|
|
44
|
+
<Content Include="readme.txt">
|
|
45
|
+
<SubType>Code</SubType>
|
|
46
|
+
</Content>
|
|
47
|
+
<Content Include="test\integration.js" />
|
|
48
|
+
<Content Include="test\mocha.setup.js" />
|
|
49
|
+
<Content Include="test\mocharc.custom.json" />
|
|
50
|
+
<Content Include="test\package.js" />
|
|
51
|
+
<Content Include="test\tsconfig.json" />
|
|
52
|
+
<Content Include="test\unit.js" />
|
|
53
|
+
</ItemGroup>
|
|
54
|
+
<ItemGroup>
|
|
55
|
+
<Folder Include=".github\" />
|
|
56
|
+
<Folder Include=".github\ISSUE_TEMPLATE\" />
|
|
57
|
+
<Folder Include=".github\workflows\" />
|
|
58
|
+
<Folder Include="admin\" />
|
|
59
|
+
<Folder Include="admin\i18n\" />
|
|
60
|
+
<Folder Include="admin\i18n\de\" />
|
|
61
|
+
<Folder Include="admin\i18n\en\" />
|
|
62
|
+
<Folder Include="admin\i18n\es\" />
|
|
63
|
+
<Folder Include="admin\i18n\fr\" />
|
|
64
|
+
<Folder Include="admin\i18n\it\" />
|
|
65
|
+
<Folder Include="admin\i18n\nl\" />
|
|
66
|
+
<Folder Include="admin\i18n\pl\" />
|
|
67
|
+
<Folder Include="admin\i18n\pt\" />
|
|
68
|
+
<Folder Include="admin\i18n\ru\" />
|
|
69
|
+
<Folder Include="admin\i18n\zh-cn\" />
|
|
70
|
+
<Folder Include="lib" />
|
|
71
|
+
<Folder Include="test\" />
|
|
72
|
+
</ItemGroup>
|
|
73
|
+
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
|
74
|
+
<!--Do not delete the following Import Project. While this appears to do nothing it is a marker for setting TypeScript properties before our import that depends on them.-->
|
|
75
|
+
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="False" />
|
|
76
|
+
<Import Project="$(VSToolsPath)\Node.js Tools\Microsoft.NodejsTools.targets" />
|
|
77
|
+
<ProjectExtensions>
|
|
78
|
+
<VisualStudio>
|
|
79
|
+
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
|
80
|
+
<WebProjectProperties>
|
|
81
|
+
<UseIIS>False</UseIIS>
|
|
82
|
+
<AutoAssignPort>True</AutoAssignPort>
|
|
83
|
+
<DevelopmentServerPort>0</DevelopmentServerPort>
|
|
84
|
+
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
|
85
|
+
<IISUrl>http://localhost:48022/</IISUrl>
|
|
86
|
+
<NTLMAuthentication>False</NTLMAuthentication>
|
|
87
|
+
<UseCustomServer>True</UseCustomServer>
|
|
88
|
+
<CustomServerUrl>http://localhost:1337</CustomServerUrl>
|
|
89
|
+
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
|
90
|
+
</WebProjectProperties>
|
|
91
|
+
</FlavorProperties>
|
|
92
|
+
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}" User="">
|
|
93
|
+
<WebProjectProperties>
|
|
94
|
+
<StartPageUrl>
|
|
95
|
+
</StartPageUrl>
|
|
96
|
+
<StartAction>CurrentPage</StartAction>
|
|
97
|
+
<AspNetDebugging>True</AspNetDebugging>
|
|
98
|
+
<SilverlightDebugging>False</SilverlightDebugging>
|
|
99
|
+
<NativeDebugging>False</NativeDebugging>
|
|
100
|
+
<SQLDebugging>False</SQLDebugging>
|
|
101
|
+
<ExternalProgram>
|
|
102
|
+
</ExternalProgram>
|
|
103
|
+
<StartExternalURL>
|
|
104
|
+
</StartExternalURL>
|
|
105
|
+
<StartCmdLineArguments>
|
|
106
|
+
</StartCmdLineArguments>
|
|
107
|
+
<StartWorkingDirectory>
|
|
108
|
+
</StartWorkingDirectory>
|
|
109
|
+
<EnableENC>False</EnableENC>
|
|
110
|
+
<AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
|
|
111
|
+
</WebProjectProperties>
|
|
112
|
+
</FlavorProperties>
|
|
113
|
+
</VisualStudio>
|
|
114
|
+
</ProjectExtensions>
|
|
115
|
+
</Project>
|
package/io-package.json
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"name": "amtronwallbox",
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"news": {
|
|
6
|
+
"0.0.1": {
|
|
7
|
+
"en": "initial release",
|
|
8
|
+
"de": "Erstveröffentlichung",
|
|
9
|
+
"ru": "Первый выпуск",
|
|
10
|
+
"pt": "lançamento inicial",
|
|
11
|
+
"nl": "Eerste uitgave",
|
|
12
|
+
"fr": "Première version",
|
|
13
|
+
"it": "Versione iniziale",
|
|
14
|
+
"es": "Versión inicial",
|
|
15
|
+
"pl": "Pierwsze wydanie",
|
|
16
|
+
"zh-cn": "初始发行"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"title": "AMTRON wallbox",
|
|
20
|
+
"titleLang": {
|
|
21
|
+
"en": "control of AMTRON wallbox",
|
|
22
|
+
"de": "Steuerung der AMTRON Wallbox",
|
|
23
|
+
"ru": "управление настенной коробкой AMTRON",
|
|
24
|
+
"pt": "controle da caixa de parede AMTRON",
|
|
25
|
+
"nl": "bediening van AMTRON wallbox",
|
|
26
|
+
"fr": "commande de la wallbox AMTRON",
|
|
27
|
+
"it": "controllo della wallbox AMTRON",
|
|
28
|
+
"es": "control de la caja de empotrar AMTRON",
|
|
29
|
+
"pl": "sterowanie wallboxem AMTRON",
|
|
30
|
+
"zh-cn": "AMTRON 墙盒的控制"
|
|
31
|
+
},
|
|
32
|
+
"desc": {
|
|
33
|
+
"en": "read statistic information and set configuration values on AMTRON wallboxes from Mennekes",
|
|
34
|
+
"de": "Statistikinformationen lesen und Konfigurationswerte auf AMTRON-Wallboxen von Mennekes einstellen",
|
|
35
|
+
"ru": "читать статистическую информацию и задавать значения конфигурации на настенных ящиках AMTRON от Mennekes",
|
|
36
|
+
"pt": "leia informações estatísticas e defina valores de configuração em caixas de parede AMTRON da Mennekes",
|
|
37
|
+
"nl": "lees statistische informatie en stel configuratiewaarden in op AMTRON wallboxes van Mennekes",
|
|
38
|
+
"fr": "lire les informations statistiques et définir les valeurs de configuration sur les boîtiers muraux AMTRON de Mennekes",
|
|
39
|
+
"it": "leggere le informazioni statistiche e impostare i valori di configurazione sulle wallbox AMTRON di Mennekes",
|
|
40
|
+
"es": "leer información estadística y establecer valores de configuración en los wallboxes AMTRON de Mennekes",
|
|
41
|
+
"pl": "odczytywanie informacji statystycznych i ustawianie wartości konfiguracyjnych w stacjach naściennych AMTRON firmy Mennekes",
|
|
42
|
+
"zh-cn": "从 Mennekes 读取 AMTRON 墙盒上的统计信息并设置配置值"
|
|
43
|
+
},
|
|
44
|
+
"platform": "Javascript/Node.js",
|
|
45
|
+
"mode": "daemon",
|
|
46
|
+
"icon": "amtronwallbox.png",
|
|
47
|
+
"enabled": true,
|
|
48
|
+
"messagebox": true,
|
|
49
|
+
"extIcon": "https://raw.githubusercontent.com/rg-engineering/ioBroker.amtronwallbox/master/admin/amtronwallbox.png",
|
|
50
|
+
"keywords": [
|
|
51
|
+
"amtron",
|
|
52
|
+
"mennekes",
|
|
53
|
+
"wallbox"
|
|
54
|
+
],
|
|
55
|
+
"readme": "https://github.com/rg-engineering/ioBroker.amtronwallbox/blob/master/README.md",
|
|
56
|
+
"loglevel": "info",
|
|
57
|
+
"stopBeforeUpdate": true,
|
|
58
|
+
"type": "energy",
|
|
59
|
+
"license": "MIT",
|
|
60
|
+
"materialize": true,
|
|
61
|
+
"dependencies": [
|
|
62
|
+
{
|
|
63
|
+
"js-controller": ">=2.0.0"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"plugins": {
|
|
67
|
+
"sentry": {
|
|
68
|
+
"dsn": "https://bb7e6f51a1274ced81576d84f82f667e@o390433.ingest.sentry.io/5434784"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"compact": true,
|
|
72
|
+
"authors": [
|
|
73
|
+
{
|
|
74
|
+
"name": "René G.",
|
|
75
|
+
"email": "info@rg-engineering.eu"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"connectionType": "local",
|
|
79
|
+
"dataSource": "push",
|
|
80
|
+
"adminUI": {
|
|
81
|
+
"config": "materialize"
|
|
82
|
+
},
|
|
83
|
+
"messages": []
|
|
84
|
+
},
|
|
85
|
+
"native": {
|
|
86
|
+
"WallboxSystems": [],
|
|
87
|
+
"readInterval": 5
|
|
88
|
+
}
|
|
89
|
+
}
|