iobroker.volvo 0.1.0 → 0.1.2
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/.create-adapter.json +35 -0
- package/.eslintignore +3 -0
- package/.github/workflows/test-and-release.yml +52 -115
- package/.prettierignore +2 -0
- package/.prettierrc.js +9 -0
- package/.releaseconfig.json +3 -0
- package/LICENSE +1 -1
- package/README.md +19 -13
- package/io-package.json +17 -22
- package/lib/extractKeys.js +155 -155
- package/lib/tools.js +43 -43
- package/main.js +248 -208
- package/main.test.js +13 -13
- package/package.json +15 -22
- package/lib/json2iob.js +0 -294
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cli": true,
|
|
3
|
+
"target": "directory",
|
|
4
|
+
"adapterName": "frigate",
|
|
5
|
+
"title": "Frigate",
|
|
6
|
+
"description": "Adapter for Frigate",
|
|
7
|
+
"keywords": ["frigate", "ki", "detection"],
|
|
8
|
+
"contributors": ["Bettman66"],
|
|
9
|
+
"expert": "yes",
|
|
10
|
+
"features": ["adapter"],
|
|
11
|
+
"adminFeatures": [],
|
|
12
|
+
"type": "alarm",
|
|
13
|
+
"startMode": "daemon",
|
|
14
|
+
"connectionType": "local",
|
|
15
|
+
"dataSource": "push",
|
|
16
|
+
"connectionIndicator": "yes",
|
|
17
|
+
"language": "JavaScript",
|
|
18
|
+
"nodeVersion": "18",
|
|
19
|
+
"adminUi": "json",
|
|
20
|
+
"tools": ["ESLint", "type checking", "Prettier"],
|
|
21
|
+
"releaseScript": "yes",
|
|
22
|
+
"devServer": "no",
|
|
23
|
+
"indentation": "Space (4)",
|
|
24
|
+
"quotes": "single",
|
|
25
|
+
"es6class": "yes",
|
|
26
|
+
"authorName": "TA2k",
|
|
27
|
+
"authorGithub": "iobroker-community-adapters",
|
|
28
|
+
"authorEmail": "tombox2020@gmail.com",
|
|
29
|
+
"gitRemoteProtocol": "HTTPS",
|
|
30
|
+
"gitCommit": "no",
|
|
31
|
+
"defaultBranch": "main",
|
|
32
|
+
"license": "MIT License",
|
|
33
|
+
"dependabot": "yes",
|
|
34
|
+
"creatorVersion": "2.6.1"
|
|
35
|
+
}
|
package/.eslintignore
ADDED
|
@@ -5,14 +5,19 @@ name: Test and Release
|
|
|
5
5
|
on:
|
|
6
6
|
push:
|
|
7
7
|
branches:
|
|
8
|
-
-
|
|
8
|
+
- '*'
|
|
9
9
|
tags:
|
|
10
10
|
# normal versions
|
|
11
|
-
-
|
|
11
|
+
- 'v[0-9]+.[0-9]+.[0-9]+'
|
|
12
12
|
# pre-releases
|
|
13
|
-
-
|
|
13
|
+
- 'v[0-9]+.[0-9]+.[0-9]+-**'
|
|
14
14
|
pull_request: {}
|
|
15
15
|
|
|
16
|
+
# Cancel previous PR/branch runs when a new commit is pushed
|
|
17
|
+
concurrency:
|
|
18
|
+
group: ${{ github.ref }}
|
|
19
|
+
cancel-in-progress: true
|
|
20
|
+
|
|
16
21
|
jobs:
|
|
17
22
|
# Performs quick checks before the expensive test runs
|
|
18
23
|
check-and-lint:
|
|
@@ -20,135 +25,67 @@ jobs:
|
|
|
20
25
|
|
|
21
26
|
runs-on: ubuntu-latest
|
|
22
27
|
|
|
23
|
-
strategy:
|
|
24
|
-
matrix:
|
|
25
|
-
node-version: [16.x]
|
|
26
|
-
|
|
27
28
|
steps:
|
|
28
|
-
-
|
|
29
|
-
uses: actions/checkout@v2
|
|
30
|
-
|
|
31
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
32
|
-
uses: actions/setup-node@v1
|
|
29
|
+
- uses: ioBroker/testing-action-check@v1
|
|
33
30
|
with:
|
|
34
|
-
node-version:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- name: Lint source code
|
|
40
|
-
run: npm run lint
|
|
41
|
-
- name: Test package files
|
|
42
|
-
run: npm run test:package
|
|
31
|
+
node-version: '20.x'
|
|
32
|
+
# Uncomment the following line if your adapter cannot be installed using 'npm ci'
|
|
33
|
+
# install-command: 'npm install'
|
|
34
|
+
lint: true
|
|
43
35
|
|
|
44
36
|
# Runs adapter tests on all supported node versions and OSes
|
|
45
37
|
adapter-tests:
|
|
46
38
|
if: contains(github.event.head_commit.message, '[skip ci]') == false
|
|
47
39
|
|
|
48
|
-
needs: [check-and-lint]
|
|
49
|
-
|
|
50
40
|
runs-on: ${{ matrix.os }}
|
|
51
41
|
strategy:
|
|
52
42
|
matrix:
|
|
53
|
-
node-version: [18.x,
|
|
43
|
+
node-version: [18.x, 20.x, 22.x]
|
|
54
44
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
55
45
|
|
|
56
46
|
steps:
|
|
57
|
-
-
|
|
58
|
-
uses: actions/checkout@v2
|
|
59
|
-
|
|
60
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
61
|
-
uses: actions/setup-node@v1
|
|
47
|
+
- uses: ioBroker/testing-action-adapter@v1
|
|
62
48
|
with:
|
|
63
49
|
node-version: ${{ matrix.node-version }}
|
|
50
|
+
os: ${{ matrix.os }}
|
|
51
|
+
# Uncomment the following line if your adapter cannot be installed using 'npm ci'
|
|
52
|
+
# install-command: 'npm install'
|
|
64
53
|
|
|
65
|
-
|
|
66
|
-
|
|
54
|
+
# TODO: To enable automatic npm releases, create a token on npmjs.org
|
|
55
|
+
# Enter this token as a GitHub secret (with name NPM_TOKEN) in the repository options
|
|
56
|
+
# Then uncomment the following block:
|
|
67
57
|
|
|
68
|
-
|
|
69
|
-
|
|
58
|
+
# Deploys the final package to NPM
|
|
59
|
+
deploy:
|
|
60
|
+
needs: [check-and-lint, adapter-tests]
|
|
70
61
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
62
|
+
# Trigger this step only when a commit on any branch is tagged with a version number
|
|
63
|
+
if: |
|
|
64
|
+
contains(github.event.head_commit.message, '[skip ci]') == false &&
|
|
65
|
+
github.event_name == 'push' &&
|
|
66
|
+
startsWith(github.ref, 'refs/tags/v')
|
|
74
67
|
|
|
75
|
-
|
|
76
|
-
if: startsWith(runner.OS, 'windows')
|
|
77
|
-
run: set DEBUG=testing:* & npm run test:integration
|
|
78
|
-
# TODO: To enable automatic npm releases, create a token on npmjs.org
|
|
79
|
-
# Enter this token as a GitHub secret (with name NPM_TOKEN) in the repository options
|
|
80
|
-
# Then uncomment the following block:
|
|
68
|
+
runs-on: ubuntu-latest
|
|
81
69
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
#
|
|
91
|
-
#
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
#
|
|
95
|
-
#
|
|
96
|
-
#
|
|
97
|
-
#
|
|
98
|
-
#
|
|
99
|
-
#
|
|
100
|
-
#
|
|
101
|
-
#
|
|
102
|
-
#
|
|
103
|
-
#
|
|
104
|
-
# node-version: ${{ matrix.node-version }}
|
|
105
|
-
#
|
|
106
|
-
# - name: Extract the version and commit body from the tag
|
|
107
|
-
# id: extract_release
|
|
108
|
-
# # The body may be multiline, therefore newlines and % need to be escaped
|
|
109
|
-
# run: |
|
|
110
|
-
# VERSION="${{ github.ref }}"
|
|
111
|
-
# VERSION=${VERSION##*/v}
|
|
112
|
-
# echo "::set-output name=VERSION::$VERSION"
|
|
113
|
-
# BODY=$(git show -s --format=%b)
|
|
114
|
-
# BODY="${BODY//'%'/'%25'}"
|
|
115
|
-
# BODY="${BODY//$'\n'/'%0A'}"
|
|
116
|
-
# BODY="${BODY//$'\r'/'%0D'}"
|
|
117
|
-
# echo "::set-output name=BODY::$BODY"
|
|
118
|
-
#
|
|
119
|
-
# - name: Publish package to npm
|
|
120
|
-
# run: |
|
|
121
|
-
# npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
|
|
122
|
-
# npm whoami
|
|
123
|
-
# npm publish
|
|
124
|
-
#
|
|
125
|
-
# - name: Create Github Release
|
|
126
|
-
# uses: actions/create-release@v1
|
|
127
|
-
# env:
|
|
128
|
-
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
129
|
-
# with:
|
|
130
|
-
# tag_name: ${{ github.ref }}
|
|
131
|
-
# release_name: Release v${{ steps.extract_release.outputs.VERSION }}
|
|
132
|
-
# draft: false
|
|
133
|
-
# # Prerelease versions create prereleases on Github
|
|
134
|
-
# prerelease: ${{ contains(steps.extract_release.outputs.VERSION, '-') }}
|
|
135
|
-
# body: ${{ steps.extract_release.outputs.BODY }}
|
|
136
|
-
#
|
|
137
|
-
# # When using Sentry for error reporting, Sentry could be informed about new releases
|
|
138
|
-
# # To enable create a API-Token in Sentry (User settings, API keys)
|
|
139
|
-
# # Enter this token as a GitHub secret (with name SENTRY_AUTH_TOKEN) in the repository options
|
|
140
|
-
# # Then uncomment and customize the following block:
|
|
141
|
-
# #- name: Notify Sentry.io about the release
|
|
142
|
-
# # run: |
|
|
143
|
-
# # npm i -g @sentry/cli
|
|
144
|
-
# # export SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
145
|
-
# # export SENTRY_URL=https://sentry.iobroker.net
|
|
146
|
-
# # export SENTRY_ORG=iobroker
|
|
147
|
-
# # export SENTRY_PROJECT=iobroker-volvo
|
|
148
|
-
# # export SENTRY_VERSION=iobroker.volvo@${{ steps.extract_release.outputs.VERSION }}
|
|
149
|
-
# # sentry-cli releases new $SENTRY_VERSION
|
|
150
|
-
# # sentry-cli releases finalize $SENTRY_VERSION
|
|
151
|
-
# # # Add the following line BEFORE finalize if repositories are connected in Sentry
|
|
152
|
-
# # #sentry-cli releases set-commits $SENTRY_VERSION --auto
|
|
153
|
-
# # # Add the following line BEFORE finalize if sourcemap uploads are needed
|
|
154
|
-
# # #sentry-cli releases files $SENTRY_VERSION upload-sourcemaps build/
|
|
70
|
+
# Write permissions are required to create Github releases
|
|
71
|
+
permissions:
|
|
72
|
+
contents: write
|
|
73
|
+
|
|
74
|
+
steps:
|
|
75
|
+
- uses: ioBroker/testing-action-deploy@v1
|
|
76
|
+
with:
|
|
77
|
+
node-version: '18.x'
|
|
78
|
+
# Uncomment the following line if your adapter cannot be installed using 'npm ci'
|
|
79
|
+
# install-command: 'npm install'
|
|
80
|
+
npm-token: ${{ secrets.NPM_TOKEN }}
|
|
81
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
82
|
+
# # When using Sentry for error reporting, Sentry can be informed about new releases
|
|
83
|
+
# # To enable create a API-Token in Sentry (User settings, API keys)
|
|
84
|
+
# # Enter this token as a GitHub secret (with name SENTRY_AUTH_TOKEN) in the repository options
|
|
85
|
+
# # Then uncomment and customize the following block:
|
|
86
|
+
# sentry: true
|
|
87
|
+
# sentry-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
|
88
|
+
# sentry-project: "iobroker-volvo"
|
|
89
|
+
# sentry-version-prefix: "iobroker.volvo"
|
|
90
|
+
# # If your sentry project is linked to a GitHub repository, you can enable the following option
|
|
91
|
+
# # sentry-github-integration: true
|
package/.prettierignore
ADDED
package/.prettierrc.js
ADDED
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2020 TA2k <tombox2020@gmail.com>
|
|
3
|
+
Copyright (c) 2020-2030 TA2k <tombox2020@gmail.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
[](https://nodei.co/npm/iobroker.volvo/)
|
|
13
13
|
|
|
14
14
|
**Tests:** 
|
|
15
|
+
|
|
15
16
|
## volvo adapter for ioBroker
|
|
16
17
|
|
|
17
18
|
Volvo On Call and new Electric API for Android Automotive Cars Adapter
|
|
@@ -20,10 +21,9 @@ Volvo On Call and new Electric API for Android Automotive Cars Adapter
|
|
|
20
21
|
|
|
21
22
|
Non Eletric car can login via username and password.
|
|
22
23
|
|
|
23
|
-
|
|
24
24
|
## Eletric Android Automotive Cars need a VCC API Key
|
|
25
25
|
|
|
26
|
-
Register/Login into
|
|
26
|
+
Register/Login into
|
|
27
27
|
<https://developer.volvocars.com/account/>
|
|
28
28
|
|
|
29
29
|
You need a Google or Github Account this is not related to you APP Credentials
|
|
@@ -39,45 +39,51 @@ Paste the API Key in the Instance settings
|
|
|
39
39
|
Enter Volvoe App Username and password.
|
|
40
40
|
|
|
41
41
|
## Controling Eletric Android
|
|
42
|
-
Controlling Eletric Android with the volvo.0.id.remote is not possible at the moment. The commands are send succeful to the API and are accepted but it looks like the API is not complete to control the car.
|
|
43
42
|
|
|
43
|
+
Controlling Eletric Android with the volvo.0.id.remote is not possible at the moment. The commands are send succeful to the API and are accepted but it looks like the API is not complete to control the car.
|
|
44
44
|
|
|
45
45
|
## Getting started
|
|
46
46
|
|
|
47
47
|
Use objects under remote to control the vehicle
|
|
48
48
|
|
|
49
|
+
## Changelog
|
|
50
|
+
### 0.1.2 (2024-05-02)
|
|
51
|
+
|
|
52
|
+
- added support for v2 api
|
|
49
53
|
|
|
54
|
+
### 0.1.1
|
|
50
55
|
|
|
51
|
-
|
|
56
|
+
- added location api information
|
|
52
57
|
|
|
53
58
|
### 0.1.0
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
- (TA2k) add new api for electric cars
|
|
61
|
+
|
|
56
62
|
### 0.0.6
|
|
57
63
|
|
|
58
|
-
|
|
59
|
-
|
|
64
|
+
- (TA2k) fix trip object naming
|
|
65
|
+
|
|
60
66
|
### 0.0.5
|
|
61
67
|
|
|
62
|
-
|
|
68
|
+
- (TA2k) fix receiving data
|
|
63
69
|
|
|
64
70
|
### 0.0.4
|
|
65
71
|
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
- (TA2k) fix jscontroller
|
|
73
|
+
|
|
68
74
|
### 0.0.3
|
|
69
75
|
|
|
70
|
-
|
|
76
|
+
- (TA2k) fix preclimate
|
|
71
77
|
|
|
72
78
|
### 0.0.2
|
|
73
79
|
|
|
74
|
-
|
|
80
|
+
- (TA2k) initial release
|
|
75
81
|
|
|
76
82
|
## License
|
|
77
83
|
|
|
78
84
|
MIT License
|
|
79
85
|
|
|
80
|
-
Copyright (c) 2020 TA2k <tombox2020@gmail.com>
|
|
86
|
+
Copyright (c) 2020-2030 TA2k <tombox2020@gmail.com>
|
|
81
87
|
|
|
82
88
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
83
89
|
of this software and associated documentation files (the "Software"), to deal
|
package/io-package.json
CHANGED
|
@@ -1,34 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "volvo",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.1.2": {
|
|
7
|
+
"en": "added support for v2 api",
|
|
8
|
+
"de": "Unterstützung für v2 api hinzugefügt",
|
|
9
|
+
"ru": "дополнительная поддержка v2 api",
|
|
10
|
+
"pt": "suporte adicionado para v2 api",
|
|
11
|
+
"nl": "toegevoegde ondersteuning voor v2 api",
|
|
12
|
+
"fr": "soutien supplémentaire pour v2 api",
|
|
13
|
+
"it": "supporto aggiunto per v2 api",
|
|
14
|
+
"es": "soporte añadido para v2 api",
|
|
15
|
+
"pl": "dodane wsparcie dla api v2",
|
|
16
|
+
"uk": "додано підтримку v2 api",
|
|
17
|
+
"zh-cn": "为 v2 api 添加支持"
|
|
18
|
+
},
|
|
19
|
+
"0.1.1": {
|
|
20
|
+
"en": "add location API for electric cars"
|
|
21
|
+
},
|
|
6
22
|
"0.1.0": {
|
|
7
23
|
"en": "add new API for electric cars"
|
|
8
24
|
},
|
|
9
25
|
"0.0.6": {
|
|
10
26
|
"en": "fix trip objects naming"
|
|
11
|
-
},
|
|
12
|
-
"0.0.5": {
|
|
13
|
-
"en": "fix receiving data"
|
|
14
|
-
},
|
|
15
|
-
"0.0.4": {
|
|
16
|
-
"en": "fix jscontroller"
|
|
17
|
-
},
|
|
18
|
-
"0.0.3": {
|
|
19
|
-
"en": "fix preclimate"
|
|
20
|
-
},
|
|
21
|
-
"0.0.2": {
|
|
22
|
-
"en": "initial release",
|
|
23
|
-
"de": "Erstveröffentlichung",
|
|
24
|
-
"ru": "Начальная версия",
|
|
25
|
-
"pt": "lançamento inicial",
|
|
26
|
-
"nl": "Eerste uitgave",
|
|
27
|
-
"fr": "Première version",
|
|
28
|
-
"it": "Versione iniziale",
|
|
29
|
-
"es": "Versión inicial",
|
|
30
|
-
"pl": "Pierwsze wydanie",
|
|
31
|
-
"zh-cn": "首次出版"
|
|
32
27
|
}
|
|
33
28
|
},
|
|
34
29
|
"title": "Volvo On Call",
|