iobroker.agent-dvr 0.0.5 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +32 -0
- package/README.md +37 -6
- package/admin/i18n/de.json +136 -136
- package/admin/i18n/es.json +136 -136
- package/admin/i18n/fr.json +136 -136
- package/admin/i18n/it.json +136 -136
- package/admin/i18n/nl.json +136 -136
- package/admin/i18n/pl.json +136 -136
- package/admin/i18n/pt.json +136 -136
- package/admin/i18n/ru.json +136 -136
- package/admin/i18n/uk.json +136 -136
- package/admin/i18n/zh-cn.json +136 -136
- package/admin/jsonConfig.json +4 -0
- package/io-package.json +254 -228
- package/package.json +1 -1
- package/www/index.html +363 -29
package/README.de.md
CHANGED
|
@@ -45,6 +45,9 @@ Verbindet ioBroker mit [AgentDVR](https://www.ispyconnect.com): Kameras und Mikr
|
|
|
45
45
|
| Übersichts-Widget | Einzelner HTML-State mit allen Kamera-Live-Kacheln | `true` |
|
|
46
46
|
| Galerie-Widget pro Kamera | HTML-Aufnahmegalerie pro Kamera | `true` |
|
|
47
47
|
| Roh-API-JSON speichern | Die vollständige getObjects-Antwort in `system.raw_getObjects` schreiben | `false` |
|
|
48
|
+
| go2rtc aktivieren | WebRTC-Streams von go2rtc statt MJPEG im Dashboard verwenden | `false` |
|
|
49
|
+
| go2rtc URL | Basis-URL des go2rtc-Servers, z.B. `http://192.168.1.10:1984` | — |
|
|
50
|
+
| Stream-Mapping | Tabelle pro Kamera: AgentDVR-Kamera-Key → go2rtc-Stream-Name | — |
|
|
48
51
|
|
|
49
52
|
## Datenpunkte
|
|
50
53
|
|
|
@@ -157,6 +160,32 @@ Die rohen Gerätedaten aus AgentDVR werden rekursiv gespiegelt (Tiefe konfigurie
|
|
|
157
160
|
|-----------|-----|-----|-------------|
|
|
158
161
|
| `overview` | string | R | HTML-Kachelraster aller Kameras mit Livestream-Links |
|
|
159
162
|
|
|
163
|
+
## Live-Dashboard
|
|
164
|
+
|
|
165
|
+
Der Adapter liefert ein eingebautes Live-Dashboard unter `http://<iobroker>:<webport>/agent-dvr/`.
|
|
166
|
+
|
|
167
|
+
**Funktionen:**
|
|
168
|
+
- MJPEG- oder WebRTC-Livestream pro Kachel (konfigurierbar)
|
|
169
|
+
- Vollbild-Ansicht mit PTZ-Overlay und Aufnahme-Button
|
|
170
|
+
- Echtzeit-Bewegungs- (gelber Rahmen) und Alert-Indikator (oranger Rahmen)
|
|
171
|
+
- Aufnahmen-Tab mit Raster- und Timeline-Ansicht, Suche und Tag-Filter, Video-Player mit Vor/Zurück-Navigation
|
|
172
|
+
- Farbthema über Adapter-Konfiguration (7 Color-Picker)
|
|
173
|
+
|
|
174
|
+
## go2rtc WebRTC-Streams
|
|
175
|
+
|
|
176
|
+
Das Dashboard kann [go2rtc](https://github.com/AlexxIT/go2rtc) nutzen, um flüssige WebRTC-Streams statt des MJPEG-Fallbacks anzuzeigen.
|
|
177
|
+
|
|
178
|
+
**Voraussetzung:** go2rtc muss installiert und gestartet sein, mit bereits konfigurierten Streams für die Kameras.
|
|
179
|
+
|
|
180
|
+
**Einrichtung:**
|
|
181
|
+
1. In der Adapter-Konfiguration → Tab *Live-Dashboard*: **go2rtc aktivieren** und die **go2rtc URL** eintragen (z.B. `http://192.168.1.10:1984`).
|
|
182
|
+
2. Die **Stream-Mapping**-Tabelle befüllen — eine Zeile pro Kamera:
|
|
183
|
+
- **AgentDVR Kamera-Key**: der ioBroker-Datenpunkt-Präfix, z.B. `cam_8_Reolink` (im ioBroker-Objektbaum sichtbar)
|
|
184
|
+
- **go2rtc Stream-Name**: der Stream-Name wie in der go2rtc-Oberfläche oder unter `/api/streams`, z.B. `Reolink`
|
|
185
|
+
3. Speichern und Adapter neu starten. Gemappte Kameras zeigen den WebRTC-Stream; nicht gemappte Kameras verwenden weiterhin MJPEG.
|
|
186
|
+
|
|
187
|
+
**Funktionsweise:** Das Dashboard verbindet sich per WebSocket mit dem ioBroker-Webadapter, der die WebRTC-Signalisierung intern an go2rtc weiterleitet. Damit werden Browser-Cross-Origin-Beschränkungen umgangen, ohne go2rtc konfigurieren zu müssen.
|
|
188
|
+
|
|
160
189
|
## Snapshot als Base64
|
|
161
190
|
|
|
162
191
|
Der State `snapshot_b64` enthält das aktuelle Kamerabild als `data:image/jpeg;base64,…`-String und kann direkt in vis/vis-2-Bild-Widgets verwendet werden, ohne dass der Browser einen eigenen HTTP-Request durchführen muss.
|
|
@@ -171,6 +200,9 @@ Der State `snapshot_b64` enthält das aktuelle Kamerabild als `data:image/jpeg;b
|
|
|
171
200
|
Placeholder for the next version (at the beginning of the line):
|
|
172
201
|
### **WORK IN PROGRESS**
|
|
173
202
|
-->
|
|
203
|
+
### 0.0.6 (2026-07-01)
|
|
204
|
+
* (ipod86) docs: Live-Dashboard- und go2rtc-WebRTC-Abschnitte zur README hinzugefügt
|
|
205
|
+
|
|
174
206
|
### 0.0.5 (2026-07-01)
|
|
175
207
|
* (ipod86) feat: go2rtc WebRTC-Stream-Integration — Mapping-Tabelle pro Kamera im Admin, ioBroker WebSocket-Proxy umgeht Browser-Cross-Origin-Sperre
|
|
176
208
|
* (ipod86) feat: Automatisches Löschen von Kamera-/Mikrofon-Datenpunkten wenn das Gerät in AgentDVR entfernt wird
|
package/README.md
CHANGED
|
@@ -47,6 +47,9 @@ Connects ioBroker to [AgentDVR](https://www.ispyconnect.com): auto-discovers all
|
|
|
47
47
|
| Overview widget | Single HTML state combining all camera live tiles | `true` |
|
|
48
48
|
| Gallery widget per camera | HTML recording gallery per camera | `true` |
|
|
49
49
|
| Store raw API JSON | Write the full getObjects response to `system.raw_getObjects` | `false` |
|
|
50
|
+
| Enable go2rtc | Use WebRTC streams from go2rtc instead of MJPEG in the dashboard | `false` |
|
|
51
|
+
| go2rtc URL | Base URL of your go2rtc server, e.g. `http://192.168.1.10:1984` | — |
|
|
52
|
+
| Stream mapping | Per-camera table: AgentDVR camera key → go2rtc stream name | — |
|
|
50
53
|
|
|
51
54
|
## Data points
|
|
52
55
|
|
|
@@ -159,6 +162,32 @@ The raw device data from AgentDVR is mirrored recursively (depth configurable, d
|
|
|
159
162
|
|-----------|------|-----|-------------|
|
|
160
163
|
| `overview` | string | R | HTML tile grid of all cameras with live stream links |
|
|
161
164
|
|
|
165
|
+
## Live Dashboard
|
|
166
|
+
|
|
167
|
+
The adapter ships a built-in live dashboard at `http://<iobroker>:<webport>/agent-dvr/`.
|
|
168
|
+
|
|
169
|
+
**Features:**
|
|
170
|
+
- Live MJPEG or WebRTC stream per camera tile (configurable)
|
|
171
|
+
- Fullscreen view with PTZ overlay and record button
|
|
172
|
+
- Real-time motion (yellow border) and alert (orange border) indicators
|
|
173
|
+
- Recordings tab with grid and timeline view, search and tag filter, video player with prev/next navigation
|
|
174
|
+
- Color theming via adapter config (7 color pickers)
|
|
175
|
+
|
|
176
|
+
## go2rtc WebRTC Streams
|
|
177
|
+
|
|
178
|
+
The dashboard can use [go2rtc](https://github.com/AlexxIT/go2rtc) to display smooth WebRTC streams instead of the MJPEG fallback.
|
|
179
|
+
|
|
180
|
+
**Requirements:** go2rtc must be installed and running, with streams already configured pointing to your cameras.
|
|
181
|
+
|
|
182
|
+
**Setup:**
|
|
183
|
+
1. In the adapter config → *Live Dashboard* tab, enable **go2rtc** and enter the **go2rtc URL** (e.g. `http://192.168.1.10:1984`).
|
|
184
|
+
2. Fill in the **Stream mapping** table — one row per camera:
|
|
185
|
+
- **AgentDVR camera key**: the ioBroker data point prefix, e.g. `cam_8_Reolink` (visible in the ioBroker object tree)
|
|
186
|
+
- **go2rtc stream name**: the stream name as shown in go2rtc's web UI or `/api/streams` endpoint, e.g. `Reolink`
|
|
187
|
+
3. Save and restart the adapter. Mapped cameras show the WebRTC stream; unmapped cameras continue using MJPEG.
|
|
188
|
+
|
|
189
|
+
**How it works:** The dashboard connects via WebSocket to the ioBroker web adapter, which proxies the WebRTC signaling to go2rtc internally. This avoids browser cross-origin restrictions without any go2rtc configuration changes.
|
|
190
|
+
|
|
162
191
|
## Snapshot as Base64
|
|
163
192
|
|
|
164
193
|
The `snapshot_b64` state stores the current camera frame as a `data:image/jpeg;base64,…` string so it can be used directly in vis/vis-2 image widgets without a separate HTTP request from the browser.
|
|
@@ -173,6 +202,14 @@ The `snapshot_b64` state stores the current camera frame as a `data:image/jpeg;b
|
|
|
173
202
|
Placeholder for the next version (at the beginning of the line):
|
|
174
203
|
### **WORK IN PROGRESS**
|
|
175
204
|
-->
|
|
205
|
+
### 0.1.0 (2026-07-01)
|
|
206
|
+
* (ipod86) feat: add full i18n to live dashboard — all UI strings translated into 11 languages
|
|
207
|
+
* (ipod86) fix: add missing sm/md/lg/xl size attributes to go2rtcMapping table in jsonConfig.json (E5507)
|
|
208
|
+
* (ipod86) fix: translate missing admin i18n keys into 9 languages (E5606)
|
|
209
|
+
|
|
210
|
+
### 0.0.6 (2026-07-01)
|
|
211
|
+
* (ipod86) docs: add Live Dashboard and go2rtc WebRTC sections to README
|
|
212
|
+
|
|
176
213
|
### 0.0.5 (2026-07-01)
|
|
177
214
|
* (ipod86) feat: go2rtc WebRTC stream integration — per-camera mapping table in admin, ioBroker WebSocket proxy to bypass browser cross-origin restrictions
|
|
178
215
|
* (ipod86) feat: auto-delete camera/microphone data points when device is removed from AgentDVR
|
|
@@ -200,12 +237,6 @@ The `snapshot_b64` state stores the current camera frame as a `data:image/jpeg;b
|
|
|
200
237
|
* (ipod86) feat: profile selector — reads profiles from getObjects, writable dropdown with active profile reflected on every poll
|
|
201
238
|
* (ipod86) feat: snapshot_b64 state (media.picture) always present per camera + manual refresh button; auto-poll optional
|
|
202
239
|
|
|
203
|
-
### 0.0.2 (2026-06-27)
|
|
204
|
-
* (ipod86) setup npm trusted publishing and fix repochecker findings
|
|
205
|
-
|
|
206
|
-
### 0.0.1 (2026-06-27)
|
|
207
|
-
* (ipod86) initial release
|
|
208
|
-
|
|
209
240
|
[Older changelog entries in CHANGELOG_OLD.md](CHANGELOG_OLD.md)
|
|
210
241
|
|
|
211
242
|
## License
|
package/admin/i18n/de.json
CHANGED
|
@@ -1,137 +1,137 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
2
|
+
"agent-dvr adapter settings": "Agent DVR Adapter-Einstellungen",
|
|
3
|
+
"tabConnection": "Verbindung",
|
|
4
|
+
"tabFeatures": "Funktionen",
|
|
5
|
+
"tabWidget": "Widget",
|
|
6
|
+
"tabAdvanced": "Erweitert",
|
|
7
|
+
"cfgIp": "AgentDVR IP-Adresse",
|
|
8
|
+
"cfgPort": "Port",
|
|
9
|
+
"cfgUser": "Benutzername (optional)",
|
|
10
|
+
"cfgPass": "Passwort (optional)",
|
|
11
|
+
"cfgPollSeconds": "Abfrageintervall (Sekunden)",
|
|
12
|
+
"cfgHttpTimeoutMs": "HTTP-Timeout (ms)",
|
|
13
|
+
"cfgEnableSystemControls": "Systemsteuerungs-Schaltflächen",
|
|
14
|
+
"cfgEnablePtz": "PTZ-Steuerungs-Schaltflächen",
|
|
15
|
+
"cfgEnableUrls": "Stream-URLs generieren",
|
|
16
|
+
"cfgEnableEventDps": "Ereignis-Datenpunkte",
|
|
17
|
+
"cfgEnablePush": "Echtzeit-Push-Trigger",
|
|
18
|
+
"cfgEnableOverview": "Übersichts-Widget (alle Kameras)",
|
|
19
|
+
"cfgStoreRawJson": "Rohes API-JSON speichern",
|
|
20
|
+
"cfgEnableWidget": "Galerie-Widget pro Kamera",
|
|
21
|
+
"cfgWidgetMode": "Widget-Modus",
|
|
22
|
+
"cfgWidgetModeNojs": "Reines HTML/CSS (kein JavaScript, überall kompatibel)",
|
|
23
|
+
"cfgWidgetModeJs": "Vollständiges JS (Suche + Tag-Filter, erfordert Skriptausführung)",
|
|
24
|
+
"cfgWidgetAnzahl": "Max. Aufnahmen in der Galerie",
|
|
25
|
+
"cfgWidgetMinCol": "Min. Spaltenbreite (px)",
|
|
26
|
+
"cfgWidgetShowTags": "Ereignis-Tags anzeigen",
|
|
27
|
+
"cfgWidgetLiveAspect": "Seitenverhältnis Live-Kachel (z.B. 16/9, leer lassen für automatisch)",
|
|
28
|
+
"cfgWidgetTagPosition": "Tag-Badge-Position",
|
|
29
|
+
"cfgTagPosTopLeft": "Oben links",
|
|
30
|
+
"cfgTagPosTopRight": "Oben rechts",
|
|
31
|
+
"cfgTagPosBotLeft": "Unten links",
|
|
32
|
+
"cfgTagPosBotRight": "Unten rechts",
|
|
33
|
+
"cfgWidgetMaxModalWidth": "Max. Player-Breite (px)",
|
|
34
|
+
"cfgWidgetPlayerUrl": "Externer Player-URL (leer lassen für eingebauten Player)",
|
|
35
|
+
"cfgMaxDepth": "Max. Objekt-Abflachungstiefe",
|
|
36
|
+
"cfgMaxArray": "Max. Array-Länge zum Erweitern",
|
|
37
|
+
"cfgEventTagsDynamic": "Ereignis-Tags automatisch aus Aufnahmen erkennen",
|
|
38
|
+
"cfgEventTagsIgnore": "Zu ignorierende Ereignis-Tags (kommagetrennt)",
|
|
39
|
+
"cfgEventTags": "Feste Ereignis-Tags, die immer erstellt werden (kommagetrennt)",
|
|
40
|
+
"cfgEnableSnapshotB64": "Snapshot als Base64",
|
|
41
|
+
"hdrControls": "Steuerbuttons",
|
|
42
|
+
"hdrEvents": "Ereignisse & Push",
|
|
43
|
+
"hdrDisplay": "Darstellung",
|
|
44
|
+
"hdrDebug": "Debug",
|
|
45
|
+
"hdrWidgetGeneral": "Galerie-Widget",
|
|
46
|
+
"hdrWidgetLayout": "Layout",
|
|
47
|
+
"hdrWidgetTags": "Tags",
|
|
48
|
+
"hdrWidgetPlayer": "Livestream & Player",
|
|
49
|
+
"cfgEnableSystemControls_tt": "Arm/Disarm/Neustart-Buttons, Profil-Selektor und alle systemweiten Steuerbefehle",
|
|
50
|
+
"cfgEnablePtz_tt": "Hold-Switches für PTZ (links/rechts/oben/unten/Zoom) pro Kamera",
|
|
51
|
+
"cfgEnableUrls_tt": "URL-States für Snapshot, MJPEG und MP4-Stream pro Kamera",
|
|
52
|
+
"cfgEnableSnapshotB64_tt": "Kamerabild als Base64 bei jedem Poll speichern (photo.jpg, volle Auflösung). Refresh-Button immer vorhanden.",
|
|
53
|
+
"cfgEnableEventDps_tt": "Metadaten der letzten Aufnahme spiegeln (Dateiname, Datum, Dauer, Tags)",
|
|
54
|
+
"cfgEnablePush_tt": "Push-Trigger-State wird sofort aktualisiert wenn AgentDVR eine neue Aufnahme meldet",
|
|
55
|
+
"cfgEnableOverview_tt": "HTML-State mit allen Kameras als Kachelraster (für Visualisierungen, Dashboards etc.)",
|
|
56
|
+
"cfgStoreRawJson_tt": "Vollständige getObjects-Antwort in system.raw_getObjects schreiben (nützlich für Debugging)",
|
|
57
|
+
"cfgEnableWidget_tt": "HTML-Galerie mit den letzten Aufnahmen pro Kamera (für Visualisierungen, Dashboards etc.)",
|
|
58
|
+
"cfgWidgetMode_tt": "Pure HTML/CSS überall kompatibel. Full JS mit Suchfeld und Tag-Filter (benötigt Script-Ausführung).",
|
|
59
|
+
"cfgWidgetAnzahl_tt": "Maximale Anzahl Aufnahmen in der Galerie pro Kamera",
|
|
60
|
+
"cfgWidgetMinCol_tt": "Minimale Spaltenbreite des Galerie-Grids in Pixeln",
|
|
61
|
+
"cfgWidgetMaxModalWidth_tt": "Maximale Breite des Video-Players im Modal-Dialog in Pixeln",
|
|
62
|
+
"cfgWidgetShowTags_tt": "Event-Tags als farbige Badge-Labels auf den Galerie-Kacheln anzeigen",
|
|
63
|
+
"cfgWidgetTagPosition_tt": "Ecke des Bildes wo der Tag-Badge erscheint",
|
|
64
|
+
"cfgWidgetLiveAspect_tt": "Seitenverhältnis der Livestream-Kachel z.B. 16/9. Leer lassen für automatisch.",
|
|
65
|
+
"cfgWidgetPlayerUrl_tt": "URL eines externen Video-Players. Leer lassen für eingebauten Player.",
|
|
66
|
+
"hdrWidgetFilter": "Filter & Sortierung",
|
|
67
|
+
"cfgWidgetSortNewest": "Neueste zuerst",
|
|
68
|
+
"cfgWidgetSortNewest_tt": "Aufnahmen nach Datum sortieren, neueste zuerst",
|
|
69
|
+
"cfgWidgetShowSearch": "Suchfeld anzeigen (nur JS-Modus)",
|
|
70
|
+
"cfgWidgetShowSearch_tt": "Textsuche über Datum, Tag und Dateiname im JS-Modus einblenden",
|
|
71
|
+
"cfgWidgetCompact": "Kompaktes Layout",
|
|
72
|
+
"cfgWidgetCompact_tt": "Kleinere Abstände und Schrift – mehr Einträge auf einen Blick (wirkt in beiden Modi)",
|
|
73
|
+
"cfgWidgetDefaultTag": "Standard-Tag-Filter (leer = alle)",
|
|
74
|
+
"cfgWidgetDefaultTag_tt": "Dieser Tag ist beim ersten Laden vorausgewählt (nur JS-Modus)",
|
|
75
|
+
"cfgWidgetThumbSize": "Thumbnail-Größe",
|
|
76
|
+
"cfgWidgetThumbSize_tt": "Breite der Vorschaubilder in der Galerie (überschreibt Min. Spaltenbreite)",
|
|
77
|
+
"cfgWidgetThumbSmall": "Klein (120 px)",
|
|
78
|
+
"cfgWidgetThumbMedium": "Mittel (180 px)",
|
|
79
|
+
"cfgWidgetThumbLarge": "Groß (240 px)",
|
|
80
|
+
"tabDashboard": "Live-Dashboard",
|
|
81
|
+
"hdrDashView": "Ansicht",
|
|
82
|
+
"cfgDashDefaultView": "Standard-Ansicht beim Öffnen",
|
|
83
|
+
"cfgDashDefaultView_tt": "Welcher Tab beim Öffnen des Dashboards aktiv ist",
|
|
84
|
+
"cfgDashViewLive": "Live-Ansicht",
|
|
85
|
+
"cfgDashViewRec": "Aufnahmen",
|
|
86
|
+
"cfgDashShowOffline": "Offline-Kameras anzeigen",
|
|
87
|
+
"cfgDashShowOffline_tt": "Kameras die gerade offline sind trotzdem im Live-Grid einblenden",
|
|
88
|
+
"hdrDashGrid": "Kamera-Grid",
|
|
89
|
+
"cfgDashGridCols": "Spaltenanzahl (0 = automatisch)",
|
|
90
|
+
"cfgDashGridCols_tt": "Anzahl Kamera-Spalten fest vorgeben. 0 = optimale Anzahl wird automatisch berechnet.",
|
|
91
|
+
"hdrDashStream": "Stream & Aktualisierung",
|
|
92
|
+
"cfgDashRefreshSec": "Kameraliste neu laden alle (Sekunden)",
|
|
93
|
+
"cfgDashRefreshSec_tt": "Wie oft die Kameraliste vom Server neu geladen wird (0 = kein automatischer Reload)",
|
|
94
|
+
"cfgDashStreamReconnect": "Stream bei Fehler automatisch neu verbinden",
|
|
95
|
+
"cfgDashStreamReconnect_tt": "MJPEG-Stream wird nach einem Verbindungsabbruch automatisch neu gestartet",
|
|
96
|
+
"hdrWidgetTheme": "Farben & Design",
|
|
97
|
+
"cfgWidgetColorCardBg": "Kachel-Hintergrund",
|
|
98
|
+
"cfgWidgetColorCardBg_tt": "Hintergrundfarbe der Vorschaukacheln – rgba(r,g,b,a) oder #hex",
|
|
99
|
+
"cfgWidgetColorTagBg": "Tag-Badge-Hintergrund",
|
|
100
|
+
"cfgWidgetColorTagBg_tt": "Hintergrundfarbe des Tag-Badges",
|
|
101
|
+
"cfgWidgetColorTagText": "Tag-Badge-Textfarbe",
|
|
102
|
+
"cfgWidgetColorTagText_tt": "Textfarbe des Tag-Badges",
|
|
103
|
+
"cfgWidgetColorAccent": "Akzentfarbe",
|
|
104
|
+
"cfgWidgetColorAccent_tt": "Akzentfarbe für Links und Buttons im Widget",
|
|
105
|
+
"cfgWidgetColorModalBg": "Modal-Hintergrund",
|
|
106
|
+
"cfgWidgetColorModalBg_tt": "Hintergrundfarbe des Video-Player-Dialogs",
|
|
107
|
+
"cfgWidgetBorderRadius": "Eckenradius (px)",
|
|
108
|
+
"cfgWidgetBorderRadius_tt": "Abrundungsradius der Vorschaukacheln in Pixeln (0 = eckig)",
|
|
109
|
+
"hdrDashTheme": "Farben & Design",
|
|
110
|
+
"cfgDashColorBg": "Hintergrund",
|
|
111
|
+
"cfgDashColorBg_tt": "Haupthintergrundfarbe des Dashboards",
|
|
112
|
+
"cfgDashColorSurface": "Oberfläche / Karten",
|
|
113
|
+
"cfgDashColorSurface_tt": "Hintergrundfarbe von Kacheln und Karten",
|
|
114
|
+
"cfgDashColorAccent": "Akzentfarbe",
|
|
115
|
+
"cfgDashColorAccent_tt": "Hauptakzentfarbe (Buttons, aktive Elemente, Rahmen)",
|
|
116
|
+
"cfgDashColorText": "Textfarbe",
|
|
117
|
+
"cfgDashColorText_tt": "Primäre Textfarbe",
|
|
118
|
+
"cfgDashColorBorder": "Rahmenfarbe",
|
|
119
|
+
"cfgDashColorBorder_tt": "Farbe von Trennlinien und Rahmen",
|
|
120
|
+
"cfgDashColorOnline": "Online-Farbe",
|
|
121
|
+
"cfgDashColorOnline_tt": "Farbe des Online-Status-Indikators",
|
|
122
|
+
"cfgDashColorOffline": "Offline-Farbe",
|
|
123
|
+
"cfgDashColorOffline_tt": "Farbe des Offline-Status-Indikators",
|
|
124
|
+
"cfgDashTagPosition": "Tag-Badge-Position",
|
|
125
|
+
"cfgDashTagPosition_tt": "Ecke der Aufnahme-Kachel, in der der Tag-Badge erscheint",
|
|
126
|
+
"cfgDashBtnsVisible": "Buttons immer sichtbar",
|
|
127
|
+
"cfgDashBtnsVisible_tt": "Aufnahme- und PTZ-Button immer anzeigen (sonst nur bei Hover)",
|
|
128
|
+
"hdrGo2rtc": "go2rtc WebRTC-Streams",
|
|
129
|
+
"cfgGo2rtcEnabled": "go2rtc aktivieren",
|
|
130
|
+
"cfgGo2rtcEnabled_tt": "WebRTC-Streams von go2rtc statt MJPEG verwenden",
|
|
131
|
+
"cfgGo2rtcUrl": "go2rtc URL",
|
|
132
|
+
"cfgGo2rtcUrl_tt": "Basis-URL des go2rtc-Servers, z. B. http://192.168.1.1:1984",
|
|
133
|
+
"cfgGo2rtcMapping": "Stream-Mapping",
|
|
134
|
+
"cfgGo2rtcMapping_tt": "Ordnet jeder AgentDVR-Kamera einen go2rtc-Stream zu. Füge eine Zeile pro Kamera hinzu. Ohne Eintrag wird MJPEG verwendet.",
|
|
135
|
+
"cfgGo2rtcCamKey": "AgentDVR Kamera-Key (z.B. cam_8_Reolink)",
|
|
136
|
+
"cfgGo2rtcStream": "go2rtc Stream-Name (z.B. Reolink)"
|
|
137
|
+
}
|