iobroker.motioneye 0.1.2 → 0.2.1

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
@@ -17,9 +17,9 @@
17
17
 
18
18
  ## What this adapter does
19
19
 
20
- Connect MotionEye cameras to ioBroker for motion detection, snapshots, and live streams. Control detection modes (`off` / `still` / `sharp`) from ioBroker or VIS and provide `streamUrl` HTML for inventwo/VIS2 widgets — no simple-api required for webhooks.
20
+ Connect MotionEye cameras to ioBroker for motion detection, snapshots, and live streams. Control detection modes (`off` / `still` / `sharp`) from ioBroker or VIS and provide `streamUrl` HTML for any HTML-capable widget — no simple-api required for webhooks.
21
21
 
22
- > **Status:** Phase 2 — snapshot, stream, streamPulse, and `streamUrl` HTML for inventwo/VIS widgets. Phase 1 covers modes, webhooks, and MotionEye sync.
22
+ > **Status:** Phase 2 — snapshot, stream, streamPulse, and `streamUrl` HTML for dashboards. Phase 1 covers modes, webhooks, and MotionEye sync.
23
23
 
24
24
  ## Features
25
25
 
@@ -41,7 +41,7 @@ Connect MotionEye cameras to ioBroker for motion detection, snapshots, and live
41
41
  | `snapshot` | button | no | yes | Trigger snapshot |
42
42
  | `stream` | switch | yes | yes | Live MJPEG stream on/off |
43
43
  | `streamPulse` | button | no | yes | Stream on briefly (auto-off) |
44
- | `streamUrl` | text | yes | no | HTML `<img>` for inventwo widget |
44
+ | `streamUrl` | text | yes | no | HTML `<img>` for html widget |
45
45
  | `status` | text | yes | no | Last sync status |
46
46
  | `lastAction` | text | yes | no | Last API action |
47
47
  | `webhookUrl` | url | yes | no | URL written to MotionEye |
@@ -65,7 +65,7 @@ The `0_info` folder sorts above camera channels (digits before letters in the ob
65
65
  1. Install the adapter from the ioBroker admin interface (or clone this repo and use the dev-server)
66
66
  2. Create a new instance
67
67
  3. Configure **Settings**: MotionEye host, ports, credentials (optional), webhook host
68
- 4. Add cameras on the **Cameras** tab (display name + MotionEye ID)
68
+ 4. Add cameras on the **Cameras** tab (display name, MotionEye ID, optional media folder)
69
69
  5. Save and restart the instance — datapoints are created and webhook URLs are written to MotionEye
70
70
 
71
71
  ### Camera modes
@@ -92,6 +92,8 @@ The `0_info` folder sorts above camera channels (digits before letters in the ob
92
92
  | `statusPollIntervalSec` | `300` | MotionEye status poll interval |
93
93
  | `useMotionEyeConfig` | `true` | Write mode, webhook URLs, and stream on/off to MotionEye (leave enabled for normal use) |
94
94
 
95
+ Per camera (Cameras tab): optional **Media folder** name under `/var/lib/motioneye` (e.g. `Bambu` instead of default `Camera8`). Applied on adapter start when config sync is enabled. Does not rename existing folders on disk.
96
+
95
97
  ## Support
96
98
 
97
99
  If you like our work and would like to support us, we appreciate any donation.
@@ -104,19 +106,23 @@ If you like our work and would like to support us, we appreciate any donation.
104
106
  <!--
105
107
  ### **WORK IN PROGRESS**
106
108
  -->
109
+ ### 0.2.1 (2026-06-22)
110
+ - (skvarel) Fixed adapter checker errors an warnings
111
+
112
+ ### 0.2.0 (2026-06-22)
113
+ - (skvarel) Added optional per-camera media folder name under `/var/lib/motioneye` (written to MotionEye on adapter start)
114
+ - (skvarel) Added camera load from MotionEye (merges `/config/list` into camera table)
115
+ - (skvarel) Added Help-Tab with setup guide, modes, datapoints, and stream/inventwo notes
116
+
107
117
  ### 0.1.2 (2026-06-21)
108
118
  - (skvarel) Clarified admin help for useMotionEyeConfig (required for mode, webhooks, and stream control — not only MotionEye web UI)
109
119
 
110
120
  ### 0.1.1 (2026-06-21)
111
121
  - (skvarel) Renamed info folder from `_info` to `0_info` so it sorts above camera channels in the object tree
112
- - (skvarel) Migrate legacy `info` and `_info` states to `0_info` on adapter start
113
122
 
114
123
  ### 0.1.0 (2026-06-21)
115
124
  - (skvarel) Added states for motionEyeVersion and motionVersion
116
125
 
117
- ### 0.0.1 (2026-06-21)
118
- - (skvarel) Initial development release
119
-
120
126
  ## Older changes
121
127
  - [CHANGELOG_OLD.md](CHANGELOG_OLD.md)
122
128
 
@@ -5,6 +5,9 @@
5
5
  "camera_id": "Interne ID",
6
6
  "camera_id_help": "Stabiler Schlüssel für Webhooks (z. B. auffahrt). Lass leer, um aus dem Namen abzuleiten.",
7
7
  "camera_id_placeholder": "auto aus Name",
8
+ "camera_mediaFolder": "Medien-Ordner",
9
+ "camera_mediaFolder_help": "Ordnername unter /var/lib/motioneye (z. B. Bambu). Wird beim Adapter-Start gesetzt, wenn die MotionEye-Config-Sync aktiv ist. Leer lassen für MotionEye-Standard (Camera<ID>). Benennt bestehende Ordner auf der Platte nicht um.",
10
+ "camera_mediaFolder_placeholder": "optional",
8
11
  "camera_motionEyeId": "MotionEye-ID",
9
12
  "camera_motionEyeId_help": "Numerische Kamera-ID aus MotionEye (/config/list)",
10
13
  "camera_name": "Anzeigename",
@@ -18,6 +21,24 @@
18
21
  "header_stream": "Stream-Optionen",
19
22
  "header_timing": "Abfrage & Timeouts",
20
23
  "header_webhook": "Webhook",
24
+ "help_cameras": "Auf dem Tab <b>Kameras</b> nutzt du <b>Kameras aus MotionEye laden</b>, um die Kamera-Liste von MotionEye abzurufen und fehlende Zeilen in die Tabelle einzufügen (bestehende Einträge bleiben erhalten). Die Adapter-Instanz muss dafür <b>laufen</b>.<br><br><b>MotionEye-ID:</b> In der MotionEye-Weboberfläche Kamera öffnen → <b>Videogerät</b> → Feld <b>Kamera-ID</b>. Oder <code>/config/list</code> auf Port 8765 abfragen.<br><br><b>Anzeigename:</b> ioBroker-Kanalname — kann vom MotionEye-Namen abweichen.<br><b>Interne ID:</b> Stabiler Webhook-Schlüssel (z. B. <code>auffahrt</code>). Leer lassen, um aus dem Namen abzuleiten.<br><b>Medien-Ordner:</b> Optionaler Ordnername unter <code>/var/lib/motioneye</code>. Wird beim Adapter-Start gesetzt, wenn die Config-Sync aktiv ist.",
25
+ "help_connection": "<b>MotionEye-Host</b> — IP oder Hostname deines MotionEye-Servers.<br><b>MotionEye Config-API-Port</b> — Standard <code>8765</code> (Modus, Webhooks, Stream).<br><b>Motion-HTTP-Port</b> — Standard <code>7999</code> (Snapshots).<br><b>MotionEye über Config-API steuern</b> — für den normalen Betrieb <b>aktiviert</b> lassen. Der Adapter schreibt Modus, Webhook-URLs und Stream ein/aus nach MotionEye; ioBroker steuert Erkennung und Livestreams.<br><br><b>Webhook-Host</b> — IP deines ioBroker-Hosts, von MotionEye aus erreichbar (z. B. <code>192.168.130.130</code>). Erforderlich für Webhook-URLs.<br><b>Webhook-Port</b> — Standard <code>8090</code>; eingehenden Traffic auf dem ioBroker-Host erlauben.",
26
+ "help_intro": "Der <b>MotionEye-Adapter</b> verbindet MotionEye-Kameras mit ioBroker: Bewegungserkennung per Webhook, Snapshots, Livestreams und Modussteuerung (<code>off</code> / <code>still</code> / <code>sharp</code>).<br><br>Info-Datenpunkte liegen unter <code>motioneye.&lt;Instanz&gt;.0_info</code> (Verbindung, Versionen, Kameras online).",
27
+ "help_modes": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:18%\">Modus</th><th style=\"text-align:left;padding:8px 6px\">Beschreibung</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>off</code></td><td style=\"padding:6px\">Bewegungserkennung aus</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>still</code></td><td style=\"padding:6px\">Nur Bewegungs-Trigger — keine Videoaufnahme</td></tr><tr><td style=\"padding:6px\"><code>sharp</code></td><td style=\"padding:6px\">Bewegungserkennung + Videoaufnahme</td></tr></tbody></table>",
28
+ "help_readme": "Vollständige Dokumentation:<br><br>• <a href=\"https://github.com/inventwo/ioBroker.motioneye/blob/main/README.md\">Adapter-README auf GitHub</a>",
29
+ "help_section_cameras": "Kameras",
30
+ "help_section_connection": "Verbindung & Webhooks",
31
+ "help_section_modes": "Kameramodi",
32
+ "help_section_setup": "Schnellstart",
33
+ "help_section_states": "Datenpunkte pro Kamera",
34
+ "help_section_stream": "Livestream & HTML-Widgets",
35
+ "help_setup": "1. Auf dem Tab <b>Einstellungen</b> <b>MotionEye-Host</b>, Zugangsdaten und <b>Webhook-Host</b> setzen.<br>2. Auf dem Tab Kameras <b>Kameras aus MotionEye laden</b> klicken (Instanz muss laufen) oder Zeilen manuell anlegen.<br>3. Anzeigenamen und optionale Medien-Ordner anpassen.<br>4. Konfiguration <b>speichern</b> und Adapter-<b>neu starten</b> — Datenpunkte werden angelegt und Webhook-URLs nach MotionEye geschrieben.",
36
+ "help_states": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:16%\">Datenpunkt</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Lesen</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Schreiben</th><th style=\"text-align:left;padding:8px 6px\">Beschreibung</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>mode</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">Kameramodus: off, still, sharp</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>motion</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">nein</td><td style=\"padding:6px\">Bewegung erkannt (Webhook, Auto-Reset)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">nein</td><td style=\"padding:6px\">Letzte Sync-Meldung / Fehlertext</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>snapshot</code></td><td style=\"padding:6px\">nein</td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">Snapshot auslösen (Button)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>stream</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">Live-Videostream ein/aus</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamPulse</code></td><td style=\"padding:6px\">nein</td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">Kurzer Stream-Impuls (Button)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamUrl</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">nein</td><td style=\"padding:6px\">Fertiges HTML für jedes HTML-Widget</td></tr><tr><td style=\"padding:6px\"><code>webhookUrl</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">nein</td><td style=\"padding:6px\">Konfigurierte Webhook-URL (nur lesen)</td></tr></tbody></table>",
37
+ "help_stream": "<code>stream</code> auf <code>true</code> setzen für einen Live-MJPEG-Stream. <code>streamPulse</code> für eine zeitbegrenzte Vorschau (siehe <b>Stream-Pulse Auto-Aus</b> unter Einstellungen).<br><br>Der Datenpunkt <code>streamUrl</code> liefert fertiges HTML (z. B. ein <code>&lt;img&gt;</code>-Tag) für jedes HTML-fähige Widget in VIS, VIS2 oder Dashboards. Er wird automatisch aktualisiert, wenn der Stream ein- oder ausgeschaltet wird.",
38
+ "load_cameras_button": "Kameras aus MotionEye laden",
39
+ "load_cameras_help": "Liest /config/list von MotionEye und fügt noch nicht vorhandene Kameras in die Tabelle ein. Die Adapter-Instanz muss laufen. Verwendet das gespeicherte MotionEye-Passwort aus den Instanzeinstellungen. Nach dem Hinzufügen speichern und Instanz neu starten.",
40
+ "load_cameras_result_added": "Neue Kameras wurden in die Tabelle übernommen. Speichere die Konfiguration und starte die Adapter-Instanz neu.",
41
+ "load_cameras_result_none": "Keine neuen Kameras — alle MotionEye-Kameras sind bereits in der Tabelle.",
21
42
  "mode_off": "Aus — keine Erkennung",
22
43
  "mode_sharp": "Scharf — Bewegung + Videoaufnahme",
23
44
  "mode_still": "Still — nur Bewegungs-Trigger",
@@ -37,6 +58,7 @@
37
58
  "streamAutoOffMs": "Stream-Pulse Auto-Aus (ms)",
38
59
  "streamAutoOffMs_help": "Nur für streamPulse — der Stream schaltet nach dieser Dauer wieder aus (0 = nie)",
39
60
  "tab_cameras": "Kameras",
61
+ "tab_help": "Hilfe",
40
62
  "tab_settings": "Einstellungen",
41
63
  "useMotionEyeConfig": "MotionEye über Config-API steuern",
42
64
  "useMotionEyeConfig_help": "Für den normalen Betrieb aktiviert lassen. Der Adapter schreibt Kameramodus, Webhook-URLs und Stream ein/aus nach MotionEye (Port 8765). ioBroker steuert damit Bewegungserkennung und Livestream; die MotionEye-Weboberfläche passt sich nur mit an. Nur deaktivieren, wenn du MotionEye komplett manuell konfigurierst und ioBroker nur Webhooks empfangen soll.",
@@ -5,6 +5,9 @@
5
5
  "camera_id": "Internal ID",
6
6
  "camera_id_help": "Stable key for webhooks (e.g. auffahrt). Leave empty to derive from name.",
7
7
  "camera_id_placeholder": "auto from name",
8
+ "camera_mediaFolder": "Media folder",
9
+ "camera_mediaFolder_help": "Folder name under /var/lib/motioneye (e.g. Bambu). Applied on adapter start when MotionEye config sync is enabled. Leave empty to keep the MotionEye default (Camera<ID>). Does not rename existing folders on disk.",
10
+ "camera_mediaFolder_placeholder": "optional",
8
11
  "camera_motionEyeId": "MotionEye ID",
9
12
  "camera_motionEyeId_help": "Numeric camera ID from MotionEye (/config/list)",
10
13
  "camera_name": "Display name",
@@ -18,6 +21,24 @@
18
21
  "header_stream": "Stream Options",
19
22
  "header_timing": "Polling & Timeouts",
20
23
  "header_webhook": "Webhook",
24
+ "help_cameras": "On the <b>Cameras</b> tab use <b>Load cameras from MotionEye</b> to fetch the camera list from MotionEye and add missing rows to the table (existing entries are kept). The adapter instance must be <b>running</b> for this button.<br><br><b>MotionEye ID:</b> In the MotionEye web UI open a camera → <b>Video Device</b> → field <b>Camera ID</b>. Or query <code>/config/list</code> on port 8765.<br><br><b>Display name:</b> ioBroker channel name — can differ from the MotionEye label.<br><b>Internal ID:</b> Stable webhook key (e.g. <code>auffahrt</code>). Leave empty to derive from the display name.<br><b>Media folder:</b> Optional folder name under <code>/var/lib/motioneye</code>. Applied on adapter start when config sync is enabled.",
25
+ "help_connection": "<b>MotionEye host</b> — IP or hostname of your MotionEye server.<br><b>MotionEye config API port</b> — default <code>8765</code> (mode, webhooks, stream).<br><b>Motion HTTP port</b> — default <code>7999</code> (snapshots).<br><b>Control MotionEye via config API</b> — leave <b>enabled</b> for normal use. The adapter writes mode, webhook URLs, and stream on/off to MotionEye; ioBroker controls detection and live streams.<br><br><b>Webhook host</b> — IP of your ioBroker host as reachable <i>from MotionEye</i> (e.g. <code>192.168.130.130</code>). Required for webhook URLs.<br><b>Webhook port</b> — default <code>8090</code>; allow inbound traffic on the ioBroker host.",
26
+ "help_intro": "The <b>MotionEye adapter</b> connects MotionEye cameras to ioBroker: motion detection via webhooks, snapshots, live streams, and mode control (<code>off</code> / <code>still</code> / <code>sharp</code>).<br><br>Info states live under <code>motioneye.&lt;instance&gt;.0_info</code> (connection, versions, cameras online).",
27
+ "help_modes": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:18%\">Mode</th><th style=\"text-align:left;padding:8px 6px\">Description</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>off</code></td><td style=\"padding:6px\">Motion detection off</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>still</code></td><td style=\"padding:6px\">Motion trigger only — no video recording</td></tr><tr><td style=\"padding:6px\"><code>sharp</code></td><td style=\"padding:6px\">Motion detection + video recording</td></tr></tbody></table>",
28
+ "help_readme": "Full documentation:<br><br>• <a href=\"https://github.com/inventwo/ioBroker.motioneye/blob/main/README.md\">Adapter README on GitHub</a>",
29
+ "help_section_cameras": "Cameras",
30
+ "help_section_connection": "Connection & webhooks",
31
+ "help_section_modes": "Camera modes",
32
+ "help_section_setup": "Quick start",
33
+ "help_section_states": "Datapoints per camera",
34
+ "help_section_stream": "Live stream & HTML widgets",
35
+ "help_setup": "1. Set <b>MotionEye host</b>, credentials, and <b>webhook host</b> on the Settings tab.<br>2. On the Cameras tab click <b>Load cameras from MotionEye</b> (instance must be running) or add rows manually.<br>3. Adjust display names and optional media folders.<br>4. <b>Save</b> the instance configuration and <b>restart</b> the adapter — datapoints are created and webhook URLs are written to MotionEye.",
36
+ "help_states": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:16%\">State</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Read</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Write</th><th style=\"text-align:left;padding:8px 6px\">Description</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>mode</code></td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">Camera mode: off, still, sharp</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>motion</code></td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">Motion detected (webhook, auto-reset)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">Last sync / error text</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>snapshot</code></td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">Trigger snapshot (button)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>stream</code></td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">Live video stream on/off</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamPulse</code></td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">Short stream pulse (button)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamUrl</code></td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">Ready-to-use HTML for any HTML widget</td></tr><tr><td style=\"padding:6px\"><code>webhookUrl</code></td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">Configured webhook URL (read-only)</td></tr></tbody></table>",
37
+ "help_stream": "Set <code>stream</code> to <code>true</code> for a live MJPEG stream. Use <code>streamPulse</code> for a timed preview (see <b>Stream pulse auto-off</b> on Settings).<br><br>The <code>streamUrl</code> state provides ready-to-use HTML (e.g. an <code>&lt;img&gt;</code> tag) for any HTML-capable widget in VIS, VIS2, or dashboards. It updates automatically when the stream turns on or off.",
38
+ "load_cameras_button": "Load cameras from MotionEye",
39
+ "load_cameras_help": "Fetches /config/list from MotionEye and adds cameras not yet in the table. The adapter instance must be running. Uses the saved MotionEye password from instance settings. Save configuration and restart after adding cameras.",
40
+ "load_cameras_result_added": "New cameras were added to the table. Save the configuration and restart the adapter instance.",
41
+ "load_cameras_result_none": "No new cameras — all MotionEye cameras are already in the table.",
21
42
  "mode_off": "Off — no detection",
22
43
  "mode_sharp": "Sharp — motion + video recording",
23
44
  "mode_still": "Still — motion trigger only",
@@ -37,6 +58,7 @@
37
58
  "streamAutoOffMs": "Stream pulse auto-off (ms)",
38
59
  "streamAutoOffMs_help": "Used by streamPulse only — stream turns off after this duration (0 = never)",
39
60
  "tab_cameras": "Cameras",
61
+ "tab_help": "Help",
40
62
  "tab_settings": "Settings",
41
63
  "useMotionEyeConfig": "Control MotionEye via config API",
42
64
  "useMotionEyeConfig_help": "Leave enabled for normal use. The adapter writes camera mode, webhook URLs, and stream on/off to MotionEye (port 8765). ioBroker then controls motion detection and live streams; the MotionEye web UI follows as a side effect. Disable only if you configure MotionEye entirely by hand and ioBroker should only receive webhooks.",
@@ -5,6 +5,9 @@
5
5
  "camera_id": "Identificación interna",
6
6
  "camera_id_help": "Clave estable para webhooks (por ejemplo, auffahrt). Déjelo vacío para derivar del nombre.",
7
7
  "camera_id_placeholder": "auto desde nombre",
8
+ "camera_mediaFolder": "Carpeta multimedia",
9
+ "camera_mediaFolder_help": "Nombre de la carpeta en /var/lib/motioneye (por ejemplo, Bambu). Se aplica al iniciar el adaptador cuando la sincronización de configuración de MotionEye está habilitada. Déjelo vacío para mantener el valor predeterminado de MotionEye (Cámara<ID>). No cambia el nombre de las carpetas existentes en el disco.",
10
+ "camera_mediaFolder_placeholder": "opcional",
8
11
  "camera_motionEyeId": "Identificación de MotionEye",
9
12
  "camera_motionEyeId_help": "ID de cámara numérica de MotionEye (/config/list)",
10
13
  "camera_name": "Nombre para mostrar",
@@ -18,6 +21,24 @@
18
21
  "header_stream": "Opciones de transmisión",
19
22
  "header_timing": "Sondeo y tiempos de espera",
20
23
  "header_webhook": "gancho web",
24
+ "help_cameras": "En la pestaña <b>Cámaras</b> use <b>Cargar cámaras desde MotionEye</b> para recuperar la lista de cámaras de MotionEye y agregar las filas que faltan a la tabla (las entradas existentes se mantienen). La instancia del adaptador debe estar <b>ejecutándose</b> para este botón.<br><br><b>ID de MotionEye:</b> En la interfaz de usuario web de MotionEye, abra una cámara → <b>Dispositivo de vídeo</b> → campo <b>ID de cámara</b>. O consulte <code>/config/list</code> en el puerto 8765.<br><br><b>Nombre para mostrar:</b> nombre del canal ioBroker: puede diferir de la etiqueta de MotionEye.<br><b>ID interno:</b> Clave de webhook estable (por ejemplo, <code>auffahrt</code>). Déjelo vacío para obtener el nombre para mostrar.<br><b>Carpeta multimedia:</b> Nombre de carpeta opcional en <code>/var/lib/motioneye</code>. Se aplica al iniciar el adaptador cuando la sincronización de configuración está habilitada.",
25
+ "help_connection": "<b>Host de MotionEye</b>: IP o nombre de host de su servidor MotionEye.<br><b>Puerto API de configuración de MotionEye</b>: <code>8765</code> predeterminado (modo, webhooks, transmisión).<br><b>Puerto HTTP de Motion</b>: <code>7999</code> predeterminado (instantáneas).<br><b>Control de MotionEye a través de la API de configuración</b>: salir <b>habilitado</b> para uso normal. El adaptador escribe el modo, las URL de webhook y activa/desactiva la transmisión a MotionEye; ioBroker controla la detección y las transmisiones en vivo.<br><br><b>Host de webhook</b>: IP de su host de ioBroker accesible <i>desde MotionEye</i> (por ejemplo, <code>192.168.130.130</code>). Requerido para las URL de webhook.<br><b>Puerto de webhook</b>: predeterminado <code>8090</code>; permitir el tráfico entrante en el host ioBroker.",
26
+ "help_intro": "El <b>adaptador MotionEye</b> conecta las cámaras MotionEye a ioBroker: detección de movimiento a través de webhooks, instantáneas, transmisiones en vivo y control de modo (<code>off</code> / <code>still</code> / <code>sharp</code>).<br><br>Estados de información en vivo bajo <code>motioneye.<instance>.0_info</code> (conexión, versiones, cámaras en línea).",
27
+ "help_modes": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:18%\">Modo</th><th style=\"text-align:left;padding:8px 6px\">Descripción</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>off</code></td><td style=\"padding:6px\">Detección de movimiento desactivada</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>still</code></td><td style=\"padding:6px\">Disparador por movimiento únicamente: sin grabación de video</td></tr><tr><td style=\"padding:6px\"><code>sharp</code></td><td style=\"padding:6px\">Detección de movimiento + video grabación</td></tr></tbody></table>",
28
+ "help_readme": "Documentación completa:<br><br>• <a href=\"https://github.com/inventwo/ioBroker.motioneye/blob/main/README.md\">Adaptador README en GitHub</a>",
29
+ "help_section_cameras": "Cámaras",
30
+ "help_section_connection": "Conexión y webhooks",
31
+ "help_section_modes": "Modos de cámara",
32
+ "help_section_setup": "Inicio rápido",
33
+ "help_section_states": "Puntos de datos por cámara",
34
+ "help_section_stream": "Transmisión en vivo y widgets HTML",
35
+ "help_setup": "1. Configure el <b>host de MotionEye</b>, las credenciales y el <b>host de webhook</b> en la pestaña Configuración.<br>2. En la pestaña Cámaras, haga clic en <b>Cargar cámaras desde MotionEye</b> (la instancia debe estar ejecutándose) o agregue filas manualmente.<br>3. Ajuste los nombres para mostrar y las carpetas multimedia opcionales.<br>4. <b>Guarde</b> la configuración de la instancia y <b>reinicie</b> el adaptador: se crean puntos de datos y las URL de webhook se escriben en MotionEye.",
36
+ "help_states": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:16%\">Estado</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Leer</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Escribir</th><th style=\"text-align:left;padding:8px 6px\">Descripción</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>modo</code></td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">Modo de cámara: apagado, fijo, nítido</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>movimiento</code></td><td style=\"padding:6px\">sí</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">Movimiento detectado (webhook, reinicio automático)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">sí</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">Última sincronización/texto de error</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>instantánea</code></td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">sí</td><td style=\"padding:6px\">Activar instantánea (botón)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>transmisión</code></td><td style=\"padding:6px\">sí</td><td style=\"padding:6px\">sí</td><td style=\"padding:6px\">Transmisión de video en vivo activada/desactivada</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamPulse</code></td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">sí</td><td style=\"padding:6px\">Pulso de flujo corto (botón)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamUrl</code></td><td style=\"padding:6px\">sí</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">HTML listo para usar para cualquier widget HTML</td></tr><tr><td style=\"padding:6px\"><code>webhookUrl</code></td><td style=\"padding:6px\">yes</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">URL de webhook configurada (solo lectura)</td></tr></tbody></table>",
37
+ "help_stream": "Establezca <code>stream</code> en <code>true</code> para una transmisión MJPEG en vivo. Utilice <code>streamPulse</code> para obtener una vista previa cronometrada (consulte <b>Apagado automático del pulso de transmisión</b> en Configuración).<br><br>El estado <code>streamUrl</code> proporciona HTML listo para usar (por ejemplo, una etiqueta <code><img></code>) para cualquier widget compatible con HTML en VIS, VIS2 o paneles. Se actualiza automáticamente cuando la transmisión se enciende o apaga.",
38
+ "load_cameras_button": "Cargar cámaras desde MotionEye",
39
+ "load_cameras_help": "Obtiene /config/list de MotionEye y agrega cámaras que aún no están en la tabla. La instancia del adaptador debe estar ejecutándose. Guarde la configuración y reinicie después de agregar cámaras.",
40
+ "load_cameras_result_added": "Se agregaron nuevas cámaras a la mesa. Guarde la configuración y reinicie la instancia del adaptador.",
41
+ "load_cameras_result_none": "No hay cámaras nuevas: todas las cámaras MotionEye ya están en la tabla.",
21
42
  "mode_off": "Apagado: sin detección",
22
43
  "mode_sharp": "Sharp: movimiento + grabación de vídeo",
23
44
  "mode_still": "Aún así, solo disparador por movimiento",
@@ -37,6 +58,7 @@
37
58
  "streamAutoOffMs": "Apagado automático de pulso de transmisión (ms)",
38
59
  "streamAutoOffMs_help": "Usado solo por streamPulse: la transmisión se apaga después de esta duración (0 = nunca)",
39
60
  "tab_cameras": "Cámaras",
61
+ "tab_help": "Ayuda",
40
62
  "tab_settings": "Ajustes",
41
63
  "useMotionEyeConfig": "Controlar MotionEye vía API de configuración",
42
64
  "useMotionEyeConfig_help": "Déjalo activado para el uso normal. El adaptador escribe el modo de cámara, las URL de webhook y el stream on/off en MotionEye (puerto 8765). ioBroker controla entonces la detección de movimiento y los streams; la interfaz web de MotionEye se actualiza como efecto secundario. Desactiva solo si configuras MotionEye completamente a mano.",
@@ -5,6 +5,9 @@
5
5
  "camera_id": "ID interne",
6
6
  "camera_id_help": "Clé stable pour les webhooks (par exemple auffahrt). Laissez vide pour dériver du nom.",
7
7
  "camera_id_placeholder": "automatique à partir du nom",
8
+ "camera_mediaFolder": "Dossier multimédia",
9
+ "camera_mediaFolder_help": "Nom du dossier sous /var/lib/motioneye (par exemple Bambu). Appliqué au démarrage de l'adaptateur lorsque la synchronisation de la configuration MotionEye est activée. Laissez vide pour conserver la valeur par défaut de MotionEye (Camera<ID>). Ne renomme pas les dossiers existants sur le disque.",
10
+ "camera_mediaFolder_placeholder": "facultatif",
8
11
  "camera_motionEyeId": "Identifiant MotionEye",
9
12
  "camera_motionEyeId_help": "ID numérique de la caméra de MotionEye (/config/list)",
10
13
  "camera_name": "Nom d'affichage",
@@ -18,6 +21,24 @@
18
21
  "header_stream": "Options de flux",
19
22
  "header_timing": "Sondage et délais d'attente",
20
23
  "header_webhook": "Webhook",
24
+ "help_cameras": "Dans l'onglet <b>Caméras</b>, utilisez <b>Charger les caméras depuis MotionEye</b> pour récupérer la liste des caméras depuis MotionEye et ajouter les lignes manquantes au tableau (les entrées existantes sont conservées). L'instance d'adaptateur doit être <b>en cours d'exécution</b> pour ce bouton.<br><br><b>ID MotionEye :</b> Dans l'interface utilisateur Web de MotionEye, ouvrez une caméra → <b>Périphérique vidéo</b> → champ <b>ID de la caméra</b>. Ou interrogez <code>/config/list</code> sur le port 8765.<br><br><b>Nom d'affichage :</b> nom du canal ioBroker — peut différer de l'étiquette MotionEye.<br><b>ID interne :</b> Clé de webhook stable (par exemple <code>auffahrt</code>). Laissez vide pour dériver du nom d'affichage.<br><b>Dossier multimédia :</b> Nom du dossier facultatif sous <code>/var/lib/motioneye</code>. Appliqué au démarrage de l'adaptateur lorsque la synchronisation de la configuration est activée.",
25
+ "help_connection": "<b>Hôte MotionEye</b> – IP ou nom d'hôte de votre serveur MotionEye.<br><b>Port API de configuration MotionEye</b> – <code>8765</code> par défaut (mode, webhooks, flux).<br><b>Port HTTP Motion</b> – <code>7999</code> par défaut (instantanés).<br><b>Contrôlez MotionEye via l'API de configuration</b> – quitter <b>activé</b> pour une utilisation normale. L'adaptateur écrit le mode, les URL des webhooks et active/désactive le flux sur MotionEye ; ioBroker contrôle la détection et les flux en direct.<br><br><b>Hôte Webhook</b> – IP de votre hôte ioBroker accessible <i>depuis MotionEye</i> (par exemple <code>192.168.130.130</code>). Obligatoire pour les URL de webhook.<br><b>Port du webhook</b> : <code>8090</code> par défaut ; autoriser le trafic entrant sur l’hôte ioBroker.",
26
+ "help_intro": "L'<b>adaptateur MotionEye</b> connecte les caméras MotionEye à ioBroker : détection de mouvement via des webhooks, des instantanés, des flux en direct et un contrôle de mode (<code>off</code> / <code>toujours</code> / <code>pointu</code>).<br><br>États des informations en direct sous <code>motioneye.<instance>.0_info</code> (connexion, versions, caméras en ligne).",
27
+ "help_modes": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:18%\">Mode</th><th style=\"text-align:left;padding:8px 6px\">Description</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>off</code></td><td style=\"padding:6px\">Détection de mouvement désactivée</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>immobile</code></td><td style=\"padding:6px\">Déclencheur de mouvement uniquement — pas d'enregistrement vidéo</td></tr><tr><td style=\"padding:6px\"><code>pointu</code></td><td style=\"padding:6px\">Détection de mouvement + vidéo enregistrement</td></tr></tbody></table>",
28
+ "help_readme": "Documentation complète :<br><br>• <a href=\"https://github.com/inventwo/ioBroker.motioneye/blob/main/README.md\">Adaptateur README sur GitHub</a>",
29
+ "help_section_cameras": "Caméras",
30
+ "help_section_connection": "Connexion et webhooks",
31
+ "help_section_modes": "Modes de l'appareil photo",
32
+ "help_section_setup": "Démarrage rapide",
33
+ "help_section_states": "Points de données par caméra",
34
+ "help_section_stream": "Diffusion en direct et widgets HTML",
35
+ "help_setup": "1. Définissez l'<b>hôte MotionEye</b>, les informations d'identification et l'<b>hôte webhook</b> dans l'onglet Paramètres.<br>2. Dans l'onglet Caméras, cliquez sur <b>Charger les caméras depuis MotionEye</b> (l'instance doit être en cours d'exécution) ou ajoutez des lignes manuellement.<br>3. Ajustez les noms d'affichage et les dossiers multimédias facultatifs.<br>4. <b>Enregistrez</b> la configuration de l'instance et <b>redémarrez</b> l'adaptateur : les points de données sont créés et les URL des webhooks sont écrites dans MotionEye.",
36
+ "help_states": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:16%\">État</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Lire</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Écrire</th><th style=\"text-align:left;padding:8px 6px\">Description</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>mode</code></td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">Mode appareil photo : désactivé, fixe, net</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>motion</code></td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">non</td><td style=\"padding:6px\">Mouvement détecté (webhook, réinitialisation automatique)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">non</td><td style=\"padding:6px\">Dernière synchronisation / texte d'erreur</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>instantané</code></td><td style=\"padding:6px\">non</td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">Déclencher un instantané (bouton)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>stream</code></td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">Diffusion vidéo en direct activée/désactivée</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamPulse</code></td><td style=\"padding:6px\">non</td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">Impulsion de flux court (bouton)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamUrl</code></td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">non</td><td style=\"padding:6px\">HTML prêt à l'emploi pour n'importe quel widget HTML</td></tr><tr><td style=\"padding:6px\"><code>webhookUrl</code></td><td style=\"padding:6px\">oui</td><td style=\"padding:6px\">non</td><td style=\"padding:6px\">URL du webhook configurée (lecture seule)</td></tr></tbody></table>",
37
+ "help_stream": "Définissez <code>stream</code> sur <code>true</code> pour un flux MJPEG en direct. Utilisez <code>streamPulse</code> pour un aperçu programmé (voir <b>Arrêt automatique du flux d'impulsions</b> dans les paramètres).<br><br>L'état <code>streamUrl</code> fournit du code HTML prêt à l'emploi (par exemple, une balise <code><img></code>) pour tout widget compatible HTML dans VIS, VIS2 ou les tableaux de bord. Il se met à jour automatiquement lorsque le flux est activé ou désactivé.",
38
+ "load_cameras_button": "Charger des caméras depuis MotionEye",
39
+ "load_cameras_help": "Récupère /config/list de MotionEye et ajoute les caméras qui ne sont pas encore dans le tableau. L'instance de l'adaptateur doit être en cours d'exécution. Enregistrez la configuration et redémarrez après avoir ajouté des caméras.",
40
+ "load_cameras_result_added": "De nouvelles caméras ont été ajoutées au tableau. Enregistrez la configuration et redémarrez l'instance d'adaptateur.",
41
+ "load_cameras_result_none": "Pas de nouvelles caméras : toutes les caméras MotionEye sont déjà dans le tableau.",
21
42
  "mode_off": "Éteint : aucune détection",
22
43
  "mode_sharp": "Sharp – mouvement + enregistrement vidéo",
23
44
  "mode_still": "Immobile – déclencheur de mouvement uniquement",
@@ -37,6 +58,7 @@
37
58
  "streamAutoOffMs": "Arrêt automatique des impulsions de flux (ms)",
38
59
  "streamAutoOffMs_help": "Utilisé uniquement par streamPulse — le flux s'éteint après cette durée (0 = jamais)",
39
60
  "tab_cameras": "Caméras",
61
+ "tab_help": "Aide",
40
62
  "tab_settings": "Paramètres",
41
63
  "useMotionEyeConfig": "Contrôler MotionEye via l'API de configuration",
42
64
  "useMotionEyeConfig_help": "Laissez activé pour un usage normal. L'adaptateur écrit le mode caméra, les URL de webhook et le flux on/off dans MotionEye (port 8765). ioBroker contrôle alors la détection de mouvement et les flux ; l'interface web MotionEye suit en conséquence. Désactivez seulement si vous configurez MotionEye entièrement à la main.",
@@ -5,6 +5,9 @@
5
5
  "camera_id": "ID interno",
6
6
  "camera_id_help": "Chiave stabile per webhook (ad es. auffahrt). Lasciare vuoto per derivare dal nome.",
7
7
  "camera_id_placeholder": "auto dal nome",
8
+ "camera_mediaFolder": "Cartella multimediale",
9
+ "camera_mediaFolder_help": "Nome della cartella in /var/lib/motioneye (ad esempio Bambu). Applicato all'avvio dell'adattatore quando la sincronizzazione della configurazione MotionEye è abilitata. Lascia vuoto per mantenere l'impostazione predefinita di MotionEye (Camera<ID>). Non rinomina le cartelle esistenti sul disco.",
10
+ "camera_mediaFolder_placeholder": "opzionale",
8
11
  "camera_motionEyeId": "ID MotionEye",
9
12
  "camera_motionEyeId_help": "ID numerico della telecamera da MotionEye (/config/list)",
10
13
  "camera_name": "Nome da visualizzare",
@@ -18,6 +21,24 @@
18
21
  "header_stream": "Opzioni di flusso",
19
22
  "header_timing": "Polling e timeout",
20
23
  "header_webhook": "Webhook",
24
+ "help_cameras": "Nella scheda <b>Telecamere</b> utilizza <b>Carica telecamere da MotionEye</b> per recuperare l'elenco delle telecamere da MotionEye e aggiungere le righe mancanti alla tabella (le voci esistenti vengono mantenute). L'istanza dell'adattatore deve essere <b>in esecuzione</b> per questo pulsante.<br><br><b>ID MotionEye:</b> nell'interfaccia utente web MotionEye aprire una telecamera → <b>Dispositivo video</b> → campo <b>ID telecamera</b>. Oppure interroga <code>/config/list</code> sulla porta 8765.<br><br><b>Nome visualizzato:</b> nome del canale ioBroker: può differire dall'etichetta MotionEye.<br><b>ID interno:</b> Chiave webhook stabile (ad esempio <code>auffahrt</code>). Lasciare vuoto per derivare dal nome visualizzato.<br><b>Cartella multimediale:</b> nome della cartella opzionale in <code>/var/lib/motioneye</code>. Applicato all'avvio dell'adattatore quando la sincronizzazione della configurazione è abilitata.",
25
+ "help_connection": "<b>Host MotionEye</b>: IP o nome host del server MotionEye.<br><b>Porta API di configurazione MotionEye</b>: <code>8765</code> predefinita (modalità, webhook, flusso).<br><b>Porta HTTP Motion</b>: <code>7999</code> predefinita (istantanee).<br><b>Controlla MotionEye tramite API di configurazione</b>: lascia <b>abilitato</b> per l'uso normale. L'adattatore scrive modalità, URL webhook e attivazione/disattivazione dello streaming su MotionEye; ioBroker controlla il rilevamento e i live streaming.<br><br><b>Host webhook</b>: IP del tuo host ioBroker raggiungibile <i>da MotionEye</i> (ad esempio <code>192.168.130.130</code>). Obbligatorio per gli URL webhook.<br><b>Porta webhook</b>: <code>8090</code> predefinita; consentire il traffico in entrata sull'host ioBroker.",
26
+ "help_intro": "L'<b>adattatore MotionEye</b> collega le telecamere MotionEye a ioBroker: rilevamento del movimento tramite webhook, istantanee, live streaming e controllo della modalità (<code>off</code> / <code>still</code> / <code>sharp</code>).<br><br>Stati delle informazioni in tempo reale in <code>motioneye.<instance>.0_info</code> (connessione, versioni, telecamere online).",
27
+ "help_modes": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:18%\">Modalità</th><th style=\"text-align:left;padding:8px 6px\">Descrizione</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>disattivato</code></td><td style=\"padding:6px\">Rilevazione del movimento disattivata</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>ancora</code></td><td style=\"padding:6px\">Solo trigger di movimento: nessuna registrazione video</td></tr><tr><td style=\"padding:6px\"><code>nitido</code></td><td style=\"padding:6px\">Rilevamento di movimento + video registrazione</td></tr></tbody></table>",
28
+ "help_readme": "Documentazione completa:<br><br>• <a href=\"https://github.com/inventwo/ioBroker.motioneye/blob/main/README.md\">README dell'adattatore su GitHub</a>",
29
+ "help_section_cameras": "Fotocamere",
30
+ "help_section_connection": "Connessione e webhook",
31
+ "help_section_modes": "Modalità della fotocamera",
32
+ "help_section_setup": "Avvio rapido",
33
+ "help_section_states": "Punti dati per telecamera",
34
+ "help_section_stream": "Streaming live e widget HTML",
35
+ "help_setup": "1. Impostare <b>host MotionEye</b>, credenziali e <b>host webhook</b> nella scheda Impostazioni.<br>2. Nella scheda Telecamere, fai clic su <b>Carica telecamere da MotionEye</b> (l'istanza deve essere in esecuzione) o aggiungi righe manualmente.<br>3. Modifica i nomi visualizzati e le cartelle multimediali opzionali.<br>4. <b>Salva</b> la configurazione dell'istanza e <b>riavvia</b> l'adattatore: i datapoint vengono creati e gli URL webhook vengono scritti su MotionEye.",
36
+ "help_states": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:16%\">Stato</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Leggi</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Scrivi</th><th style=\"text-align:left;padding:8px 6px\">Descrizione</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>modalità</code></td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">Modalità fotocamera: disattivata, fissa, nitida</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>movimento</code></td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">Movimento rilevato (webhook, ripristino automatico)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">Ultima sincronizzazione/testo errore</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>istantanea</code></td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">Attiva istantanea (pulsante)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>stream</code></td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">Streaming video in diretta attivato/disattivato</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamPulse</code></td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">Impulso di flusso breve (pulsante)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamUrl</code></td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">HTML pronto all'uso per qualsiasi HTML widget</td></tr><tr><td style=\"padding:6px\"><code>webhookUrl</code></td><td style=\"padding:6px\">sì</td><td style=\"padding:6px\">no</td><td style=\"padding:6px\">URL webhook configurato (sola lettura)</td></tr></tbody></table>",
37
+ "help_stream": "Imposta <code>stream</code> su <code>true</code> per uno streaming MJPEG live. Utilizza <code>streamPulse</code> per un'anteprima temporizzata (vedi <b>Disattivazione automatica impulso flusso</b> in Impostazioni).<br><br>Lo stato <code>streamUrl</code> fornisce HTML pronto all'uso (ad esempio un tag <code><img></code>) per qualsiasi widget compatibile con HTML in VIS, VIS2 o dashboard. Si aggiorna automaticamente quando lo streaming si attiva o disattiva.",
38
+ "load_cameras_button": "Carica le telecamere da MotionEye",
39
+ "load_cameras_help": "Recupera /config/list da MotionEye e aggiunge le telecamere non ancora presenti nella tabella. L'istanza dell'adattatore deve essere in esecuzione. Salva la configurazione e riavvia dopo aver aggiunto le telecamere.",
40
+ "load_cameras_result_added": "Sono state aggiunte nuove telecamere alla tabella. Salvare la configurazione e riavviare l'istanza dell'adattatore.",
41
+ "load_cameras_result_none": "Nessuna nuova fotocamera: tutte le fotocamere MotionEye sono già nella tabella.",
21
42
  "mode_off": "Spento: nessun rilevamento",
22
43
  "mode_sharp": "Nitido: movimento + registrazione video",
23
44
  "mode_still": "Ancora: solo trigger di movimento",
@@ -37,6 +58,7 @@
37
58
  "streamAutoOffMs": "Spegnimento automatico impulso flusso (ms)",
38
59
  "streamAutoOffMs_help": "Utilizzato solo da streamPulse: lo streaming si interrompe dopo questa durata (0 = mai)",
39
60
  "tab_cameras": "Fotocamere",
61
+ "tab_help": "Aiuto",
40
62
  "tab_settings": "Impostazioni",
41
63
  "useMotionEyeConfig": "Controlla MotionEye tramite API di configurazione",
42
64
  "useMotionEyeConfig_help": "Lascia attivato per l'uso normale. L'adattatore scrive modalità camera, URL webhook e stream on/off in MotionEye (porta 8765). ioBroker controlla rilevamento movimento e stream; l'interfaccia web MotionEye si aggiorna di conseguenza. Disattiva solo se configuri MotionEye interamente a mano.",
@@ -5,6 +5,9 @@
5
5
  "camera_id": "Interne identiteitskaart",
6
6
  "camera_id_help": "Stabiele sleutel voor webhooks (bijv. auffahrt). Laat leeg om af te leiden van de naam.",
7
7
  "camera_id_placeholder": "automatisch vanaf naam",
8
+ "camera_mediaFolder": "Mediamap",
9
+ "camera_mediaFolder_help": "Mapnaam onder /var/lib/motioneye (bijvoorbeeld Bambu). Toegepast bij het starten van de adapter wanneer MotionEye-configuratiesynchronisatie is ingeschakeld. Laat dit leeg om de MotionEye-standaard (Camera<ID>) te behouden. Hernoemt bestaande mappen op schijf niet.",
10
+ "camera_mediaFolder_placeholder": "optioneel",
8
11
  "camera_motionEyeId": "MotionEye-ID",
9
12
  "camera_motionEyeId_help": "Numerieke camera-ID van MotionEye (/config/list)",
10
13
  "camera_name": "Weergavenaam",
@@ -18,6 +21,24 @@
18
21
  "header_stream": "Stream-opties",
19
22
  "header_timing": "Polling en time-outs",
20
23
  "header_webhook": "Webhook",
24
+ "help_cameras": "Gebruik op het tabblad <b>Camera's</b> <b>Camera's laden uit MotionEye</b> om de cameralijst uit MotionEye op te halen en ontbrekende rijen aan de tabel toe te voegen (bestaande vermeldingen blijven behouden). De adapterinstantie moet <b>actief</b> zijn voor deze knop.<br><br><b>MotionEye ID:</b> Open in de MotionEye-webinterface een camera → <b>Videoapparaat</b> → veld <b>Camera-ID</b>. Of vraag <code>/config/list</code> op poort 8765.<br><br><b>Weergavenaam:</b> ioBroker-kanaalnaam — kan verschillen van het MotionEye-label.<br><b>Interne ID:</b> Stabiele webhook-sleutel (bijv. <code>auffahrt</code>). Laat dit leeg om de weergavenaam af te leiden.<br><b>Mediamap:</b> Optionele mapnaam onder <code>/var/lib/motioneye</code>. Toegepast bij het starten van de adapter wanneer configuratiesynchronisatie is ingeschakeld.",
25
+ "help_connection": "<b>MotionEye-host</b> — IP of hostnaam van uw MotionEye-server.<br><b>MotionEye configuratie-API-poort</b> — standaard <code>8765</code> (modus, webhooks, stream).<br><b>Motion HTTP-poort</b> — standaard <code>7999</code> (snapshots).<br><b>Beheer MotionEye via configuratie-API</b> — verlaten <b>ingeschakeld</b> voor normaal gebruik. De adapter schrijft modus, webhook-URL's en stream aan/uit naar MotionEye; ioBroker beheert detectie en livestreams.<br><br><b>Webhook-host</b> — IP van uw ioBroker-host zoals bereikbaar <i>van MotionEye</i> (bijv. <code>192.168.130.130</code>). Vereist voor webhook-URL's.<br><b>Webhook-poort</b> — standaard <code>8090</code>; sta inkomend verkeer op de ioBroker-host toe.",
26
+ "help_intro": "De <b>MotionEye-adapter</b> verbindt MotionEye-camera's met ioBroker: bewegingsdetectie via webhooks, snapshots, livestreams en modusbediening (<code>uit</code> / <code>stilstaand</code> / <code>sharp</code>).<br><br>Infostatussen live onder <code>motioneye.<instance>.0_info</code> (verbinding, versies, camera's online).",
27
+ "help_modes": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:18%\">Modus</th><th style=\"text-align:left;padding:8px 6px\">Beschrijving</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>uit</code></td><td style=\"padding:6px\">Bewegingsdetectie uit</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>still</code></td><td style=\"padding:6px\">Alleen bewegingstrigger - geen video-opname</td></tr><tr><td style=\"padding:6px\"><code>scherp</code></td><td style=\"padding:6px\">Bewegingsdetectie + video opname</td></tr></tbody></table>",
28
+ "help_readme": "Volledige documentatie:<br><br>• <a href=\"https://github.com/inventwo/ioBroker.motioneye/blob/main/README.md\">Adapter README op GitHub</a>",
29
+ "help_section_cameras": "Camera's",
30
+ "help_section_connection": "Verbinding en webhooks",
31
+ "help_section_modes": "Cameramodi",
32
+ "help_section_setup": "Snel beginnen",
33
+ "help_section_states": "Datapunten per camera",
34
+ "help_section_stream": "Livestream en HTML-widgets",
35
+ "help_setup": "1. Stel <b>MotionEye-host</b>, inloggegevens en <b>webhook-host</b> in op het tabblad Instellingen.<br>2. Klik op het tabblad Camera's op <b>Camera's laden vanuit MotionEye</b> (de instantie moet actief zijn) of voeg handmatig rijen toe.<br>3. Pas de weergavenamen en optionele mediamappen aan.<br>4. <b>Sla</b> de instantieconfiguratie op en <b>start</b> de adapter opnieuw op. Er worden datapunten gemaakt en webhook-URL's worden naar MotionEye geschreven.",
36
+ "help_states": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:16%\">Status</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Lezen</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Schrijven</th><th style=\"text-align:left;padding:8px 6px\">Beschrijving</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>modus</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">Cameramodus: uit, stil, scherp</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>motion</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">nee</td><td style=\"padding:6px\">Beweging gedetecteerd (webhook, auto-reset)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">nee</td><td style=\"padding:6px\">Laatste synchronisatie / fouttekst</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>snapshot</code></td><td style=\"padding:6px\">nee</td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">Snapshot activeren (knop)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>stream</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">Live videostream aan/uit</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamPulse</code></td><td style=\"padding:6px\">nee</td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">Korte streampuls (knop)</td></tr><tr style=\"border-bottom:1px effen rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamUrl</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">nee</td><td style=\"padding:6px\">Klaar voor gebruik HTML voor elke HTML-widget</td></tr><tr><td style=\"padding:6px\"><code>webhookUrl</code></td><td style=\"padding:6px\">ja</td><td style=\"padding:6px\">nee</td><td style=\"padding:6px\">Geconfigureerde webhook-URL (alleen-lezen)</td></tr></tbody></table>",
37
+ "help_stream": "Stel <code>stream</code> in op <code>true</code> voor een live MJPEG-stream. Gebruik <code>streamPulse</code> voor een getimed voorbeeld (zie <b>Streampuls automatisch uitschakelen</b> in Instellingen).<br><br>De status <code>streamUrl</code> biedt kant-en-klare HTML (bijvoorbeeld een <code><img></code>-tag) voor elke HTML-compatibele widget in VIS, VIS2 of dashboards. Het wordt automatisch bijgewerkt wanneer de stream wordt in- of uitgeschakeld.",
38
+ "load_cameras_button": "Camera's laden vanuit MotionEye",
39
+ "load_cameras_help": "Haalt /config/list op van MotionEye en voegt camera's toe die nog niet in de tabel staan. De adapterinstantie moet actief zijn. Sla de configuratie op en start opnieuw op na het toevoegen van camera's.",
40
+ "load_cameras_result_added": "Er zijn nieuwe camera's aan de tabel toegevoegd. Sla de configuratie op en start de adapterinstantie opnieuw.",
41
+ "load_cameras_result_none": "Geen nieuwe camera's: alle MotionEye-camera's staan ​​al in de tabel.",
21
42
  "mode_off": "Uit — geen detectie",
22
43
  "mode_sharp": "Scherp – beweging + video-opname",
23
44
  "mode_still": "Nog steeds - alleen bewegingstrigger",
@@ -37,6 +58,7 @@
37
58
  "streamAutoOffMs": "Automatische uitschakeling van streampuls (ms)",
38
59
  "streamAutoOffMs_help": "Alleen gebruikt door streamPulse: de stream wordt na deze duur uitgeschakeld (0 = nooit)",
39
60
  "tab_cameras": "Camera's",
61
+ "tab_help": "Hulp",
40
62
  "tab_settings": "Instellingen",
41
63
  "useMotionEyeConfig": "MotionEye via config-API aansturen",
42
64
  "useMotionEyeConfig_help": "Laat ingeschakeld voor normaal gebruik. De adapter schrijft cameramodus, webhook-URL's en stream aan/uit naar MotionEye (poort 8765). ioBroker bestuurt dan bewegingsdetectie en livestreams; de MotionEye-webinterface volgt mee. Alleen uitschakelen als je MotionEye volledig handmatig configureert.",
@@ -5,6 +5,9 @@
5
5
  "camera_id": "Identyfikator wewnętrzny",
6
6
  "camera_id_help": "Stabilny klucz dla webhooków (np. auffahrt). Pozostaw puste, aby wywodzić się z nazwy.",
7
7
  "camera_id_placeholder": "auto z nazwy",
8
+ "camera_mediaFolder": "Folder multimediów",
9
+ "camera_mediaFolder_help": "Nazwa folderu w /var/lib/motioneye (np. Bambu). Stosowane przy uruchomieniu adaptera, gdy włączona jest synchronizacja konfiguracji MotionEye. Pozostaw puste, aby zachować domyślną opcję MotionEye (Kamera<ID>). Nie zmienia nazw istniejących folderów na dysku.",
10
+ "camera_mediaFolder_placeholder": "fakultatywny",
8
11
  "camera_motionEyeId": "Identyfikator MotionEye",
9
12
  "camera_motionEyeId_help": "Numeryczny identyfikator kamery z MotionEye (/config/list)",
10
13
  "camera_name": "Nazwa wyświetlana",
@@ -18,6 +21,24 @@
18
21
  "header_stream": "Opcje transmisji",
19
22
  "header_timing": "Odpytywanie i limity czasu",
20
23
  "header_webhook": "Webhook",
24
+ "help_cameras": "Na karcie <b>Kamery</b> użyj opcji <b>Wczytaj kamery z MotionEye</b>, aby pobrać listę kamer z MotionEye i dodać brakujące wiersze do tabeli (istniejące wpisy zostaną zachowane). Dla tego przycisku instancja adaptera musi być <b>uruchomiona</b>.<br><br><b>Identyfikator MotionEye:</b> W internetowym interfejsie użytkownika MotionEye otwórz kamerę → <b>Urządzenie wideo</b> → pole <b>Identyfikator kamery</b>. Lub zapytaj <code>/config/list</code> na porcie 8765.<br><br><b>Nazwa wyświetlana:</b> nazwa kanału ioBroker — może różnić się od etykiety MotionEye.<br><b>Identyfikator wewnętrzny:</b> Stabilny klucz webhooka (np. <code>auffahrt</code>). Pozostaw puste, aby wynikało z nazwy wyświetlanej.<br><b>Folder multimediów:</b> opcjonalna nazwa folderu w <code>/var/lib/motioneye</code>. Stosowane przy uruchomieniu adaptera, gdy włączona jest synchronizacja konfiguracji.",
25
+ "help_connection": "<b>Host MotionEye</b> — adres IP lub nazwa hosta serwera MotionEye.<br><b>Port API konfiguracji MotionEye</b> — domyślny <code>8765</code> (tryb, elementy webhook, strumień).<br><b>Port HTTP Motion</b> — domyślny <code>7999</code> (migawki).<br><b>Steruj MotionEye poprzez interfejs konfiguracyjny API</b> — wyjdź <b>włączone</b> do normalnego użytkowania. Adapter zapisuje tryb zapisu, adresy URL elementu webhook i włącza/wyłącza przesyłanie strumieniowe do MotionEye; ioBroker kontroluje wykrywanie i transmisje na żywo.<br><br><b>Host webhooka</b> — adres IP hosta ioBroker osiągalny <i>z MotionEye</i> (np. <code>192.168.130.130</code>). Wymagany w przypadku adresów URL webhooka.<br><b>Port webhooka</b> — domyślnie <code>8090</code>; Zezwól na ruch przychodzący na hoście ioBroker.",
26
+ "help_intro": "<b>Adapter MotionEye</b> łączy kamery MotionEye z ioBrokerem: wykrywanie ruchu za pomocą webhooków, migawki, transmisje na żywo i kontrola trybu (<code>off</code> / <code>nieruchomy</code> / <code>ostry</code>).<br><br>Stany informacji są dostępne pod <code>motioneye.<instance>.0_info</code> (połączenie, wersje, kamery online).",
27
+ "help_modes": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:18%\">Tryb</th><th style=\"text-align:left;padding:8px 6px\">Opis</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>off</code></td><td style=\"padding:6px\">Wykrywanie ruchu wyłączone</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>still</code></td><td style=\"padding:6px\">Tylko wyzwalanie ruchem — bez nagrywania wideo</td></tr><tr><td style=\"padding:6px\"><code>sharp</code></td><td style=\"padding:6px\">Wykrywanie ruchu + wideo nagranie</td></tr></tbody></table>",
28
+ "help_readme": "Pełna dokumentacja:<br><br> • <a href=\"https://github.com/inventwo/ioBroker.motioneye/blob/main/README.md\">Adapter README w serwisie GitHub</a>",
29
+ "help_section_cameras": "Kamery",
30
+ "help_section_connection": "Połączenie i webhook",
31
+ "help_section_modes": "Tryby aparatu",
32
+ "help_section_setup": "Szybki start",
33
+ "help_section_states": "Punkty danych na kamerę",
34
+ "help_section_stream": "Transmisja na żywo i widżety HTML",
35
+ "help_setup": "1. Ustaw <b>Host MotionEye</b>, dane uwierzytelniające i <b>Host webhooka</b> na karcie Ustawienia.<br>2. Na karcie Kamery kliknij <b>Załaduj kamery z MotionEye</b> (instancja musi być uruchomiona) lub dodaj wiersze ręcznie.<br>3. Dostosuj wyświetlane nazwy i opcjonalne foldery multimedialne.<br>4. <b>Zapisz</b> konfigurację instancji i <b>uruchom ponownie</b> adapter — zostaną utworzone punkty danych, a adresy URL elementu webhook zostaną zapisane w MotionEye.",
36
+ "help_states": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:16%\">Stan</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Przeczytaj</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Napisz</th><th style=\"text-align:left;padding:8px 6px\">Opis</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>tryb</code></td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">Tryb aparatu: wyłączony, nieruchomy, ostry</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>ruch</code></td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">nie</td><td style=\"padding:6px\">Wykryto ruch (webhook, automatyczne resetowanie)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">nie</td><td style=\"padding:6px\">Ostatnia synchronizacja/tekst błędu</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>snapshot</code></td><td style=\"padding:6px\">nie</td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">Uruchom migawkę (przycisk)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>stream</code></td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">Włączanie/wyłączanie strumienia wideo na żywo</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamPulse</code></td><td style=\"padding:6px\">nie</td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">Krótki impuls strumieniowy (przycisk)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamUrl</code></td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">nie</td><td style=\"padding:6px\">Gotowy do użycia kod HTML dla dowolnego widżetu HTML</td></tr><tr><td style=\"padding:6px\"><code>webhookUrl</code></td><td style=\"padding:6px\">tak</td><td style=\"padding:6px\">nie</td><td style=\"padding:6px\">Skonfigurowany adres URL webhooka (tylko do odczytu)</td></tr></tbody></table>",
37
+ "help_stream": "Ustaw <code>stream</code> na <code>true</code> dla strumienia MJPEG na żywo. Użyj <code>streamPulse</code>, aby uzyskać podgląd w określonym czasie (zobacz <b>Automatyczne wyłączanie impulsu strumienia</b> w Ustawieniach).<br><br>Stan <code>streamUrl</code> zapewnia gotowy do użycia kod HTML (np. tag <code><img></code>) dla dowolnego widżetu obsługującego HTML w VIS, VIS2 lub dashboardach. Aktualizuje się automatycznie po włączeniu lub wyłączeniu strumienia.",
38
+ "load_cameras_button": "Załaduj kamery z MotionEye",
39
+ "load_cameras_help": "Pobiera /config/list z MotionEye i dodaje kamery, których jeszcze nie ma w tabeli. Instancja adaptera musi być uruchomiona. Zapisz konfigurację i uruchom ponownie po dodaniu kamer.",
40
+ "load_cameras_result_added": "Do tabeli dodano nowe kamery. Zapisz konfigurację i zrestartuj instancję adaptera.",
41
+ "load_cameras_result_none": "Żadnych nowych kamer — wszystkie kamery MotionEye są już dostępne w tabeli.",
21
42
  "mode_off": "Wyłączona — brak wykrywania",
22
43
  "mode_sharp": "Ostry — ruch + nagrywanie wideo",
23
44
  "mode_still": "Nadal — tylko wyzwalacz ruchu",
@@ -37,6 +58,7 @@
37
58
  "streamAutoOffMs": "Automatyczne wyłączanie impulsu strumieniowego (ms)",
38
59
  "streamAutoOffMs_help": "Używany tylko przez streamPulse — strumień wyłącza się po upływie tego czasu (0 = nigdy)",
39
60
  "tab_cameras": "Kamery",
61
+ "tab_help": "Pomoc",
40
62
  "tab_settings": "Ustawienia",
41
63
  "useMotionEyeConfig": "Steruj MotionEye przez API konfiguracji",
42
64
  "useMotionEyeConfig_help": "Pozostaw włączone do normalnej pracy. Adapter zapisuje tryb kamery, adresy URL webhooków i stream wł./wył. w MotionEye (port 8765). ioBroker steruje wykrywaniem ruchu i streamami; interfejs web MotionEye aktualizuje się przy okazji. Wyłącz tylko, jeśli konfigurujesz MotionEye całkowicie ręcznie.",
@@ -5,6 +5,9 @@
5
5
  "camera_id": "ID interno",
6
6
  "camera_id_help": "Chave estável para webhooks (por exemplo, auffahrt). Deixe em branco para derivar do nome.",
7
7
  "camera_id_placeholder": "automático do nome",
8
+ "camera_mediaFolder": "Pasta de mídia",
9
+ "camera_mediaFolder_help": "Nome da pasta em /var/lib/motioneye (por exemplo, Bambu). Aplicado na inicialização do adaptador quando a sincronização de configuração do MotionEye está habilitada. Deixe em branco para manter o padrão MotionEye (Camera<ID>). Não renomeia pastas existentes no disco.",
10
+ "camera_mediaFolder_placeholder": "opcional",
8
11
  "camera_motionEyeId": "ID do MotionEye",
9
12
  "camera_motionEyeId_help": "ID numérico da câmera do MotionEye (/config/list)",
10
13
  "camera_name": "Nome de exibição",
@@ -18,6 +21,24 @@
18
21
  "header_stream": "Opções de transmissão",
19
22
  "header_timing": "Pesquisas e tempos limites",
20
23
  "header_webhook": "Webhook",
24
+ "help_cameras": "Na guia <b>Câmeras</b>, use <b>Carregar câmeras do MotionEye</b> para buscar a lista de câmeras do MotionEye e adicionar linhas ausentes à tabela (as entradas existentes são mantidas). A instância do adaptador deve estar <b>em execução</b> para este botão.<br><br><b>ID do MotionEye:</b> na interface da Web do MotionEye, abra uma câmera → <b>Dispositivo de vídeo</b> → campo <b>ID da câmera</b>. Ou consulte <code>/config/list</code> na porta 8765.<br><br><b>Nome de exibição:</b> nome do canal ioBroker — pode ser diferente do rótulo MotionEye.<br><b>ID interno:</b> chave de webhook estável (por exemplo, <code>auffahrt</code>). Deixe em branco para derivar do nome de exibição.<br><b>Pasta de mídia:</b> Nome da pasta opcional em <code>/var/lib/motioneye</code>. Aplicado na inicialização do adaptador quando a sincronização de configuração está habilitada.",
25
+ "help_connection": "<b>Host MotionEye</b> — IP ou nome de host do seu servidor MotionEye.<br><b>Porta da API de configuração do MotionEye</b> — padrão <code>8765</code> (modo, webhooks, stream).<br><b>Porta HTTP do Motion</b> — padrão <code>7999</code> (instantâneos).<br><b>Controle o MotionEye via API de configuração</b> — saia <b>ativado</b> para uso normal. O adaptador grava modo, URLs de webhook e liga/desliga fluxo para MotionEye; O ioBroker controla a detecção e as transmissões ao vivo.<br><br><b>Host do webhook</b> — IP do seu host ioBroker acessível <i>pelo MotionEye</i> (por exemplo, <code>192.168.130.130</code>). Obrigatório para URLs de webhook.<br><b>Porta de webhook</b> — padrão <code>8090</code>; permitir tráfego de entrada no host ioBroker.",
26
+ "help_intro": "O <b>adaptador MotionEye</b> conecta câmeras MotionEye ao ioBroker: detecção de movimento via webhooks, snapshots, transmissões ao vivo e controle de modo (<code>off</code> / <code>still</code> / <code>nítido</code>).<br><br>Os estados de informações ficam em <code>motioneye.<instance>.0_info</code> (conexão, versões, câmeras on-line).",
27
+ "help_modes": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:18%\">Modo</th><th style=\"text-align:left;padding:8px 6px\">Descrição</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>off</code></td><td style=\"padding:6px\">Detecção de movimento desativada</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>parado</code></td><td style=\"padding:6px\">Apenas gatilho de movimento - sem gravação de vídeo</td></tr><tr><td style=\"padding:6px\"><code>nítido</code></td><td style=\"padding:6px\">Detecção de movimento + vídeo gravação</td></tr></tbody></table>",
28
+ "help_readme": "Documentação completa:<br><br>• <a href=\"https://github.com/inventwo/ioBroker.motioneye/blob/main/README.md\">Adaptador README no GitHub</a>",
29
+ "help_section_cameras": "Câmeras",
30
+ "help_section_connection": "Conexão e webhooks",
31
+ "help_section_modes": "Modos de câmera",
32
+ "help_section_setup": "Início rápido",
33
+ "help_section_states": "Pontos de dados por câmera",
34
+ "help_section_stream": "Transmissão ao vivo e widgets HTML",
35
+ "help_setup": "1. Defina <b>host MotionEye</b>, credenciais e <b>host webhook</b> na guia Configurações.<br>2. Na guia Câmeras, clique em <b>Carregar câmeras do MotionEye</b> (a instância deve estar em execução) ou adicione linhas manualmente.<br>3. Ajuste os nomes de exibição e as pastas de mídia opcionais.<br>4. <b>Salve</b> a configuração da instância e <b>reinicie</b> o adaptador — pontos de dados são criados e URLs de webhook são gravados no MotionEye.",
36
+ "help_states": "<table style=\"width:100%;border-collapse:collapse;font-size:0.875rem\"><thead><tr style=\"border-bottom:1px solid #546e7a\"><th style=\"text-align:left;padding:8px 6px;width:16%\">Estado</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Ler</th><th style=\"text-align:left;padding:8px 6px;width:10%\">Escrever</th><th style=\"text-align:left;padding:8px 6px\">Descrição</th></tr></thead><tbody><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>modo</code></td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">Modo de câmera: desligado, imóvel, nítido</td></tr><tr style=\"border-bottom:1px sólido rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>motion</code></td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">não</td><td style=\"padding:6px\">Movimento detectado (webhook, reinicialização automática)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>status</code></td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">não</td><td style=\"padding:6px\">Última sincronização/texto de erro</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>instantâneo</code></td><td style=\"padding:6px\">não</td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">Acionar instantâneo (botão)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>stream</code></td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">transmissão de vídeo ao vivo ativada/desativada</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamPulse</code></td><td style=\"padding:6px\">não</td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">Pulso de fluxo curto (botão)</td></tr><tr style=\"border-bottom:1px solid rgba(84,110,122,0.35)\"><td style=\"padding:6px\"><code>streamUrl</code></td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">não</td><td style=\"padding:6px\">HTML pronto para usar para qualquer widget HTML</td></tr><tr><td style=\"padding:6px\"><code>webhookUrl</code></td><td style=\"padding:6px\">sim</td><td style=\"padding:6px\">não</td><td style=\"padding:6px\">URL de webhook configurado (somente leitura)</td></tr></tbody></table>",
37
+ "help_stream": "Defina <code>stream</code> como <code>true</code> para uma transmissão MJPEG ao vivo. Use <code>streamPulse</code> para uma visualização cronometrada (consulte <b>Desativação automática de pulso de streaming</b> em Configurações).<br><br>O estado <code>streamUrl</code> fornece HTML pronto para uso (por exemplo, uma tag <code><img></code>) para qualquer widget compatível com HTML no VIS, VIS2 ou painéis. Ele é atualizado automaticamente quando o stream é ativado ou desativado.",
38
+ "load_cameras_button": "Carregar câmeras do MotionEye",
39
+ "load_cameras_help": "Busca /config/list do MotionEye e adiciona câmeras que ainda não estão na tabela. A instância do adaptador deve estar em execução. Salve a configuração e reinicie após adicionar câmeras.",
40
+ "load_cameras_result_added": "Novas câmeras foram adicionadas à mesa. Salve a configuração e reinicie a instância do adaptador.",
41
+ "load_cameras_result_none": "Nenhuma câmera nova – todas as câmeras MotionEye já estão na mesa.",
21
42
  "mode_off": "Desligado – sem detecção",
22
43
  "mode_sharp": "Nítido – movimento + gravação de vídeo",
23
44
  "mode_still": "Ainda – apenas gatilho de movimento",
@@ -37,6 +58,7 @@
37
58
  "streamAutoOffMs": "Desligamento automático de pulso de fluxo (ms)",
38
59
  "streamAutoOffMs_help": "Usado apenas pelo streamPulse — o stream é desligado após esse período (0 = nunca)",
39
60
  "tab_cameras": "Câmeras",
61
+ "tab_help": "Ajuda",
40
62
  "tab_settings": "Configurações",
41
63
  "useMotionEyeConfig": "Controlar MotionEye via API de configuração",
42
64
  "useMotionEyeConfig_help": "Deixe ativado para uso normal. O adaptador grava modo da câmera, URLs de webhook e stream ligado/desligado no MotionEye (porta 8765). O ioBroker controla detecção de movimento e streams; a interface web do MotionEye acompanha como efeito colateral. Desative apenas se configurar o MotionEye totalmente à mão.",