iobroker.waip-web 0.7.21 → 0.7.26

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/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "waip-web",
4
- "version": "0.7.21",
4
+ "version": "0.7.26",
5
5
  "news": {
6
+ "0.7.26": {
7
+ "en": "Keyword table (Brandenburg source, v7.1/v2.7 catalogs): added H:Person-TMR and 29 K/V/M/S rescue-service keywords (Krankentransport, Verlegung, MANV, Sonderstichwörter), added two B:Gebäude spelling variants (hyphen vs. space), and corrected 3 entries whose pattern didn't match the real dispatch keyword (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). Fixed decodeRettungsdienstStichwort() to also accept the IRLS Brandenburg modifier spelling with a space (\"R1N1 p\", \"R1N0 nt\"), not just the Leitstelle Lausitz spelling (\"R1N1p\", \"R1N0-NT\") - admin UI text and both READMEs updated to match. Keyword descriptions tab: Description and Match columns are now sortable too, and the table's help text was moved above the table instead of below. Only affects the shipped example table/decoder logic for new installs - existing configured tables are untouched.",
8
+ "de": "Stichwort-Tabelle (Quelle: Brandenburg-Kataloge v7.1/v2.7): H:Person-TMR sowie 29 Rettungsdienst-Stichworte (K/V/M/S: Krankentransport, Verlegung, MANV, Sonderstichwörter) ergänzt, zwei B:Gebäude-Schreibvarianten (Bindestrich/Leerzeichen) hinzugefügt und 3 Einträge korrigiert, deren Muster nicht zum echten Leitstellen-Stichwort passte (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). decodeRettungsdienstStichwort() akzeptiert jetzt zusätzlich zur Lausitz-Schreibweise (\"R1N1p\", \"R1N0-NT\") auch die IRLS-Brandenburg-Schreibweise mit Leerzeichen (\"R1N1 p\", \"R1N0 nt\") - Admin-UI-Texte und beide READMEs entsprechend angepasst. Tab Stichwort-Stammdaten: Die Spalten Description und Match sind jetzt ebenfalls sortierbar, und der Hilfetext zur Tabelle steht jetzt oberhalb statt unterhalb der Tabelle. Betrifft nur die mitgelieferte Beispieltabelle/Dekoder-Logik bei Neuinstallationen - bereits konfigurierte Tabellen bleiben unverändert.",
9
+ "es": "Tabla de palabras clave (fuente Brandeburgo, catálogos v7.1/v2.7): se añadió H:Person-TMR y 29 palabras clave del servicio de rescate K/V/M/S (Krankentransport, Verlegung, MANV, Sonderstichwörter), se añadieron dos variantes ortográficas de B:Gebäude (guion vs. espacio) y se corrigieron 3 entradas cuyo patrón no coincidía con la palabra clave real del despacho (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). Se corrigió decodeRettungsdienstStichwort() para aceptar también la escritura de la IRLS Brandeburgo con espacio (\"R1N1 p\", \"R1N0 nt\"), no solo la de Leitstelle Lausitz (\"R1N1p\", \"R1N0-NT\") - se actualizó el texto de la interfaz de administración y ambos README en consecuencia. Pestaña Descripciones de palabras clave: las columnas Description y Match ahora también se pueden ordenar, y el texto de ayuda de la tabla se movió arriba de la tabla en lugar de abajo. Solo afecta a la tabla de ejemplo/lógica del decodificador incluida para nuevas instalaciones - las tablas ya configuradas no se modifican.",
10
+ "fr": "Table de mots-clés (source Brandebourg, catalogues v7.1/v2.7) : ajout de H:Person-TMR et de 29 mots-clés des services de secours K/V/M/S (Krankentransport, Verlegung, MANV, Sonderstichwörter), ajout de deux variantes orthographiques de B:Gebäude (tiret vs. espace), et correction de 3 entrées dont le motif ne correspondait pas au mot-clé réel du centre de secours (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). Correction de decodeRettungsdienstStichwort() pour accepter aussi l'orthographe de l'IRLS Brandebourg avec un espace (\"R1N1 p\", \"R1N0 nt\"), pas seulement celle de Leitstelle Lausitz (\"R1N1p\", \"R1N0-NT\") - texte de l'interface d'administration et les deux README mis à jour en conséquence. Onglet Descriptions de mots-clés : les colonnes Description et Match sont désormais également triables, et le texte d'aide du tableau a été déplacé au-dessus du tableau au lieu d'en dessous. Ne concerne que la table d'exemple/logique du décodeur fournie pour les nouvelles installations - les tables déjà configurées restent inchangées.",
11
+ "it": "Tabella delle parole chiave (fonte Brandeburgo, cataloghi v7.1/v2.7): aggiunta H:Person-TMR e 29 parole chiave del servizio di soccorso K/V/M/S (Krankentransport, Verlegung, MANV, Sonderstichwörter), aggiunte due varianti ortografiche di B:Gebäude (trattino vs. spazio), e corrette 3 voci il cui modello non corrispondeva alla parola chiave reale della centrale operativa (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). Corretto decodeRettungsdienstStichwort() per accettare anche la grafia dell'IRLS Brandeburgo con spazio (\"R1N1 p\", \"R1N0 nt\"), non solo quella di Leitstelle Lausitz (\"R1N1p\", \"R1N0-NT\") - testo dell'interfaccia di amministrazione ed entrambi i README aggiornati di conseguenza. Scheda Descrizioni delle parole chiave: anche le colonne Description e Match sono ora ordinabili, e il testo di aiuto della tabella è stato spostato sopra la tabella invece che sotto. Riguarda solo la tabella di esempio/logica del decodificatore fornita per le nuove installazioni - le tabelle già configurate restano invariate.",
12
+ "nl": "Trefwoordentabel (bron Brandenburg, catalogi v7.1/v2.7): H:Person-TMR en 29 K/V/M/S-trefwoorden voor de reddingsdienst (Krankentransport, Verlegung, MANV, Sonderstichwörter) toegevoegd, twee B:Gebäude-schrijfwijzen (koppelteken vs. spatie) toegevoegd, en 3 items gecorrigeerd waarvan het patroon niet overeenkwam met het daadwerkelijke meldkamer-trefwoord (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). decodeRettungsdienstStichwort() gecorrigeerd zodat ook de schrijfwijze van de IRLS Brandenburg met spatie (\"R1N1 p\", \"R1N0 nt\") wordt geaccepteerd, niet alleen die van meldkamer Lausitz (\"R1N1p\", \"R1N0-NT\") - admin-UI-tekst en beide READMEs dienovereenkomstig bijgewerkt. Tabblad Trefwoordbeschrijvingen: de kolommen Description en Match zijn nu ook sorteerbaar, en de helptekst van de tabel is boven de tabel geplaatst in plaats van eronder. Betreft alleen de meegeleverde voorbeeldtabel/decoderlogica bij nieuwe installaties - reeds geconfigureerde tabellen blijven ongewijzigd.",
13
+ "pl": "Tabela słów kluczowych (źródło Brandenburgia, katalogi v7.1/v2.7): dodano H:Person-TMR oraz 29 słów kluczowych pogotowia ratunkowego K/V/M/S (Krankentransport, Verlegung, MANV, Sonderstichwörter), dodano dwa warianty pisowni B:Gebäude (myślnik vs. spacja) oraz poprawiono 3 wpisy, których wzorzec nie pasował do rzeczywistego słowa kluczowego dyspozytorni (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). Poprawiono decodeRettungsdienstStichwort(), aby akceptował również zapis centrali Brandenburgia/IRLS ze spacją (\"R1N1 p\", \"R1N0 nt\"), a nie tylko zapis centrali Lausitz (\"R1N1p\", \"R1N0-NT\") - odpowiednio zaktualizowano tekst interfejsu administracyjnego oraz oba pliki README. Karta Opisy słów kluczowych: kolumny Description i Match są teraz również sortowalne, a tekst pomocy tabeli został przeniesiony nad tabelę zamiast pod nią. Dotyczy tylko dołączonej przykładowej tabeli/logiki dekodera przy nowych instalacjach - już skonfigurowane tabele pozostają bez zmian.",
14
+ "pt": "Tabela de palavras-chave (fonte Brandemburgo, catálogos v7.1/v2.7): adicionado H:Person-TMR e 29 palavras-chave do serviço de resgate K/V/M/S (Krankentransport, Verlegung, MANV, Sonderstichwörter), adicionadas duas variantes ortográficas de B:Gebäude (hífen vs. espaço), e corrigidas 3 entradas cujo padrão não correspondia à palavra-chave real da central de despacho (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). Corrigido decodeRettungsdienstStichwort() para também aceitar a grafia da central de Brandemburgo/IRLS com espaço (\"R1N1 p\", \"R1N0 nt\"), não apenas a de Lausitz (\"R1N1p\", \"R1N0-NT\") - texto da interface de administração e ambos os README atualizados de acordo. Aba Descrições de palavras-chave: as colunas Description e Match agora também são ordenáveis, e o texto de ajuda da tabela foi movido para cima da tabela em vez de abaixo. Afeta apenas a tabela de exemplo/lógica do decodificador fornecida para novas instalações - tabelas já configuradas permanecem inalteradas.",
15
+ "ru": "Таблица ключевых слов (источник Бранденбург, каталоги v7.1/v2.7): добавлено H:Person-TMR и 29 ключевых слов службы спасения K/V/M/S (Krankentransport, Verlegung, MANV, Sonderstichwörter), добавлены два варианта написания B:Gebäude (дефис/пробел), исправлены 3 записи, шаблон которых не соответствовал реальному ключевому слову диспетчерской (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). Исправлен decodeRettungsdienstStichwort(), чтобы также принимать написание диспетчерской Brandenburg/IRLS с пробелом (\"R1N1 p\", \"R1N0 nt\"), а не только написание Lausitz (\"R1N1p\", \"R1N0-NT\") - соответственно обновлены текст интерфейса администратора и оба README. Вкладка Описания ключевых слов: столбцы Description и Match теперь тоже можно сортировать, а текст справки таблицы перемещён над таблицей вместо под ней. Затрагивает только прилагаемую примерную таблицу/логику декодера при новых установках - уже настроенные таблицы остаются без изменений.",
16
+ "uk": "Таблиця ключових слів (джерело Бранденбург, каталоги v7.1/v2.7): додано H:Person-TMR та 29 ключових слів служби порятунку K/V/M/S (Krankentransport, Verlegung, MANV, Sonderstichwörter), додано два варіанти написання B:Gebäude (дефіс/пробіл), виправлено 3 записи, шаблон яких не відповідав реальному ключовому слову диспетчерської (H:Flugunfall -> H:Flugzeugunfall, H:Öl Wasser -> H:Öl auf Wasser, H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen). Виправлено decodeRettungsdienstStichwort(), щоб також приймати написання диспетчерської Brandenburg/IRLS з пробілом (\"R1N1 p\", \"R1N0 nt\"), а не лише написання Lausitz (\"R1N1p\", \"R1N0-NT\") - відповідно оновлено текст інтерфейсу адміністратора та обидва README. Вкладка Описи ключових слів: стовпці Description і Match тепер також можна сортувати, а текст довідки таблиці переміщено над таблицею замість під нею. Стосується лише прикладеної зразкової таблиці/логіки декодера для нових встановлень - вже налаштовані таблиці залишаються без змін.",
17
+ "zh-cn": "关键字表(来源:勃兰登堡目录 v7.1/v2.7版):新增 H:Person-TMR 以及29个 K/V/M/S 救援服务关键字(Krankentransport 病人转运、Verlegung 转院、MANV 大量伤员、Sonderstichwörter 特殊关键字),新增两个 B:Gebäude 拼写变体(连字符/空格),并修正了3个模式与实际调度关键字不匹配的条目(H:Flugunfall -> H:Flugzeugunfall、H:Öl Wasser -> H:Öl auf Wasser、H:Rettung aus Höhen/Tiefen -> H:Rettung aus Höhen und Tiefen)。修复了 decodeRettungsdienstStichwort(),使其也能识别带空格的勃兰登堡/IRLS调度中心写法(\"R1N1 p\"、\"R1N0 nt\"),而不仅仅是勒鲁西茨调度中心写法(\"R1N1p\"、\"R1N0-NT\")——相应更新了管理界面文本和两个 README 文件。关键字描述标签页:Description 和 Match 列现在也可以排序了,并且表格的帮助文本已移到表格上方而不是下方。仅影响新安装时随附的示例表/解码器逻辑 - 已配置的表格不受影响。"
18
+ },
6
19
  "0.7.21": {
7
20
  "en": "Removed the keyword table's CSV export/import (a bug in ioBroker Admin's own table component corrupted German umlauts on CSV import) - use ioBroker's standard instance configuration export/import (JSON) instead; documented that the open config dialog needs a page reload to pick up an external import. Split the admin configuration UI into 3 tabs (Connection, Rescue-service keywords, Keyword descriptions) with matching icons. README: fixed a stale reference to the removed CSV feature, restructured the configuration section to mirror the 3 admin tabs, and added a couple of small clarifications. All code comments are now bilingual (German + English).",
8
21
  "de": "CSV-Export/-Import der Stichwort-Tabelle entfernt (ein Bug in der eigenen Tabellenkomponente von ioBroker Admin verfälschte deutsche Umlaute beim CSV-Import) - stattdessen den Standard-Export/-Import der Instanzkonfiguration von ioBroker (JSON) verwenden; dokumentiert, dass der offene Konfigurationsdialog nach einem externen Import einen Seiten-Reload benötigt. Die Admin-Konfigurationsoberfläche in 3 Tabs aufgeteilt (Verbindung, Rettungsdienst-Stichwörter, Stichwort-Stammdaten) mit passenden Icons. README: einen veralteten Verweis auf das entfernte CSV-Feature korrigiert, den Konfigurationsabschnitt an die 3 Admin-Tabs angeglichen und ein paar kleinere Klarstellungen ergänzt. Alle Code-Kommentare sind jetzt zweisprachig (Deutsch + Englisch).",
@@ -28,71 +41,6 @@
28
41
  "pl": "Dodano einsatz.beschreibung: prosty opis einsatz.stichwort, rozwiązany całkowicie lokalnie. Dwa źródła w kolejności: opcjonalny dekoder schematu słów kluczowych R<RTW>N<NEF>[p][f][-NT] służb ratowniczych używany przez kilka centrów dyspozytorskich (etykiety w pełni konfigurowalne za pomocą 5 nowych pól tekstowych), następnie utrzymywana przez użytkownika tabela słów kluczowych (tabela administracyjna, eksport/import CSV, wstępnie wypełniona przykładową listą słów kluczowych straży pożarnej/ratownictwa), w której najbardziej konkretny (najdłuższy) pasujący wzorzec wygrywa automatycznie niezależnie od kolejności wierszy. Zawarte także w pliku einsatz.json.current/.history10. null, jeśli nic nie pasuje.",
29
42
  "uk": "Додано einsatz.beschreibung: опис простою мовою для einsatz.stichwort, вирішений повністю локально. Два джерела по порядку: додатковий декодер для схеми ключових слів служби порятунку R<RTW>N<NEF>[p][f][-NT], яка використовується кількома диспетчерськими центрами (мітки повністю налаштовуються за допомогою 5 нових текстових полів), а потім таблиця ключових слів, що підтримується користувачем (таблиця адміністратора, експорт/імпорт CSV, попередньо заповнений прикладом списку ключових слів пожежно-рятувальної служби), де автоматично перемагає найбільш конкретний (найдовший) відповідний шаблон незалежно від порядку рядків. Також включено в einsatz.json.current/.history10. null, якщо нічого не відповідає.",
30
43
  "zh-cn": "添加了 einsatz.beschreibung:对 einsatz.stichwort 的简单语言描述,完全在本地解析。两个源,按顺序排列:用于多个调度中心使用的 R<RTW>N<NEF>[p][f][-NT] 救援服务关键字方案的可选解码器(通过 5 个新文本字段完全可配置的标签),然后是用户维护的关键字表(管理表、CSV 导出/导入、预先填充示例消防/救援关键字列表),其中最具体(最长)的匹配模式自动获胜,无论行顺序如何。也包含在 einsatz.json.current/.history10 中。如果没有匹配则为 null。"
31
- },
32
- "0.7.19": {
33
- "en": "Fixed a bug where incoming feedback (io.new_rmld) was silently dropped as \"wrong monitor\" whenever the responding station's number (wache_nr) differed from the registered monitor ID: payloadMonitorMatch() incorrectly treated wache_nr/wache_id/wacheId as monitor-identifying fields, but confirmed against the WAIP-Web server source, wache_nr on a feedback event is the station number of the crew that submitted it, unrelated to the monitor/dispatch-center ID. Removed these three from the match candidates - alarms and routes were never affected (they don't carry these fields).",
34
- "de": "Einen Bug behoben, durch den eingehende Rückmeldungen (io.new_rmld) fälschlich als \"falscher Monitor\" verworfen wurden, sobald die Wachennummer der zurückmeldenden Einsatzkraft (wache_nr) von der registrierten Monitor-ID abwich: payloadMonitorMatch() behandelte wache_nr/wache_id/wacheId fälschlich als Monitor-Kennungsfelder - anhand des WAIP-Web-Server-Quellcodes bestätigt, ist wache_nr bei einer Rückmeldung die Wachennummer der meldenden Einsatzkraft, ohne Bezug zur Monitor-/Leitstellen-ID. Alle drei aus den Kandidatenfeldern entfernt - Alarme und Routen waren nie betroffen (sie enthalten diese Felder nicht).",
35
- "ru": "Исправлена ошибка, из-за которой входящий отзыв (io.new_rmld) автоматически отбрасывался как «неправильный монитор» всякий раз, когда номер отвечающей станции (wache_nr) отличался от зарегистрированного идентификатора монитора: payloadMonitorMatch() неправильно обрабатывал wache_nr/wache_id/wacheId как поля, идентифицирующие монитор, но подтверждался с помощью источника веб-сервера WAIP, wache_nr в событии обратной связи - это номер станции команды, которая его отправила, не связанная с Идентификатор монитора/диспетчерского центра. Удалены эти три из кандидатов на совпадение - сигналы тревоги и маршруты никогда не были затронуты (они не содержат этих полей).",
36
- "pt": "Corrigido um bug onde o feedback recebido (io.new_rmld) era descartado silenciosamente como \"monitor errado\" sempre que o número da estação de resposta (wache_nr) diferia do ID do monitor registrado: payloadMonitorMatch() tratava incorretamente wache_nr/wache_id/wacheId como campos de identificação do monitor, mas confirmado na origem do servidor WAIP-Web, wache_nr em um evento de feedback é o número da estação da equipe que o enviou, não relacionado a o ID do monitor/centro de despacho. Removidos estes três dos candidatos à partida - alarmes e rotas nunca foram afetados (eles não carregam esses campos).",
37
- "nl": "Een bug opgelost waarbij inkomende feedback (io.new_rmld) stilletjes werd verwijderd als \"verkeerde monitor\" wanneer het nummer van het reagerende station (wache_nr) verschilde van de geregistreerde monitor-ID: payloadMonitorMatch() behandelde wache_nr/wache_id/wacheId ten onrechte als monitor-identificerende velden, maar bevestigd tegen de WAIP-webserverbron, wache_nr op een feedbackgebeurtenis is het stationsnummer van de bemanning die het heeft ingediend, niet gerelateerd aan de monitor/meldkamer-ID. Deze drie zijn verwijderd uit de wedstrijdkandidaten - alarmen en routes zijn nooit beïnvloed (ze bevatten deze velden niet).",
38
- "fr": "Correction d'un bug où les commentaires entrants (io.new_rmld) étaient silencieusement supprimés comme « mauvais moniteur » chaque fois que le numéro de la station répondante (wache_nr) différait de l'ID du moniteur enregistré : payloadMonitorMatch() traitait incorrectement wache_nr/wache_id/wacheId comme champs d'identification du moniteur, mais confirmé par la source du serveur WAIP-Web, wache_nr sur un événement de feedback est le numéro de station de l'équipage qui l'a soumis, sans rapport avec le ID du moniteur/centre de répartition. Ces trois éléments ont été supprimés des candidats au match : les alarmes et les itinéraires n'ont jamais été affectés (ils ne contiennent pas ces champs).",
39
- "it": "Risolto un bug per cui il feedback in entrata (io.new_rmld) veniva silenziosamente eliminato come \"monitor sbagliato\" ogni volta che il numero della stazione che rispondeva (wache_nr) differiva dall'ID del monitor registrato: payloadMonitorMatch() trattava erroneamente wache_nr/wache_id/wacheId come campi di identificazione del monitor, ma confermato rispetto alla sorgente del server WAIP-Web, wache_nr su un evento di feedback è il numero della stazione della troupe che lo ha inviato, non correlato al ID del monitor/centro di smistamento. Rimossi questi tre dai candidati alla partita: gli allarmi e i percorsi non sono mai stati influenzati (non portano questi campi).",
40
- "es": "Se corrigió un error por el cual los comentarios entrantes (io.new_rmld) se descartaban silenciosamente como \"monitor incorrecto\" cada vez que el número de la estación que respondía (wache_nr) difería del ID del monitor registrado: payloadMonitorMatch() trataba incorrectamente wache_nr/wache_id/wacheId como campos de identificación de monitor, pero se confirmaba con la fuente del servidor WAIP-Web, wache_nr en un evento de comentarios es el número de estación del equipo que lo envió, sin relación con el ID del monitor/centro de despacho. Se eliminaron estos tres de los candidatos de coincidencia: las alarmas y rutas nunca se vieron afectadas (no incluyen estos campos).",
41
- "pl": "Naprawiono błąd, który powodował, że przychodzące informacje zwrotne (io.new_rmld) były dyskretnie odrzucane jako „zły monitor” za każdym razem, gdy numer stacji odpowiadającej (wache_nr) różnił się od zarejestrowanego identyfikatora monitora: payloadMonitorMatch() błędnie traktowała wache_nr/wache_id/wacheId jako pola identyfikujące monitor, ale została potwierdzona w źródle serwera WAIP-Web, wache_nr w zdarzeniu opinii to numer stacji załogi, która przesłał go, niezależnie od identyfikatora monitora/centrum wysyłkowego. Usunięto te trzy z kandydatów do dopasowania — nie miało to wpływu na alarmy i trasy (nie obsługują tych pól).",
42
- "uk": "Виправлено помилку, через яку вхідний відгук (io.new_rmld) мовчки скидався як «неправильний монітор», коли номер відповідної станції (wache_nr) відрізнявся від зареєстрованого ідентифікатора монітора: payloadMonitorMatch() неправильно обробляв wache_nr/wache_id/wacheId як поля ідентифікації монітора, але підтверджував джерело WAIP-Web-сервера, wache_nr у події зворотного зв’язку – це номер станції екіпажу, який його надіслав, не пов’язаний з ідентифікатором монітора/диспетчерського центру. Видалено ці троє з кандидатів на відповідність – сигнали тривоги та маршрути не вплинули (вони не містять цих полів).",
43
- "zh-cn": "修复了以下错误:每当响应站的编号 (wache_nr) 与注册的监视器 ID 不同时,传入的反馈 (io.new_rmld) 就会被视为“错误监视器”默默丢弃:payloadMonitorMatch() 错误地将 wache_nr/wache_id/wacheId 视为监视器识别字段,但根据 WAIP-Web 服务器源进行了确认,反馈事件上的 wache_nr 是提交该事件的工作人员的站号,与监控/调度中心ID。从匹配候选中删除了这三个 - 警报和路线从未受到影响(它们不携带这些字段)。"
44
- },
45
- "0.7.18": {
46
- "en": "Fixed debug.lastEvent/debug.normalizedPosition to hold a single-element JSON array instead of a bare object (matching einsatz.json.current), for direct VIS table-widget compatibility, and to correctly initialize to [] instead of null on a fresh install/restart. Removed einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (and the corresponding fields in einsatz.json.current/.history10): confirmed via the WAIP-Web server source (server/waip.js, db_user_check_permission_for_waip) that these fields are only ever populated for logged-in clients - since this adapter connects anonymously by design, they were always empty/false. Removed instead of permanently carrying dead states.",
47
- "de": "debug.lastEvent/debug.normalizedPosition halten jetzt ein einelementiges JSON-Array statt eines nackten Objekts (analog zu einsatz.json.current), für direkte VIS-Tabellen-Kompatibilität, und werden bei Frischinstallation/Neustart korrekt auf [] statt null initialisiert. einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions entfernt (sowie die entsprechenden Felder in einsatz.json.current/.history10): anhand des WAIP-Web-Server-Quellcodes (server/waip.js, db_user_check_permission_for_waip) bestätigt, dass diese Felder serverseitig nur für eingeloggte Clients befüllt werden - da dieser Adapter sich bewusst ohne Login verbindet, waren sie immer leer bzw. false. Ersatzlos entfernt statt dauerhaft leere States zu führen.",
48
- "ru": "Исправлен debug.lastEvent/debug.normalizedPosition для хранения одноэлементного массива JSON вместо простого объекта (соответствующего einsatz.json.current), для прямой совместимости виджетов таблицы VIS и для правильной инициализации [] вместо нуля при новой установке/перезапуске. Удалены einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (и соответствующие поля в einsatz.json.current/.history10): через источник веб-сервера WAIP (server/waip.js, db_user_check_permission_for_waip) подтверждено, что эти поля заполняются только для вошедших в систему клиентов — поскольку этот адаптер по своей конструкции подключается анонимно, они всегда были пустыми/ложными. Удален вместо постоянного сохранения мертвых состояний.",
49
- "pt": "Corrigido debug.lastEvent/debug.normalizedPosition para manter uma matriz JSON de elemento único em vez de um objeto simples (correspondente a einsatz.json.current), para compatibilidade direta de widget de tabela VIS e para inicializar corretamente para [] em vez de nulo em uma nova instalação/reinicialização. Removido einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (e os campos correspondentes em einsatz.json.current/.history10): confirmado através da fonte do servidor WAIP-Web (server/waip.js, db_user_check_permission_for_waip) que esses campos só são preenchidos para clientes logados - como esse adaptador se conecta anonimamente por design, eles estavam sempre vazios/falso. Removido em vez de carregar estados mortos permanentemente.",
50
- "nl": "Probleem opgelost dat debug.lastEvent/debug.normalizedPosition een JSON-array met één element bevat in plaats van een kaal object (overeenkomend met einsatz.json.current), voor directe compatibiliteit met VIS-tabelwidgets, en om correct te initialiseren naar [] in plaats van null bij een nieuwe installatie/herstart. Einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions verwijderd (en de overeenkomstige velden in einsatz.json.current/.history10): bevestigd via de WAIP-webserverbron (server/waip.js, db_user_check_permission_for_waip) dat deze velden alleen worden ingevuld voor ingelogde personen clients - aangezien deze adapter door zijn ontwerp anoniem verbinding maakt, waren ze altijd leeg/onwaar. Verwijderd in plaats van permanent dode staten te dragen.",
51
- "fr": "Correction de debug.lastEvent/debug.normalizedPosition pour contenir un tableau JSON à un seul élément au lieu d'un objet nu (correspondant à einsatz.json.current), pour une compatibilité directe avec les widgets de table VIS et pour s'initialiser correctement à [] au lieu de null lors d'une nouvelle installation/redémarrage. Suppression de einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (et des champs correspondants dans einsatz.json.current/.history10) : confirmation via la source du serveur WAIP-Web (server/waip.js, db_user_check_permission_for_waip) que ces champs sont uniquement jamais renseigné pour les clients connectés - puisque cet adaptateur se connecte de manière anonyme par conception, ils étaient toujours vides/faux. Supprimé au lieu de porter définitivement les états morts.",
52
- "it": "Risolto il problema con debug.lastEvent/debug.normalizedPosition per contenere un array JSON a elemento singolo anziché un oggetto nudo (corrispondente a einsatz.json.current), per la compatibilità diretta del widget della tabella VIS e per inizializzare correttamente su [] invece che su null in una nuova installazione/riavvio. Rimosso einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (e i campi corrispondenti in einsatz.json.current/.history10): confermato tramite la sorgente del server Web WAIP (server/waip.js, db_user_check_permission_for_waip) che questi campi sono sempre e solo popolato per i client che hanno effettuato l'accesso: poiché questo adattatore si connette in modo anonimo in base alla progettazione, erano sempre vuoti/falsi. Rimosso invece di trasportare permanentemente stati morti.",
53
- "es": "Se corrigió debug.lastEvent/debug.normalizedPosition para contener una matriz JSON de un solo elemento en lugar de un objeto simple (que coincide con einsatz.json.current), para compatibilidad directa con el widget de tabla VIS y para inicializar correctamente en [] en lugar de nulo en una nueva instalación/reinicio. Se eliminó einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (y los campos correspondientes en einsatz.json.current/.history10): confirmado a través de la fuente del servidor web WAIP (server/waip.js, db_user_check_permission_for_waip) que estos campos son solo alguna vez se completaron para clientes que iniciaron sesión: dado que este adaptador se conecta de forma anónima por diseño, siempre estaban vacíos/falsos. Eliminado en lugar de llevar permanentemente estados muertos.",
54
- "pl": "Naprawiono debug.lastEvent/debug.normalizedPosition, aby przechowywać jednoelementową tablicę JSON zamiast gołego obiektu (pasującego do einsatz.json.current), aby zapewnić bezpośrednią kompatybilność z widżetem tabeli VIS i aby poprawnie inicjować do [] zamiast null przy nowej instalacji/ponownym uruchomieniu. Usunięto einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (i odpowiadające im pola w einsatz.json.current/.history10): potwierdzono przez źródło serwera WAIP-Web (server/waip.js, db_user_check_permission_for_waip), że te pola są zawsze wypełniane tylko dla zalogowanych klientów — ponieważ ten adapter z założenia łączy się anonimowo, zawsze były puste/fałszywe. Usunięto zamiast trwale przenosić stany martwe.",
55
- "uk": "Виправлено debug.lastEvent/debug.normalizedPosition для зберігання одноелементного масиву JSON замість голого об’єкта (відповідає einsatz.json.current), для прямої сумісності таблиці-віджета VIS і для правильної ініціалізації [] замість null під час нової інсталяції/перезапуску. Видалено einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (і відповідні поля в einsatz.json.current/.history10): підтверджено через джерело сервера WAIP-Web (server/waip.js, db_user_check_permission_for_waip), що ці поля заповнюються лише для клієнтів, які ввійшли в систему - оскільки цей адаптер підключається анонімно за дизайном, вони завжди були порожніми/хибними. Видалено замість постійного перенесення мертвих станів.",
56
- "zh-cn": "修复了 debug.lastEvent/debug.normalizedPosition 以保存单元素 JSON 数组而不是裸对象(匹配 einsatz.json.current),以实现直接 VIS 表小部件兼容性,并在全新安装/重新启动时正确初始化为 [] 而不是 null。删除了 einsatz.einsatznummer/.objekt/.objektteil/.besonderheiten/.strasse/.hausnummer/.einsatzdetails/.permissions (以及 einsatz.json.current/.history10 中的相应字段):通过 WAIP-Web 服务器源(server/waip.js、db_user_check_permission_for_waip)确认这些字段仅存在为登录的客户端填充 - 由于此适配器按设计匿名连接,因此它们始终为空/错误。删除而不是永久保留死亡状态。"
57
- },
58
- "0.7.17": {
59
- "en": "Fixed cleanupObsoleteObjects() incorrectly deleting and recreating the einsatz.json channel on every restart (missing obj.type check). Fixed a spurious registrationPending warning that could occur if the adapter stopped before object initialization finished. Reduced WAIP registration from three emits to a single emit, relying on the existing registration timeout as the safety net. permissions inside einsatz.json.current/history10 is now always stringified consistently with the standalone einsatz.permissions state, and einsatz.json.current is wrapped in an array (VIS table widgets require an array at the root). Fixed einsatz.json.history10/debug.monitorAudit staying null instead of [] on a fresh install. Added registeredMonitor/registeredMonitorName fields to einsatz.json.current/history10. Reworked logging: translated all remaining German log text to English, implemented the official first-occurrence-warn/repeat-debug/recovery-info pattern for recurring failures (session cookie, registration, connection), capped noisy ping/pong debug logging, and escalate a sustained flood of wrong-monitor events to warn. Added LOGGING.md (full log-event reference), a table of contents, a practical-use-cases section and a known-limitation note (only the single most recently active incident is shown) to the README.",
60
- "de": "cleanupObsoleteObjects() behoben, das den einsatz.json-Channel bei jedem Neustart fälschlich löschte und neu anlegte (fehlende Prüfung auf obj.type). Eine unnötige registrationPending-Warnung behoben, die auftreten konnte, wenn der Adapter gestoppt wurde, bevor die Objekt-Initialisierung abgeschlossen war. Die WAIP-Registrierung von drei Emits auf einen einzigen reduziert, das bestehende Registrierungs-Timeout dient weiterhin als Sicherheitsnetz. permissions innerhalb von einsatz.json.current/history10 wird jetzt konsistent wie der eigenständige einsatz.permissions-State immer als String gespeichert, und einsatz.json.current wurde in ein Array gewrappt (VIS-Tabellen-Widgets erwarten am Root ein Array). einsatz.json.history10/debug.monitorAudit behoben, die bei einer Frischinstallation null statt [] blieben. Die Felder registeredMonitor/registeredMonitorName zu einsatz.json.current/history10 ergänzt. Logging überarbeitet: verbliebenen deutschen Log-Text ins Englische übersetzt, das offizielle Muster (erstes Auftreten warn, Wiederholungen debug, Erholung info) für wiederkehrende Fehler (Session-Cookie, Registrierung, Verbindung) umgesetzt, übermäßiges Ping/Pong-Debug-Logging begrenzt, und eine anhaltende Flut von Falscher-Monitor-Events eskaliert jetzt auf warn. LOGGING.md (vollständige Log-Event-Referenz), ein Inhaltsverzeichnis, einen Abschnitt zu praktischen Anwendungsfällen und einen Hinweis zur bekannten Einschränkung (es wird immer nur der zuletzt aktive Einsatz angezeigt) zur README ergänzt.",
61
- "ru": "Исправлена ​​ошибка, из-за которой метод cleanupObsoleteObjects() неправильно удалял и воссоздавал канал einsatz.json при каждом перезапуске (отсутствовала проверка obj.type). Исправлено ложное предупреждение RegistrationPending, которое могло появиться, если адаптер остановился до завершения инициализации объекта. Регистрация WAIP сокращена с трех отправок до одной, используя существующий тайм-аут регистрации в качестве страховки. разрешения внутри einsatz.json.current/history10 теперь всегда преобразуются в строку в соответствии с автономным состоянием einsatz.permissions, а einsatz.json.current заключен в массив (виджеты таблицы VIS требуют массива в корне). Исправлена ​​ошибка, из-за которой einsatz.json.history10/debug.monitorAudit оставался нулевым вместо [] при новой установке. Добавлены поля «RegisteredMonitor/registeredMonitorName» в einsatz.json.current/history10. Переработано ведение журналов: весь оставшийся текст журнала с немецкого переведен на английский, реализован официальный шаблон «первое появление-предупреждение/повторение-отладка/восстановление-информация» для повторяющихся сбоев (файл cookie сеанса, регистрация, соединение), ограничено шумное ведение журнала отладки «пинг-понг» и увеличен постоянный поток событий неправильного мониторинга для предупреждения. В README добавлен LOGGING.md (полный справочник событий журнала), оглавление, раздел практических вариантов использования и примечание об известных ограничениях (показан только один последний активный инцидент).",
62
- "pt": "Corrigido cleanupObsoleteObjects() excluindo e recriando incorretamente o canal einsatz.json em cada reinicialização (falta a verificação de obj.type). Foi corrigido um aviso falso de RegistrationPending que poderia ocorrer se o adaptador parasse antes da conclusão da inicialização do objeto. Registro WAIP reduzido de três emissões para uma única emissão, contando com o tempo limite de registro existente como rede de segurança. as permissões dentro de einsatz.json.current/history10 agora são sempre stringificadas de forma consistente com o estado einsatz.permissions independente, e einsatz.json.current é agrupado em uma matriz (os widgets da tabela VIS exigem uma matriz na raiz). Corrigido einsatz.json.history10/debug.monitorAudit permanecendo nulo em vez de [] em uma nova instalação. Adicionados campos RegisteredMonitor/registeredMonitorName a einsatz.json.current/history10. Registro retrabalhado: traduziu todo o texto de registro alemão restante para o inglês, implementou o padrão oficial first-occurrence-warn/repeat-debug/recovery-info para falhas recorrentes (cookie de sessão, registro, conexão), registro de depuração barulhento de ping/pong limitado e escalou uma inundação sustentada de eventos de monitor errado para avisar. Adicionado LOGGING.md (referência completa de eventos de log), um índice, uma seção de casos de uso práticos e uma nota de limitação conhecida (apenas o incidente ativo mais recentemente é mostrado) ao README.",
63
- "nl": "Probleem opgelost waarbij cleanupObsoleteObjects() het einsatz.json-kanaal onjuist verwijderde en opnieuw aanmaakte bij elke herstart (ontbrekende obj.type-controle). Een valse RegistrationPending-waarschuwing opgelost die kon optreden als de adapter stopte voordat de objectinitialisatie was voltooid. WAIP-registratie teruggebracht van drie emissies naar één enkele emissie, waarbij de bestaande registratietime-out als vangnet wordt gebruikt. permissies binnen einsatz.json.current/history10 worden nu altijd consistent vastgelegd met de standalone status einsatz.permissions, en einsatz.json.current is verpakt in een array (VIS-tabelwidgets vereisen een array in de root). Probleem opgelost dat einsatz.json.history10/debug.monitorAudit null bleef in plaats van [] bij een nieuwe installatie. Velden geregistreerdMonitor/registeredMonitorName toegevoegd aan einsatz.json.current/history10. Herwerkte logboekregistratie: alle resterende Duitse logtekst naar het Engels vertaald, het officiële first-occurrence-warn/repeat-debug/recovery-info-patroon voor terugkerende fouten (sessiecookie, registratie, verbinding) geïmplementeerd, luidruchtige ping/pong-debug-logboekregistratie beperkt en een aanhoudende stroom van verkeerde monitorgebeurtenissen escaleren om te waarschuwen. LOGGING.md (volledige referentie naar loggebeurtenissen), een inhoudsopgave, een sectie met praktische gebruiksscenario's en een opmerking over bekende beperkingen (alleen het meest recent actieve incident wordt getoond) aan de README.",
64
- "fr": "Correction de cleanupObsoleteObjects() supprimant et recréant incorrectement le canal einsatz.json à chaque redémarrage (vérification obj.type manquante). Correction d'un faux avertissement d'enregistrement en attente qui pouvait se produire si l'adaptateur s'arrêtait avant la fin de l'initialisation de l'objet. Réduction de l'enregistrement WAIP de trois émissions à une seule émission, en s'appuyant sur le délai d'attente d'enregistrement existant comme filet de sécurité. les autorisations à l'intérieur de einsatz.json.current/history10 sont désormais toujours stringifiées de manière cohérente avec l'état autonome einsatz.permissions, et einsatz.json.current est enveloppé dans un tableau (les widgets de table VIS nécessitent un tableau à la racine). Correction de einsatz.json.history10/debug.monitorAudit restant nul au lieu de [] sur une nouvelle installation. Ajout des champs RegisteredMonitor/registeredMonitorName à einsatz.json.current/history10. Journalisation retravaillée : traduction de tout le texte du journal allemand restant en anglais, mise en œuvre du modèle officiel d'avertissement de première occurrence/répétition-debug/recovery-info pour les échecs récurrents (cookie de session, enregistrement, connexion), limitation de la journalisation de débogage ping/pong bruyante et escalade d'un flot soutenu d'événements de mauvais moniteur pour avertir. Ajout de LOGGING.md (référence complète des événements de journal), une table des matières, une section de cas d'utilisation pratique et une note de limitation connue (seul l'incident actif le plus récent est affiché) au README.",
65
- "it": "Risolto il problema con cleanupObsoleteObjects() che eliminava e ricreava erroneamente il canale einsatz.json a ogni riavvio (controllo obj.type mancante). Risolto un avviso spurio di registrazione in sospeso che poteva verificarsi se l'adattatore si arrestava prima del completamento dell'inizializzazione dell'oggetto. Registrazione WAIP ridotta da tre emittenti a una singola emissione, basandosi sul timeout di registrazione esistente come rete di sicurezza. le autorizzazioni all'interno di einsatz.json.current/history10 ora sono sempre stringificate in modo coerente con lo stato autonomo di einsatz.permissions e einsatz.json.current è racchiuso in un array (i widget della tabella VIS richiedono un array alla radice). Risolto il problema con einsatz.json.history10/debug.monitorAudit che rimaneva nullo invece di [] in una nuova installazione. Aggiunti i campi registratiMonitor/registeredMonitorName a einsatz.json.current/history10. Registrazione rielaborata: tradotto tutto il rimanente testo di registro tedesco in inglese, implementato il modello ufficiale di avviso di prima occorrenza/ripetizione-debug/informazioni di ripristino per errori ricorrenti (cookie di sessione, registrazione, connessione), registrazione di debug ping/pong rumorosa limitata e intensificazione di un flusso prolungato di eventi di monitoraggio errato per avvisare. Aggiunto LOGGING.md (riferimento completo agli eventi di registro), un sommario, una sezione di casi d'uso pratici e una nota di limitazione nota (viene mostrato solo il singolo incidente attivo più recente) al README.",
66
- "es": "Se corrigió que cleanupObsoleteObjects() eliminara y recreara incorrectamente el canal einsatz.json en cada reinicio (faltaba la verificación de obj.type). Se corrigió una advertencia de registro pendiente falsa que podría ocurrir si el adaptador se detenía antes de que finalizara la inicialización del objeto. Se redujo el registro WAIP de tres emisiones a una sola emisión, basándose en el tiempo de espera de registro existente como red de seguridad. los permisos dentro de einsatz.json.current/history10 ahora siempre están encadenados de manera consistente con el estado independiente einsatz.permissions, y einsatz.json.current está envuelto en una matriz (los widgets de la tabla VIS requieren una matriz en la raíz). Se corrigió que einsatz.json.history10/debug.monitorAudit permaneciera nulo en lugar de [] en una instalación nueva. Se agregaron campos de monitor registrado/nombre de monitor registrado a einsatz.json.current/history10. Registro reelaborado: tradujo todo el texto de registro alemán restante al inglés, implementó el patrón oficial de advertencia de primera ocurrencia/repetición de depuración/información de recuperación para fallas recurrentes (cookie de sesión, registro, conexión), limitó el ruidoso registro de depuración de ping/pong y aumentó una avalancha sostenida de eventos de monitoreo incorrectos para advertir. Se agregó LOGGING.md (referencia completa de eventos de registro), una tabla de contenido, una sección de casos de uso práctico y una nota de limitación conocida (solo se muestra el incidente activo más reciente) al README.",
67
- "pl": "Naprawiono niepoprawne usuwanie i ponowne tworzenie kanału einsatz.json przy każdym ponownym uruchomieniu funkcji cleanupObsoleteObjects() (brak sprawdzania typu obj.type). Naprawiono fałszywe ostrzeżenie o oczekiwaniu na rejestrację, które mogło wystąpić, jeśli adapter zatrzymał się przed zakończeniem inicjalizacji obiektu. Zredukowano rejestrację WAIP z trzech emisji do jednej emisji, wykorzystując istniejący limit czasu rejestracji jako zabezpieczenie. uprawnienia w pliku einsatz.json.current/history10 są teraz zawsze ciągnione spójnie z samodzielnym stanem einsatz.permissions, a plik einsatz.json.current jest opakowany w tablicę (widżety tabeli VIS wymagają tablicy w katalogu głównym). Naprawiono opcję einsatz.json.history10/debug.monitorAudit pozostającą zerową zamiast [] w przypadku świeżej instalacji. Dodano pola RegisteredMonitor/registeredMonitorName do pliku einsatz.json.current/history10. Przerobione rejestrowanie: przetłumaczono cały pozostały niemiecki tekst dziennika na angielski, zaimplementowano oficjalny wzorzec ostrzegania o pierwszym wystąpieniu/powtórzeniu debugowania/informacji o odzyskiwaniu w przypadku powtarzających się błędów (plik cookie sesji, rejestracja, połączenie), ograniczono hałaśliwe rejestrowanie debugowania ping/ponga i eskalowano ciągły zalew zdarzeń nieprawidłowego monitorowania w celu ostrzeżenia. Do pliku README dodano plik LOGGING.md (pełne odniesienie do zdarzeń w dzienniku), spis treści, sekcję dotyczącą praktycznych przypadków użycia i notatkę o znanych ograniczeniach (pokazuje się tylko pojedyncze, ostatnio aktywne zdarzenie).",
68
- "uk": "Виправлено, коли метод cleanupObsoleteObjects() некоректно видаляв і повторно створював канал einsatz.json під час кожного перезапуску (відсутня перевірка obj.type). Виправлено фальшиве попередження про очікування реєстрації, яке могло виникнути, якщо адаптер зупинився до завершення ініціалізації об’єкта. Реєстрацію WAIP зменшено з трьох випромінювань до однієї випромінювання, покладаючись на існуючий час очікування реєстрації як мережу безпеки. дозволи всередині einsatz.json.current/history10 тепер завжди упорядковані в рядки відповідно до автономного стану einsatz.permissions, а einsatz.json.current загорнуто в масив (віджети таблиці VIS вимагають масиву в корені). Виправлено, коли einsatz.json.history10/debug.monitorAudit залишався нульовим замість [] під час нової інсталяції. Додано поля registeredMonitor/registeredMonitorName до einsatz.json.current/history10. Перероблено ведення журналу: увесь решту тексту журналу з німецької мови перекладено англійською мовою, реалізовано офіційний шаблон першої появи-попередження/повторного-налагодження/інформації про відновлення для повторюваних збоїв (файл cookie сеансу, реєстрація, з’єднання), обмежено шумове ведення журналу налагодження ping/pong і посилено тривалий потік подій неправильного моніторингу для попередження. До README додано LOGGING.md (повне посилання на події журналу), зміст, розділ практичних випадків використання та примітку про відомі обмеження (відображається лише один останній активний інцидент).",
69
- "zh-cn": "修复了 cleanupObsoleteObjects() 在每次重新启动时错误地删除和重新创建 einsatz.json 通道的问题(缺少 obj.type 检查)。修复了如果适配器在对象初始化完成之前停止则可能出现的虚假注册挂起警告。将 WAIP 注册从三个发射减少到单个发射,依靠现有的注册超时作为安全网。 einsatz.json.current/history10 内的权限现在始终与独立的 einsatz.permissions 状态一致地进行字符串化,并且 einsatz.json.current 包装在一个数组中(VIS 表小部件需要在根处有一个数组)。修复了 einsatz.json.history10/debug.monitorAudit 在全新安装时保持为 null 而不是 [] 的问题。添加了 RegisteredMonitor/registeredMonitorName 字段到 einsatz.json.current/history10。重新设计的日志记录:将所有剩余的德语日志文本翻译为英语,针对重复出现的故障(会话 cookie、注册、连接)实施官方的首次出现警告/重复调试/恢复信息模式,限制嘈杂的 ping/pong 调试日志记录,并升级持续大量的错误监控事件以发出警告。在自述文件中添加了 LOGGING.md(完整的日志事件参考)、目录、实际用例部分和已知限制注释(仅显示单个最近活动的事件)。"
70
- },
71
- "0.7.16": {
72
- "en": "Fixed two stale-data gaps around incident transitions: when a new incident starts before its own routes/feedback events arrive, einsatz.json.routen/rueckmeldungen and the feedback counters are now cleared immediately instead of waiting for those events. Added a watchdog that automatically finalizes an incident (archives it, clears live fields) if its ablaufzeit is exceeded by more than 60s without a matching io.standby ever arriving - previously a missed io.standby (e.g. due to a disconnect at the wrong moment) could leave stale \"active\" data indefinitely.",
73
- "de": "Zwei Lücken behoben, durch die bei Einsatzwechseln veraltete Daten stehen blieben: Beginnt ein neuer Einsatz, bevor dessen eigene Routen-/Rückmeldungs-Events eingetroffen sind, werden einsatz.json.routen/rueckmeldungen und die Rückmeldungs-Zähler jetzt sofort geleert, statt auf diese Events zu warten. Zusätzlich ein Watchdog ergänzt, der einen Einsatz automatisch abschließt (archiviert, Live-Felder geleert), wenn dessen ablaufzeit um mehr als 60s überschritten ist, ohne dass je ein passendes io.standby einging - vorher konnte ein verpasstes io.standby (z.B. durch einen Disconnect zum falschen Zeitpunkt) unbegrenzt veraltete \"aktiv\"-Daten hinterlassen.",
74
- "ru": "Исправлены два пробела в устаревших данных при переходах инцидентов: когда новый инцидент начинается до того, как приходят его собственные события маршрутов/обратной связи, einsatz.json.routen/rueckmeldungen и счетчики обратной связи теперь очищаются немедленно, вместо ожидания этих событий. Добавлен сторожевой таймер, который автоматически завершает инцидент (архивирует его, очищает активные поля), если его время ablaufzeit превышает 60 секунд, а соответствующий io.standby никогда не поступает - ранее пропущенный io.standby (например, из-за отключения в неподходящий момент) мог оставлять устаревшие «активные» данные на неопределенный срок.",
75
- "pt": "Foram corrigidas duas lacunas de dados obsoletos em torno de transições de incidentes: quando um novo incidente começa antes da chegada de suas próprias rotas/eventos de feedback, einsatz.json.routen/rueckmeldungen e os contadores de feedback agora são apagados imediatamente em vez de esperar por esses eventos. Adicionado um watchdog que finaliza automaticamente um incidente (arquiva-o, limpa campos ativos) se seu ablaufzeit for excedido em mais de 60s sem que um io.standby correspondente chegue - anteriormente, um io.standby perdido (por exemplo, devido a uma desconexão no momento errado) poderia deixar dados \"ativos\" obsoletos indefinidamente.",
76
- "nl": "Er zijn twee hiaten in verouderde gegevens rond incidentovergangen opgelost: wanneer een nieuw incident begint voordat de eigen routes/feedbackgebeurtenissen arriveren, worden einsatz.json.routen/rueckmeldungen en de feedbacktellers nu onmiddellijk gewist in plaats van te wachten op die gebeurtenissen. Er is een waakhond toegevoegd die een incident automatisch beëindigt (archiveert, livevelden wist) als de ablaufzeit met meer dan 60 seconden wordt overschreden zonder dat er ooit een overeenkomende io.standby arriveert - voorheen kon een gemiste io.standby (bijvoorbeeld als gevolg van een verbroken verbinding op het verkeerde moment) voor onbepaalde tijd verouderde \"actieve\" gegevens achterlaten.",
77
- "fr": "Correction de deux lacunes dans les données obsolètes autour des transitions d'incidents : lorsqu'un nouvel incident commence avant l'arrivée de ses propres itinéraires/événements de retour, einsatz.json.routen/rueckmeldungen et les compteurs de retours sont désormais effacés immédiatement au lieu d'attendre ces événements. Ajout d'un chien de garde qui finalise automatiquement un incident (l'archive, efface les champs en direct) si son ablaufzeit est dépassé de plus de 60 secondes sans qu'un io.standby correspondant n'arrive jamais - auparavant, un io.standby manqué (par exemple en raison d'une déconnexion au mauvais moment) pouvait laisser des données \"actives\" périmées indéfiniment.",
78
- "it": "Risolte due lacune nei dati obsoleti relativi alle transizioni degli incidenti: quando un nuovo incidente inizia prima che arrivino i propri percorsi/eventi di feedback, einsatz.json.routen/rueckmeldungen e i contatori di feedback vengono ora cancellati immediatamente invece di attendere tali eventi. Aggiunto un watchdog che finalizza automaticamente un incidente (lo archivia, cancella i campi attivi) se il suo ablaufzeit viene superato per più di 60 secondi senza che arrivi mai un io.standby corrispondente - in precedenza un io.standby mancato (ad esempio a causa di una disconnessione nel momento sbagliato) poteva lasciare dati \"attivi\" obsoleti a tempo indeterminato.",
79
- "es": "Se corrigieron dos brechas de datos obsoletos en torno a las transiciones de incidentes: cuando comienza un nuevo incidente antes de que lleguen sus propias rutas/eventos de retroalimentación, einsatz.json.routen/rueckmeldungen y los contadores de retroalimentación ahora se borran inmediatamente en lugar de esperar esos eventos. Se agregó un mecanismo de vigilancia que finaliza automáticamente un incidente (lo archiva, borra los campos activos) si su ablaufzeit se excede en más de 60 segundos sin que llegue nunca un io.standby coincidente; anteriormente, un io.standby perdido (por ejemplo, debido a una desconexión en el momento equivocado) podía dejar datos \"activos\" obsoletos indefinidamente.",
80
- "pl": "Naprawiono dwie luki w nieaktualnych danych wokół przejść incydentów: gdy nowy incydent rozpoczyna się przed nadejściem własnych tras/zdarzeń opinii, einsatz.json.routen/rueckmeldungen i liczniki opinii są teraz natychmiast czyszczone, zamiast czekać na te zdarzenia. Dodano watchdog, który automatycznie finalizuje incydent (archiwizuje go, czyści pola na żywo), jeśli jego ablaufzeit zostanie przekroczony o więcej niż 60 sekund bez pojawienia się pasującego io.standby - wcześniej pominięte io.standby (np. z powodu rozłączenia w niewłaściwym momencie) mogło pozostawić nieaktualne „aktywne” dane na czas nieokreślony.",
81
- "uk": "Виправлено два прогалини застарілих даних навколо переходів інцидентів: коли новий інцидент починається до надходження власних маршрутів/подій зворотного зв’язку, einsatz.json.routen/rueckmeldungen і лічильники зворотного зв’язку тепер очищаються негайно, а не чекають цих подій. Додано сторожовий таймер, який автоматично завершує інцидент (архівує його, очищає поточні поля), якщо його ablaufzeit перевищено більш ніж на 60 секунд, а відповідний io.standby ніколи не надходить - раніше пропущений io.standby (наприклад, через відключення в невідповідний момент) міг залишити застарілі «активні» дані на невизначений термін.",
82
- "zh-cn": "修复了围绕事件转换的两个过时数据间隙:当新事件在其自己的路线/反馈事件到达之前开始时,einsatz.json.routen/rueckmeldungen 和反馈计数器现在立即被清除,而不是等待这些事件。添加了一个看门狗,如果事件的 ablaufzeit 超过 60 秒而没有匹配的 io.standby 到达,则自动完成事件(存档它,清除实时字段) - 以前错过的 io.standby (例如,由于在错误的时刻断开连接)可能会无限期地留下过时的“活动”数据。"
83
- },
84
- "0.7.15": {
85
- "en": "Restructured einsatz.json into a channel with flat, table-widget-friendly sub-states (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) - nested JSON wasn't rendering in VIS table widgets. Moved tts.* under einsatz.tts.* (removed the meaningless tts.history10) and tts.last now resolves to a full absolute mp3 URL instead of the server's often-relative path. Moved status.alarmAktiv/status.restzeit to einsatz.alarmAktiv/einsatz.restzeit. Flattened debug.normalizedPosition and corrected debug.lastError's role from json to text. All states are now actively reset to their empty value on every adapter start, except einsatz.json.history10 and debug.monitorAudit, which persist across restarts.",
86
- "de": "einsatz.json in einen Channel mit flachen, tabellentauglichen Unter-States umstrukturiert (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) - verschachteltes JSON wurde in VIS-Tabellen-Widgets nicht dargestellt. tts.* nach einsatz.tts.* verschoben (tts.history10 ohne Einsatzbezug entfernt) und tts.last löst jetzt zur vollständigen absoluten mp3-URL auf statt des oft relativen Server-Pfads. status.alarmAktiv/status.restzeit nach einsatz.alarmAktiv/einsatz.restzeit verschoben. debug.normalizedPosition abgeflacht und die Rolle von debug.lastError von json auf text korrigiert. Alle States werden jetzt bei jedem Adapter-Start aktiv auf ihren leeren Wert zurückgesetzt, außer einsatz.json.history10 und debug.monitorAudit, die über Neustarts hinweg erhalten bleiben.",
87
- "ru": "Einsatz.json реструктурирован в канал с плоскими, удобными для табличных виджетов подсостояниями (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) – вложенный JSON не отображался в виджетах таблиц VIS. tts.* перенесен в einsatz.tts.* (удален бессмысленный tts.history10), и tts.last теперь преобразуется в полный абсолютный URL-адрес mp3 вместо часто используемого относительного пути сервера. Статус.alarmAktiv/status.restzeit перемещен в einsatz.alarmAktiv/einsatz.restzeit. Уплощен файл debug.normalizedPosition и исправлена ​​роль debug.lastError с json на текстовый формат. Все состояния теперь активно сбрасываются в пустое значение при каждом запуске адаптера, за исключением einsatz.json.history10 и debug.monitorAudit, которые сохраняются при перезапуске.",
88
- "pt": "Einsatz.json reestruturado em um canal com subestados simples e compatíveis com widgets de tabela (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) - JSON aninhado não estava sendo renderizado em widgets de tabela VIS. Movido tts.* para einsatz.tts.* (removido o sem sentido tts.history10) e tts.last agora resolve para um URL mp3 absoluto completo em vez do caminho frequentemente relativo do servidor. Status.alarmAktiv/status.restzeit movido para einsatz.alarmAktiv/einsatz.restzeit. Achatado debug.normalizedPosition e corrigido o papel de debug.lastError de json para texto. Todos os estados agora são redefinidos ativamente para seus valores vazios em cada inicialização do adaptador, exceto einsatz.json.history10 e debug.monitorAudit, que persistem durante as reinicializações.",
89
- "nl": "Einsatz.json geherstructureerd in een kanaal met platte, tabelwidgetvriendelijke substaten (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) - geneste JSON werd niet weergegeven in VIS-tabelwidgets. Verplaatst tts.* onder einsatz.tts.* (het betekenisloze tts.history10 verwijderd) en tts.last wordt nu omgezet in een volledige absolute mp3-URL in plaats van het vaak relatieve pad van de server. Status.alarmAktiv/status.restzeit verplaatst naar einsatz.alarmAktiv/einsatz.restzeit. Debug.normalizedPosition is afgevlakt en de rol van debug.lastError is gecorrigeerd van json naar tekst. Alle statussen worden nu bij elke start van de adapter actief teruggezet naar hun lege waarde, behalve einsatz.json.history10 en debug.monitorAudit, die bij het opnieuw opstarten blijven bestaan.",
90
- "fr": "Einsatz.json restructuré en un canal avec des sous-états plats et conviviaux pour les widgets de table (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) - JSON imbriqué n'était pas rendu dans les widgets de table VIS. tts.* déplacé sous einsatz.tts.* (suppression du tts.history10 dénué de sens) et tts.last se résout désormais en une URL mp3 absolue complète au lieu du chemin souvent relatif du serveur. Statut.alarmAktiv/status.restzeit déplacé vers einsatz.alarmAktiv/einsatz.restzeit. Debug.normalizedPosition aplati et le rôle de debug.lastError corrigé de json à text. Tous les états sont désormais activement réinitialisés à leur valeur vide à chaque démarrage de l'adaptateur, à l'exception de einsatz.json.history10 et debug.monitorAudit, qui persistent lors des redémarrages.",
91
- "it": "Ristrutturato einsatz.json in un canale con sottostati piatti e adatti ai widget di tabella (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere): JSON nidificato non veniva visualizzato nei widget di tabella VIS. Spostato tts.* sotto einsatz.tts.* (rimosso tts.history10 senza significato) e tts.last ora si risolve in un URL mp3 assoluto completo invece del percorso spesso relativo del server. Status.alarmAktiv/status.restzeit spostato in einsatz.alarmAktiv/einsatz.restzeit. Debug.normalizedPosition appiattito e corretto il ruolo di debug.lastError da json a testo. Tutti gli stati vengono ora reimpostati attivamente sul valore vuoto a ogni avvio dell'adattatore, ad eccezione di einsatz.json.history10 e debug.monitorAudit, che persistono dopo i riavvii.",
92
- "es": "Se reestructuró einsatz.json en un canal con subestados planos y compatibles con widgets de tabla (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere): JSON anidado no se representaba en los widgets de tabla VIS. Se movió tts.* bajo einsatz.tts.* (se eliminó el tts.history10 sin sentido) y tts.last ahora se resuelve en una URL mp3 absoluta y completa en lugar de la ruta, a menudo relativa, del servidor. Se movió status.alarmAktiv/status.restzeit a einsatz.alarmAktiv/einsatz.restzeit. Se aplanó debug.normalizedPosition y se corrigió la función de debug.lastError de json a texto. Todos los estados ahora se restablecen activamente a su valor vacío en cada inicio del adaptador, excepto einsatz.json.history10 y debug.monitorAudit, que persisten durante los reinicios.",
93
- "pl": "Zrestrukturyzowano plik einsatz.json w kanał z płaskimi, przyjaznymi dla widgetów tabeli stanami podrzędnymi (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) — zagnieżdżony kod JSON nie był renderowany w widżetach tabeli VIS. Przeniesiono tts.* do einsatz.tts.* (usunięto bezsensowne tts.history10) i tts.last są teraz rozpoznawane jako pełny bezwzględny adres URL mp3 zamiast często względnej ścieżki serwera. Przeniesiono status.alarmAktiv/status.restzeit do einsatz.alarmAktiv/einsatz.restzeit. Spłaszczono debug.normalizedPosition i poprawiono rolę debug.lastError z json na tekst. Wszystkie stany są teraz aktywnie resetowane do pustych wartości przy każdym uruchomieniu adaptera, z wyjątkiem einsatz.json.history10 i debug.monitorAudit, które utrzymują się po ponownym uruchomieniu.",
94
- "uk": "Реструктуризовано einsatz.json у канал із плоскими підстанами, зручними для віджетів таблиць (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) – вкладений JSON не відтворювався у віджетах таблиці VIS. Переміщено tts.* у einsatz.tts.* (вилучено безглуздий tts.history10) і tts.last тепер перетворюється на повну абсолютну URL-адресу mp3 замість відносного шляху сервера. Переміщено status.alarmAktiv/status.restzeit до einsatz.alarmAktiv/einsatz.restzeit. Зведено debug.normalizedPosition і виправлено роль debug.lastError з json на текст. Усі стани тепер активно скидаються до порожніх значень під час кожного запуску адаптера, за винятком einsatz.json.history10 і debug.monitorAudit, які зберігаються під час перезапусків.",
95
- "zh-cn": "将 einsatz.json 重构为具有扁平、表格小部件友好的子状态的通道 (current/history10/routen/rueckmeldungen/emAlarmiert/emWeitere) - 嵌套 JSON 未在 VIS 表格小部件中呈现。将 tts.* 移至 einsatz.tts.* 下(删除了无意义的 tts.history10),tts.last 现在解析为完整的绝对 mp3 URL,而不是服务器的通常相对路径。将 status.alarmAktiv/status.restzeit 移至 einsatz.alarmAktiv/einsatz.restzeit。扁平化 debug.normalizedPosition 并将 debug.lastError 的角色从 json 更正为文本。现在,所有状态在每次适配器启动时都会主动重置为空值,但 einsatz.json.history10 和 debug.monitorAudit 除外,它们在重新启动后仍然存在。"
96
44
  }
97
45
  },
98
46
  "titleLang": {
@@ -199,6 +147,16 @@
199
147
  "beschreibung": "Garage, Schuppen, Bungalow, elektrische Anlage, Trafo",
200
148
  "matchType": "startsWith"
201
149
  },
150
+ {
151
+ "stichwort": "B:Gebäude-Groß",
152
+ "beschreibung": "Zimmer-, Keller-, Dach- oder landwirtschaftlicher Gebäudebrand",
153
+ "matchType": "startsWith"
154
+ },
155
+ {
156
+ "stichwort": "B:Gebäude-Klein",
157
+ "beschreibung": "Garage, Schuppen, Bungalow, elektrische Anlage, Trafo",
158
+ "matchType": "startsWith"
159
+ },
202
160
  {
203
161
  "stichwort": "B:Gefahrgut",
204
162
  "beschreibung": "Gefahrgut-Brand",
@@ -265,12 +223,12 @@
265
223
  "matchType": "startsWith"
266
224
  },
267
225
  {
268
- "stichwort": "H:Flugunfall groß",
226
+ "stichwort": "H:Flugzeugunfall groß",
269
227
  "beschreibung": "Großflugzeugabsturz",
270
228
  "matchType": "startsWith"
271
229
  },
272
230
  {
273
- "stichwort": "H:Flugunfall klein",
231
+ "stichwort": "H:Flugzeugunfall klein",
274
232
  "beschreibung": "Kleinflugzeugabsturz",
275
233
  "matchType": "startsWith"
276
234
  },
@@ -315,7 +273,7 @@
315
273
  "matchType": "startsWith"
316
274
  },
317
275
  {
318
- "stichwort": "H:Öl Wasser",
276
+ "stichwort": "H:Öl auf Wasser",
319
277
  "beschreibung": "Ölverschmutzung eines Gewässers",
320
278
  "matchType": "startsWith"
321
279
  },
@@ -330,7 +288,12 @@
330
288
  "matchType": "startsWith"
331
289
  },
332
290
  {
333
- "stichwort": "H:Rettung aus Höhen/Tiefen",
291
+ "stichwort": "H:Person-TMR",
292
+ "beschreibung": "Person in Not, technische Menschenrettung",
293
+ "matchType": "startsWith"
294
+ },
295
+ {
296
+ "stichwort": "H:Rettung aus Höhen und Tiefen",
334
297
  "beschreibung": "Höhen-/Tiefenrettung",
335
298
  "matchType": "startsWith"
336
299
  },
@@ -373,6 +336,151 @@
373
336
  "stichwort": "H:VU Schiff",
374
337
  "beschreibung": "Schiffsunfall",
375
338
  "matchType": "startsWith"
339
+ },
340
+ {
341
+ "stichwort": "K1:KTW",
342
+ "beschreibung": "Krankentransport (sitzend/liegend, ggf. Sauerstoff)",
343
+ "matchType": "startsWith"
344
+ },
345
+ {
346
+ "stichwort": "K2:KTW-Infektionsfahrt",
347
+ "beschreibung": "Krankentransport, Infektionsfahrt (z.B. MRSA)",
348
+ "matchType": "startsWith"
349
+ },
350
+ {
351
+ "stichwort": "MAN-E",
352
+ "beschreibung": "Größere Zahl von Erkrankten (z.B. Lebensmittelvergiftung in einer Einrichtung)",
353
+ "matchType": "startsWith"
354
+ },
355
+ {
356
+ "stichwort": "MANV-Groß",
357
+ "beschreibung": "Massenanfall von Verletzten, groß (mehr als 20 Verletzte/Erkrankte)",
358
+ "matchType": "startsWith"
359
+ },
360
+ {
361
+ "stichwort": "MANV-Klein",
362
+ "beschreibung": "Massenanfall von Verletzten, klein (5-9 Verletzte/Erkrankte)",
363
+ "matchType": "startsWith"
364
+ },
365
+ {
366
+ "stichwort": "MANV-Mittel",
367
+ "beschreibung": "Massenanfall von Verletzten, mittel (10-19 Verletzte/Erkrankte)",
368
+ "matchType": "startsWith"
369
+ },
370
+ {
371
+ "stichwort": "S1:Baby-NAW/Inkubator",
372
+ "beschreibung": "Baby-Notarztwagen, Fahrt mit Inkubator",
373
+ "matchType": "startsWith"
374
+ },
375
+ {
376
+ "stichwort": "S10:COVID19",
377
+ "beschreibung": "Einsatz im Zusammenhang mit einer Corona-Erkrankung",
378
+ "matchType": "startsWith"
379
+ },
380
+ {
381
+ "stichwort": "S2:Notfallseelsorge",
382
+ "beschreibung": "Notfallseelsorge nach Einsatzgeschehen",
383
+ "matchType": "startsWith"
384
+ },
385
+ {
386
+ "stichwort": "S3:Org-Fahrten",
387
+ "beschreibung": "Organisatorische Fahrt/Werkstattfahrt",
388
+ "matchType": "startsWith"
389
+ },
390
+ {
391
+ "stichwort": "S4:Polizeiliche-Einsatzlage",
392
+ "beschreibung": "Einsatz wird durch die Polizei geführt (KLEE-Einsatz)",
393
+ "matchType": "startsWith"
394
+ },
395
+ {
396
+ "stichwort": "S5:Ausnahmelage",
397
+ "beschreibung": "Information über eine Ausnahmelage (z.B. Unwetter)",
398
+ "matchType": "startsWith"
399
+ },
400
+ {
401
+ "stichwort": "S6:Polizei-übergeben",
402
+ "beschreibung": "Einsatz an die Polizei übergeben",
403
+ "matchType": "startsWith"
404
+ },
405
+ {
406
+ "stichwort": "S61:COVID19 - Information/Übergabe",
407
+ "beschreibung": "Information/Einsatzübergabe zu 116117, Kassenarzt, Hausarzt oder Gesundheitsamt",
408
+ "matchType": "startsWith"
409
+ },
410
+ {
411
+ "stichwort": "S62:COVID19 - Unterstützung Leitstelle",
412
+ "beschreibung": "Unterstützung des Gesundheitsamtes bzw. anderer Ämter/Institutionen",
413
+ "matchType": "startsWith"
414
+ },
415
+ {
416
+ "stichwort": "S63:COVID19 - Einsatz Leitstelle",
417
+ "beschreibung": "Einsatz Regel-Rettungsdienst",
418
+ "matchType": "startsWith"
419
+ },
420
+ {
421
+ "stichwort": "S7:Einsatz-Ablehung",
422
+ "beschreibung": "Ablehnung eines Einsatzes von ITH/RTH/V-NEF (keine Höher-/Niederstufung)",
423
+ "matchType": "startsWith"
424
+ },
425
+ {
426
+ "stichwort": "S8:AnforderungRettungshundestaffel",
427
+ "beschreibung": "Anforderung von Rettungshunden",
428
+ "matchType": "startsWith"
429
+ },
430
+ {
431
+ "stichwort": "S9:Polizei-erhalten",
432
+ "beschreibung": "Einsatz von der Polizei übernommen",
433
+ "matchType": "startsWith"
434
+ },
435
+ {
436
+ "stichwort": "ÜMANV-Sofort",
437
+ "beschreibung": "Eigene Maßnahmen bei MANV eines anderen Trägers",
438
+ "matchType": "startsWith"
439
+ },
440
+ {
441
+ "stichwort": "V1N",
442
+ "beschreibung": "Verlegung, Primärtransport bodengebunden mit Notarztbegleitung",
443
+ "matchType": "startsWith"
444
+ },
445
+ {
446
+ "stichwort": "V1R",
447
+ "beschreibung": "Verlegung, Primärtransport bodengebunden",
448
+ "matchType": "startsWith"
449
+ },
450
+ {
451
+ "stichwort": "V2N",
452
+ "beschreibung": "Verlegung, Sekundärtransport bodengebunden mit Notarztbegleitung",
453
+ "matchType": "startsWith"
454
+ },
455
+ {
456
+ "stichwort": "V2R",
457
+ "beschreibung": "Verlegung, Sekundärtransport bodengebunden",
458
+ "matchType": "startsWith"
459
+ },
460
+ {
461
+ "stichwort": "V3N",
462
+ "beschreibung": "Verlegung, Sekundärtransport mit Luftrettungsmittel",
463
+ "matchType": "startsWith"
464
+ },
465
+ {
466
+ "stichwort": "V4N",
467
+ "beschreibung": "Verlegung, Primärtransport mit Luftrettungsmittel",
468
+ "matchType": "startsWith"
469
+ },
470
+ {
471
+ "stichwort": "V5R",
472
+ "beschreibung": "Verlegung, im Vorfeld genehmigter Transport (z.B. ADAC-Rücktransport)",
473
+ "matchType": "startsWith"
474
+ },
475
+ {
476
+ "stichwort": "V6N-COVID19",
477
+ "beschreibung": "Verlegung/Transport infektiöser Covid-19-Patienten mit Arztbegleitung",
478
+ "matchType": "startsWith"
479
+ },
480
+ {
481
+ "stichwort": "V6R-COVID19",
482
+ "beschreibung": "Verlegung/Transport infektiöser Covid-19-Patienten (RTW/KTW)",
483
+ "matchType": "startsWith"
376
484
  }
377
485
  ],
378
486
  "rdLabelR": "Rettungswagen",
package/main.js CHANGED
@@ -1537,19 +1537,31 @@ class WaipWeb extends utils.Adapter {
1537
1537
  /* DE: Dekodiert Rettungsdienst-Stichwörter nach dem Schema "R<Anzahl RTW>N<Anzahl NEF>[p][f][-NT]"
1538
1538
  - von mehreren Leitstellen verwendet, dokumentiertes Beispiel:
1539
1539
  https://www.leitstelle-lausitz.de/anpassung-der-einsatzstichworte-rettungsdienst/
1540
- (z.B. "R1N0" = 1 RTW, kein NEF). Nur aktiv, wenn rdKeywordDecodingEnabled gesetzt ist
1541
- (Default aus, da nicht jede Leitstelle/WAIP-Web-Instanz dieses Schema verwendet).
1542
- Liefert null, falls das Stichwort nicht diesem Muster entspricht.
1540
+ (z.B. "R1N0" = 1 RTW, kein NEF). Toleriert dabei zwei Schreibweisen der Modifikatoren:
1541
+ ohne Leerzeichen/mit Bindestrich vor NT (Lausitz, "R1N1p"/"R1N0-NT") sowie mit
1542
+ Leerzeichen/ohne Bindestrich vor nt (Brandenburg/IRLS, "R1N1 p"/"R1N0 nt", siehe
1543
+ Einsatzstichworte Rettungsdienst der IRLS des Landes Brandenburg). Nur aktiv, wenn
1544
+ rdKeywordDecodingEnabled gesetzt ist (Default aus, da nicht jede Leitstelle/WAIP-Web-
1545
+ Instanz dieses Schema verwendet). Liefert null, falls das Stichwort keinem der beiden
1546
+ Muster entspricht.
1543
1547
  EN: Decodes rescue-service keywords following the scheme
1544
1548
  "R<ambulance count>N<physician-vehicle count>[p][f][-NT]" - used by several dispatch
1545
1549
  centers, documented example:
1546
1550
  https://www.leitstelle-lausitz.de/anpassung-der-einsatzstichworte-rettungsdienst/
1547
- (e.g. "R1N0" = 1 ambulance, no physician vehicle). Only active if
1548
- rdKeywordDecodingEnabled is set (default off, since not every dispatch
1549
- center/WAIP-Web instance uses this scheme). Returns null if the keyword doesn't
1550
- match this pattern. */
1551
+ (e.g. "R1N0" = 1 ambulance, no physician vehicle). Tolerates two modifier spellings:
1552
+ no space/with hyphen before NT (Lausitz, "R1N1p"/"R1N0-NT") and with a space/no hyphen
1553
+ before nt (Brandenburg/IRLS, "R1N1 p"/"R1N0 nt", see Einsatzstichworte Rettungsdienst
1554
+ der IRLS des Landes Brandenburg). Only active if rdKeywordDecodingEnabled is set
1555
+ (default off, since not every dispatch center/WAIP-Web instance uses this scheme).
1556
+ Returns null if the keyword matches neither pattern. */
1551
1557
  decodeRettungsdienstStichwort(stichwort) {
1552
- const m = /^R(\d+)N(\d+)([a-z]*)(-NT)?$/i.exec(String(stichwort || '').trim());
1558
+ // DE: Zwei bekannte Schreibweisen der Modifikatoren toleriert: ohne Leerzeichen/mit
1559
+ // Bindestrich vor NT (Leitstelle Lausitz, z.B. "R1N1p", "R1N0-NT") sowie mit Leerzeichen
1560
+ // und ohne Bindestrich vor nt (Leitstelle Brandenburg/IRLS, z.B. "R1N1 p", "R1N0 nt").
1561
+ // EN: Tolerates two known modifier spellings: no space/with hyphen before NT (Leitstelle
1562
+ // Lausitz, e.g. "R1N1p", "R1N0-NT") and with a space and no hyphen before nt (Leitstelle
1563
+ // Brandenburg/IRLS, e.g. "R1N1 p", "R1N0 nt").
1564
+ const m = /^R(\d+)N(\d+)\s*([pf]*)\s*(-?nt)?$/i.exec(String(stichwort || '').trim());
1553
1565
  if (!m) {
1554
1566
  return null;
1555
1567
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.waip-web",
3
- "version": "0.7.21",
3
+ "version": "0.7.26",
4
4
  "description": "Wachalarm IP-Web (WAIP) Adapter für ioBroker – bindet Alarmierungen, Rückmeldungen, Routen und TTS-Ansagen per Socket.IO an ioBroker an.",
5
5
  "author": {
6
6
  "name": "rnc11",