iobroker.life360ng 1.0.21 → 1.2.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ioBroker.life360ng
2
2
 
3
- ![Logo](admin/Life360_xl.svg)
3
+ ![Logo](admin/Life360ng.svg)
4
4
 
5
5
 
6
6
  ![Number of Installations](https://iobroker.live/badges/life360ng-installed.svg)
@@ -23,6 +23,11 @@ ioBroker adapter for [Life360](https://www.life360.com) — updated for EU users
23
23
 
24
24
  This adapter connects to the [Life360](https://www.life360.com) cloud services to track people and detect presence at defined places. It retrieves circles, members and places data and persists it as ioBroker states, updated at a configurable interval.
25
25
 
26
+ ## Documentation
27
+
28
+ - 🇺🇸 [Documentation](./docs/en/README.md)
29
+ - 🇩🇪 [Dokumentation](./docs/de/README.md)
30
+
26
31
  ## Configuration
27
32
 
28
33
  ### Bearer Token (required for EU users)
@@ -51,19 +56,222 @@ Add private places not visible to Life360 cloud services. The adapter checks pre
51
56
 
52
57
  ### Integration
53
58
 
54
- Choose which Life360 data to process: circles, places, people. Optionally forward location data to the ioBroker [Places-adapter](https://github.com/ioBroker/ioBroker.places).
59
+ Choose which Life360 data to process: circles, places, people.
55
60
 
56
61
  ### Location-Tracking
57
62
 
58
63
  Enable location-tracking to add geo-positioning details (latitude, longitude, `locationName`) to the people data points.
59
64
 
65
+ ## Migration / Upgrade Notes
66
+
67
+ ### Upgrading from 1.0.x to 1.1.0
68
+
69
+ The internal object hierarchy has been restructured to comply with
70
+ ioBroker's object type rules.
71
+
72
+ **Please perform the following steps after updating:**
73
+ 1. Stop the adapter instance
74
+ 2. Delete all objects of the adapter (in ioBroker Admin:
75
+ Objects → life360ng.0 → Delete all)
76
+ 3. Start the adapter instance again
77
+ 4. All datapoints will be recreated automatically
78
+
79
+ > ⚠️ Your existing scripts and automations do **not** need to be changed –
80
+ > all datapoint IDs remain the same.
81
+
60
82
  ## States
61
83
 
84
+ ### circles
85
+
86
+ Life360 circles with their associated places and member presence.
87
+
88
+ | State | Type | Description |
89
+ |---|---|---|
90
+ | `circles.<id>.name` | text | Circle name (e.g. `Family skvarel`) |
91
+ | `circles.<id>.id` | text | Circle UUID |
92
+ | `circles.<id>.memberCount` | value | Number of circle members *(may be null)* |
93
+ | `circles.<id>.createdAt` | date | Circle creation date |
94
+ | `circles.<id>.timestamp` | date | Last data update |
95
+ | `circles.<id>.places.<placeId>.<memberId>.isPresent` | indicator | Member is present at this place |
96
+ | `circles.<id>.places.<placeId>.membersPresent` | value | Number of members currently at this place |
97
+
98
+ ### info
99
+
100
+ | State | Type | Description |
101
+ |---|---|---|
102
+ | `info.connection` | boolean | `true` when connected to Life360 cloud |
103
+
104
+ ### myplaces
105
+
106
+ Custom places defined in the adapter configuration (not synced to Life360 cloud).
107
+ Structure: `myplaces.<placeName>.<memberName>.*`
108
+
109
+ | State | Type | Description |
110
+ |---|---|---|
111
+ | `myplaces.<place>.<member>.distance` | value.distance | Distance to place center in meters |
112
+ | `myplaces.<place>.<member>.isPresent` | indicator | Member is within the place radius |
113
+ | `myplaces.<place>.<member>.startTimestamp` | date | Timestamp when member entered the place |
114
+ | `myplaces.<place>.<member>.timestamp` | date | Last check timestamp |
115
+ | `myplaces.<place>.gps-coordinates` | value.gps | Place center as JSON `{"lat":..,"lng":..}` |
116
+ | `myplaces.<place>.latitude` | value.gps.latitude | Place center latitude |
117
+ | `myplaces.<place>.longitude` | value.gps.longitude | Place center longitude |
118
+ | `myplaces.<place>.members` | list | All members checked against this place |
119
+ | `myplaces.<place>.membersCount` | value | Total number of tracked members |
120
+ | `myplaces.<place>.membersPresent` | list | Names of members currently present |
121
+ | `myplaces.<place>.membersPresentCount` | value | Number of members currently present |
122
+ | `myplaces.<place>.radius` | value | Configured radius in meters |
123
+ | `myplaces.<place>.timestamp` | date | Last data update |
124
+ | `myplaces.<place>.urlMap` | text.url | OpenStreetMap link to place |
125
+ | `myplaces.<place>.urlMapIframe` | text.url | Google Maps embeddable URL |
126
+
127
+ ### people
128
+
129
+ Each Life360 circle member gets their own channel under `people.<id>`,
130
+ where `<id>` is the member's Life360 UUID.
131
+
132
+ | State | Type | Description |
133
+ |---|---|---|
134
+ | `people.<id>.avatar` | text.url | Profile picture URL |
135
+ | `people.<id>.battery` | value.battery | Battery level in % |
136
+ | `people.<id>.createdAt` | date | Account creation date |
137
+ | `people.<id>.disconnected` | indicator | App is explicitly disconnected |
138
+ | `people.<id>.firstName` | text | First name |
139
+ | `people.<id>.gps-coordinates` | value.gps | GPS position as JSON `{"lat":..,"lng":..}` |
140
+ | `people.<id>.id` | text | Life360 member UUID |
141
+ | `people.<id>.isConnected` | indicator.reachable | App is connected and reachable |
142
+ | `people.<id>.isSharingLocation` | indicator | Location sharing is active |
143
+ | `people.<id>.lastName` | text | Last name |
144
+ | `people.<id>.lastPositionAt` | date | Timestamp of last position update |
145
+ | `people.<id>.latitude` | value.gps.latitude | Current latitude |
146
+ | `people.<id>.locationName` | text | Current place name (e.g. `Home`) |
147
+ | `people.<id>.longitude` | value.gps.longitude | Current longitude |
148
+ | `people.<id>.status` | text | Connection status (e.g. `Ok`) |
149
+ | `people.<id>.timestamp` | date | Timestamp of last data update |
150
+ | `people.<id>.urlMap` | text.url | OpenStreetMap link to current position |
151
+ | `people.<id>.urlMapIframe` | text.url | Google Maps embeddable URL |
152
+ | `people.<id>.urlMapOsmIframe` | text.url | OpenStreetMap embeddable URL (iFrame) |
153
+
154
+ > **Note:** `isConnected` reflects whether the Life360 app is reachable,
155
+ > while `disconnected` indicates an explicit disconnect state.
156
+ > Both can be `false` simultaneously during a connection loss.
157
+
158
+ ### places
159
+
160
+ Life360 places synced directly from the Life360 cloud (defined in the Life360 app).
161
+ These are **read-only** and cannot be configured in the adapter.
162
+
163
+ | State | Type | Description |
164
+ |---|---|---|
165
+ | `places.<id>.name` | text | Place name (e.g. `Refugium`) |
166
+ | `places.<id>.id` | text | Life360 place UUID |
167
+ | `places.<id>.circleId` | text | UUID of the circle this place belongs to |
168
+ | `places.<id>.ownerId` | text | UUID of the place owner |
169
+ | `places.<id>.gps-coordinates` | value.gps | Place center as JSON `{"lat":..,"lng":..}` |
170
+ | `places.<id>.latitude` | value.gps.latitude | Place center latitude |
171
+ | `places.<id>.longitude` | value.gps.longitude | Place center longitude |
172
+ | `places.<id>.radius` | value | Radius in meters |
173
+ | `places.<id>.timestamp` | date | Last data update |
174
+ | `places.<id>.urlMap` | text.url | OpenStreetMap link to place |
175
+ | `places.<id>.urlMapIframe` | text.url | Google Maps embeddable URL |
176
+
177
+ > **Note:** For custom places with presence detection, see [myplaces](#myplaces).
178
+
179
+ ### tracker
180
+
181
+ The adapter includes an optional GPS route logger that records the movements of each Life360 member and generates interactive Leaflet maps — accessible directly via URL in any browser, ioBroker Vis, or Jarvis dashboard.
182
+
183
+ #### How it works
184
+
185
+ On every GPS position update, the tracker checks whether the new position is at least **minDistance** meters away from the last recorded point. If so, the point is appended to a GeoJSON LineString for the current day. The full history is stored in `allTime.geojson` and monthly backups are written to `currentYear.MM.geojson`.
186
+
187
+ An HTML map is automatically (re-)generated after each update and written to the ioBroker file system. It is immediately accessible via HTTP.
188
+
189
+ #### Enabling the Tracker
190
+
191
+ 1. Open the adapter configuration.
192
+ 2. Under **Tracker / Route logger**, enable tracking for each person.
193
+ 3. Optionally enable **Family map** for each person to include them in the combined family view.
194
+ 4. Set the **minimum distance** (default: 20 m) to filter out GPS noise.
195
+ 5. Save and restart the adapter.
196
+
197
+ #### Map URLs
198
+
199
+ Each person and the family group gets a dedicated map URL, stored as an ioBroker state:
200
+
62
201
  | State | Description |
63
202
  |---|---|
64
- | `people.<name>.locationName` | Current Life360 place name (e.g. Home) |
65
- | `people.<name>.location` | Geo-position object |
66
- | `info.connection` | `true` when connected to Life360 cloud |
203
+ | `tracker.<Name>.url` | HTTP URL of the person's individual map |
204
+ | `tracker.circle.url` | HTTP URL of the combined circle map |
205
+
206
+ The URL format is:
207
+ ```
208
+ /<namespace>/tracker/<name>.html
209
+ ```
210
+
211
+ Open this URL in any browser. The map auto-refreshes at the configured polling interval.
212
+
213
+
214
+ #### Map Features
215
+
216
+ - **Interactive Leaflet map** — pan and zoom, based on OpenStreetMap
217
+ - **Date picker** — navigate between all recorded days (full history, no limit)
218
+ - **Color-coded routes** — each person has their own configurable route color
219
+ - **Start / end markers** — clearly marks the first and last position of the day
220
+ - **Auto-refresh** — the page reloads automatically (polling interval + 10 s)
221
+ - **Family map** — all enabled persons on one combined map with legend
222
+
223
+ #### Single Map Features
224
+
225
+ - **Route-Checkbox:** Each single-person map has a "Route" checkbox to toggle route display for the selected period. The state is saved per person in the browser and persists across reloads.
226
+ - **Dynamic Datepicker:** The date range pickers are only shown when the route is enabled. If the route is disabled, only the last known point is displayed.
227
+ - **Personalized Colors:** The checkbox color matches the person's color.
228
+ - **Consistent Header:** The header height remains consistent regardless of the checkbox state.
229
+
230
+ #### Tracker States
231
+
232
+ ##### Configuration (`tracker.config.*`)
233
+
234
+ All color and behavior settings can be changed at runtime — the maps are re-rendered immediately without restarting the adapter.
235
+
236
+ | State | Type | Description |
237
+ |---|---|---|
238
+ | `tracker.config.enabled` | boolean | Enable / disable the route logger |as ghst
239
+
240
+ ##### Per-Person Data (`tracker.<Name>.*`)
241
+
242
+ | State | Type | Description |
243
+ |---|---|---|
244
+ | `tracker.<Name>.allTime.geojson` | string (JSON) | Full GeoJSON history (all days) |
245
+ | `tracker.<Name>.currentYear.MM.geojson` | string (JSON) | Monthly GeoJSON backup |
246
+ | `tracker.<Name>.mapSize` | number (KB) | File size of the generated HTML map |
247
+ | `tracker.<Name>.url` | text.url | HTTP URL of the person's map |
248
+
249
+ ##### Circle Map (`tracker.circle.*`)
250
+
251
+ | State | Type | Description |
252
+ |---|---|---|
253
+ | `tracker.circle.allTime.geojson` | string (JSON) | Merged GeoJSON of all circle members |
254
+ | `tracker.circle.currentYear.MM.geojson` | string (JSON) | Monthly GeoJSON backup |
255
+ | `tracker.circle.mapSize` | number (KB) | File size of the generated HTML map |
256
+ | `tracker.circle.url` | text.url | HTTP URL of the combined circle map |
257
+
258
+ #### Embedding in Vis / Jarvis
259
+
260
+ Use the map URL in an **iFrame widget** (Vis) or a **URL tile** (Jarvis):
261
+
262
+ ```
263
+ /life360ng.0/tracker/<name>.html
264
+ ```
265
+
266
+ The map refreshes itself — no additional configuration needed.
267
+
268
+ > **Note:**
269
+ >- The full route history (`allTime.geojson`) grows continuously. At a 60 s poll interval and 20 m minimum distance, expect roughly **1 MB per person per year** — well within ioBroker's file storage limits.
270
+ >- Use **Retention (days)** in the adapter config to automatically remove data older than a given number of days (0 = keep forever). Purging runs on every adapter start and once per day.
271
+ >- To manually clear a person's recorded route data, enable the **"Clear rec."** checkbox in the persons table and save the config. The person's `allTime.geojson` is reduced to the last known point. Since the family map is built from the individual person data, it is automatically updated as well. The monthly GeoJSON files (`currentYear.MM`) are never affected.
272
+ >- Route colors per person are configured in the adapter settings (Tracker tab), not via the `tracker.config.color.*` states (those control the map appearance only).
273
+ >- Changing any `tracker.config.color.*` state triggers an **immediate re-render** of all maps — no adapter restart required.
274
+
67
275
 
68
276
  ## Support
69
277
 
@@ -72,12 +280,27 @@ If you like our work and would like to support us, we appreciate any donation.
72
280
 
73
281
  [![Spende](img/support.png)](https://www.paypal.com/donate?hosted_button_id=7W6M3TFZ4W9LW)
74
282
 
283
+ ## Credits
284
+
285
+ This adapter is based on the original work by [MiGoller](https://github.com/MiGoller).<br>
286
+ Many thanks for the initial implementation and idea!
287
+ This repository contains optimizations and further development.<br>
288
+ Note: The original [repository](https://github.com/MiGoller/ioBroker.life360) is archived and no longer maintained.
75
289
 
76
290
  ## Changelog
77
291
 
78
292
  <!--
79
- ### **WORK IN PROGRESS**
293
+ ### **WORK IN PROGRESS**
80
294
  -->
295
+ ### 1.2.0 (2026-05-01)
296
+ - (skvarel) Added GPS route tracking with per-person and family map (OpenStreetMap)
297
+ - (skvarel) Added adapter documentation
298
+
299
+ ### 1.1.0 (2026-04-23)
300
+ - (skvarel) Fixed invalid object hierarchy (device under channel)
301
+ - (skvarel) Removed dependency on Places adapter
302
+ - (skvarel) NOTE: Delete all adapter objects after updating (see Migration Notes)
303
+
81
304
  ### 1.0.21 (2026-04-13)
82
305
  - (skvarel) Improved help tab in the config
83
306
  - (skvarel) Added new screenshots of browser DevTools
@@ -89,15 +312,6 @@ If you like our work and would like to support us, we appreciate any donation.
89
312
  ### 1.0.19 (2026-04-12)
90
313
  - (skvarel) Translations adjusted
91
314
 
92
- ### 1.0.18 (2026-04-12)
93
- - (skvarel) Fixed info.connection role in io-package.json
94
- - (skvarel) Removed @ts-nocheck and unused variable from lib files; fixed CRLF line endings
95
- - (skvarel) ESLint now covers all lib files with strict no-warnings enforcement
96
- - (skvarel) Added Copilot instructions for guided development
97
-
98
- ### 1.0.17 (2026-04-12)
99
- - (skvarel) Configuration revised, translations adjusted and repo cleaned up
100
-
101
315
  ## Older changes
102
316
  - [CHANGELOG_OLD.md](CHANGELOG_OLD.md)
103
317
 
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg width="291.15195" height="78.11573" viewBox="0 0 290.18145 78.115731" version="1.1" id="svg4" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs2" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.078765;stroke-linecap:square;paint-order:fill markers stroke" d="m 40.99532,77.88124 c -4.1762,-0.552342 -7.524921,-1.68159 -11.526783,-3.887039 l -0.570928,-0.31464 -1.751235,0.180804 C 22.654797,74.324102 18.549699,73.342631 14.401985,70.813363 11.288871,68.914991 8.2499182,65.940695 6.0013523,62.591453 5.1001333,61.249088 3.6407908,58.684812 3.2816136,57.812479 3.1737427,57.550489 2.8760717,56.827046 2.6201239,56.204826 1.7227662,54.023304 0.97019422,51.511495 0.45652472,48.983497 c -0.1349461,-0.664134 -0.2706424,-1.280403 -0.3015422,-1.369484 -0.0710959,-0.204938 -0.2669513,-1.910462 -0.48356,-4.210865 -0.2974276,-3.158668 -0.182121,-6.461728 0.353352,-10.122255 0.6679751,-4.566321 2.60902038,-10.061746 4.84841688,-13.726687 0.2508328,-0.410507 0.4560612,-0.775376 0.4560612,-0.810814 0,-0.123939 2.0677586,-3.093607 2.6470586,-3.801645 0.321529,-0.392981 0.803208,-0.982455 1.0704,-1.309939 0.899068,-1.101952 4.0959508,-4.1643489 5.4290298,-5.2006479 1.372496,-1.066935 3.576127,-2.5667135 4.607871,-3.1360906 0.327487,-0.1807239 1.017259,-0.5626183 1.532833,-0.8486557 0.51557,-0.2860339 0.961248,-0.5200648 0.99039,-0.5200648 0.02914,0 0.652287,-0.2645972 1.384762,-0.587993 C 27.90117,1.1707223 33.559477,-0.00952519 38.995947,5.79011e-5 41.292105,0.00408791 45.086904,0.35693771 46.592331,0.70635511 c 0.26199,0.060806 0.878255,0.2007703 1.369484,0.31102519 8.255377,1.852924 15.590962,6.2537018 21.02292,12.6121107 0.390586,0.457205 0.748486,0.885911 0.79533,0.952682 0.04685,0.06677 0.238321,0.308961 0.425502,0.538201 0.187181,0.229239 0.60335,0.791917 0.924823,1.250396 0.321471,0.458479 0.625688,0.85146 0.676038,0.873293 0.05035,0.02184 0.09154,0.08639 0.09154,0.143463 0,0.05707 0.382573,0.735856 0.85016,1.508411 1.345849,2.223638 2.632314,4.991472 3.392684,7.299377 1.377905,4.182269 1.930685,7.093708 2.207778,11.628129 0.205775,3.367364 -0.04354,6.901447 -0.74645,10.58129 -0.646994,3.387091 -1.643815,6.510924 -2.971104,9.310842 -0.389739,0.822154 -0.708617,1.508454 -0.708617,1.525113 0,0.04785 -1.470909,2.561655 -1.855621,3.171282 -2.532804,4.013552 -6.393783,7.952897 -10.330194,10.539871 -0.731705,0.480869 -1.38858,0.922552 -1.459719,0.981517 -0.360331,0.298665 -4.438594,2.199728 -5.527209,2.57648 -4.145531,1.434715 -9.351241,1.953756 -13.75436,1.371402 z m 8.038262,-4.693728 c 1.183811,-0.190684 2.662717,-0.551392 3.572562,-0.871356 0.294737,-0.10365 0.82139,-0.286484 1.170344,-0.406299 0.812845,-0.279099 2.898906,-1.314563 4.146611,-2.058269 4.193506,-2.499582 8.083569,-6.537332 11.029113,-11.447839 1.095957,-1.827065 2.557434,-5.205333 3.218058,-7.438681 0.106557,-0.360231 0.273892,-0.922909 0.371857,-1.250396 0.872084,-2.915307 1.43108,-8.599042 1.159436,-11.788877 -0.347746,-4.083471 -0.457267,-4.811811 -1.0924,-7.264779 C 71.378305,25.907279 69.539976,22.045555 66.713482,18.276137 65.724485,16.957206 64.164808,15.168726 63.347925,14.416854 63.105432,14.193657 62.639084,13.763283 62.3116,13.460468 61.984116,13.157648 61.448303,12.697199 61.120906,12.43725 60.793509,12.177297 60.454592,11.897462 60.367751,11.815389 60.280911,11.733319 59.718161,11.325091 59.117198,10.908222 54.499071,7.7047801 49.229947,5.6850064 43.496113,4.9203107 40.472128,4.5170162 35.098418,4.6773737 32.421173,5.2508021 c -1.144776,0.2451944 -2.622832,0.5955955 -2.977134,0.7057804 -1.711776,0.5323556 -3.788334,1.2607096 -4.22753,1.4828096 -0.294737,0.149048 -0.777033,0.370781 -1.07177,0.49274 -0.467818,0.193585 -2.602341,1.330235 -3.27356,1.743199 -1.099562,0.6765009 -2.608614,1.7457199 -3.752473,2.6587689 -1.342369,1.071497 -4.034806,3.690137 -4.762636,4.632099 -0.202431,0.261986 -0.458396,0.583518 -0.568804,0.714509 -2.0114478,2.38645 -4.2336688,6.325816 -5.4205946,9.609173 -1.0450679,2.89094 -1.6226343,5.30005 -1.9501948,8.134548 -0.3881363,3.358655 -0.2068589,8.839562 0.3879563,11.729908 0.4238844,2.059763 0.5300447,2.490163 1.0720965,4.346618 0.6805224,2.330705 2.1268638,5.557261 3.4092638,7.605517 2.3785268,3.798998 5.8020018,7.017281 9.2494218,8.695039 1.330778,0.647649 3.574386,1.383619 4.217977,1.383619 0.30687,0 0.55795,-0.03191 0.55795,-0.07093 0,-0.119671 -0.50598,-0.791114 -1.070759,-1.420907 -1.09126,-1.216885 -2.859057,-3.582298 -2.859057,-3.825582 0,-0.03268 -0.220366,-0.436729 -0.489705,-0.897898 -0.593925,-1.016942 -1.289295,-2.413872 -1.713573,-3.442404 -0.676371,-1.639657 -1.845625,-5.184877 -1.845625,-5.596011 0,-0.118884 -0.04821,-0.339251 -0.107131,-0.489702 -0.29693,-0.75816 -0.876891,-4.294354 -1.09381,-6.669294 -0.189206,-2.071496 -0.07742,-8.464119 0.173445,-9.918947 0.403532,-2.340142 0.55772,-3.123293 0.738544,-3.751189 0.103743,-0.360231 0.256602,-0.922909 0.339688,-1.250396 0.2309,-0.910109 1.211851,-3.308749 1.923706,-4.703871 1.461267,-2.863854 3.615993,-5.62465 5.901878,-7.56192 1.804612,-1.529398 4.698382,-3.234169 6.830725,-4.024096 5.692488,-2.108791 12.025201,-2.150575 17.565091,-0.115893 0.82062,0.301395 3.182512,1.504263 4.0489,2.06203 1.858449,1.196436 4.022221,3.150939 5.488816,4.957958 1.249709,1.539792 2.941779,4.292654 3.573146,5.813233 1.158064,2.789064 1.22954,2.981605 1.613578,4.346614 0.677438,2.407847 0.894027,3.924437 0.961491,6.732434 0.07292,3.035252 -0.05734,4.694575 -0.553825,7.054699 -1.406666,6.686877 -5.023232,12.244118 -9.871196,15.168148 -0.683966,0.412534 -1.624991,0.900159 -2.091162,1.08361 -2.289326,0.900913 -5.62496,1.477572 -7.706366,1.332263 -0.77582,-0.05416 -1.224655,-0.0359 -1.398,0.05686 -0.140421,0.07515 -0.531795,0.550368 -0.869716,1.056035 -1.26374,1.891059 -2.793612,3.587981 -4.925574,5.463422 l -0.833598,0.733295 0.245665,0.253344 c 0.501079,0.516744 3.908248,1.466462 6.244486,1.740592 1.737544,0.203881 5.926451,0.140721 7.502378,-0.113115 z M 30.35198,68.287269 c 1.198013,-0.421527 3.17464,-1.825039 4.465076,-3.170445 0.78077,-0.814028 1.656998,-1.909425 1.894007,-2.367747 0.228625,-0.442117 0.123739,-0.624468 -0.726891,-1.263731 -1.455875,-1.094113 -2.545127,-2.255525 -3.577864,-3.814882 -2.098208,-3.168148 -3.092037,-6.611779 -3.395796,-11.766523 -0.464698,-7.88572 1.115433,-13.893554 4.368538,-16.609681 2.081143,-1.737621 5.052748,-2.435993 7.630962,-1.793392 3.19737,0.796922 5.158391,3.098605 6.040611,7.089964 0.780117,3.529438 0.583662,11.396672 -0.405915,16.255152 -0.41853,2.054824 -1.325664,5.001782 -2.071117,6.728322 -0.113116,0.26199 -0.27547,0.702316 -0.360784,0.978507 -0.146963,0.475744 -0.141705,0.506571 0.09998,0.585939 0.918871,0.301773 3.874918,-0.310848 5.473498,-1.134343 1.591775,-0.819986 3.591158,-2.62063 4.841135,-4.359918 0.595115,-0.828079 1.78946,-2.806556 1.78946,-2.964306 0,-0.03024 0.188423,-0.462904 0.41872,-0.961475 0.451809,-0.97814 1.118597,-3.151176 1.408062,-4.588825 0.380168,-1.888148 0.451984,-2.662107 0.453267,-4.884891 0.0013,-2.100443 -0.06778,-2.870944 -0.394318,-4.403766 -0.06279,-0.294737 -0.161501,-0.777033 -0.219363,-1.07177 -0.121368,-0.618216 -0.798833,-2.732172 -1.183065,-3.691643 -0.942548,-2.35363 -2.79962,-5.240091 -4.485885,-6.972437 -2.424535,-2.490793 -5.795757,-4.383529 -8.91818,-5.007014 -0.458479,-0.09155 -1.074747,-0.219246 -1.369481,-0.283773 -0.962341,-0.210683 -3.906381,-0.28376 -5.225649,-0.129711 -3.779405,0.44132 -7.096189,1.740502 -9.912826,3.882844 -1.120785,0.852477 -2.654658,2.369598 -3.460516,3.422725 -2.543243,3.323603 -3.872761,6.731914 -4.701991,12.053857 -0.386629,2.481353 -0.18923,9.50645 0.31619,11.252784 0.06622,0.228805 0.120402,0.561348 0.120402,0.73898 0,0.523897 0.78843,3.640284 1.292373,5.108296 0.790711,2.303377 1.065184,2.958908 1.934823,4.620968 1.419407,2.71278 2.85083,4.675472 4.876663,6.68662 0.99147,0.984288 2.24207,2.018663 2.44064,2.018663 0.01327,0 0.258642,-0.08251 0.545239,-0.183348 z m 8.976145,-10.995315 c 0.93452,-0.426862 1.80692,-1.698482 2.420661,-3.528379 0.391154,-1.166233 0.840353,-3.173259 0.973722,-4.350592 0.06855,-0.605138 0.149484,-1.140451 0.179854,-1.189587 0.03038,-0.04914 0.136193,-0.93465 0.235167,-1.967807 0.233971,-2.442318 0.238689,-7.473929 0.0083,-8.86625 -0.58005,-3.505645 -1.612538,-5.233312 -3.446076,-5.766335 -0.849622,-0.246991 -1.191517,-0.237275 -2.068205,0.05879 -2.80735,0.948057 -4.312494,5.309166 -4.31252,12.49541 -1.7e-5,4.413406 0.566516,7.592137 1.810717,10.159654 0.77942,1.608396 1.606219,2.560708 2.595986,2.990064 0.549394,0.238326 1.026876,0.227906 1.602381,-0.03497 z" id="path857" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.111391;stroke-linecap:square;paint-order:fill markers stroke" d="m 182.86527,57.949429 c -3.68573,-0.68252 -6.66601,-2.789188 -8.08074,-5.712011 -0.79469,-1.641837 -1.38732,-3.878369 -1.31676,-4.969352 l 0.0506,-0.782801 3.40255,-0.04556 3.40254,-0.04557 0.18789,0.719214 c 0.52768,2.019884 1.77599,3.531406 3.42646,4.148925 1.0514,0.393378 2.6365,0.473511 3.67283,0.185676 0.99272,-0.275724 2.18975,-1.185906 2.74404,-2.086471 0.45985,-0.74715 0.50944,-0.962962 0.50308,-2.189358 -0.007,-1.376973 -0.18297,-1.922656 -0.87368,-2.711486 -0.91814,-1.048589 -2.78892,-1.761261 -4.62883,-1.763355 -0.9449,-10e-4 -1.15953,-0.05485 -1.3052,-0.327041 -0.21142,-0.395045 -0.22933,-4.547411 -0.021,-4.876342 0.0943,-0.14884 0.63811,-0.277014 1.49511,-0.352365 2.14658,-0.188733 3.45553,-1.161015 4.01839,-2.984863 0.21005,-0.680605 0.21539,-0.953152 0.034,-1.733816 -0.6635,-2.855822 -4.63901,-3.941036 -6.91262,-1.886968 -0.78755,0.711509 -1.11181,1.287535 -1.48884,2.644822 l -0.28069,1.010473 -3.01436,0.04792 c -1.6579,0.02634 -3.19485,0.0035 -3.41544,-0.05087 -0.38138,-0.09394 -0.39564,-0.145959 -0.29012,-1.058395 0.5849,-5.058077 3.4035,-8.474393 7.95136,-9.637541 1.81226,-0.463497 5.22305,-0.463784 7.03411,-6.67e-4 4.29992,1.099732 7.21818,4.189581 7.57451,8.019865 0.24937,2.680616 -0.61044,5.011752 -2.50075,6.780039 -0.60242,0.563539 -1.09532,1.122072 -1.09532,1.241183 0,0.119115 0.34962,0.402041 0.77692,0.628723 1.66566,0.88363 3.0255,2.430474 3.78263,4.302807 0.36223,0.895777 0.40753,1.258982 0.39905,3.199831 -0.009,1.955476 -0.0571,2.310569 -0.45478,3.324004 -1.19365,3.042054 -3.18841,5.020778 -6.25694,6.206653 -2.39344,0.924974 -5.9155,1.236926 -8.52001,0.754623 z" id="path899" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 96.675039,57.45821 c -0.213191,-0.04632 -0.260331,-0.105574 -0.310923,-0.390824 -0.08448,-0.476338 -0.07686,-33.099771 0.0078,-33.53781 0.03841,-0.198667 0.09672,-0.38813 0.129579,-0.42103 0.03285,-0.03291 1.539114,-0.07058 3.347254,-0.08373 2.855791,-0.02077 3.313691,-0.0068 3.486861,0.106704 l 0.19933,0.130611 0.0218,13.552733 c 0.0207,12.879042 0.0293,13.560204 0.1721,13.703093 0.13974,0.139808 0.48748,0.153315 4.95463,0.192464 l 4.80434,0.0421 0.16388,0.202487 c 0.15662,0.193505 0.16282,0.3363 0.13984,3.217967 -0.022,2.763452 -0.0366,3.028036 -0.17439,3.165753 -0.14209,0.142028 -0.60439,0.150931 -8.42061,0.162175 -4.54864,0.0065 -8.383331,-0.01267 -8.521541,-0.0427 z" id="path901" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 118.58516,57.440657 c -0.23396,-0.06982 -0.27523,-0.126289 -0.31939,-0.436938 -0.0279,-0.19622 -0.0396,-5.574593 -0.026,-11.951946 0.02,-9.376138 0.0456,-11.61613 0.13414,-11.704649 0.15999,-0.159975 6.52597,-0.159975 6.68596,0 0.0885,0.08847 0.11409,2.343105 0.13363,11.788858 0.0133,6.423655 0.003,11.798877 -0.0233,11.944927 -0.0261,0.146049 -0.11279,0.296938 -0.19257,0.335312 -0.20691,0.09956 -6.06574,0.121866 -6.39238,0.02445 z" id="path903" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 131.09321,57.472144 c -0.19496,-0.02557 -0.28632,-0.0887 -0.31841,-0.220013 -0.0248,-0.101282 -0.0341,-6.284879 -0.0207,-13.741325 l 0.0243,-13.557177 0.18578,-0.757854 c 0.75069,-3.062171 2.22563,-5.108763 4.50733,-6.254276 1.59098,-0.798746 2.46207,-1.008829 4.77878,-1.152515 0.75729,-0.04697 2.55868,0.120065 3.16507,0.293476 0.64174,0.183522 1.09863,0.462607 1.16566,0.712033 0.0642,0.238795 0.0573,5.010651 -0.008,5.252978 -0.0487,0.181974 -0.0864,0.195055 -0.44093,0.152962 -0.21322,-0.02531 -0.69081,-0.10407 -1.06132,-0.175006 -0.84973,-0.162685 -1.44365,-0.165029 -2.18199,-0.0086 -1.25146,0.26512 -2.16522,0.912152 -2.6489,1.875684 -0.44035,0.877212 -0.67585,2.715444 -0.39682,3.097505 0.11317,0.154956 0.27261,0.165643 3.06659,0.205559 1.62097,0.02314 2.97875,0.07362 3.0173,0.112152 0.10596,0.105904 0.13803,5.282321 0.0344,5.554847 L 143.87485,39.09 h -2.89787 c -2.63598,0 -2.91394,0.0133 -3.07573,0.14736 l -0.17786,0.14736 -0.0209,8.942704 c -0.0168,7.199219 -0.0422,8.964038 -0.13029,9.052153 -0.0853,0.0854 -0.77913,0.111535 -3.15773,0.118947 -1.6766,0.0052 -3.17139,-0.0066 -3.32176,-0.02638 z" id="path905" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 156.84591,58.116528 c -3.05067,-0.383021 -5.50924,-1.506551 -7.45189,-3.405386 -1.17497,-1.148477 -1.72055,-1.905574 -2.40206,-3.333346 -0.94503,-1.979841 -1.25975,-3.473384 -1.25847,-5.972353 0.001,-1.866135 0.21127,-3.281617 0.66314,-4.462921 0.0974,-0.254725 0.20068,-0.538921 0.22943,-0.631547 0.0999,-0.321909 0.9162,-1.856072 1.2993,-2.441978 0.7825,-1.196729 2.39924,-2.720572 3.6928,-3.480606 0.25473,-0.149661 0.51998,-0.307818 0.58945,-0.351455 0.0695,-0.04364 0.31577,-0.161004 0.54734,-0.260813 0.23156,-0.09981 0.5726,-0.248858 0.75785,-0.331221 0.18526,-0.08236 0.56418,-0.215652 0.84206,-0.296194 2.01475,-0.583979 4.40757,-0.709825 6.39966,-0.33658 1.42786,0.267528 2.02928,0.446085 2.93074,0.870119 2.56327,1.205739 4.34287,2.931746 5.5756,5.407741 0.64793,1.301376 0.70477,1.465021 1.11139,3.199831 0.35386,1.509748 0.42307,4.686532 0.10646,4.886732 -0.0686,0.04336 -0.46573,0.07894 -0.88255,0.07906 -0.41682,8.3e-5 -4.28357,0.01017 -8.59278,0.02234 -7.33713,0.02071 -7.84939,0.03161 -8.06273,0.171425 -0.16207,0.106223 -0.22781,0.22072 -0.22781,0.396819 0,0.593181 0.69169,1.944139 1.36203,2.660243 0.50775,0.542402 1.62244,1.263094 2.34303,1.514853 1.42388,0.497475 3.22397,0.480846 4.59195,-0.04242 0.83188,-0.318204 1.85217,-1.102192 2.39716,-1.84199 0.2987,-0.405459 0.42713,-0.515087 0.60654,-0.517754 0.24067,-0.0036 2.5162,0.835168 3.91492,1.443014 0.19429,0.08443 0.39449,0.153515 0.44488,0.153515 0.12884,0 0.94021,0.413825 1.11755,0.569991 0.20707,0.182334 0.18466,0.377026 -0.10172,0.88384 -0.3146,0.556736 -1.35866,1.854074 -1.85607,2.306334 -2.29635,2.087909 -5.05069,3.109926 -8.58902,3.187014 -0.81048,0.01767 -1.75466,-0.0033 -2.09818,-0.04631 z m 6.78691,-15.595143 c 0.0531,-0.119174 0.056,-0.283186 0.008,-0.442083 -0.0422,-0.138941 -0.12682,-0.43009 -0.18811,-0.646995 -0.21013,-0.743626 -1.17444,-1.955197 -1.89496,-2.380848 -0.53882,-0.318318 -0.9418,-0.506764 -1.50631,-0.704397 -0.58148,-0.203571 -0.75425,-0.224768 -1.78073,-0.218456 -1.0099,0.0062 -1.20689,0.03218 -1.76487,0.232531 -1.329,0.477244 -2.52595,1.426065 -3.15973,2.504717 -0.54368,0.925313 -0.66161,1.412358 -0.40944,1.691003 0.13216,0.146039 0.40976,0.153992 5.37567,0.153992 h 5.23632 z" id="path907" /><path style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 211.92689,58.123621 c -3.64806,-0.419723 -6.6154,-1.998891 -8.70828,-4.634396 -1.41725,-1.784706 -2.32438,-4.108105 -2.50504,-6.41604 -0.14365,-1.835219 0.0931,-4.118032 0.54852,-5.288603 0.0631,-0.162098 0.1493,-0.427346 0.19164,-0.589444 0.20339,-0.778717 1.30708,-3.253044 1.82169,-4.083994 0.15938,-0.257352 0.21358,-0.344176 0.9377,-1.502106 0.22702,-0.363025 0.45066,-0.723006 0.49697,-0.799957 0.0463,-0.07695 0.23324,-0.36727 0.4154,-0.645148 0.5904,-0.900675 1.19432,-1.843238 1.44486,-2.255071 0.13469,-0.221394 0.3609,-0.562429 0.50268,-0.757854 0.14178,-0.195425 0.44362,-0.658462 0.67075,-1.028969 0.22713,-0.370505 0.5397,-0.856485 0.69459,-1.079953 0.15489,-0.223467 0.30795,-0.469772 0.34014,-0.54734 0.0322,-0.07757 0.36147,-0.602347 0.73174,-1.166176 0.37028,-0.563829 0.9887,-1.511149 1.37426,-2.105151 0.81154,-1.250279 0.92594,-1.399887 1.17051,-1.530778 0.23073,-0.123483 7.31624,-0.136887 7.63827,-0.01444 0.1188,0.04517 0.216,0.119931 0.216,0.166142 0,0.118545 -0.64537,1.133953 -1.47454,2.320019 -0.38853,0.55576 -1.06938,1.540972 -1.513,2.189357 -0.44361,0.648389 -1.18697,1.728332 -1.6519,2.399874 -0.46493,0.671543 -0.98733,1.4294 -1.1609,1.684121 -0.17356,0.254724 -0.43803,0.635288 -0.58769,0.845701 -0.30425,0.427726 -0.53676,1.014765 -0.44118,1.11388 0.0344,0.03572 0.32517,0.02701 0.64606,-0.01937 1.67738,-0.242437 3.96064,0.01764 5.59371,0.637185 1.22132,0.463331 2.58058,1.341242 3.70163,2.390775 1.25192,1.172065 2.73721,3.83764 3.02638,5.431291 0.0504,0.277882 0.13574,0.694701 0.18959,0.926267 0.12789,0.549925 0.12572,3.487232 -0.003,4.041891 -0.0537,0.231567 -0.14888,0.686281 -0.21143,1.010474 -0.20373,1.055968 -0.99222,2.803065 -1.84316,4.083995 -0.52717,0.793551 -2.17184,2.43161 -3.01868,3.006546 -1.41308,0.959364 -3.11658,1.669055 -4.83066,2.012488 -1.13064,0.226535 -3.32698,0.328681 -4.40365,0.204805 z m 3.30896,-6.696366 c 1.70038,-0.583739 2.97082,-1.729122 3.64917,-3.289973 0.34922,-0.803528 0.43035,-1.202855 0.43277,-2.130245 0.008,-3.149292 -2.61223,-5.738166 -5.80817,-5.738166 -2.23892,0 -4.43555,1.379117 -5.29585,3.324908 -0.75234,1.701619 -0.66391,3.626436 0.23911,5.204699 0.34101,0.596022 1.2037,1.56748 1.56951,1.76741 0.0886,0.04842 0.18004,0.112043 0.2032,0.141382 0.0927,0.117404 0.82892,0.491116 1.30519,0.662503 0.83704,0.301202 1.13773,0.34648 2.10515,0.316984 0.73967,-0.02254 1.06198,-0.07483 1.59992,-0.259502 z" id="path909" /><path id="path911" style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0556953;stroke-linecap:square;paint-order:fill markers stroke" d="m 245.59233,23.236682 c -0.69519,-0.110472 -4.23087,-0.109035 -5.00977,0.002 -1.96523,0.280032 -4.47944,1.395676 -6.01367,2.667969 -1.17234,0.972182 -2.52248,2.585543 -3.38281,4.044922 -0.32894,0.557987 -0.98681,1.899946 -1.09571,2.234375 -0.0377,0.115783 -0.16657,0.474635 -0.2871,0.798828 -0.72646,1.953769 -1.22071,5.026159 -1.22071,7.585937 0,1.531329 0.20731,3.739856 0.46094,4.902344 0.3065,1.404879 0.47472,2.057698 0.60156,2.345703 0.0643,0.145939 0.1169,0.316437 0.11719,0.378906 2.8e-4,0.06247 0.0531,0.213052 0.11719,0.335938 0.0641,0.122885 0.1629,0.368722 0.2207,0.546875 0.22347,0.688708 1.40439,2.854865 1.97266,3.619141 0.14174,0.190624 0.52636,0.664441 0.85547,1.052734 2.10907,2.488509 5.07531,4.002885 8.55859,4.369141 1.10945,0.116657 3.25556,0.0333 4.35742,-0.167969 1.43494,-0.26211 2.77886,-0.748512 4.00586,-1.441406 v -7.869141 h 5.66992 l 0.002,0.0039 h 0.68555 c 0.32365,-0.887278 0.60618,-1.865387 0.87305,-2.988281 0.63638,-2.677806 0.61077,-7.6145 -0.0527,-10.230469 -0.14096,-0.55576 -0.28436,-1.144545 -0.31836,-1.30664 -0.14338,-0.684277 -1.16085,-3.229056 -1.51562,-3.789063 -0.044,-0.06947 -0.20379,-0.33512 -0.35352,-0.589844 -0.67731,-1.152258 -1.52211,-2.2044 -2.52148,-3.138672 -1.01886,-0.952498 -1.02697,-0.958009 -2.17969,-1.677734 -1.25067,-0.78089 -3.06144,-1.453625 -4.54687,-1.689453 z m -2.46289,6.59375 c 0.54184,0.0075 1.08718,0.06157 1.47265,0.160156 2.11307,0.540432 3.92045,2.36185 4.72852,4.763672 0.12458,0.370314 0.26073,0.749167 0.30273,0.841797 0.14693,0.324447 0.41744,1.608552 0.56641,2.693359 0.20511,1.493467 0.18541,3.414676 -0.0508,5.011719 -0.176,1.190097 -0.40571,2.162066 -0.5918,2.509766 -0.0507,0.09464 -0.0916,0.242082 -0.0918,0.326172 -6.3e-4,0.235241 -0.68481,1.698622 -1.05468,2.255859 -0.7201,1.08488 -1.60241,1.921642 -2.48242,2.355469 -0.25472,0.125573 -0.52637,0.263027 -0.60547,0.304687 -0.0791,0.04167 -0.49565,0.152644 -0.92383,0.246094 -0.44455,0.09702 -1.05117,0.164003 -1.41406,0.158203 -0.69031,-0.01105 -1.76646,-0.223997 -2.22461,-0.441406 -0.15823,-0.07509 -0.3125,-0.136719 -0.3418,-0.136719 -0.12471,0 -1.25574,-0.801988 -1.58399,-1.123047 -1.22574,-1.198937 -2.07132,-2.912811 -2.66601,-5.40039 -0.32417,-1.356016 -0.42478,-4.066059 -0.21875,-5.910157 0.13382,-1.19774 0.18711,-1.464217 0.56836,-2.808593 0.85643,-3.019997 2.76109,-5.119664 5.1582,-5.6875 0.37191,-0.0881 0.91128,-0.126644 1.45313,-0.119141 z" /><circle style="fill:#7875ea;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.233236;stroke-linecap:square;paint-order:fill markers stroke" id="path913" cx="121.71664" cy="26.094625" r="4.0615444" /><text xml:space="preserve" style="font-size:31.475px;line-height:1.25;font-family:sans-serif;fill:#888;fill-opacity:1;stroke-width:0.786874" x="250.55078" y="67.688271" id="text1"><tspan id="tspan1" x="250.55078" y="67.688271" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Arial Black';-inkscape-font-specification:'Arial Black, ';fill:#888;fill-opacity:1;stroke-width:0.786874">ng</tspan></text></svg>
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "debugging_verbose": "Aktiviere hier die ausführliche Protokollierung",
3
+ "family_map_header_name": "Name der Kreiskarten-Kopfzeile (optional)",
4
+ "family_map_header_name_help": "Wenn dieser Name festgelegt ist, wird er als Kopfzeile in der Kreiskarte angezeigt. Lassen das Feld leer, um den Kreisnamen oder die Standardeinstellung 'Circle' zu verwenden.",
3
5
  "help_txt": "Weitere Informationen findest du im „Hilfe“-Tab!",
4
6
  "helps": "Hilfe & FAQ",
5
7
  "intro_txt": "Hilfe & FAQ",
@@ -8,7 +10,6 @@
8
10
  "life360_token": "Token (ohne 'Bearer' und ohne Leerzeichen)",
9
11
  "life360_username": "E-Mail-Adresse (optional, Ersatz für Passwortauthentifizierung)",
10
12
  "life360_username_help": "Wird nur benötigt, wenn du die passwortbasierte Anmeldung anstelle des Tokens verwenden möchtest (nicht empfohlen)",
11
- "location_object_type": "Geolokalisierungsobjekttyp",
12
13
  "location_unknown_name": "Ersatzname für unbekannten Standort",
13
14
  "location_unknown_name_help": "Text für locationName wenn die Person an keinem bekannten Ort ist (z.B. 'unterwegs'). Leer lassen, um den Wert leer zu belassen.",
14
15
  "paypal_donate": "Falls du uns unterstützen möchtest.",
@@ -24,18 +25,41 @@
24
25
  "screenshot_txt": "Screenshots der Browser-DevTools (F12) mit hervorgehobenem Token-Wert • (die Verwendung von DevTools in einem neuen Fenster wird empfohlen):",
25
26
  "section_life360_data": "Life360-Daten",
26
27
  "section_location_tracking": "Standortverfolgung",
27
- "section_places_adapter": "Orte-Adapter",
28
- "sendto_places_adapter_instance": "Places-Adapter-Instanz (-1 = deaktiviert)",
29
- "sendto_places_adapter_instance_help": "Gib die Instanznummer des Places-Adapters ein (z. B. 0). Auf -1 setzen, um die Weiterleitung zu deaktivieren.",
30
- "sendto_places_adapter_regexp": "Regex-Filter für Personen (leer = alle senden)",
31
- "sendto_places_adapter_regexp_help": "Regulärer Ausdruck abgeglichen mit „[Vorname] [Nachname]“. Lass das Feld leer, um alle zu senden.",
28
+ "section_tracker_colors": "Kartendesign",
29
+ "section_tracker_general": "Allgemein",
30
+ "section_tracker_info": "Hinweis",
32
31
  "tab_advanced": "Protokolle/Logging",
33
32
  "tab_general": "Life360-LogIn",
34
33
  "tab_integration": "Integration",
35
34
  "tab_myplaces": "Meine Orte",
35
+ "tab_tracker": "Fahrtenbuch",
36
36
  "token1_txt": "Erste Variante:",
37
37
  "token2_txt": "Zweite Variante:",
38
38
  "token_hint": "EU-Benutzer – So erhältst du deinen Bearer-Token:\n\n1. Öffne https://life360.com/login\n2. Gib deine E-Mail-Adresse ein → klicke auf Weiter\n3. Gib den an deine E-Mail-Adresse gesendeten Einmalcode ein\n4. Öffne die Browser-DevTools (F12) → Registerkarte „Netzwerk“.\n5. Suche die POST-Anfrage mit dem Namen „token“ und/oder „bearer“ (nicht OPTIONS).\n6. Öffne die Registerkarte „Vorschau/Antwort“ → kopiere den Wert von „access_token“ und füge ihn unten ein\n\nAchtung: Gib den Token OHNE das Wort „Bearer“ und OHNE Leerzeichen ein!\n\nDer Token ist mehrere Monate gültig.",
39
39
  "track_location_people": "Aktiviere die Standortverfolgung für Personen",
40
- "txt_one": "... weitere Informationen folgen in Kürze!"
40
+ "tracker_clear_recordings_info": " Hinweis: Beim Leeren der Aufzeichnungen einer Person wird auch die Kreiskarte aktualisiert, da sie aus den Personen-Daten aufgebaut wird. Die monatlichen GeoJSON-Dateien (currentYear) werden nicht verändert.",
41
+ "tracker_color_header_bg": "Header-Hintergrund",
42
+ "tracker_color_header_border": "Header-Trennlinie",
43
+ "tracker_color_header_text": "Header-Text",
44
+ "tracker_color_page_bg": "Seitenhintergrund",
45
+ "tracker_enabled": "Fahrtenbuch aktiv - Globale Kontrolle",
46
+ "tracker_enabled_help": "Kann auch per Datenpunkt tracker.config.enabled gesteuert werden",
47
+ "tracker_info_txt": "Änderungen an den Farben werden beim nächsten GPS-Update automatisch übernommen.\nDie Karten-URL ist unter tracker.<Person>.url im Objektbaum zu finden.",
48
+ "tracker_marker_opacity": "Deckkraft Marker",
49
+ "tracker_marker_opacity_help": "Deckkraft des Positionsmarkers (0.0 = transparent, 1.0 = voll sichtbar)",
50
+ "tracker_min_distance": "Mindestabstand (Meter)",
51
+ "tracker_min_distance_help": "Neuer Punkt wird erst ab diesem Abstand gespeichert (5-500m)",
52
+ "tracker_person_circle_map": "Kreiskarte",
53
+ "tracker_person_clear_recordings": "Aufz. leeren",
54
+ "tracker_person_color": "Farbe",
55
+ "tracker_person_enabled": "Aktiv",
56
+ "tracker_person_family_map": "Kreiskarte",
57
+ "tracker_person_name": "Name",
58
+ "tracker_person_own_map": "Eigene Karte",
59
+ "tracker_retention_days": "Aufbewahrung (Tage)",
60
+ "tracker_retention_days_help": "Anzahl der Tage, die Routendaten aufbewahrt werden. Ältere Tage werden täglich und beim Adapterstart automatisch entfernt. 0 = unbegrenzt.",
61
+ "tracker_route_opacity": "Deckkraft Route",
62
+ "tracker_route_opacity_help": "Deckkraft der Route (0.0 - 1.0)",
63
+ "tracker_route_weight": "Linienbreite (px)",
64
+ "tracker_route_weight_help": "Breite der Route in Pixel (1-10)"
41
65
  }
@@ -1,4 +1,7 @@
1
1
  {
2
+ "debugging_verbose": "Enable verbose logging",
3
+ "family_map_header_name": "Circle map header name (optional)",
4
+ "family_map_header_name_help": "If set, this name will be shown as the header in the Circle Map. Leave empty to use the circle name or default 'Circle'.",
2
5
  "tab_general": "Life360",
3
6
  "tab_myplaces": "My Places",
4
7
  "tab_integration": "Integration",
@@ -18,24 +21,44 @@
18
21
  "process_life360_circles": "Process Life360 circles",
19
22
  "process_life360_places": "Process Life360 places",
20
23
  "process_life360_people": "Process Life360 people",
21
- "section_places_adapter": "Places-adapter",
22
- "sendto_places_adapter_instance": "Places-adapter instance (-1 = disabled)",
23
- "sendto_places_adapter_instance_help": "Enter the instance number of the Places-adapter (e.g. 0). Set to -1 to disable forwarding.",
24
- "sendto_places_adapter_regexp": "Regex filter for people (empty = send all)",
25
- "sendto_places_adapter_regexp_help": "Regular expression matched against '[Firstname] [Lastname]'. Leave empty to send all.",
26
24
  "section_location_tracking": "Location-tracking",
27
25
  "track_location_people": "Enable location-tracking for people",
28
26
  "location_unknown_name": "Fallback name for unknown location",
29
27
  "location_unknown_name_help": "Text shown in locationName when the person is at no known place (e.g. 'on tour'). Leave empty to keep blank.",
30
- "location_object_type": "Geo-location object type",
31
- "debugging_verbose": "Enable verbose logging",
32
28
  "helps": "Help & FAQ",
33
29
  "intro_txt": "Help & FAQ.",
34
- "txt_one": "... more information coming soon!",
35
30
  "paypal_donate": "Donate with PayPal",
36
31
  "screenshot_txt": "Screenshots of the browser DevTools (F12) with the token value highlighted • (using DevTools in a new window is recommended):",
37
32
  "help_txt": "You can find more information in the 'Help' tab!",
38
33
  "places_txt": "Here you can add your own locations (independent of the Life360 app) to, for example, calculate distances or receive notifications when people arrive at or leave a location.\n (Use a period instead of a comma for latitude and longitude)",
39
34
  "token1_txt": "First variant:",
40
- "token2_txt": "Second variant:"
35
+ "token2_txt": "Second variant:",
36
+ "tab_tracker": "Logbook",
37
+ "section_tracker_general": "General",
38
+ "tracker_enabled": "Logbook active - Global control",
39
+ "tracker_enabled_help": "Can also be controlled via state tracker.config.enabled (e.g. by CRON)",
40
+ "tracker_min_distance": "Minimum distance (meters)",
41
+ "tracker_min_distance_help": "A new point is saved only after this distance has been exceeded (5-500m)",
42
+ "section_tracker_colors": "Map design",
43
+ "tracker_color_page_bg": "Page background",
44
+ "tracker_color_header_bg": "Header background",
45
+ "tracker_color_header_border": "Header divider",
46
+ "tracker_color_header_text": "Header text",
47
+ "tracker_route_weight": "Line width (px)",
48
+ "tracker_route_weight_help": "Width of the route line in pixels (1-10)",
49
+ "tracker_route_opacity": "Route opacity",
50
+ "tracker_route_opacity_help": "Opacity of the route line (0.0 - 1.0)",
51
+ "tracker_marker_opacity": "Marker opacity",
52
+ "tracker_marker_opacity_help": "Opacity of the position marker (0.0 = transparent, 1.0 = fully visible)",
53
+ "section_tracker_info": "Note",
54
+ "tracker_info_txt": "Color changes take effect automatically on the next GPS update.\nThe map URL can be found under tracker.<Person>.url in the object tree.",
55
+ "tracker_person_name": "Name",
56
+ "tracker_person_enabled": "Active",
57
+ "tracker_person_color": "Color",
58
+ "tracker_person_own_map": "Own map",
59
+ "tracker_person_circle_map": "Circle map",
60
+ "tracker_clear_recordings_info": "⚠ Note: Clearing a person's recordings also affects the circle map, as it is built from the individual person data. The monthly GeoJSON files (currentYear) are not changed.",
61
+ "tracker_person_clear_recordings": "Clear rec.",
62
+ "tracker_retention_days": "Retention (days)",
63
+ "tracker_retention_days_help": "Number of days to keep route data. Older days are removed automatically every day and on adapter start. 0 = keep forever."
41
64
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "debugging_verbose": "Habilitar el registro detallado",
3
+ "family_map_header_name": "Nombre del encabezado del mapa circular (opcional)",
4
+ "family_map_header_name_help": "Si se establece, este nombre se mostrará como encabezado en el Mapa circular. Déjelo vacío para usar el nombre del círculo o el 'Círculo' predeterminado.",
3
5
  "help_txt": "¡Puedes encontrar más información en la pestaña 'Ayuda'!",
4
6
  "helps": "Ayuda y preguntas frecuentes",
5
7
  "intro_txt": "Ayuda y preguntas frecuentes.",
@@ -8,7 +10,6 @@
8
10
  "life360_token": "ficha al portador",
9
11
  "life360_username": "Dirección de correo electrónico (opcional, alternativa para la autenticación de contraseña)",
10
12
  "life360_username_help": "Solo es necesario si desea utilizar un inicio de sesión basado en contraseña en lugar de un token",
11
- "location_object_type": "Tipo de objeto de ubicación geográfica",
12
13
  "location_unknown_name": "Nombre alternativo para una ubicación desconocida",
13
14
  "location_unknown_name_help": "Texto que se muestra en LocationName cuando la persona no se encuentra en un lugar conocido (por ejemplo, \"de gira\"). Déjelo vacío para mantenerlo en blanco.",
14
15
  "paypal_donate": "Donar con PayPal",
@@ -21,21 +22,43 @@
21
22
  "process_life360_circles": "Vida del proceso360 círculos",
22
23
  "process_life360_people": "Vida del Proceso360 personas",
23
24
  "process_life360_places": "Proceso de vida360 lugares",
24
- "screenshot_txt": "Captura de pantalla del navegador DevTools (F12) con el valor del token resaltado (se recomienda usar DevTools en una nueva ventana):",
25
+ "screenshot_txt": "Capturas de pantalla del navegador DevTools (F12) con el valor del token resaltado (se recomienda usar DevTools en una nueva ventana):",
25
26
  "section_life360_data": "Datos de vida 360",
26
27
  "section_location_tracking": "Seguimiento de ubicación",
27
- "section_places_adapter": "Adaptador de lugares",
28
- "sendto_places_adapter_instance": "Instancia de adaptador de lugares (-1 = deshabilitado)",
29
- "sendto_places_adapter_instance_help": "Introduzca el número de instancia del adaptador de lugares (por ejemplo, 0). Establezca en -1 para deshabilitar el reenvío.",
30
- "sendto_places_adapter_regexp": "Filtro Regex para personas (vacío = enviar todo)",
31
- "sendto_places_adapter_regexp_help": "Expresión regular comparada con '[Nombre] [Apellido]'. Déjelo vacío para enviarlo todo.",
28
+ "section_tracker_colors": "Diseño de mapas",
29
+ "section_tracker_general": "General",
30
+ "section_tracker_info": "Nota",
32
31
  "tab_advanced": "Avanzado",
33
32
  "tab_general": "vida360",
34
33
  "tab_integration": "Integración",
35
34
  "tab_myplaces": "Mis lugares",
35
+ "tab_tracker": "Cuaderno",
36
36
  "token1_txt": "Primera variante:",
37
37
  "token2_txt": "Segunda variante:",
38
- "token_hint": "Usuarios de la UE: cómo obtener su token de portador:\n1. Abra https://life360.com/login\n2. Ingrese su dirección de correo electrónico → haga clic en Continuar\n3. Ingrese el código de un solo uso enviado a su correo electrónico\n4. Abra el navegador DevTools (F12) → pestaña Red\n5. Busque la solicitud POST denominada 'token' (no OPCIONES)\n6. Abra la pestaña Vista previa/Respuesta → copie el valor de 'access_token' y péguelo debajo\n\n¡Ingrese el token SIN la palabra 'Portador' y SIN espacios!\n\nLos tokens son válidos por varios meses.",
38
+ "token_hint": "Usuarios de la UE: cómo obtener su token de portador:\n1. Abra https://life360.com/login\n2. Ingrese su dirección de correo electrónico → haga clic en Continuar\n3. Ingrese el código de un solo uso enviado a su correo electrónico\n4. Abra el navegador DevTools (F12) → pestaña Red\n5. Busque la solicitud POST denominada 'token' y/o 'portador' (no OPCIONES)\n6. Abra la pestaña Vista previa/Respuesta → copie el valor de 'access_token' y péguelo debajo\n\n¡Ingrese el token SIN la palabra 'Portador' y SIN espacios!\n\nEl token es válido por varios meses.",
39
39
  "track_location_people": "Habilitar el seguimiento de ubicación de personas",
40
- "txt_one": "... ¡más información próximamente!"
40
+ "tracker_clear_recordings_info": " Nota: Borrar las grabaciones de una persona también afecta el mapa circular, ya que se construye a partir de los datos de la persona individual. Los archivos GeoJSON mensuales (año actual) no se modifican.",
41
+ "tracker_color_header_bg": "Fondo del encabezado",
42
+ "tracker_color_header_border": "Divisor de encabezado",
43
+ "tracker_color_header_text": "Texto del encabezado",
44
+ "tracker_color_page_bg": "Fondo de la página",
45
+ "tracker_enabled": "Libro de registro activo - Control global",
46
+ "tracker_enabled_help": "También se puede controlar mediante state tracker.config.enabled (por ejemplo, mediante CRON)",
47
+ "tracker_info_txt": "Los cambios de color entran en vigor automáticamente en la próxima actualización del GPS.\nLa URL del mapa se puede encontrar en tracker.<Persona>.url en el árbol de objetos.",
48
+ "tracker_marker_opacity": "Opacidad del marcador",
49
+ "tracker_marker_opacity_help": "Opacidad del marcador de posición (0,0 = transparente, 1,0 = totalmente visible)",
50
+ "tracker_min_distance": "Distancia mínima (metros)",
51
+ "tracker_min_distance_help": "Un nuevo punto se guarda sólo después de superar esta distancia (5-500 m)",
52
+ "tracker_person_circle_map": "mapa circular",
53
+ "tracker_person_clear_recordings": "Borrar grabación.",
54
+ "tracker_person_color": "Color",
55
+ "tracker_person_enabled": "Activo",
56
+ "tracker_person_name": "Nombre",
57
+ "tracker_person_own_map": "Mapa propio",
58
+ "tracker_retention_days": "Retención (días)",
59
+ "tracker_retention_days_help": "Número de días para conservar los datos de la ruta. Los días más antiguos se eliminan automáticamente todos los días y al iniciar el adaptador. 0 = conservar para siempre.",
60
+ "tracker_route_opacity": "Opacidad de ruta",
61
+ "tracker_route_opacity_help": "Opacidad de la línea de ruta (0,0 - 1,0)",
62
+ "tracker_route_weight": "Ancho de línea (px)",
63
+ "tracker_route_weight_help": "Ancho de la línea de ruta en píxeles (1-10)"
41
64
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "debugging_verbose": "Activer la journalisation détaillée",
3
+ "family_map_header_name": "Nom de l'en-tête de la carte circulaire (facultatif)",
4
+ "family_map_header_name_help": "S'il est défini, ce nom sera affiché comme en-tête dans la carte du cercle. Laissez vide pour utiliser le nom du cercle ou « Cercle » par défaut.",
3
5
  "help_txt": "Vous pouvez trouver plus d'informations dans l'onglet 'Aide' !",
4
6
  "helps": "Aide et FAQ",
5
7
  "intro_txt": "Aide et FAQ.",
@@ -8,7 +10,6 @@
8
10
  "life360_token": "Jeton du porteur",
9
11
  "life360_username": "Adresse e-mail (facultatif, solution de secours pour l'authentification par mot de passe)",
10
12
  "life360_username_help": "Nécessaire uniquement si vous souhaitez utiliser une connexion par mot de passe au lieu d'un jeton",
11
- "location_object_type": "Type d'objet de géolocalisation",
12
13
  "location_unknown_name": "Nom de secours pour un emplacement inconnu",
13
14
  "location_unknown_name_help": "Texte affiché dans locationName lorsque la personne ne se trouve dans aucun endroit connu (par exemple « en tournée »). Laissez vide pour rester vide.",
14
15
  "paypal_donate": "Faites un don avec PayPal",
@@ -21,21 +22,43 @@
21
22
  "process_life360_circles": "Traiter les cercles Life360",
22
23
  "process_life360_people": "Processus de vie360 personnes",
23
24
  "process_life360_places": "Processus Life360 lieux",
24
- "screenshot_txt": "Capture d'écran du navigateur DevTools (F12) avec la valeur du jeton en surbrillance • (il est recommandé d'utiliser DevTools dans une nouvelle fenêtre) :",
25
+ "screenshot_txt": "Captures d'écran du navigateur DevTools (F12) avec la valeur du jeton en surbrillance • (l'utilisation de DevTools dans une nouvelle fenêtre est recommandée) :",
25
26
  "section_life360_data": "Données Life360",
26
27
  "section_location_tracking": "Suivi de localisation",
27
- "section_places_adapter": "Adaptateur de lieux",
28
- "sendto_places_adapter_instance": "Instance d'adaptateur Places (-1 = désactivé)",
29
- "sendto_places_adapter_instance_help": "Entrez le numéro d'instance de l'adaptateur Places (par exemple 0). Réglez sur -1 pour désactiver le transfert.",
30
- "sendto_places_adapter_regexp": "Filtre Regex pour les personnes (vide = tout envoyer)",
31
- "sendto_places_adapter_regexp_help": "Expression régulière comparée à « [Prénom] [Nom] ». Laissez vide pour tout envoyer.",
28
+ "section_tracker_colors": "Conception de la carte",
29
+ "section_tracker_general": "Général",
30
+ "section_tracker_info": "Note",
32
31
  "tab_advanced": "Avancé",
33
32
  "tab_general": "Vie360",
34
33
  "tab_integration": "Intégration",
35
34
  "tab_myplaces": "Mes adresses",
35
+ "tab_tracker": "Registre",
36
36
  "token1_txt": "Première variante :",
37
37
  "token2_txt": "Deuxième variante :",
38
- "token_hint": "Utilisateurs de l'UE – comment obtenir votre jeton Bearer :\n1. Ouvrez https://life360.com/login\n2. Entrez votre adresse e-mail → cliquez sur Continuer\n3. Entrez le code à usage unique envoyé à votre email\n4. Ouvrez le navigateur DevTools (F12) → onglet Réseau\n5. Recherchez la requête POST nommée « jeton » (pas OPTIONS)\n6. Ouvrez l'onglet Aperçu / Réponse → copiez la valeur de 'access_token' et collez-la ci-dessous\n\nEntrez le jeton SANS le mot 'Porteur' et SANS espaces !\n\nLes jetons sont valables plusieurs mois.",
38
+ "token_hint": "Utilisateurs de l'UE – comment obtenir votre jeton Bearer :\n1. Ouvrez https://life360.com/login\n2. Entrez votre adresse e-mail → cliquez sur Continuer\n3. Entrez le code à usage unique envoyé à votre email\n4. Ouvrez le navigateur DevTools (F12) → onglet Réseau\n5. Recherchez la requête POST nommée 'token' et/ou 'bearer' (pas OPTIONS)\n6. Ouvrez l'onglet Aperçu / Réponse → copiez la valeur de 'access_token' et collez-la ci-dessous\n\nEntrez le jeton SANS le mot 'Porteur' et SANS espaces !\n\nLe token est valable plusieurs mois.",
39
39
  "track_location_people": "Activer le suivi de localisation des personnes",
40
- "txt_one": "... plus d'informations à venir !"
40
+ "tracker_clear_recordings_info": " Remarque : La suppression des enregistrements d'une personne affecte également la carte du cercle, car elle est construite à partir des données individuelles de la personne. Les fichiers GeoJSON mensuels (currentYear) ne sont pas modifiés.",
41
+ "tracker_color_header_bg": "Arrière-plan de l'en-tête",
42
+ "tracker_color_header_border": "Séparateur d'en-tête",
43
+ "tracker_color_header_text": "Texte d'en-tête",
44
+ "tracker_color_page_bg": "Fond de page",
45
+ "tracker_enabled": "Journal de bord actif - Contrôle global",
46
+ "tracker_enabled_help": "Peut également être contrôlé via state tracker.config.enabled (par exemple par CRON)",
47
+ "tracker_info_txt": "Les changements de couleur prennent effet automatiquement lors de la prochaine mise à jour du GPS.\nL'URL de la carte se trouve sous tracker.<Person>.url dans l'arborescence des objets.",
48
+ "tracker_marker_opacity": "Opacité du marqueur",
49
+ "tracker_marker_opacity_help": "Opacité du marqueur de position (0,0 = transparent, 1,0 = entièrement visible)",
50
+ "tracker_min_distance": "Distance minimale (mètres)",
51
+ "tracker_min_distance_help": "Un nouveau point n'est enregistré qu'après avoir dépassé cette distance (5-500m)",
52
+ "tracker_person_circle_map": "Carte circulaire",
53
+ "tracker_person_clear_recordings": "Effacer l'enregistrement.",
54
+ "tracker_person_color": "Couleur",
55
+ "tracker_person_enabled": "Actif",
56
+ "tracker_person_name": "Nom",
57
+ "tracker_person_own_map": "Propre carte",
58
+ "tracker_retention_days": "Rétention (jours)",
59
+ "tracker_retention_days_help": "Nombre de jours pendant lesquels conserver les données d'itinéraire. Les jours les plus anciens sont automatiquement supprimés chaque jour et au démarrage de l'adaptateur. 0 = conserver pour toujours.",
60
+ "tracker_route_opacity": "Opacité de l'itinéraire",
61
+ "tracker_route_opacity_help": "Opacité de la ligne de routage (0,0 - 1,0)",
62
+ "tracker_route_weight": "Largeur de ligne (px)",
63
+ "tracker_route_weight_help": "Largeur de la ligne de route en pixels (1-10)"
41
64
  }