iobroker.sunseeker 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +52 -97
  2. package/admin/i18n/de.json +13 -2
  3. package/admin/i18n/en.json +14 -3
  4. package/admin/i18n/es.json +13 -2
  5. package/admin/i18n/fr.json +14 -3
  6. package/admin/i18n/it.json +14 -3
  7. package/admin/i18n/nl.json +13 -2
  8. package/admin/i18n/pl.json +13 -2
  9. package/admin/i18n/pt.json +13 -2
  10. package/admin/i18n/ru.json +13 -2
  11. package/admin/i18n/uk.json +13 -2
  12. package/admin/i18n/zh-cn.json +13 -2
  13. package/admin/img/anti-theft.png +0 -0
  14. package/admin/img/auth.png +0 -0
  15. package/admin/img/blank.png +0 -0
  16. package/admin/img/expert.png +0 -0
  17. package/admin/img/forbidden.png +0 -0
  18. package/admin/img/map.png +0 -0
  19. package/admin/img/mower.png +0 -0
  20. package/admin/img/mqtt.png +0 -0
  21. package/admin/img/notice.png +0 -0
  22. package/admin/img/obstacle.png +0 -0
  23. package/admin/img/passage.png +0 -0
  24. package/admin/img/pattern.png +0 -0
  25. package/admin/img/placed.png +0 -0
  26. package/admin/img/properties.png +0 -0
  27. package/admin/img/rate.png +0 -0
  28. package/admin/img/raw.png +0 -0
  29. package/admin/img/region.png +0 -0
  30. package/admin/img/save.png +0 -0
  31. package/admin/img/schedule.png +0 -0
  32. package/admin/img/work.png +0 -0
  33. package/admin/img/zone.png +0 -0
  34. package/admin/jsonConfig.json +86 -3
  35. package/io-package.json +275 -5
  36. package/lib/objectname.js +1199 -0
  37. package/lib/sunseeker/auth.js +456 -87
  38. package/lib/sunseeker/charger.png +0 -0
  39. package/lib/sunseeker/devices.js +588 -23
  40. package/lib/sunseeker/helper.js +3818 -0
  41. package/lib/sunseeker/img/charger.png +0 -0
  42. package/lib/sunseeker/img/robot.png +0 -0
  43. package/lib/sunseeker/index.d.ts +93 -25
  44. package/lib/sunseeker/index.js +125 -28
  45. package/lib/sunseeker/map.js +298 -112
  46. package/lib/sunseeker/map_preview.js +357 -0
  47. package/lib/sunseeker/mqtt.js +544 -67
  48. package/lib/sunseeker/mqttV1.js +122 -0
  49. package/lib/sunseeker/package.json +3 -3
  50. package/lib/sunseeker/polling-and-settings.js +1187 -62
  51. package/lib/sunseeker/robot.png +0 -0
  52. package/main.js +5673 -794
  53. package/package.json +12 -12
package/README.md CHANGED
@@ -22,20 +22,31 @@ Connects Sunseeker robotic lawn mowers (also rebranded as Adano, Brücke, etc.)
22
22
  - Node.js `>= 22`
23
23
  - Sunseeker cloud account (e-mail + password, same as in the mobile app)
24
24
 
25
- ## Configuration
25
+ ## API overview
26
26
 
27
- The adapter settings expose the following fields:
27
+ | Area | Endpoints | Used? |
28
+ | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- |
29
+ | Auth | `POST /auth/oauth/token` (login + refresh), `auth/mobile/token/social` | Yes |
30
+ | Device list | `GET /app_wireless_mower/device-user/getCustomDevice`, `…/list`, `…/{id}`, `…/remark` | Yes (`getCustomDevice`) |
31
+ | Status | `GET /app_wireless_mower/device/getBysn`, `…/info/{id}`, `…/check`, `…/readWeakSignal`, `…/getSignalType` | Yes (`getBysn`) |
32
+ | Settings (read) | `GET /app_wireless_mower/device-setting/{sn}`, `…/getTime/{sn}`, `device/getDeviceSettingBySn`, `device-configuration/getBySn/{sn}`, `device-model/getByClientName` | Yes (`device-setting/{sn}`) |
33
+ | Settings (write, New) | `POST /iot_mower/wireless/device/set_property` (S/X/V), `POST /app_wirelessv1_mower/wirelessv1/device/setProperty` (V1), `POST /app_wireless_mower/device/setRain/{sn}/{appId}`, `…/setWifi`, `…/appEditDevice` | Partial (`set_property` for blade) |
34
+ | Settings (write, Old) | `POST /app_mower/device-setting/save`, `…/updateLocation`, `…/updateTimeZone`, `device/setLed`, `…/saveLed`, `…/setRain`, `…/saveRain`, `…/setUltra`, `…/saveUltra`, `…/setZones`, `…/setNickName`, `…/setGps`, `…/setCurrentTime`, `…/setWorkStatus`, `…/resetPassword` | No |
35
+ | Schedule | `POST /app_mower/device-schedule/setScheduling` (Old), `app_mower/device-schedule/save`, `app_mower/device/getScheduling`, `POST /app_wireless_mower/.../setProperty` with `setSchedule` (V1) and `set_property` with `setTimeTactics` (S/X/V) | Yes (all three paths) |
36
+ | MQTT proxy via REST | `POST /iot_mower/wireless/device/get_property`, `…/set_property`, `…/action`, `…/extra`, `…/otaUpgrade`, `…/bindBaseStation` | Yes (`get_property` after connect) |
37
+ | Maps | `GET /wireless_map/wireless_device/get`, `…/getHeatMap`, `…/get3D`, `wireless_map/backup_map/get`, `map/work-map/mobile/{sn}`, `…/newest/{online}/{sn}`, `…/all-info`, `app_wireless_mower/device/getMapRealPath` | Yes (`get` + `getHeatMap`) |
38
+ | Work records | `GET /app_wireless_mower/work_record/page`, `…/work_event_info/page`, `device_log/device-operation-records/esPage`, `app_mower/device-record/getRecord/{sn}`, `app_mower/device-cmd-logs/page` | Yes (`get` + `work_record/page`) |
39
+ | Anti-theft / GPS | `gps/mobile/anti-theft/by-sn/{sn}`, `…/device-position/{sn}`, `…/getAntiTheftStatusInfo`, `…/is-it-bound`, `…/set-fence`, `…/wireless/bind`, `gps/anti-theft/send-track`, `gps/fence-radius-setting/list` | No |
40
+ | Base station | `station/base-station/bind`, `…/unBind`, `…/getByDeviceSn`, `…/getByStationSn/{sn}` | No |
41
+ | OTA | `ota/firmware-large/check/{sn}/{ver}`, `…/getDescription`, `…/otaUpdate`, `…/wireless/check`, `ota/firmware-small/list/{id}` | No |
42
+ | Sharing | `app_wireless_mower/device-user-share`, `…/invite/detail`, `…/invite/reply`, `…/unbind`, `device-user/openShare`, `…/closeShare` | No |
43
+ | Skins / cosmetics | `app_wireless_mower/device-skin`, `…/list`, `…/bind/switch{userId}/{id}` | No |
44
+ | Payment | `pay/v1/mobile/combo/*`, `pay/v1/mobile/order/*`, `pay/v1/paypal/*`, `pay/v1/user/card/holder*` | No |
45
+ | Misc | `app_wireless_mower/feedback-record`, `community_activities/*`, `message-send-logs/*`, `app-version/check`, `app-agreements/business-types/{type}/items`, `sale/manual/getManualBySn`, `link-address/list/{type}` | No |
28
46
 
29
- | Field | Description |
30
- | ----------------- | ------------------------------------------------------------ |
31
- | Username / e-mail | Sunseeker app login |
32
- | Password | Sunseeker app password (stored encrypted) |
33
- | Region | `EU` or `US` (only relevant for the `New` API) |
34
- | API | `New` for current models (S/X/V/V1), `Old` for older devices |
35
- | Polling interval | REST poll interval in seconds (minimum 30) |
36
- | Language | UI and event-code language, e.g. `de-DE`, `en-EN` |
47
+ V1-specific (`app_wirelessv1_mower/wirelessv1/`): `device-setting`, `device-setting/{sn}`, `device-schedule/{deviceId}`, `device/getProperty`, `device/setProperty`, `device/saveProperty`, `device/restoreFactory`.
37
48
 
38
- Which API to pick depends on the model:
49
+ ## Configuration
39
50
 
40
51
  - `New`: all S, X, V and V1 series mowers (server `wirefree-specific.sk-robot.com` / `wirefree-specific-us.sk-robot.com`)
41
52
  - `Old`: older devices without Wirefree branding (server `server.sk-robot.com`)
@@ -50,54 +61,9 @@ Which API to pick depends on the model:
50
61
  - Model classification into `S`, `X`, `V` (incl. V18/V3) and `V1`. Endpoints and parameters (`cmdurl`, border mode, set-property path) are picked automatically.
51
62
  - Translated event codes: 12 language variants from the Home Assistant lang files are bundled in `lib/eventcodes.json` and attached as `common.states` to `event_code` and `errortype` (model-aware) so the ioBroker UI shows readable labels.
52
63
 
53
- ## Object tree
54
-
55
- For each mower (serial `<sn>`) the adapter creates these channels:
56
-
57
- - `<sn>.general` — raw device metadata from the device list (account ids, model, serial)
58
- - `<sn>.status` — mower status (poll **and** MQTT push write into the same folder)
59
- - `<sn>.settings` — device settings
60
- - `<sn>.remote` — command buttons
61
- - `<sn>.schedule` — weekly plan (writable, see below)
62
- - `<sn>.events` — Mowing event log as json and manuel update button
63
- - `<sn>.map` — map data (only for S/X models, when available):
64
- - `info` — raw response of `/wireless_map/wireless_device/get` (sizes, magnification, `mapModifyTime`, …)
65
- - `image` — heatmap (PNG data URL; often empty if the cloud has not rendered one)
66
- - `wifi` — WiFi signal heatmap (PNG data URL)
67
- - `net` — 4G signal heatmap (PNG data URL)
68
- - `texture` — raw texture map of the work area (WebP data URL)
69
- - `mapData` — map geometry as raw JSON string (zones, polygons — same source HA uses to render its livemap)
70
- - `pathData` — recorded mowing path as raw JSON string
71
- - `backup` — backup map JSON (from `/wireless_map/backup_map/get`)
72
- - `livemap` — adapter-rendered PNG data URL (zones, obstacles, recorded path, charger position; rendered with `pureimage`)
73
-
74
- Raw payloads (REST and MQTT) are written through `json2iob` directly — no parallel adapter-side data model is maintained.
75
-
76
- ## Commands (`<sn>.remote.*`)
77
-
78
- | State | Effect |
79
- | ------------------- | ----------------------------------------------- |
80
- | `start` | Start mowing |
81
- | `pause` | Pause |
82
- | `dock` | Return to charging station |
83
- | `stop_find_charger` | Cancel return-to-dock |
84
- | `border` | Border cut (V models: mode 5 with `value:true`) |
85
- | `stop` | Stop |
86
- | `stop_task` | Cancel current task |
87
- | `restart` | Restart task |
88
- | `refresh` | Reload status now |
89
-
90
64
  ## Writable settings
91
65
 
92
- These settings are made writable directly under `<sn>.settings.*`. Writing them sends a `set_property` / `setProperty` (model-dependent) request to the cloud:
93
-
94
- | State | Range | Unit | Notes |
95
- | ------------------- | ---------------------- | ---- | ------------- |
96
- | `bladeSpeed` | 2800 – 3000 (step 100) | rpm | New API only |
97
- | `bladeHeight` | 20 – 100 (step 5) | mm | New API only |
98
- | `rainFlag` | boolean | — | Old + New API |
99
- | `rainDelayDuration` | 0 – 720 (step 1) | min | Old + New API |
100
-
66
+ These settings are made writable directly under `<sn>.settings.*`. Writing them sends a `set_property` / `setProperty` (model-dependent)
101
67
  When writing blade values, the adapter posts `{ id: "setDevBlade", key: "blade", method: "set_property", speed|height: <int> }`. After 1.5 s a status refresh is scheduled; MQTT push usually updates the values as well.
102
68
 
103
69
  Writing `rainFlag` or `rainDelayDuration` always sends both values to the cloud (the missing one is read from the current state). The endpoint depends on the model:
@@ -109,13 +75,6 @@ Writing `rainFlag` or `rainDelayDuration` always sends both values to the cloud
109
75
  ## Schedule (`<sn>.schedule.*`)
110
76
 
111
77
  A simple weekly plan with one window per day. The states are writable but the cloud is only updated when `set` is triggered.
112
-
113
- | State | Type | Format |
114
- | ------------------- | ------- | -------------------------------------------------------------------- |
115
- | `monday` … `sunday` | string | `"HH:MM-HH:MM"` for the active window, empty string disables the day |
116
- | `pause` | boolean | Pause the schedule without clearing the windows |
117
- | `set` | button | Sends the current values to the cloud |
118
-
119
78
  The dispatched payload depends on the model:
120
79
 
121
80
  - `Old` API: `POST /app_mower/device-schedule/setScheduling` with `deviceScheduleBOS` for all 7 days; `autoFlag` is the inverse of `pause`.
@@ -124,43 +83,28 @@ The dispatched payload depends on the model:
124
83
 
125
84
  ## Known limitations
126
85
 
127
- The Sunseeker API exposes far more fields than the adapter currently writes. All settings are available read-only as raw data under `<sn>.settings`. The following are **not yet** exposed as writable states:
86
+ The Sunseeker API exposes far more fields than the adapter currently writes. All settings are available read-only as raw data under `<sn>.settings`.
128
87
 
129
- - Zone settings (per-zone blade speed/height, ordering)
130
- - OTA update
131
- - Work records / mowing history
132
- - V1-specific settings: return path, screen lock, border distance, schedule on/off
133
- - Gen2 settings: auto_ride_edge, energy_save, night_work
134
- - AI sensitivity, PIN code, map operations
88
+ ## References
135
89
 
136
- ## API overview
90
+ - Home Assistant integration used as the API reference: <https://github.com/Sdahl1234/Sunseeker-lawn-mower>
91
+ - json2iob: <https://github.com/TA2k/json2iob>
92
+ - Sunseeker (wireless): <https://sunseekertech.com>
93
+ - Scheppach (wire): <https://shop.scheppach.com/Produkte/Garten-Hof/Rasenmaeher/Rasenmaehroboter/>
94
+ - Texas (wire): <https://texas-gartentechnik.eu/Sortiment/Maehroboter/>
95
+ - Adano (wire): <https://schou.com/en/pages/robotplaeneklippere>
96
+ - Brücke (wire): No HP
97
+ - Orbex (wire): No HP
98
+ - Grouw (wire): <https://schou.com/en/pages/robotplaeneklippere>
137
99
 
138
- | Area | Endpoints | Used? |
139
- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- |
140
- | Auth | `POST /auth/oauth/token` (login + refresh), `auth/mobile/token/social` | Yes |
141
- | Device list | `GET /app_wireless_mower/device-user/getCustomDevice`, `…/list`, `…/{id}`, `…/remark` | Yes (`getCustomDevice`) |
142
- | Status | `GET /app_wireless_mower/device/getBysn`, `…/info/{id}`, `…/check`, `…/readWeakSignal`, `…/getSignalType` | Yes (`getBysn`) |
143
- | Settings (read) | `GET /app_wireless_mower/device-setting/{sn}`, `…/getTime/{sn}`, `device/getDeviceSettingBySn`, `device-configuration/getBySn/{sn}`, `device-model/getByClientName` | Yes (`device-setting/{sn}`) |
144
- | Settings (write, New) | `POST /iot_mower/wireless/device/set_property` (S/X/V), `POST /app_wirelessv1_mower/wirelessv1/device/setProperty` (V1), `POST /app_wireless_mower/device/setRain/{sn}/{appId}`, `…/setWifi`, `…/appEditDevice` | Partial (`set_property` for blade) |
145
- | Settings (write, Old) | `POST /app_mower/device-setting/save`, `…/updateLocation`, `…/updateTimeZone`, `device/setLed`, `…/saveLed`, `…/setRain`, `…/saveRain`, `…/setUltra`, `…/saveUltra`, `…/setZones`, `…/setNickName`, `…/setGps`, `…/setCurrentTime`, `…/setWorkStatus`, `…/resetPassword` | No |
146
- | Schedule | `POST /app_mower/device-schedule/setScheduling` (Old), `app_mower/device-schedule/save`, `app_mower/device/getScheduling`, `POST /app_wireless_mower/.../setProperty` with `setSchedule` (V1) and `set_property` with `setTimeTactics` (S/X/V) | Yes (all three paths) |
147
- | MQTT proxy via REST | `POST /iot_mower/wireless/device/get_property`, `…/set_property`, `…/action`, `…/extra`, `…/otaUpgrade`, `…/bindBaseStation` | Yes (`get_property` after connect) |
148
- | Maps | `GET /wireless_map/wireless_device/get`, `…/getHeatMap`, `…/get3D`, `wireless_map/backup_map/get`, `map/work-map/mobile/{sn}`, `…/newest/{online}/{sn}`, `…/all-info`, `app_wireless_mower/device/getMapRealPath` | Yes (`get` + `getHeatMap`) |
149
- | Work records | `GET /app_wireless_mower/work_record/page`, `…/work_event_info/page`, `device_log/device-operation-records/esPage`, `app_mower/device-record/getRecord/{sn}`, `app_mower/device-cmd-logs/page` | No |
150
- | Anti-theft / GPS | `gps/mobile/anti-theft/by-sn/{sn}`, `…/device-position/{sn}`, `…/getAntiTheftStatusInfo`, `…/is-it-bound`, `…/set-fence`, `…/wireless/bind`, `gps/anti-theft/send-track`, `gps/fence-radius-setting/list` | No |
151
- | Base station | `station/base-station/bind`, `…/unBind`, `…/getByDeviceSn`, `…/getByStationSn/{sn}` | No |
152
- | OTA | `ota/firmware-large/check/{sn}/{ver}`, `…/getDescription`, `…/otaUpdate`, `…/wireless/check`, `ota/firmware-small/list/{id}` | No |
153
- | Sharing | `app_wireless_mower/device-user-share`, `…/invite/detail`, `…/invite/reply`, `…/unbind`, `device-user/openShare`, `…/closeShare` | No |
154
- | Skins / cosmetics | `app_wireless_mower/device-skin`, `…/list`, `…/bind/switch{userId}/{id}` | No |
155
- | Payment | `pay/v1/mobile/combo/*`, `pay/v1/mobile/order/*`, `pay/v1/paypal/*`, `pay/v1/user/card/holder*` | No |
156
- | Misc | `app_wireless_mower/feedback-record`, `community_activities/*`, `message-send-logs/*`, `app-version/check`, `app-agreements/business-types/{type}/items`, `sale/manual/getManualBySn`, `link-address/list/{type}` | No |
100
+ ## Description
157
101
 
158
- V1-specific (`app_wirelessv1_mower/wirelessv1/`): `device-setting`, `device-setting/{sn}`, `device-schedule/{deviceId}`, `device/getProperty`, `device/setProperty`, `device/saveProperty`, `device/restoreFactory`.
102
+ 🇬🇧 [Description](/docs/en/README.md)</br>
103
+ 🇩🇪 [Beschreibung](/docs/de/README.md)
159
104
 
160
- ## References
105
+ ## Questions
161
106
 
162
- - Home Assistant integration used as the API reference: <https://github.com/Bouni/sunseeker-lawn-mower>
163
- - json2iob: <https://github.com/TA2k/json2iob>
107
+ 🇩🇪 [Fragen](https://forum.iobroker.net/topic/85407/test-adapter-sunseeker-v0.0.2)
164
108
 
165
109
  ## Changelog
166
110
 
@@ -168,16 +112,27 @@ V1-specific (`app_wirelessv1_mower/wirelessv1/`): `device-setting`, `device-sett
168
112
  Placeholder for the next version (at the beginning of the line):
169
113
  ### **WORK IN PROGRESS**
170
114
  -->
115
+ ### 0.0.3 (2026-10-11)
116
+
117
+ - (Lucky-ESA) Settings added
118
+ - (Lucky-ESA) Refresh properties button added
119
+ - (Lucky-ESA) Multi-angle added
120
+ - (Lucky-ESA) Custom Multi-angle added
121
+ - (Lucky-ESA) Mirroring of App version 1.7.0 regarding login, header, and MQTT password.
122
+ - (Lucky-ESA) Pattern, anti-theft added
123
+
171
124
  ### 0.0.2 (2026-05-29)
172
125
 
173
126
  - (ioBroker-Bot) Adapter requires admin >= 7.8.23 now.
174
127
  - (Lucky-ESA) Added event log
175
128
 
176
- ### 0.0.1
129
+ ### 0.0.1 (2026-05-15)
177
130
 
178
131
  - (TA2k) initial release
179
132
 
180
- [Older changelogs can be found there](CHANGELOG_OLD.md)## License
133
+ [Older changelogs can be found there](CHANGELOG_OLD.md)
134
+
135
+ ## License
181
136
 
182
137
  MIT License
183
138
 
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
2
+ "API": "Neu, wenn Ihr Mäher kabellos ist",
3
+ "Error limit": "Fehlergrenze für HTTP-Anfragen",
4
+ "Error limit tip": "Fehlerlimit für HTTP-Anfragen pro Tag (1–10)",
3
5
  "Language": "Sprache (Bekannte Sprachen: da, de, fr, fi, pl, en)",
4
6
  "Password": "Passwort",
5
- "Polling Interval (Seconds)": "Abfrageintervall (Sekunden)",
7
+ "Polling Interval (Minutes)": "Abfrageintervall (Minuten)",
6
8
  "Region": "Region",
9
+ "Request limit": "HTTPS-Anfragelimit (500–10000)",
10
+ "Request limit tip": "Als persönlicher Schutz und vor fehlerhaftem JavaScript oder Adapterproblemen",
11
+ "Restart limit": "Grenzwert für den Neustart des Adapters",
12
+ "Restart limit tip": "Adapter-Neustartlimit pro Tag (1–10)",
7
13
  "Username / E-Mail": "Benutzername / E-Mail",
14
+ "deleteCloud": "Sitzungsdaten löschen",
15
+ "deleteCloudTip": "Sitzungsdaten löschen (bei Login-Probleme)",
16
+ "deleteMqtt": "MQTT-Daten löschen",
17
+ "deleteMqttTip": "MQTT-Daten löschen (bei MQTT-Probleme)",
18
+ "sessionDelete": "Achtung – Nur löschen, wenn keine Verbindung zustande kommt!!!!",
8
19
  "sunseeker adapter settings": "Adaptereinstellungen für sunseeker"
9
20
  }
@@ -3,7 +3,18 @@
3
3
  "Username / E-Mail": "Username / E-Mail",
4
4
  "Password": "Password",
5
5
  "Region": "Region",
6
- "API": "API",
7
- "Polling Interval (Seconds)": "Polling Interval (Seconds)",
8
- "Language": "Language (Known Languages: da, de, fr, fi, pl, en)"
6
+ "API": "New if your mower is wireless",
7
+ "Polling Interval (Minutes)": "Polling Interval (Minutes)",
8
+ "Language": "Language (Known Languages: da, de, fr, fi, pl, en)",
9
+ "deleteCloudTip": "Delete session data (in case of login problems)",
10
+ "deleteCloud": "Delete session data",
11
+ "deleteMqttTip": "Delete mqtt data (in case of mqtt problems)",
12
+ "deleteMqtt": "Delete mqtt data",
13
+ "sessionDelete": "Caution – Only delete if a connection cannot be established!!!!",
14
+ "Request limit": "HTTPS Request Limit (500-10000)",
15
+ "Request limit tip": "As a personal protection and against faulty JavaScript or adapter issues",
16
+ "Restart limit": "Adapter restart limit",
17
+ "Restart limit tip": "Adapter restart limit per day (1-10)",
18
+ "Error limit": "HTTP request error limit",
19
+ "Error limit tip": "HTTP request error limit per day (1-10)"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
2
+ "API": "Nuevo si tu cortacésped es inalámbrico",
3
+ "Error limit": "Límite de errores de solicitud HTTP",
4
+ "Error limit tip": "Límite de errores de solicitud HTTP por día (1-10)",
3
5
  "Language": "Idioma (Idiomas conocidos: da, de, fr, fi, pl, en)",
4
6
  "Password": "Contraseña",
5
- "Polling Interval (Seconds)": "Intervalo de sondeo (segundos)",
7
+ "Polling Interval (Minutes)": "Intervalo de sondeo (minutos)",
6
8
  "Region": "Región",
9
+ "Request limit": "Límite de solicitudes HTTPS (500-10000)",
10
+ "Request limit tip": "Como protección personal y contra problemas de JavaScript o adaptadores defectuosos",
11
+ "Restart limit": "Límite de reinicio del adaptador",
12
+ "Restart limit tip": "Límite de reinicio del adaptador por día (1-10)",
7
13
  "Username / E-Mail": "Nombre de usuario/correo electrónico",
14
+ "deleteCloud": "Eliminar datos de sesión",
15
+ "deleteCloudTip": "Eliminar datos de sesión (en caso de problemas de inicio de sesión)",
16
+ "deleteMqtt": "Eliminar datos mqtt",
17
+ "deleteMqttTip": "Eliminar datos de mqtt (en caso de problemas de mqtt)",
18
+ "sessionDelete": "Precaución: ¡elimine solo si no se puede establecer una conexión!",
8
19
  "sunseeker adapter settings": "Ajustes del adaptador para sunseeker"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
3
- "Language": "Langue (Langues connues : da, de, fr, fi, pl, en)",
2
+ "API": "Nouveau si votre tondeuse est sans fil",
3
+ "Error limit": "Limite d'erreur de requête HTTP",
4
+ "Error limit tip": "Limite d'erreurs de requête HTTP par jour (1-10)",
5
+ "Language": "Langue (Langues connues: da, de, fr, fi, pl, en)",
4
6
  "Password": "Mot de passe",
5
- "Polling Interval (Seconds)": "Intervalle d'interrogation (secondes)",
7
+ "Polling Interval (Minutes)": "Intervalle d'interrogation (minutes)",
6
8
  "Region": "Région",
9
+ "Request limit": "Limite de requêtes HTTPS (500-10000)",
10
+ "Request limit tip": "Comme protection personnelle et contre les problèmes de JavaScript ou d'adaptateur défectueux",
11
+ "Restart limit": "Limite de redémarrage de l'adaptateur",
12
+ "Restart limit tip": "Limite de redémarrage de l'adaptateur par jour (1-10)",
7
13
  "Username / E-Mail": "Nom d'utilisateur / E-mail",
14
+ "deleteCloud": "Supprimer les données de session",
15
+ "deleteCloudTip": "Supprimer les données de session (en cas de problèmes de connexion)",
16
+ "deleteMqtt": "Supprimer les données mqtt",
17
+ "deleteMqttTip": "Supprimer les données mqtt (en cas de problèmes mqtt)",
18
+ "sessionDelete": "Attention – Supprimez uniquement si une connexion ne peut pas être établie !!!!",
8
19
  "sunseeker adapter settings": "Paramètres d'adaptateur pour sunseeker"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
2
+ "API": "Novità se il tuo rasaerba è wireless",
3
+ "Error limit": "Limite di errori della richiesta HTTP",
4
+ "Error limit tip": "Limite di errori di richiesta HTTP al giorno (1-10)",
3
5
  "Language": "Lingua (Lingue conosciute: da, de, fr, fi, pl, en)",
4
- "Password": "Password",
5
- "Polling Interval (Seconds)": "Intervallo di polling (secondi)",
6
+ "Password": "Mot de passe",
7
+ "Polling Interval (Minutes)": "Intervallo di polling (minuti)",
6
8
  "Region": "Regione",
9
+ "Request limit": "Limite richieste HTTPS (500-10000)",
10
+ "Request limit tip": "Come protezione personale e contro problemi di JavaScript o adattatori difettosi",
11
+ "Restart limit": "Limite di riavvio dell'adattatore",
12
+ "Restart limit tip": "Limite di riavvio dell'adattatore al giorno (1-10)",
7
13
  "Username / E-Mail": "Nome utente/e-mail",
14
+ "deleteCloud": "Elimina i dati della sessione",
15
+ "deleteCloudTip": "Eliminare i dati della sessione (in caso di problemi di accesso)",
16
+ "deleteMqtt": "Elimina i dati mqtt",
17
+ "deleteMqttTip": "Elimina i dati mqtt (in caso di problemi mqtt)",
18
+ "sessionDelete": "Attenzione – Cancellate solo se non è possibile stabilire una connessione!!!!",
8
19
  "sunseeker adapter settings": "Impostazioni dell'adattatore per sunseeker"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
2
+ "API": "Nieuw als uw maaier draadloos is",
3
+ "Error limit": "Foutlimiet voor HTTP-verzoeken",
4
+ "Error limit tip": "Foutlimiet voor HTTP-verzoeken per dag (1-10)",
3
5
  "Language": "Taal (Bekende talen: da, de, fr, fi, pl, en)",
4
6
  "Password": "Wachtwoord",
5
- "Polling Interval (Seconds)": "Polling-interval (seconden)",
7
+ "Polling Interval (Minutes)": "Polling-interval (minuten)",
6
8
  "Region": "Regio",
9
+ "Request limit": "HTTPS-verzoeklimiet (500-10000)",
10
+ "Request limit tip": "Als persoonlijke bescherming en tegen defecte JavaScript- of adapterproblemen",
11
+ "Restart limit": "Herstartlimiet adapter",
12
+ "Restart limit tip": "Herstartlimiet adapter per dag (1-10)",
7
13
  "Username / E-Mail": "Gebruikersnaam / E-mailadres",
14
+ "deleteCloud": "Sessiegegevens verwijderen",
15
+ "deleteCloudTip": "Sessiegegevens verwijderen (bij inlogproblemen)",
16
+ "deleteMqtt": "Verwijder mqtt-gegevens",
17
+ "deleteMqttTip": "Verwijder mqtt-gegevens (in geval van mqtt-problemen)",
18
+ "sessionDelete": "Let op – Verwijder alleen als er geen verbinding tot stand kan worden gebracht!!!!",
8
19
  "sunseeker adapter settings": "Adapterinstellingen voor sunseeker"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
2
+ "API": "Nowość, jeśli kosiarka jest bezprzewodowa",
3
+ "Error limit": "Limit błędów żądania HTTP",
4
+ "Error limit tip": "Limit błędów żądań HTTP dziennie (1-10)",
3
5
  "Language": "Język (znane języki: da, de, fr, fi, pl, en)",
4
6
  "Password": "Hasło",
5
- "Polling Interval (Seconds)": "Interwał odpytywania (sekundy)",
7
+ "Polling Interval (Minutes)": "Interwał odpytywania (minuty)",
6
8
  "Region": "Region",
9
+ "Request limit": "Limit żądań HTTPS (500-10000)",
10
+ "Request limit tip": "Jako ochrona osobista i przed błędnymi problemami z JavaScriptem lub adapterem",
11
+ "Restart limit": "Limit ponownego uruchomienia adaptera",
12
+ "Restart limit tip": "Dzienny limit ponownego uruchomienia adaptera (1-10)",
7
13
  "Username / E-Mail": "Nazwa użytkownika / e-mail",
14
+ "deleteCloud": "Usuń dane sesji",
15
+ "deleteCloudTip": "Usuń dane sesji (w przypadku problemów z logowaniem)",
16
+ "deleteMqtt": "Usuń dane mqtt",
17
+ "deleteMqttTip": "Usuń dane mqtt (w przypadku problemów z mqtt)",
18
+ "sessionDelete": "Uwaga – usuwać tylko wtedy, gdy nie można nawiązać połączenia!!!!",
8
19
  "sunseeker adapter settings": "Ustawienia adaptera dla sunseeker"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
2
+ "API": "Novo se o seu cortador for sem fio",
3
+ "Error limit": "Limite de erros de solicitação HTTP",
4
+ "Error limit tip": "Limite de erros de solicitação HTTP por dia (1-10)",
3
5
  "Language": "Idioma (Idiomas conhecidos: da, de, fr, fi, pl, en)",
4
6
  "Password": "Senha",
5
- "Polling Interval (Seconds)": "Intervalo de pesquisa (segundos)",
7
+ "Polling Interval (Minutes)": "Intervalo de votação (minutos)",
6
8
  "Region": "Região",
9
+ "Request limit": "Limite de solicitação HTTPS (500-10000)",
10
+ "Request limit tip": "Como proteção pessoal e contra JavaScript defeituoso ou problemas de adaptador",
11
+ "Restart limit": "Limite de reinicialização do adaptador",
12
+ "Restart limit tip": "Limite de reinicialização do adaptador por dia (1-10)",
7
13
  "Username / E-Mail": "Nome de usuário/e-mail",
14
+ "deleteCloud": "Excluir dados da sessão",
15
+ "deleteCloudTip": "Excluir dados da sessão (em caso de problemas de login)",
16
+ "deleteMqtt": "Excluir dados mqtt",
17
+ "deleteMqttTip": "Exclua dados mqtt (em caso de problemas mqtt)",
18
+ "sessionDelete": "Cuidado – Exclua apenas se a conexão não puder ser estabelecida!!!!",
8
19
  "sunseeker adapter settings": "Configurações do adaptador para sunseeker"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
2
+ "API": "Новинка, если ваша газонокосилка беспроводная.",
3
+ "Error limit": "Предел ошибок HTTP-запроса",
4
+ "Error limit tip": "Лимит ошибок HTTP-запроса в день (1–10)",
3
5
  "Language": "Язык (известные языки: da, de, fr, fi, pl, en)",
4
6
  "Password": "Пароль",
5
- "Polling Interval (Seconds)": "Интервал опроса (секунды)",
7
+ "Polling Interval (Minutes)": "Интервал опроса (минуты)",
6
8
  "Region": "Область",
9
+ "Request limit": "Ограничение HTTPS-запросов (500–10000)",
10
+ "Request limit tip": "В качестве личной защиты и от ошибок JavaScript или проблем с адаптером.",
11
+ "Restart limit": "Предел перезапуска адаптера",
12
+ "Restart limit tip": "Ограничение перезапуска адаптера в день (1–10)",
7
13
  "Username / E-Mail": "Имя пользователя / электронная почта",
14
+ "deleteCloud": "Удалить данные сеанса",
15
+ "deleteCloudTip": "Удалить данные сеанса (в случае проблем со входом)",
16
+ "deleteMqtt": "Удалить данные mqtt",
17
+ "deleteMqttTip": "Удалить данные mqtt (в случае проблем с mqtt)",
18
+ "sessionDelete": "Внимание – удалять только в том случае, если соединение не может быть установлено!!!!",
8
19
  "sunseeker adapter settings": "Настройки адаптера для sunseeker"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "API",
2
+ "API": "Новинка, якщо ваша косарка бездротова",
3
+ "Error limit": "Ліміт помилок запиту HTTP",
4
+ "Error limit tip": "Ліміт помилок запиту HTTP на день (1-10)",
3
5
  "Language": "Мова (відомі мови: da, de, fr, fi, pl, en)",
4
6
  "Password": "Пароль",
5
- "Polling Interval (Seconds)": "Інтервал опитування (секунди)",
7
+ "Polling Interval (Minutes)": "Інтервал опитування (хвилини)",
6
8
  "Region": "Регіон",
9
+ "Request limit": "Ліміт запитів HTTPS (500-10000)",
10
+ "Request limit tip": "Як особистий захист і від несправного JavaScript або проблем з адаптером",
11
+ "Restart limit": "Ліміт перезапуску адаптера",
12
+ "Restart limit tip": "Ліміт перезапуску адаптера на день (1-10)",
7
13
  "Username / E-Mail": "Ім'я користувача / E-Mail",
14
+ "deleteCloud": "Видалити дані сеансу",
15
+ "deleteCloudTip": "Видалити дані сесії (у разі проблем із входом)",
16
+ "deleteMqtt": "Видалити дані mqtt",
17
+ "deleteMqttTip": "Видалити дані mqtt (у разі проблем з mqtt)",
18
+ "sessionDelete": "Застереження – видаляйте лише якщо не вдається встановити з’єднання!!!!",
8
19
  "sunseeker adapter settings": "Налаштування адаптера для sunseeker"
9
20
  }
@@ -1,9 +1,20 @@
1
1
  {
2
- "API": "应用程序编程接口",
2
+ "API": "如果您的割草机是无线的,那么新功能",
3
+ "Error limit": "HTTP请求错误限制",
4
+ "Error limit tip": "每天 HTTP 请求错误限制 (1-10)",
3
5
  "Language": "语言(已知语言:da、de、fr、fi、pl、en)",
4
6
  "Password": "密码",
5
- "Polling Interval (Seconds)": "轮询间隔(秒)",
7
+ "Polling Interval (Minutes)": "轮询间隔(分钟)",
6
8
  "Region": "地区",
9
+ "Request limit": "HTTPS 请求限制 (500-10000)",
10
+ "Request limit tip": "作为个人保护并防止错误的 JavaScript 或适配器问题",
11
+ "Restart limit": "适配器重启限制",
12
+ "Restart limit tip": "适配器每天重新启动限制 (1-10)",
7
13
  "Username / E-Mail": "用户名/电子邮件",
14
+ "deleteCloud": "删除会话数据",
15
+ "deleteCloudTip": "删除会话数据(如果出现登录问题)",
16
+ "deleteMqtt": "删除mqtt数据",
17
+ "deleteMqttTip": "删除mqtt数据(如果mqtt出现问题)",
18
+ "sessionDelete": "注意 – 仅在无法建立连接时删除!!!",
8
19
  "sunseeker adapter settings": "sunseeker的适配器设置"
9
20
  }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file