iobroker.nibe-rest-api 0.0.3

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Maximilian Kramer <maxi_kramer@web.de>
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,192 @@
1
+ ![Logo](admin/nibe-rest-api-wide.png)
2
+
3
+ # ioBroker.nibe-rest-api
4
+
5
+ [![NPM version](https://img.shields.io/npm/v/iobroker.nibe-rest-api.svg)](https://www.npmjs.com/package/iobroker.nibe-rest-api)
6
+ [![Downloads](https://img.shields.io/npm/dm/iobroker.nibe-rest-api.svg)](https://www.npmjs.com/package/iobroker.nibe-rest-api)
7
+ ![Number of Installations](https://iobroker.live/badges/nibe-rest-api-installed.svg)
8
+ ![Current version in stable repository](https://iobroker.live/badges/nibe-rest-api-stable.svg)
9
+
10
+ [![NPM](https://nodei.co/npm/iobroker.nibe-rest-api.png?downloads=true)](https://nodei.co/npm/iobroker.nibe-rest-api/)
11
+
12
+ **Tests:** ![Test and Release](https://github.com/maxik690/ioBroker.nibe-rest-api/workflows/Test%20and%20Release/badge.svg)
13
+
14
+ ## nibe-rest-api adapter for ioBroker
15
+
16
+ Read and write datapoints of your Nibe Heatpump via REST API (integrated from Firmware 4.6.4). Developed with my Nibe S1155.
17
+
18
+ ## Configuration
19
+
20
+ Configure the adapter with the URL of your local NIBE API, for example `https://192.168.2.107:8443`.
21
+
22
+ - `Username` and `Password`: Used for HTTP Basic authentication.
23
+ - `Basic auth hash`: Optional alternative to username/password. If set, it is sent directly after `Basic `.
24
+ - `Poll interval`: Refresh interval in seconds.
25
+ - `Device IDs`: Optional comma-separated device indexes or serial numbers. Empty means all devices.
26
+ - `Ignore TLS certificate errors`: Helpful for local/self-signed HTTPS certificates.
27
+ - `Fetch notifications`: Reads active alarms and exposes them as JSON.
28
+
29
+ ## Object structure
30
+
31
+ The adapter creates one channel per detected device:
32
+
33
+ - `devices.<serial>.aidMode`
34
+ - `devices.<serial>.smartMode`
35
+ - `devices.<serial>.product.*`
36
+ - `devices.<serial>.points.<pointId>.value`
37
+ - `devices.<serial>.points.<pointId>.isOk`
38
+ - `devices.<serial>.notifications.activeCount`
39
+ - `devices.<serial>.notifications.json`
40
+
41
+ Writable values from the NIBE API are exposed as writable ioBroker states. Writing to those states sends the change back to the local REST API.
42
+
43
+ ## Developer manual
44
+
45
+ This section is intended for the developer. It can be deleted later.
46
+
47
+ ### DISCLAIMER
48
+
49
+ Please make sure that you consider copyrights and trademarks when you use names or logos of a company and add a disclaimer to your README.
50
+ You can check other adapters for examples or ask in the developer community. Using a name or logo of a company without permission may cause legal problems for you.
51
+
52
+ ### Getting started
53
+
54
+ You are almost done, only a few steps left:
55
+
56
+ 1. Create a new repository on GitHub with the name `ioBroker.nibe-rest-api`
57
+
58
+ 1. Push all files to the GitHub repo. The creator has already set up the local repository for you:
59
+ ```bash
60
+ git push origin main
61
+ ```
62
+ 1. Add a new secret under https://github.com/maxik690/ioBroker.nibe-rest-api/settings/secrets. It must be named `AUTO_MERGE_TOKEN` and contain a personal access token with push access to the repository, e.g. yours. You can create a new token under https://github.com/settings/tokens.
63
+
64
+ 1. Head over to [src/main.ts](src/main.ts) and start programming!
65
+
66
+ ### Best Practices
67
+
68
+ We've collected some [best practices](https://github.com/ioBroker/ioBroker.repositories#development-and-coding-best-practices) regarding ioBroker development and coding in general. If you're new to ioBroker or Node.js, you should
69
+ check them out. If you're already experienced, you should also take a look at them - you might learn something new :)
70
+
71
+ ### State Roles
72
+
73
+ When creating state objects, it is important to use the correct role for the state. The role defines how the state should be interpreted by visualizations and other adapters. For a list of available roles and their meanings, please refer to the [state roles documentation](https://www.iobroker.net/#en/documentation/dev/stateroles.md).
74
+
75
+ **Important:** Do not invent your own custom role names. If you need a role that is not part of the official list, please contact the ioBroker developer community for guidance and discussion about adding new roles.
76
+
77
+ ### Scripts in `package.json`
78
+
79
+ Several npm scripts are predefined for your convenience. You can run them using `npm run <scriptname>`
80
+ | Script name | Description |
81
+ |-------------|-------------|
82
+ | `build` | Compile the TypeScript sources. |
83
+ | `watch` | Compile the TypeScript sources and watch for changes. |
84
+ | `test:ts` | Executes the tests you defined in `*.test.ts` files. |
85
+ | `test:package` | Ensures your `package.json` and `io-package.json` are valid. |
86
+ | `test:integration` | Tests the adapter startup with an actual instance of ioBroker. |
87
+ | `test` | Performs a minimal test run on package files and your tests. |
88
+ | `check` | Performs a type-check on your code (without compiling anything). |
89
+ | `lint` | Runs `ESLint` to check your code for formatting errors and potential bugs. |
90
+ | `translate` | Translates texts in your adapter to all required languages, see [`@iobroker/adapter-dev`](https://github.com/ioBroker/adapter-dev#manage-translations) for more details. |
91
+ | `release` | Creates a new release, see [`@alcalzone/release-script`](https://github.com/AlCalzone/release-script#usage) for more details. |
92
+
93
+ ### Configuring the compilation
94
+
95
+ The adapter template uses [esbuild](https://esbuild.github.io/) to compile TypeScript and/or React code. You can configure many compilation settings
96
+ either in `tsconfig.json` or by changing options for the build tasks. These options are described in detail in the
97
+ [`@iobroker/adapter-dev` documentation](https://github.com/ioBroker/adapter-dev#compile-adapter-files).
98
+
99
+ ### Writing tests
100
+
101
+ When done right, testing code is invaluable, because it gives you the
102
+ confidence to change your code while knowing exactly if and when
103
+ something breaks. A good read on the topic of test-driven development
104
+ is https://hackernoon.com/introduction-to-test-driven-development-tdd-61a13bc92d92.
105
+ Although writing tests before the code might seem strange at first, but it has very
106
+ clear upsides.
107
+
108
+ The template provides you with basic tests for the adapter startup and package files.
109
+ It is recommended that you add your own tests into the mix.
110
+
111
+ ### Publishing the adapter
112
+
113
+ Using GitHub Actions, you can enable automatic releases on npm whenever you push a new git tag that matches the form
114
+ `v<major>.<minor>.<patch>`. We **strongly recommend** that you do. The necessary steps are described in `.github/workflows/test-and-release.yml`.
115
+
116
+ Since you installed the release script, you can create a new
117
+ release simply by calling:
118
+
119
+ ```bash
120
+ npm run release
121
+ ```
122
+
123
+ Additional command line options for the release script are explained in the
124
+ [release-script documentation](https://github.com/AlCalzone/release-script#command-line).
125
+
126
+ To get your adapter released in ioBroker, please refer to the documentation
127
+ of [ioBroker.repositories](https://github.com/ioBroker/ioBroker.repositories#requirements-for-adapter-to-get-added-to-the-latest-repository).
128
+
129
+ ### Test the adapter manually with dev-server
130
+
131
+ Since you set up `dev-server`, you can use it to run, test and debug your adapter.
132
+
133
+ You may start `dev-server` by calling from your dev directory:
134
+
135
+ ```bash
136
+ dev-server watch
137
+ ```
138
+
139
+ The ioBroker.admin interface will then be available at http://localhost:undefined/
140
+
141
+ Please refer to the [`dev-server` documentation](https://github.com/ioBroker/dev-server#command-line) for more details.
142
+
143
+ ## Acknowledgements
144
+
145
+ Special thanks to Matthias Kleine from haus-automatisierung.com for inspiration and valuable input around ioBroker and other home automation topics and to OpenAI Codex for support during development.
146
+
147
+ ## Changelog
148
+
149
+ <!--
150
+ Placeholder for the next version (at the beginning of the line):
151
+ ### **WORK IN PROGRESS**
152
+ -->
153
+ ### 0.0.3 (2026-03-21)
154
+
155
+ - (Maximilian Kramer) bump minor version
156
+
157
+ ### 0.0.2 (2026-03-21)
158
+
159
+ - (Maximilian Kramer) initial release
160
+
161
+ ## License
162
+
163
+ MIT License
164
+
165
+ Copyright (c) 2026 Maximilian Kramer <maxi_kramer@web.de>
166
+
167
+ Permission is hereby granted, free of charge, to any person obtaining a copy
168
+ of this software and associated documentation files (the "Software"), to deal
169
+ in the Software without restriction, including without limitation the rights
170
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
171
+ copies of the Software, and to permit persons to whom the Software is
172
+ furnished to do so, subject to the following conditions:
173
+
174
+ The above copyright notice and this permission notice shall be included in all
175
+ copies or substantial portions of the Software.
176
+
177
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
178
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
179
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
180
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
181
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
182
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
183
+ SOFTWARE.
184
+
185
+ ## Trademark Notice
186
+
187
+ NIBE® and the NIBE logo are trademarks of NIBE AB.
188
+
189
+ This ioBroker adapter is an independent project and is not affiliated with,
190
+ sponsored by, or endorsed by NIBE AB.
191
+
192
+ The logo is used for identification purposes only.