iobroker.tr-064 4.2.18 → 5.0.0

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.
Files changed (47) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +124 -192
  3. package/admin/i18n/de.json +28 -0
  4. package/admin/i18n/en.json +28 -0
  5. package/admin/i18n/es.json +28 -0
  6. package/admin/i18n/fr.json +28 -0
  7. package/admin/i18n/it.json +28 -0
  8. package/admin/i18n/nl.json +28 -0
  9. package/admin/i18n/pl.json +28 -0
  10. package/admin/i18n/pt.json +28 -0
  11. package/admin/i18n/ru.json +28 -0
  12. package/admin/i18n/uk.json +28 -0
  13. package/admin/i18n/zh-cn.json +28 -0
  14. package/admin/jsonConfig.json +303 -0
  15. package/admin/tr-064.svg +5 -0
  16. package/build/lib/calllist.js +328 -0
  17. package/build/lib/calllist.js.map +1 -0
  18. package/build/lib/callmonitor.js +234 -0
  19. package/build/lib/callmonitor.js.map +1 -0
  20. package/build/lib/deflections.js +211 -0
  21. package/build/lib/deflections.js.map +1 -0
  22. package/build/lib/devices.js +419 -0
  23. package/build/lib/devices.js.map +1 -0
  24. package/build/lib/phonebook.js +222 -0
  25. package/build/lib/phonebook.js.map +1 -0
  26. package/build/lib/states.js +67 -0
  27. package/build/lib/states.js.map +1 -0
  28. package/build/lib/systemdata.js +60 -0
  29. package/build/lib/systemdata.js.map +1 -0
  30. package/build/lib/tr064.js +460 -0
  31. package/build/lib/tr064.js.map +1 -0
  32. package/build/lib/types.js +11 -0
  33. package/build/lib/types.js.map +1 -0
  34. package/build/lib/utils.js +240 -0
  35. package/build/lib/utils.js.map +1 -0
  36. package/build/main.js +710 -0
  37. package/build/main.js.map +1 -0
  38. package/io-package.json +55 -45
  39. package/package.json +39 -34
  40. package/admin/index_m.html +0 -654
  41. package/admin/words.js +0 -64
  42. package/lib/calllist.js +0 -334
  43. package/lib/callmonitor.js +0 -250
  44. package/lib/deflections.js +0 -263
  45. package/lib/devices.js +0 -558
  46. package/lib/phonebook.js +0 -273
  47. package/main.js +0 -1291
package/LICENSE CHANGED
@@ -1,5 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
+ Copyright (c) 2023-2026 iobroker-community-adapters <iobroker-community-adapters@gmx.de>
3
4
  Copyright (c) 2015-2023 soef <soef@gmx.net>
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
- ![Logo](admin/tr-064.png)
1
+ <img src="admin/tr-064.svg" width="128" height="128">
2
+
2
3
  # ioBroker.tr-064
3
4
 
4
5
  ![Number of Installations](http://iobroker.live/badges/tr-064-installed.svg)
@@ -9,100 +10,97 @@
9
10
  [![Translation status](https://weblate.iobroker.net/widgets/adapters/-/tr-064/svg-badge.svg)](https://weblate.iobroker.net/engage/adapters/?utm_source=widget)
10
11
  [![Downloads](https://img.shields.io/npm/dm/iobroker.tr-064.svg)](https://www.npmjs.com/package/iobroker.tr-064)
11
12
 
12
-
13
- ***This adapter requires at least Node 8.x***
14
-
15
- **This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** 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.
13
+ **This adapter uses the Sentry libraries. These libraries report exceptions and code errors automatically to the developers.** For more details, and for information about how to switch off the error reporting, see the [documentation of the Sentry plugin](https://github.com/ioBroker/plugin-sentry#plugin-sentry). The Sentry reporting is used from js-controller 3.0 on.
16
14
 
17
15
  ## Info
18
- This adapter reads main information from AVM Fritz!Box, like call list or number of messages on answering machine.
19
- Based on this [AVM documentations](https://avm.de/service/schnittstellen/)
20
16
 
21
- ## Needed Settings in your Fritzbox:
22
- * You need to change the Login to "Use Username and password"
23
- * The maximum relevant password length for FritzBox is 32 characters! FritzBox cuts the password silently in the UI. Please make sure to enter only the 32 relevant characters in the adapter configuration
24
- * Create a user and allow him to "control the Fritzbox and settings"
25
- * Enable Application Access (on Network tab). Click flow in german: Netzwerk ->Heimnetzfreigaben -> Zugriff für Anwendungen -> aktiviert
26
- * If you want to use the "ring" function you need to set additional settings (see below)
17
+ This adapter reads the most important information from an AVM Fritz!Box. Examples are the call list and the number of messages on the answering machine.
27
18
 
28
- ## Initial Creation
29
- This adapter was initially created by @soef at https://github.com/soef/ioBroker.tr-064 but not maintained any more, so we moved it to iobroker-community so that bugs could be fixed. thanks @soef for his work.
19
+ The adapter is based on the [FRITZ! interface documentation](https://fritz.com/pages/schnittstellen/).
30
20
 
31
- ## How to migrate from tr-064-community (intermediate version and name)
32
- If you move from tr-064-community adapters you can easily copy whole device list or settings by:
33
- * Go in admin to objects and enable expert mode
34
- * Look for an object tree which is called system.adapter.tr-064-community.0 (where 0 is the instance, if you had multiple instances select the right one)
35
- * On the very right of this line is a button with a pencil, click on it
36
- * On the window you get select "raw (experts only)" and there copy the NATIVE part of the json
37
- * then open system.adapter.tr-064.0 (where 0 is the instance, if you had multiple instances select the right one)
38
- * paste the copied native part in there in native
39
- * save the changes
40
- * start the adapter
41
- * check configuration if anything was restored correctly
21
+ ## Required settings in your Fritz!Box
22
+
23
+ - Change the login method to "Use user name and password".
24
+ - The Fritz!Box uses a maximum of 32 characters of the password. The Fritz!Box shortens longer passwords in its own user interface without a warning. Therefore, enter only these 32 characters in the configuration of the adapter.
25
+ - Create a user and give this user the permission to control the Fritz!Box and its settings.
26
+ - Switch on the access for applications on the "Network" tab. In the German user interface, the path is: `Netzwerk` -> `Heimnetzfreigaben` -> `Zugriff für Anwendungen` -> `aktiviert`.
27
+ - If you want to use the `ring` function, you must configure additional settings. See the section [ring (dial a number)](#ring-dial-a-number).
42
28
 
43
29
  ## Features
30
+
44
31
  ### Simple states and functions
45
- - turn on/off wifi for 2.4GHz and 5GHz,
46
- - turn on/off guest wifi,
47
- - reboot Fritz!Box,
48
- - start WPS process,
49
- - reconnect Internet
50
- - external ip address
32
+
33
+ - Switch the Wi-Fi for 2.4 GHz and 5 GHz on and off
34
+ - Switch the guest Wi-Fi on and off
35
+ - Restart the Fritz!Box
36
+ - Start the WPS process
37
+ - Reconnect the internet connection
38
+ - Read the external IP address
51
39
 
52
40
  ### ring (dial a number)
53
- - When using an internal number (like **610) the ring state will let ring that internal phone. E.g.: **610[,timeout]
54
- - When using an external number, the ring state will connect you to the external number.
55
- The Fritz!Box will call the external number and your default phone will ring, when the called phone is picked up.
56
- The default phone can be configured in the Fritz!Box under:
57
- Telefonie/Anrufe/[Tab]Wahlhilfe/Wählhilfe verwenden . Please also make sure to choose "Verbindung mit dem Telefon ISDN- und Schnurlostelefone"
41
+
42
+ - If you use an internal number, for example `**610`, the state `ring` lets this internal telephone ring. Example: `**610[,timeout]`
43
+ - If you use an external number, the state `ring` connects you with this external number. The Fritz!Box calls the external number, and your default telephone rings as soon as the called person picks up the telephone.
44
+
45
+ You can configure the default telephone in the Fritz!Box. In the German user interface, the path is: `Telefonie` -> `Anrufe` -> `Wahlhilfe` -> `Wählhilfe verwenden`. Select there also the option `Verbindung mit dem Telefon ISDN- und Schnurlostelefone`.
58
46
 
59
47
  ### toPauseState
60
- - Values: ring, connect, end
61
- - Can be used to pause a video player on an incoming call (ring), or on pick up the phone (connect).
62
- - Resume can be done on the end value.
48
+
49
+ - Possible values: `ring`, `connect`, `end`
50
+ - You can use this state to pause a video player on an incoming call (`ring`), or when somebody picks up the telephone (`connect`).
51
+ - You can continue the playback on the value `end`.
63
52
 
64
53
  ### Presence
65
- To monitor the presence of persons in your home, so to control once anyone of your family/roommate is leaving or arriving, you can use this adapter as follows:
66
- - Enter the Adapter options and switch to the 'Devices' tab
67
- - Add all devices (like smart phones) of your family/roommate members accordingly, and confirm with 'Save'.
68
- - For each device, the adapter will now create a folder structure under the ioBroker Objects of the adapter, typically in the folder "tr-064.0.devices"
69
- - Now once anyone is arriving or leaving, this adapter will get the information accordingly. For example, the state "tr-064.0.devices.xxx.active", where xxx is the device name, will indicate if the specific device is available or not, so if the person is present or not. User feedback is that this works reliable for iOS devices as well, like with iPhones. For iPhones, user feedback is that it takes up to 10 minutes until the Fritz!Box notices that a person left and is no longer connected with WiFi, and it takes up to 1 minute until the Fritz!Box will notice the presence again.
70
54
 
71
- Also, a script was published by the ioBroker community which uses this adapter information to trigger actions (e.g. everyone left home, so turn off everything automatically, see number of persons currently being present, or person status in general, via VIS, etc.). See [ioBroker forum thread](https://forum.iobroker.net/topic/4538/anwesenheitscontrol-basierend-auf-tr64-adapter-script) (in German)
55
+ You can use this adapter to monitor the presence of persons in your home. In this way you see when a member of your family or a roommate leaves the home or comes back:
56
+
57
+ - Open the settings of the adapter and switch to the tab "Devices".
58
+ - Add all devices of your family members or roommates, for example, their smartphones, and confirm with "Save".
59
+ - For every device, the adapter creates a folder structure in the objects of the adapter. Normally this is the folder `tr-064.0.devices`.
60
+ - As soon as somebody arrives or leaves, the adapter gets this information. The state `tr-064.0.devices.xxx.active`, where `xxx` is the name of the device, shows whether this device is available, and therefore whether the person is at home.
61
+
62
+ You can also switch on the option "Use mDNS to discover new devices". If mDNS is used, the adapter does not need to poll the Fritz!Box, and it detects changes faster.
72
63
 
73
- ### AB - `Anrufbeantworter` (answering machine)
74
- Can be switched on/off.
75
- The state cbIndex can be set, to address # of the answering machine.
64
+ Users report that the detection also works reliably for iOS devices, for example, for iPhones. For iPhones, users report that the Fritz!Box needs up to 10 minutes to detect that a person has left and is no longer connected with the Wi-Fi. The Fritz!Box needs up to 1 minute to detect the presence again.
65
+
66
+ The ioBroker community has published a script that uses this information of the adapter to trigger actions. Examples are: switch off everything automatically after all persons have left the home, show the number of persons that are at home, or show the status of a person in VIS. See the [thread in the ioBroker forum](https://forum.iobroker.net/topic/4538/anwesenheitscontrol-basierend-auf-tr64-adapter-script) (in German).
67
+
68
+ ### Answering machine (in German: `Anrufbeantworter`)
69
+
70
+ You can switch the answering machine on and off. With the state `cbIndex` you select the number of the answering machine.
76
71
 
77
72
  ### Call monitor
78
- The call monitor will create realtime states for every inbound and outbound call.
79
- If the phone book is enabled (default), numbers will be resolved to Names
80
- There ist also a state indicating a ringing phone.
73
+
74
+ The call monitor creates states in real time for every incoming and outgoing call. If the phone book is switched on, which is the default setting, the adapter resolves the numbers into names. There is also a state that shows a ringing telephone.
81
75
 
82
76
  ### Phone book
83
- - The phone book, if enabled, will be used to get the name of callers phone number.
84
- - Further there are three states to resolve a number or a name. If available you will also get the image URL of the contact.
85
- e.g.: if you set the state `phonebook.number` all 3 states, name, number and image will be set to the found contact. Note, searches by name will first compare the complete name, if not found, part of is used.
77
+
78
+ - If the phone book is switched on, the adapter uses it to find the name for the number of the caller.
79
+ - There are three more states to resolve a number or a name. If a picture is available, you also get the URL of the picture of the contact.
80
+
81
+ Example: if you set the state `phonebook.number`, the adapter sets all 3 states, `name`, `number` and `image`, to the values of the contact that was found. Note: for a search by name, the adapter first compares the complete name. If no contact is found, the adapter searches for a part of the name.
86
82
 
87
83
  ### Call lists
84
+
88
85
  Output formats:
86
+
89
87
  - `json`
90
88
  - `html`
91
89
 
92
- Call lists are:
90
+ The following call lists exist:
91
+
93
92
  - all calls
94
93
  - missed calls
95
- - inbound calls
96
- - outbound calls
94
+ - incoming calls
95
+ - outgoing calls
96
+
97
+ Call counter: you can set the call counter to 0. The next call increases the counter by 1.
97
98
 
98
- Call count:
99
- The call count can be set to 0. The next call will increment 1.
99
+ You can configure the HTML output with a template.
100
100
 
101
- The html output can be configured by a template.
101
+ ### The states command and commandResult
102
102
 
103
- ### command & commandResult state
104
- With the command state you can call every tr-064 command from this [documentation](https://avm.de/service/schnittstellen/).
105
- e.g.
103
+ With the state `command` you can call every tr-064 command from this [documentation](https://avm.de/service/schnittstellen/). Example:
106
104
 
107
105
  ```javascript
108
106
  command = {
@@ -115,160 +113,94 @@ command = {
115
113
  };
116
114
  ```
117
115
 
118
- The command state should be set to a JSON of the above Lines. So { ... } (without command = and line breaks)
119
- The callback of the call will set the commandResult state.
116
+ Set the state `command` to the JSON of the lines above, this means to `{ ... }`, without `command =` and without line breaks. The answer of the call is written into the state `commandResult`.
120
117
 
118
+ The following example shows how to switch the answering machine of the Fritz!Box on and off with the state `command`. For a test you can copy the text and paste it into the state `tr-064.0.states.command`.
121
119
 
122
- Here you will find an example how to switch the answering machine in the Fritzbox on and off by using the command state. For testing you can just copy & paste the string into the state tr-064.0.states.command
120
+ Switch the answering machine on:
123
121
 
124
- Switch the answering machine on:
125
122
  `{"service": "urn:dslforum-org:service:X_AVM-DE_TAM:1","action": "SetEnable", "params": {"NewIndex": "0","NewEnable": "1"}}`
126
123
 
127
- Switch the answering machine off:
128
- `{"service": "urn:dslforum-org:service:X_AVM-DE_TAM:1","action": "SetEnable", "params": {"NewIndex": "0","NewEnable": "0"}}`
129
-
130
- A detailed description of the actions and parameters for TAM you can find here https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_tam.pdf (link is contained in the AVM documentation above).
131
-
132
-
133
- ### Enable call monitor
134
- To use the call monitor feature it must be first enabled in the AVM Fritz!Box.
135
- To enable the call monitor dial ```#96*5*``` and the TCP/IP Port 1012 will be opened. To close the port dial ```#96*4*```.
136
-
137
- ## Changelog
138
- ### 4.2.18 (2023-01-04)
139
- * (Apollon77) Prepare for future js-controller verisons
140
-
141
- ### 4.2.17 (2022-09-16)
142
- * (simatec/Apollon77) Prevent duplication of entries in configuration
143
- * (Apollon77) Make sure active status of devices in jsonDeviceList is correct
124
+ Switch the answering machine off:
144
125
 
145
- ### 4.2.16 (2022-03-21)
146
- * (Apollon77) Fix info logs on callee/caller
147
- * (Apollon77) Add special handling for potential broken external image links in phonebook
148
- * (Apollon77) Prevent some crash cases reported by Sentry
149
-
150
- ### 4.2.15 (2021-12-08)
151
- * (bluefox) fix crash case (Sentry IOBROKER-TR-064-35)
152
-
153
- ### 4.2.14 (2021-07-21)
154
- * (Apollon77) Further optimizations for js-controller 3.3
155
-
156
- ### 4.2.13 (2021-07-12)
157
- * (Apollon77) Optimize for js-controller 3.3 and prevent warnings (you pot. need to delete datapoints if you still see errors, they will be recreated)
158
-
159
- ### 4.2.12 (2021-04-16)
160
- * (Apollon77) prevent html template for call lists to be overwritten by default one
161
- * (Apollon77) fix crash case (Sentry IOBROKER-TR-064-2M)
162
-
163
- ### 4.2.11 (2021-03-12)
164
- * (Apollon77) fix id-reset detection for single calls
165
-
166
- ### 4.2.10 (2021-03-11)
167
- * (Apollon77) better handle caller id resets by reboots/FW updates to also update list specific counter and log when this happened
168
-
169
- ### 4.2.9 (2021-03-10)
170
- * (Apollon77) try to better handle calllist resets on FW updates
171
- * (Apollon77) Make sure jsonDeviceList do not get deleted on start
172
- * (Apollon77) Better handle not initialized calllist templates
173
-
174
- ### 4.2.8 (2021-03-09)
175
- * (Apollon77) Optimize customized HTML templates if state is empty
176
-
177
- ### 4.2.7 (2021-03-08)
178
- * (Apollon77) Allow customized HTML templates again
179
-
180
- ### 4.2.6 (2021-02-18)
181
- * (Apollon77) Fix crash case (IOBROKER-TR-064-20)
182
- * (Apollon77) Get calllists working again
183
-
184
- ### 4.2.4 (2021-02-02)
185
- * (Apollon77) Prevent crash case (Sentry IOBROKER-TR-064-1T)
186
-
187
- ### 4.2.3 (2021-01-16)
188
- * (Apollon77) Crash case prevented (Sentry IOBROKER-TR-064-1N)
189
-
190
- ### 4.2.2 (2020-12-25)
191
- * (Apollon77) Crash case prevented (Sentry IOBROKER-TR-064-1K)
192
-
193
- ### 4.2.1 (2020-11-13)
194
- * (Apollon77) try to fix pot. not working disabling commands
195
-
196
- ### 4.2.0 (2020-11-09)
197
- * (Apollon77) Crash case prevented (Sentry IOBROKER-TR-064-15, IOBROKER-TR-064-16)
198
- * (Apollon77) Try to solve error 500 problem with offline devices
199
- * (SliX185) Add IPv6 states
200
- * (foxriver76) optimizations
201
- * (Apollon77) Fix initialization if ip/host
202
-
203
- ### 4.1.0 (2020-09-17)
204
- * (Apollon77) Fix crash case (Sentry IOBROKER-TR-064-14)
205
- * (bazidibavaria) added tablesort to device search
206
- * (bazidibavaria) added Fritzbox link to admin
207
-
208
- ### 4.0.13 (2020-08-17)
209
- * (Apollon77) Crash prevented (Sentry IOBROKER-TR-064-10)
126
+ `{"service": "urn:dslforum-org:service:X_AVM-DE_TAM:1","action": "SetEnable", "params": {"NewIndex": "0","NewEnable": "0"}}`
210
127
 
211
- ### 4.0.12 (2020-08-06)
212
- * (Apollon77) Crash prevented (Sentry IOBROKER-TR-064-Y)
128
+ You find a detailed description of the actions and of the parameters for TAM here: [x_tam.pdf](https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_tam.pdf). This link is also contained in the AVM documentation above.
213
129
 
214
- ### 4.0.11 (2020-07-26)
215
- * (Apollon77) Crash prevented (Sentry IOBROKER-TR-064-W)
130
+ ### Switch on the call monitor
216
131
 
217
- ### 4.0.9 (2020-07-01)
218
- * (Apollon77) handle cases correctly when no hosts are existing on device (Sentry IOBROKER-TR-064-R)
132
+ Before you can use the call monitor, you must switch it on in the AVM Fritz!Box. To switch the call monitor on, dial `#96*5*` on a connected telephone. The Fritz!Box then opens the TCP/IP port 1012. To close the port, dial `#96*4*`.
219
133
 
220
- ### 4.0.8 (2020-06-20)
221
- * (Apollon77) Make sure states are only subscribed if initialization is done (Sentry IOBROKER-TR-064-J)
134
+ ## Pre-release versions
222
135
 
223
- ### 4.0.7 (2020-06-09)
224
- * (Apollon77) Fix Admin UI to allow setting poll Interval correctly again
136
+ Pre-release versions are available on npm with the tag `dev`. You can install them from the root directory of ioBroker with the following commands:
225
137
 
226
- ### 4.0.4 (2020-06-05)
227
- * (Apollon77) Make sure adapter do not crash of no calls were returned (Sentry IOBROKER-TR-064-D)
228
- * (Apollon77) Make sure adapter do not crash when invalid parameter are provided (Sentry IOBROKER-TR-064-B)
229
- * (Apollon77) https is not supported right now (Sentry IOBROKER-TR-064-E)
138
+ ```bash
139
+ npm install iobroker.tr-064@dev
140
+ iobroker upload tr-064
141
+ ```
230
142
 
231
- ### 4.0.3 (2020-05-11)
232
- * (Apollon77) Make sure adapter do not crash of no calls were returned (Sentry IOBROKER-TR-064-7)
233
- * (Apollon77) Make sure adapter do not crash when providing a non string to "ring" state (Sentry IOBROKER-TR-064-8)
143
+ ## Initial creation
234
144
 
235
- ### 4.0.1 (2020-04-23)
236
- * (Apollon77) handle case where no Phone deflections are available (Sentry IOBROKER-TR-064-1/2)
145
+ @soef created this adapter at https://github.com/soef/ioBroker.tr-064. The adapter is not maintained there anymore. Therefore it was moved to iobroker-community, so that errors can be corrected. Thanks to @soef for his work.
237
146
 
238
- ### 4.0.0 (2020-04-12)
239
- * (Apollon77) update dependencies, use auto decrypt features with js-controller 3.0
240
- * (foxriver76) make callmonitor compatible with js-controller 3.0
147
+ ## How to migrate from tr-064-community (intermediate version and name)
241
148
 
242
- ### 3.1.4 (2020-01-26)
243
- * (Apollon77) fix error and check some other code check comments
244
- * (Apollon77) Add proper meta data for buttons
149
+ If you switch from the adapter tr-064-community, you can copy the complete device list and all settings:
245
150
 
246
- ### 3.1.1 (2020-01-25)
247
- * (bluefox) Configuration dialog was improved
248
- * (bluefox) Soef library was removed
151
+ - Open the objects in the admin and switch on the expert mode.
152
+ - Search for the object tree `system.adapter.tr-064-community.0`, where `0` is the number of the instance. If you had several instances, select the correct one.
153
+ - Click the button with the pencil on the right side of this line.
154
+ - In the window, select "raw (experts only)", and copy the part `native` of the JSON.
155
+ - Open `system.adapter.tr-064.0`, where `0` is the number of the instance. If you had several instances, select the correct one.
156
+ - Paste the copied content into the part `native`.
157
+ - Save the changes.
158
+ - Start the adapter.
159
+ - Check the configuration and control whether everything was restored correctly.
249
160
 
250
- ### 3.0.0 (2020-01-24)
251
- * (Apollon77) Switch Name back to tr064 because ewe got it from npmjs
252
- * (maeb3) Enhance call handling and fix wrong data for currently active calls
253
- * (Apollon77) Remove unused state phonebook.ringing
161
+ ## Changelog
162
+ <!--
163
+ Placeholder for the next version (at the beginning of the line):
164
+ ### **WORK IN PROGRESS**
165
+ -->
166
+ ### 5.0.0 (2026-09-09)
167
+ - (@GermanBluefox) The adapter does not stop any more if the Fritz!Box cannot be reached. The connection is retried every 30 seconds, and the new state `info.connection` shows whether the box answers
168
+ - (@justr1) Expected disconnects of the call monitor (`ETIMEDOUT`, `ECONNRESET`, `EPIPE`) are logged as info now, because the adapter reconnects on its own
169
+ - (@GermanBluefox) The mDNS socket is closed when the adapter stops, so a restart does not leave a listener behind
170
+ - (@GermanBluefox) A phone book with only one contact is read now
171
+ - (@GermanBluefox) The hint how to open port 1012 is shown again if the call monitor is refused by the Fritz!Box
172
+ - (@GermanBluefox) The adapter was refactored to TypeScript. The sources are in `src/`, the adapter runs from `build/`
173
+ - (@GermanBluefox) The configuration dialog was rewritten as JsonConfig. Admin 7.7.22 or newer is required for it
174
+ - (@GermanBluefox) **Breaking change:** the adapter requires node.js >= 22 now
175
+ - (@GermanBluefox) The adapter can only be installed from npm now, no longer directly from GitHub (`common.nogit`)
176
+ - (@GermanBluefox) The options "Use call forwarding options", "Use mDNS" and "Create JSON device list" have a default value in `io-package.json` now
177
+ - (@GermanBluefox) The command `dumpservices.fs` writes the file again instead of stopping the adapter
178
+ - (@GermanBluefox) Adapter requires admin >= 7.7.22 now
179
+ - (@GermanBluefox) Adapter requires js-controller >= 6.0.11 now
180
+
181
+ ### 4.3.0 (2024-04-30)
182
+ * (mcm1957) Adapter requires node.js >= 18 and js-controller >= 5 now
183
+ * (mcm1957) Dependencies have been updated
254
184
 
255
- ### 2.0.3 (2019-12-17)
256
- * (Jey Cee) fix delete last device from list
185
+ ### 4.2.18 (2023-01-04)
186
+ * (Apollon77) Prepare for future js-controller versions
257
187
 
258
- ### 2.0.2 (2019-12-16)
259
- * __requires js-controller v2__
260
- * (foxriver76) no longer use adapter.objects
261
- * (Apollon77) several fixes, Call lists working again, Phonebook fixed and many more
188
+ ### 4.2.17 (2022-09-16)
189
+ * (simatec/Apollon77) Prevent duplication of entries in configuration
190
+ * (Apollon77) Make sure the active status of devices in jsonDeviceList is correct
262
191
 
263
- ### 1.1.0 (2019-11-10)
264
- * (jey cee) added Admin v3 support
192
+ ### 4.2.16 (2022-03-21)
193
+ * (Apollon77) Fix info logs on callee/caller
194
+ * (Apollon77) Add special handling for potential broken external image links in a phonebook
195
+ * (Apollon77) Prevent some crash cases reported by Sentry
265
196
 
266
- ### 1.0.0 (2019-04-01)
267
- * (ldittmar) first version for the community
197
+ [Older changelogs can be found there](CHANGELOG_OLD.md)
268
198
 
269
199
  ## License
270
200
  The MIT License (MIT)
271
201
 
202
+
203
+ Copyright (c) 2023-2026 iobroker-community-adapters <iobroker-community-adapters@gmx.de>
272
204
  Copyright (c) 2015-2023 soef <soef@gmx.net>, ioBroker-Community-Developers
273
205
 
274
206
  Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -0,0 +1,28 @@
1
+ {
2
+ "All calls": "Liste aller Anrufe",
3
+ "Calllists": "Anruflisten",
4
+ "Create Json device list": "JSON Geräteliste erstellen",
5
+ "Devices": "Geräte",
6
+ "Find a device": "Geräte suchen",
7
+ "Generate HTML": "HTML",
8
+ "Generate JSON": "JSON",
9
+ "IP": "IP",
10
+ "Inbound": "Liste der eingehenden Anrufe",
11
+ "MAC": "MAC",
12
+ "Missed calls": "Liste der entgangenen Anrufe",
13
+ "Options": "Optionen",
14
+ "Outbound": "Liste der ausgehenden Anrufe",
15
+ "Password": "Passwort",
16
+ "Polling interval (sec)": "Datenabfrage Intervall (Sek.)",
17
+ "Use CallMonitor": "Anrufmonitor aktivieren",
18
+ "Use MDNS": "mDNS zum Erkennen neuer Geräte verwenden",
19
+ "Use call forwarding options": "Rufweiterleitungsoptionen aktivieren",
20
+ "Use phonebook": "Telefonbuch (Namensauflösung) aktivieren",
21
+ "User": "Benutzer",
22
+ "Watch devices": "Verbundene Geräte überwachen (Anwesenheit)",
23
+ "ip": "IP",
24
+ "max Entries": "Maximale Anzahl Einträge",
25
+ "name": "Name",
26
+ "tooltip_ip": "Fritz!Box IP-Adresse",
27
+ "tooltip_useMDNS": "mDNS löst Hostnamen zu IP-Adressen in kleinen Netzwerken ohne lokalem Nameserver auf"
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "All calls": "List of all calls",
3
+ "Calllists": "Calllists",
4
+ "Create Json device list": "Create JSON device list",
5
+ "Devices": "Devices",
6
+ "Find a device": "Search for devices",
7
+ "Generate HTML": "HTML",
8
+ "Generate JSON": "JSON",
9
+ "IP": "IP",
10
+ "Inbound": "List of inbound calls",
11
+ "MAC": "MAC",
12
+ "Missed calls": "List of missed calls",
13
+ "Options": "Options",
14
+ "Outbound": "List of outbound calls",
15
+ "Password": "Password",
16
+ "Polling interval (sec)": "Data polling interval (sec)",
17
+ "Use CallMonitor": "Activate Callmonitor",
18
+ "Use MDNS": "Use mDNS to discover new devices",
19
+ "Use call forwarding options": "Activate call forwarding options",
20
+ "Use phonebook": "Activate phonebook (name resolution)",
21
+ "User": "User",
22
+ "Watch devices": "Monitor connected devices (Presence)",
23
+ "ip": "IP",
24
+ "max Entries": "Maximum number of entries",
25
+ "name": "Name",
26
+ "tooltip_ip": "Fritz!Box IP address",
27
+ "tooltip_useMDNS": "Multicast Domain Name System (mDNS) resolves host names to IP addresses within small networks that do not include a local name server"
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "All calls": "Lista para todas las llamadas",
3
+ "Calllists": "Calistas",
4
+ "Create Json device list": "Crear lista de dispositivos JSON",
5
+ "Devices": "Dispositivos",
6
+ "Find a device": "Encontrar un dispositivo",
7
+ "Generate HTML": "HTML",
8
+ "Generate JSON": "JSON",
9
+ "IP": "IP",
10
+ "Inbound": "Lista para llamadas entrantes",
11
+ "MAC": "MAC",
12
+ "Missed calls": "Lista de llamadas perdidas",
13
+ "Options": "Opciones",
14
+ "Outbound": "Lista para llamadas salientes",
15
+ "Password": "Contraseña",
16
+ "Polling interval (sec)": "Intervalo de sondeo (seg.)",
17
+ "Use CallMonitor": "Use CallMonitor",
18
+ "Use MDNS": "Usar MDNS para activar la actualización de la lista de dispositivos",
19
+ "Use call forwarding options": "Utilice las opciones de desvío de llamadas",
20
+ "Use phonebook": "Usar agenda telefónica (resolución de nombres)",
21
+ "User": "Usuario",
22
+ "Watch devices": "Ver dispositivos conectados (Presencia)",
23
+ "ip": "IP",
24
+ "max Entries": "Entradas máximas",
25
+ "name": "Nombre",
26
+ "tooltip_ip": "Dirección IP de Fritz!Box",
27
+ "tooltip_useMDNS": "el sistema de nombres de dominio de multidifusión (mDNS) resuelve los nombres de host a direcciones IP dentro de redes pequeñas que no incluyen un servidor de nombres local"
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "All calls": "Liste pour tous les appels",
3
+ "Calllists": "Listes d'appels",
4
+ "Create Json device list": "Créer une liste de périphériques JSON",
5
+ "Devices": "Dispositifs",
6
+ "Find a device": "Trouver un appareil",
7
+ "Generate HTML": "HTML",
8
+ "Generate JSON": "JSON",
9
+ "IP": "IP",
10
+ "Inbound": "Liste des appels entrants",
11
+ "MAC": "MAC",
12
+ "Missed calls": "Liste des appels manqués",
13
+ "Options": "Les options",
14
+ "Outbound": "Liste des appels sortants",
15
+ "Password": "Mot de passe",
16
+ "Polling interval (sec)": "Intervalle d'interrogation (sec)",
17
+ "Use CallMonitor": "Utiliser CallMonitor",
18
+ "Use MDNS": "Utiliser MDNS pour déclencher l'actualisation de la liste des périphériques",
19
+ "Use call forwarding options": "Utiliser les options de renvoi d'appel",
20
+ "Use phonebook": "Utiliser le répertoire (résolution de nom)",
21
+ "User": "Utilisateur",
22
+ "Watch devices": "Regarder les appareils connectés (Présence)",
23
+ "ip": "IP",
24
+ "max Entries": "max entrées",
25
+ "name": "prénom",
26
+ "tooltip_ip": "Adresse IP Fritz!Box",
27
+ "tooltip_useMDNS": "Le système de nom de domaine multidiffusion (mDNS) résout les noms d'hôte en adresses IP au sein de petits réseaux n'incluant pas de serveur de noms local."
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "All calls": "Elenco per tutte le chiamate",
3
+ "Calllists": "Calllists",
4
+ "Create Json device list": "Crea un elenco di dispositivi JSON",
5
+ "Devices": "dispositivi",
6
+ "Find a device": "Trova un dispositivo",
7
+ "Generate HTML": "HTML",
8
+ "Generate JSON": "JSON",
9
+ "IP": "IP",
10
+ "Inbound": "Elenco per le chiamate in entrata",
11
+ "MAC": "MAC",
12
+ "Missed calls": "Elenco per chiamate perse",
13
+ "Options": "Opzioni",
14
+ "Outbound": "Elenco per le chiamate in uscita",
15
+ "Password": "Parola d'ordine",
16
+ "Polling interval (sec)": "Intervallo di polling (sec)",
17
+ "Use CallMonitor": "Usa CallMonitor",
18
+ "Use MDNS": "Utilizzare MDNS per attivare l'aggiornamento dell'elenco dei dispositivi",
19
+ "Use call forwarding options": "Usa le opzioni di inoltro di chiamata",
20
+ "Use phonebook": "Usa rubrica (risoluzione del nome)",
21
+ "User": "Utente",
22
+ "Watch devices": "Guarda i dispositivi collegati (Presenza)",
23
+ "ip": "IP",
24
+ "max Entries": "max voci",
25
+ "name": "Nome",
26
+ "tooltip_ip": "Indirizzo IP Fritz!Box",
27
+ "tooltip_useMDNS": "Il multicast Domain Name System (mDNS) risolve i nomi degli host in indirizzi IP all'interno di piccole reti che non includono un name server locale"
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "All calls": "Lijst voor alle oproepen",
3
+ "Calllists": "Calllists",
4
+ "Create Json device list": "Maak een JSON-apparatenlijst",
5
+ "Devices": "Apparaten",
6
+ "Find a device": "Zoek een apparaat",
7
+ "Generate HTML": "HTML",
8
+ "Generate JSON": "JSON",
9
+ "IP": "IP",
10
+ "Inbound": "Lijst voor inkomende oproepen",
11
+ "MAC": "MAC",
12
+ "Missed calls": "Lijst voor gemiste oproepen",
13
+ "Options": "opties",
14
+ "Outbound": "Lijst voor uitgaande oproepen",
15
+ "Password": "Wachtwoord",
16
+ "Polling interval (sec)": "Polling-interval (sec)",
17
+ "Use CallMonitor": "Gebruik CallMonitor",
18
+ "Use MDNS": "Gebruik MDNS om apparaatlijstvernieuwing te activeren",
19
+ "Use call forwarding options": "Gebruik opties voor doorschakelen",
20
+ "Use phonebook": "Gebruik het telefoonboek (naamomzetting)",
21
+ "User": "Gebruiker",
22
+ "Watch devices": "Bekijk aangesloten apparaten (aanwezigheid)",
23
+ "ip": "IK P",
24
+ "max Entries": "max Invoer",
25
+ "name": "Naam",
26
+ "tooltip_ip": "Fritz!Box IP-adres",
27
+ "tooltip_useMDNS": "multicast Domain Name System (mDNS) lost hostnamen op IP-adressen op in kleine netwerken die geen lokale naamserver bevatten"
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "All calls": "Lista wszystkich połączeń",
3
+ "Calllists": "Listy połączeń",
4
+ "Create Json device list": "Utwórz listę urządzeń JSON",
5
+ "Devices": "Urządzenia",
6
+ "Find a device": "Znajdź urządzenie",
7
+ "Generate HTML": "HTML",
8
+ "Generate JSON": "JSON",
9
+ "IP": "IP",
10
+ "Inbound": "Lista połączeń przychodzących",
11
+ "MAC": "PROCHOWIEC",
12
+ "Missed calls": "Lista nieodebranych połączeń",
13
+ "Options": "Opcje",
14
+ "Outbound": "Lista połączeń wychodzących",
15
+ "Password": "Hasło",
16
+ "Polling interval (sec)": "Interwał odpytywania (s)",
17
+ "Use CallMonitor": "Użyj CallMonitor",
18
+ "Use MDNS": "Użyj MDNS, aby uruchomić odświeżanie listy urządzeń",
19
+ "Use call forwarding options": "Użyj opcji przekazywania połączeń",
20
+ "Use phonebook": "Użyj książki telefonicznej (rozpoznawanie nazw)",
21
+ "User": "Użytkownik",
22
+ "Watch devices": "Oglądaj podłączone urządzenia (obecność)",
23
+ "ip": "IP",
24
+ "max Entries": "max Wpisy",
25
+ "name": "Imię",
26
+ "tooltip_ip": "Adres IP Fritz!Box",
27
+ "tooltip_useMDNS": "multicast Domain Name System (mDNS) rozwiązuje nazwy hostów na adresy IP w małych sieciach, które nie zawierają lokalnego serwera nazw"
28
+ }