Merge branch 'master' into master

This commit is contained in:
LordGrey 2020-09-25 19:46:22 +02:00 committed by GitHub
commit 28cbec1009
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 483 additions and 163 deletions

View File

@ -4,27 +4,27 @@
"InfoDialog_changePassword_success": "Passwort erfolgreich gespeichert!",
"InfoDialog_changePassword_title": "Ändere Passwort",
"InfoDialog_iswitch_text": "Sollte in deinem lokalen Netzwerk Hyperion mehr als einmal laufen, kannst du hier zwischen den Web Konfigurationen hin und her schalten. Wähle dazu die Instanz unten aus und switche!",
"InfoDialog_iswitch_title": "Hyperion switcher",
"InfoDialog_iswitch_title": "Hyperion-Switcher",
"InfoDialog_lang_text": "Sollte dir die Vorauswahl der automatischen Spracherkennung nicht gefallen, kannst du die Sprache hier manuell festlegen.",
"InfoDialog_lang_title": "Spracheinstellung",
"InfoDialog_nowrite_foottext": "Die Webkonfiguration wird automatisch wieder freigegeben, sobald das Problem behoben wurde!",
"InfoDialog_nowrite_text": "Hyperion hat keinen Schreibzugriff auf die aktuell geladene Konfiguration. Bitte korrigiere die Dateizugriffsrechte um fortzufahren.",
"InfoDialog_nowrite_text": "Hyperion hat keinen Schreibzugriff auf die aktuell geladene Konfiguration. Bitte korrigiere die Dateizugriffsrechte, um fortzufahren.",
"InfoDialog_nowrite_title": "Fehler beim Schreibzugriff!",
"about_3rd_party_licenses": "Drittanbieter Lizenzen",
"about_3rd_party_licenses_error": "Wir hatten Probleme beim Laden der Drittanbieter Lizenzen aus dem Internet. <br />Klicke hier um die Datei auf GitHub aufzurufen.",
"about_3rd_party_licenses_error": "Wir hatten Probleme beim Laden der Drittanbieter Lizenzen aus dem Internet. <br />Klicke hier, um die Datei auf GitHub aufzurufen.",
"about_build": "Build",
"about_builddate": "Build Datum",
"about_contribute": "Entwickel Hyperion mit uns weiter!",
"about_contribute": "Entwickle Hyperion mit uns weiter!",
"about_credits": "Einen Dank an alle Entwickler!",
"about_resources": "$1 Bibliotheken",
"about_translations": "Übersetzungen",
"about_version": "Version",
"conf_colors_blackborder_intro": "Ignoriere schwarze Balken, jeder Modus nutzt einen anderen Algorithmus um diese zu erkennen. Erhöhe die Schwelle, sollte es nicht funktionieren.",
"conf_colors_color_intro": "Erstelle Kalibrierungsprofile die einzelnen Komponenten zugewisen werden können. Passe dabei Farben, Gamma, Helligkeit, Kompensation und mehr an.",
"conf_colors_blackborder_intro": "Ignoriere schwarze Balken, jeder Modus nutzt einen anderen Algorithmus, um diese zu erkennen. Erhöhe die Schwelle, sollte es nicht funktionieren.",
"conf_colors_color_intro": "Erstelle Kalibrierungsprofile die einzelnen Komponenten zugewiesen werden können. Passe dabei Farben, Gamma, Helligkeit, Kompensation und mehr an.",
"conf_colors_smoothing_intro": "Glätte den Farbverlauf und Helligkeitsänderungen um nicht von schnellen Übergängen abgelenkt zu werden.",
"conf_effect_bgeff_intro": "Definiere einen Hintergrund Effekt/Farbe. Dieser wird aktiv, wenn Hyperion sich im Leerlauf befindet. Wird immer mit Priorität 255 gestartet.",
"conf_effect_fgeff_intro": "Definiere einen Start Effekt/Farbe, dieser wird angezeigt, wenn Hyperion startet für die angegebene Dauer.",
"conf_effect_path_intro": "Hier kannst du Ordner angeben, die beim Laden von Effekten berücksichtig werden sollen. Zusätzlich können Effekte anhand ihres Namens deaktiviert werden um sie aus Listen zu löschen.",
"conf_effect_path_intro": "Hier kannst du Ordner angeben, die beim Laden von Effekten berücksichtigt werden sollen. Zusätzlich können Effekte anhand ihres Namens deaktiviert werden, um sie aus Listen zu löschen.",
"conf_general_createInst_btn": "Instanz erstellen",
"conf_general_impexp_expbtn": "Exportieren",
"conf_general_impexp_impbtn": "Importieren",
@ -32,28 +32,28 @@
"conf_general_impexp_l2": "Exportiere eine Konfiguration, indem du auf \"Exportieren\" klickst. Dein Browser startet einen Download.",
"conf_general_impexp_title": "Importiere/Exportiere Konfiguration",
"conf_general_inst_actionhead": "Aktionen",
"conf_general_inst_delreq_h": "LED Hardware Instanz löschen",
"conf_general_inst_delreq_t": "Bist du dir sicher, das du die Instanz \"$1\" löschen möchtest? Alle Einstellungen zu dieser Instanz gehen verloren.",
"conf_general_inst_desc": "Verwende mehrere LED Hardware gleichzeitig. Jede Instanz läuft unabhängig voneinander, wodurch unterschiedliche LED-Layouts und Kalibrierungseinstellungen möglich sind. Laufende Instanzen sind in der oberen Symbolleiste verfügbar.",
"conf_general_inst_delreq_h": "LED-Hardware Instanz löschen",
"conf_general_inst_delreq_t": "Bist du dir sicher, dass du die Instanz \"$1\" löschen möchtest? Alle Einstellungen zu dieser Instanz gehen verloren.",
"conf_general_inst_desc": "Verwende mehrere LED-Hardware gleichzeitig. Jede Instanz läuft unabhängig voneinander, wodurch unterschiedliche LED-Layouts und Kalibrierungseinstellungen möglich sind. Laufende Instanzen sind in der oberen Symbolleiste verfügbar.",
"conf_general_inst_name_title": "Neuer Instanzname",
"conf_general_inst_namehead": "Instanzname",
"conf_general_inst_renreq_t": "Gib in das untere Feld deinen neuen Instanznamen ein.",
"conf_general_inst_title": "LED Hardware Instanzverwaltung",
"conf_general_inst_title": "LED-Hardware Instanzverwaltung",
"conf_general_intro": "Grundsätzliche Einstellungen zu Hyperion oder WebUI, die in keine andere Kategorie passen.",
"conf_general_label_title": "Allgemeine Einstellungen",
"conf_grabber_fg_intro": "Plattform Aufnahme ist das lokale System auf dem Hyperion installiert wurde, welches als Bildquelle dient.",
"conf_grabber_v4l_intro": "USB Aufnahme ist ein Gerät, welches via USB angeschlossen ist und als Bildquelle dient.",
"conf_grabber_v4l_intro": "USB-Aufnahme ist ein Gerät, welches via USB angeschlossen ist und als Bildquelle dient.",
"conf_helptable_expl": "Erklärung",
"conf_helptable_option": "Option",
"conf_leds_contr_label_contrtype": "Steuerungstyp:",
"conf_leds_device_intro": "Wähle eine Methode zur Steuerung deiner LEDs aus, sie sind unterteilt in verschiedene Kategorien. Neben den allgemeinen Optionen die für alle gültig sind, gibt es auch spezfische die sich unterscheiden je nach Wahl.",
"conf_leds_device_intro": "Wähle eine Methode zur Steuerung deiner LEDs aus, sie sind unterteilt in verschiedene Kategorien. Neben den allgemeinen Optionen die für alle gültig sind, gibt es auch spezifische, die sich unterscheiden je nach Wahl.",
"conf_leds_layout_advanced": "Erweiterte Optionen",
"conf_leds_layout_btn_checklist": "Zeige Checkliste",
"conf_leds_layout_button_savelay": "Speichere Layout",
"conf_leds_layout_button_updsim": "Aktualisiere Vorschau",
"conf_leds_layout_checkp1": "Die schwarze eingefärbte LED ist die erste LED. Das ist der Punkt, an dem die Daten eingespeist werden.",
"conf_leds_layout_checkp2": "Das Layout ist die Ansicht vor dem Fernseher stehend, nicht dahinter.",
"conf_leds_layout_checkp3": "Stelle sicher, dass die Richtung richtig eingestellt ist, dazu ist die zweite und dritte LED grau markiert um den Datenfluss anzuzeigen.",
"conf_leds_layout_checkp3": "Stelle sicher, dass die Richtung richtig eingestellt ist, dazu ist die zweite und dritte LED grau markiert, um den Datenfluss anzuzeigen.",
"conf_leds_layout_checkp4": "Vorgang Lücke: Solltest du eine Lücke benötigen, ignoriere diese bei der LED Angabe Oben/Unten/Rechts/Links und gebe anschließend unter Lückenlänge an, wieviel LEDs du abziehen möchtest. Verändere jetzt die Lückenposition, um die Lücke an die richtige Stelle zu rücken.",
"conf_leds_layout_cl_bottom": "Unten",
"conf_leds_layout_cl_bottomleft": "Unten Links (Ecke)",
@ -62,7 +62,7 @@
"conf_leds_layout_cl_edgegap": "Rahmenabstand",
"conf_leds_layout_cl_gaglength": "Lückenlänge",
"conf_leds_layout_cl_gappos": "Lückenposition",
"conf_leds_layout_cl_hleddepth": "Horizontale LED Tiefe",
"conf_leds_layout_cl_hleddepth": "Horizontale LED-Tiefe",
"conf_leds_layout_cl_inppos": "Einspeisepunkt",
"conf_leds_layout_cl_left": "Links",
"conf_leds_layout_cl_leftbottom": "Links unten (50% bis 100%)",
@ -77,10 +77,10 @@
"conf_leds_layout_cl_top": "Oben",
"conf_leds_layout_cl_topleft": "Oben Links (Ecke)",
"conf_leds_layout_cl_topright": "Oben Rechts (Ecke)",
"conf_leds_layout_cl_vleddepth": "Vertikale LED Tiefe",
"conf_leds_layout_cl_vleddepth": "Vertikale LED-Tiefe",
"conf_leds_layout_frame": "Klassisches Layout (Rahmen)",
"conf_leds_layout_generatedconf": "Generierte/Aktuelle LED Konfiguration",
"conf_leds_layout_intro": "Du benötigst ebenfalls ein LED Layout, welches deine LED-Positionen wiederspiegelt. Das klassische Layout wird für gewöhnlichen für TVs verwendet, Hyperion unterstützt aber auch LED Wände (Matrix). Die Ansicht des LAYOUTS ist die perspektive VOR dem Fernseher, nicht dahinter.",
"conf_leds_layout_generatedconf": "Generierte/Aktuelle LED-Konfiguration",
"conf_leds_layout_intro": "Du benötigst ebenfalls ein LED-Layout, welches deine LED-Positionen wiederspiegelt. Das klassische Layout wird für gewöhnlichen für TVs verwendet, Hyperion unterstützt aber auch LED-Wände (Matrix). Die Ansicht des Layouts ist die Perspektive VOR dem Fernseher, nicht dahinter.",
"conf_leds_layout_ma_cabling": "Verkabelung",
"conf_leds_layout_ma_horiz": "Horizontal",
"conf_leds_layout_ma_optbottomleft": "Unten links",
@ -92,17 +92,17 @@
"conf_leds_layout_ma_opttopright": "Oben rechts",
"conf_leds_layout_ma_optvert": "Vertikal",
"conf_leds_layout_ma_order": "Reihenfolge",
"conf_leds_layout_ma_position": "Einpeisepunkt",
"conf_leds_layout_ma_position": "Einspeisepunkt",
"conf_leds_layout_ma_vert": "Vertikal",
"conf_leds_layout_matrix": "Matrix Layout (LED Wand)",
"conf_leds_layout_matrix": "Matrix Layout (LED-Wand)",
"conf_leds_layout_pbl": "Punkt unten links",
"conf_leds_layout_pbr": "Punkt unten rechts",
"conf_leds_layout_peview": "LED Layout Vorschau",
"conf_leds_layout_peview": "LED-Layout Vorschau",
"conf_leds_layout_preview_l1": "Das ist die erste LED (Einspeisung)",
"conf_leds_layout_preview_l2": "Das visualisiert die Richtung des Datenstroms (zweite/dritte LED)",
"conf_leds_layout_preview_ledpower": "Max. Stromstärke: $1 A",
"conf_leds_layout_preview_originCL": "Erstellt von: Klassisches Layout (Rahmen)",
"conf_leds_layout_preview_originMA": "Erstellt von: Matrix Layout (LED Wand)",
"conf_leds_layout_preview_originMA": "Erstellt von: Matrix Layout (LED-Wand)",
"conf_leds_layout_preview_originTEXT": "Erstellt von: Textfeld",
"conf_leds_layout_preview_totalleds": "LEDs gesamt: $1",
"conf_leds_layout_ptl": "Punkt oben links",
@ -111,8 +111,8 @@
"conf_leds_layout_ptlv": "Vertikal",
"conf_leds_layout_ptr": "Punkt oben rechts",
"conf_leds_layout_textf1": "Das Textfeld zeigt dir dein aktuell geladenes Layout, sofern du kein neues Layout mit den Optionen oben erstellt hast. Optional kann man die Werte hier weiter bearbeiten.",
"conf_leds_nav_label_ledcontroller": "LED Steuerung",
"conf_leds_nav_label_ledlayout": "LED Layout",
"conf_leds_nav_label_ledcontroller": "LED-Steuerung",
"conf_leds_nav_label_ledlayout": "LED-Layout",
"conf_leds_optgroup_RPiGPIO": "RPi GPIO",
"conf_leds_optgroup_RPiPWM": "RPi PWM",
"conf_leds_optgroup_RPiSPI": "RPi SPI",
@ -122,7 +122,7 @@
"conf_logging_btn_autoscroll": "Automatisch scrollen",
"conf_logging_btn_pbupload": "Bericht für Supportanfrage hochladen",
"conf_logging_contpolicy": "Berichts-Datenschutzerklärung",
"conf_logging_label_intro": "Überprüfe die Meldungen im Prokotoll um zu erfahren was Hyperion gerade beschäftigt. Je nach eingestellter Protokoll-Stufe siehst du mehr oder weniger Informationen.",
"conf_logging_label_intro": "Überprüfe die Meldungen im Protokoll um zu erfahren was Hyperion gerade beschäftigt. Je nach eingestellter Protokoll-Stufe siehst du mehr oder weniger Informationen.",
"conf_logging_lastreports": "Frühere Berichte",
"conf_logging_nomessage": "Keine Einträge vorhanden.",
"conf_logging_report": "Bericht",
@ -133,18 +133,18 @@
"conf_network_bobl_intro": "Boblight Empfänger",
"conf_network_createToken_btn": "Erstelle Token",
"conf_network_fbs_intro": "Google Flatbuffers Empfänger. Wird genutzt für schnellen Bildempfang.",
"conf_network_forw_intro": "Leite alles an eine zweite Hyperion Instanz weiter, diese kann dann mit einer anderen LED Steuerung genutzt werden",
"conf_network_forw_intro": "Leite alles an eine zweite Hyperion Instanz weiter, diese kann dann mit einer anderen LED-Steuerung genutzt werden",
"conf_network_json_intro": "Der JSON-RPC-Port aller Hyperion-Instanzen, wird genutzt zur Fernsteuerung.",
"conf_network_net_intro": "Einstellungen zum Netzwerk die für alle Netzwerk-Dienste gelten",
"conf_network_proto_intro": "Der PROTO-Port aller Hyperion-Instanzen, wird genutzt für \"Bildstreams\" (HyperionScreenCap, Kodi Addon, Android Hyperion Grabber, ...)",
"conf_network_proto_intro": "Der PROTO-Port aller Hyperion-Instanzen, wird genutzt für \"Bildstreams\" (HyperionScreenCap, Kodi Add-on, Android Hyperion Grabber, ...)",
"conf_network_tok_cidhead": "Beschreibung",
"conf_network_tok_comment_title": "Token Beschreibung",
"conf_network_tok_desc": "Tokens erlauben andere Anwendungen auf die Hyperion API zuzugreifen. Eine Anwendung kann ein Token anfordern welches von dir bestätigt werden muss oder du erstellst dir selbst ein neues Token. Diese Tokens werden nur benötigt, wenn \"API Autorisierung\" in den Netzwerkeinstellungen aktiviert ist.",
"conf_network_tok_desc": "Tokens erlauben andere Anwendungen auf die Hyperion API zuzugreifen. Eine Anwendung kann ein Token anfordern, welches von dir bestätigt werden muss oder du erstellst dir selbst ein neues Token. Diese Tokens werden nur benötigt, wenn \"API-Autorisierung\" in den Netzwerkeinstellungen aktiviert ist.",
"conf_network_tok_diaMsg": "Hier ist dein neues Token, welches für den Zugriff auf die Hyperion API verwendet werden kann. Aus Sicherheitsgründen können Tokens nach der Erstellung nur einmalig eingesehen werden, notiere es dir daher jetzt.",
"conf_network_tok_diaTitle": "Neues Token erstellt!",
"conf_network_tok_grantMsg": "Eine App fordert Zugriff auf die Hyperion API durch ein Token. Möchtest du dies zulassen? Bitte überprüfe die angegebenen Informationen!",
"conf_network_tok_grantT": "App Token angefordert",
"conf_network_tok_intro": "Hier kannst du Token zur API Authentifizierung erstellen oder löschen. Neu erstellte Token werden einmalig angezeigt.",
"conf_network_tok_intro": "Hier kannst du Token zur API-Authentifizierung erstellen oder löschen. Neu erstellte Token werden einmalig angezeigt.",
"conf_network_tok_lastuse": "Zuletzt genutzt",
"conf_network_tok_title": "Token Management",
"conf_webconfig_label_intro": "Einstellungen zur Webkonfiguration. Änderungen können die Erreichbarkeit des Webinterfaces beeinflussen.",
@ -154,7 +154,7 @@
"dashboard_alert_message_confsave_success": "Deine Hyperion Konfiguration wurde erfolgreich gespeichert. Deine Änderungen sind somit übernommen.",
"dashboard_alert_message_confsave_success_t": "Konfiguration gespeichert",
"dashboard_alert_message_disabled": "Diese Instanz ist momentan deaktiviert! Um sie zu nutzen, musst du sie zuerst wieder im Dashboard aktivieren.",
"dashboard_alert_message_disabled_t": "LED Hardware instanz deaktiviert",
"dashboard_alert_message_disabled_t": "LED-Hardware Instanz deaktiviert",
"dashboard_componentbox_label_comp": "Komponente",
"dashboard_componentbox_label_status": "Status",
"dashboard_componentbox_label_title": "Komponenten Status",
@ -172,13 +172,13 @@
"dashboard_infobox_message_updatesuccess": "Du nutzt die aktuellste Version von Hyperion.",
"dashboard_infobox_message_updatewarning": "Eine aktuellere Version von Hyperion ist verfügbar! ($1)",
"dashboard_label_intro": "Das Dashboard zeigt dir Informationen zum Systemstatus, ob Updates verfügbar sind, den Komponentenstatus sowie die letzten Blog-Posts vom Hyperion Team.",
"dashboard_message_default_password": "Das Standardpasswort der WebUi ist gesetzt. Wir empfehlen dringend, dieses zu ändern.",
"dashboard_message_default_password_t": "WebUi Standardpasswort gesetzt",
"dashboard_message_default_password": "Das Standardpasswort der WebUI ist gesetzt. Wir empfehlen dringend, dieses zu ändern.",
"dashboard_message_default_password_t": "WebUI Standardpasswort gesetzt",
"dashboard_message_do_not_show_again": "Diese Meldung nicht mehr anzeigen",
"dashboard_message_global_setting": "Die Einstellungen auf dieser Seite sind instanzunabhängig. Änderungen werden global übernommen.",
"dashboard_message_global_setting_t": "Instanzunabhängige Einstellung",
"dashboard_newsbox_label_title": "Hyperion-Blog",
"dashboard_newsbox_noconn": "Fehler bei dem Versuch die letzten Blog-Posts zu laden, funtkioniert dein Internet?",
"dashboard_newsbox_noconn": "Fehler bei dem Versuch die letzten Blog-Posts zu laden, funktioniert dein Internet?",
"dashboard_newsbox_readmore": "Weiterlesen",
"dashboard_newsbox_visitblog": "Besuche den Hyperion-Blog",
"edt_append_degree": "°",
@ -198,47 +198,47 @@
"edt_conf_bb_borderFrameCnt_title": "Randbilder",
"edt_conf_bb_heading_title": "Schwarze Balken Erkennung",
"edt_conf_bb_maxInconsistentCnt_expl": "Anzahl der zu ignorierenden Bilder bis ein neuer Rand überprüft wird.",
"edt_conf_bb_maxInconsistentCnt_title": "Inkosistente Bilder",
"edt_conf_bb_maxInconsistentCnt_title": "Inkonsistente Bilder",
"edt_conf_bb_mode_expl": "Algorithmus zur Auswertung. (siehe Wiki)",
"edt_conf_bb_mode_title": "Modus",
"edt_conf_bb_threshold_expl": "Wenn die Erkennung nicht funktioniert, erhöhe die Schwelle um auf 'graues' schwarz zu reagieren.",
"edt_conf_bb_threshold_expl": "Wenn die Erkennung nicht funktioniert, erhöhe die Schwelle, um auf 'graues' schwarz zu reagieren.",
"edt_conf_bb_threshold_title": "Schwelle",
"edt_conf_bb_unknownFrameCnt_expl": "Anzahl an Bildern die negativ sind, welche den Rand auf 0 zurücksetzen.",
"edt_conf_bb_unknownFrameCnt_title": "Unbekannte Bilder",
"edt_conf_bge_heading_title": "Hintergrund Effekt/Farbe",
"edt_conf_bobls_heading_title": "Boblight Server",
"edt_conf_color_backlightColored_expl": "Die Hintergrundbeleuchtung kann mit oder ohne Farbanteile genutzt werden.",
"edt_conf_color_backlightColored_title": "Farbige Hintergrund - beleuchtung",
"edt_conf_color_backlightColored_title": "Farbige Hintergrundbeleuchtung",
"edt_conf_color_backlightThreshold_expl": "Eine Beleuchtung die dauerhaft aktiv ist. (Automatisch deaktiviert bei Effekten, Farben oder im Zustand \"Aus\")",
"edt_conf_color_backlightThreshold_title": "Hintergrund - beleuchtung",
"edt_conf_color_backlightThreshold_title": "Hintergrundbeleuchtung",
"edt_conf_color_black_expl": "Kalibrierter Schwarzwert.",
"edt_conf_color_black_title": "Schwarz",
"edt_conf_color_blue_expl": "Kalibrierter Blauwert.",
"edt_conf_color_blue_title": "Blau",
"edt_conf_color_brightnessComp_expl": "Kompensiert unterschiede in der Helligkeit zwischen Rot Grün Blau, Cyan Magenta Gelb und weiß. 100 ist volle Kompensation, 0 keine Kompensation",
"edt_conf_color_brightnessComp_title": "Helligkeits Kompensation",
"edt_conf_color_brightnessComp_expl": "Kompensiert Unterschiede in der Helligkeit zwischen Rot Grün Blau, Cyan Magenta Gelb und weiß. 100 ist volle Kompensation, 0 keine Kompensation",
"edt_conf_color_brightnessComp_title": "Helligkeitsabgleich",
"edt_conf_color_brightness_expl": "Die gesamte Helligkeit",
"edt_conf_color_brightness_title": "Helligkeit",
"edt_conf_color_channelAdjustment_header_expl": "Passe die Farbkanäle deinen LEDs an",
"edt_conf_color_channelAdjustment_header_expl": "Passe die Farbkanäle deiner LEDs an",
"edt_conf_color_channelAdjustment_header_itemtitle": "Profil",
"edt_conf_color_channelAdjustment_header_title": "Anpassung Farbkanäle",
"edt_conf_color_cyan_expl": "Kalibrierter Cyanwert.",
"edt_conf_color_cyan_title": "Cyan",
"edt_conf_color_gammaBlue_expl": "Gamma von blau. 1.0 ist neutral. Über 1.0 wird blau reduziert, unter 1.0 wird blau erhöht.",
"edt_conf_color_gammaBlue_expl": "Gamma Blau. 1.0 ist neutral. Über 1.0 wird der Blauanteil reduziert, unter 1.0 wird der Blauanteil erhöht.",
"edt_conf_color_gammaBlue_title": "Gamma Blau",
"edt_conf_color_gammaGreen_expl": "Gamma von grün. 1.0 ist neutral. Über 1.0 wird grün reduziert, unter 1.0 wird grün erhöht.",
"edt_conf_color_gammaGreen_expl": "Gamma Grün. 1.0 ist neutral. Über 1.0 wird der Grünanteil reduziert, unter 1.0 wird der Grünanteil erhöht.",
"edt_conf_color_gammaGreen_title": "Gamma Grün",
"edt_conf_color_gammaRed_expl": "Gamma von rot. 1.0 ist neutral. Über 1.0 wird rot reduziert, unter 1.0 wird rot erhöht.",
"edt_conf_color_gammaRed_expl": "Gamma Rot. 1.0 ist neutral. Über 1.0 wird der Rotanteil reduziert, unter 1.0 wird der Rotanteil erhöht.",
"edt_conf_color_gammaRed_title": "Gamma Rot",
"edt_conf_color_green_expl": "Kalibrierter Grünwert.",
"edt_conf_color_green_title": "Grün",
"edt_conf_color_heading_title": "Farbkalibrierung",
"edt_conf_color_id_expl": "Eine vom Benutzer frei angegebene ID.",
"edt_conf_color_id_title": "ID",
"edt_conf_color_imageToLedMappingType_expl": "Sofern nicht \"Mehrfarbig\", wird dein LED Layout mit einer anderen Bildzuweisung überschrieben",
"edt_conf_color_imageToLedMappingType_expl": "Sofern nicht \"Mehrfarbig\", wird dein LED-Layout mit einer anderen Bildzuweisung überschrieben",
"edt_conf_color_imageToLedMappingType_title": "LED-Bereich Zuordnungstyp",
"edt_conf_color_leds_expl": "Zugewiesen zu allen (*) LEDs oder nur zu bestimmten LED Nummern (0-17).",
"edt_conf_color_leds_title": "LED index",
"edt_conf_color_leds_title": "LED-Iindex",
"edt_conf_color_magenta_expl": "Kalibrierter Magentawert.",
"edt_conf_color_magenta_title": "Magenta",
"edt_conf_color_red_expl": "Kalibrierter Rotwert.",
@ -271,7 +271,7 @@
"edt_conf_enum_dl_informational": "informativ",
"edt_conf_enum_dl_nodebug": "keine Debugausgabe",
"edt_conf_enum_dl_statechange": "bei Änderungen",
"edt_conf_enum_dl_verbose": "sehr detailiert",
"edt_conf_enum_dl_verbose": "sehr detailliert",
"edt_conf_enum_dl_verbose1": "Stufe 1",
"edt_conf_enum_dl_verbose2": "Stufe 2",
"edt_conf_enum_dl_verbose3": "Stufe 3",
@ -297,16 +297,16 @@
"edt_conf_fbs_timeout_expl": "Wenn für die angegebene Zeit keine Daten empfangen werden, wird die Komponente (vorübergehend) deaktiviert",
"edt_conf_fbs_timeout_title": "Zeitüberschreitung",
"edt_conf_fg_device_title": "Device",
"edt_conf_fg_display_expl": "Gebe an von welchem Desktop aufgenommen werden soll. (Multi Monitor Setup)",
"edt_conf_fg_display_expl": "Gebe an, von welchem Desktop aufgenommen werden soll. (Multi Monitor Setup)",
"edt_conf_fg_display_title": "Display",
"edt_conf_fg_frequency_Hz_expl": "Wie schnell neue Bilder aufgenommen werden.",
"edt_conf_fg_frequency_Hz_expl": "Wie schnell werden neue Bilder aufgenommen.",
"edt_conf_fg_frequency_Hz_title": "Aufnahmefrequenz",
"edt_conf_fg_heading_title": "Plattform Aufnahme",
"edt_conf_fg_height_expl": "Verkleinere Bild auf dieser Höhe, da das Rohmaterial viel Leistung benötigen würde.",
"edt_conf_fg_height_title": "Höhe",
"edt_conf_fg_pixelDecimation_expl": "Bildverkleinerung (Faktor) ausgehend von der original Größe. 1 für unveränderte/originale Größe.",
"edt_conf_fg_pixelDecimation_expl": "Bildverkleinerung (Faktor) ausgehend von der ursprünglichen Größe. 1 für die unveränderte/ursprüngliche Größe.",
"edt_conf_fg_pixelDecimation_title": "Bildverkleinerung Faktor",
"edt_conf_fg_type_expl": "Art der Plattform Aufnahme, standard ist 'auto'",
"edt_conf_fg_type_expl": "Art der Plattform Aufnahme; Standard ist 'auto'",
"edt_conf_fg_type_title": "Typ",
"edt_conf_fg_width_expl": "Verkleinere Bild auf dieser Breite, da das Rohmaterial viel Leistung benötigen würde.",
"edt_conf_fg_width_title": "Breite",
@ -341,27 +341,27 @@
"edt_conf_general_priority_title": "Priorität",
"edt_conf_instC_systemEnable_expl": "Aktiviert die Plattform Aufnahme für diese LED Hardware Instanz.",
"edt_conf_instC_systemEnable_title": "Aktiviere Plattform Aufnahme",
"edt_conf_instC_v4lEnable_expl": "Aktiviert die USB Aufnahme für diese LED Hardware Instanz.",
"edt_conf_instC_v4lEnable_title": "Aktiviere USB Aufnahme",
"edt_conf_instC_v4lEnable_expl": "Aktiviert die USB Aufnahme für diese LED -Hardware Instanz.",
"edt_conf_instC_v4lEnable_title": "Aktiviere USB-Aufnahme",
"edt_conf_instCapture_heading_title": "Instance Aufnahme",
"edt_conf_js_heading_title": "JSON Server",
"edt_conf_log_heading_title": "Protokoll",
"edt_conf_log_level_expl": "Abhängig der Stufe sind weniger oder mehr Meldungen sichtbar.",
"edt_conf_log_level_title": "Protokollstufe",
"edt_conf_net_apiAuth_expl": "Zwinge alle Anwendungen welche die Hyperion API nutzen sich zu authentifizieren. Aktivieren für höhere Sicherheit, da nun jede neue Anwendung einmalig von dir bestätigt werden muss.",
"edt_conf_net_apiAuth_title": "API Authentifizierung",
"edt_conf_net_apiAuth_expl": "Zwinge alle Anwendungen, welche die Hyperion API nutzen sich zu authentifizieren. Aktivieren für höhere Sicherheit, da nun jede neue Anwendung einmalig von dir bestätigt werden muss.",
"edt_conf_net_apiAuth_title": "API-Authentifizierung",
"edt_conf_net_heading_title": "Network",
"edt_conf_net_internetAccessAPI_expl": "Erlaube Zugriff auf die Hyperion API/Webinterface aus dem Internet, deaktivieren für höhere Sicherheit.",
"edt_conf_net_internetAccessAPI_title": "Internet API Zugriff",
"edt_conf_net_ipWhitelist_expl": "Anstatt den Zugriff für alle Verbindungen aus dem Internet zu erlauben kannst du hier Ausnahmen für zugelassene IP Adressen hinzufügen.",
"edt_conf_net_ipWhitelist_title": "Erlaubte IP's",
"edt_conf_net_internetAccessAPI_expl": "Erlaube Zugriff auf das Hyperion API/Webinterface über das Internet. Deaktiviere den Zugriff für höhere Sicherheit.",
"edt_conf_net_internetAccessAPI_title": "Internet API-Zugriff",
"edt_conf_net_ipWhitelist_expl": "Anstatt den Zugriff für alle Verbindungen aus dem Internet zu erlauben kannst du hier Ausnahmen für zugelassene IP-Adressen hinzufügen.",
"edt_conf_net_ipWhitelist_title": "Erlaubte IP-Adressen",
"edt_conf_net_ip_itemtitle": "IP",
"edt_conf_net_localAdminAuth_expl": "Wenn aktiviert, muss der Administrationszugriff aus dem Heimnetzwerk mit einem Passwort authentifiziert werden.",
"edt_conf_net_localAdminAuth_title": "Lokale Admin Authentifizierung",
"edt_conf_net_localApiAuth_expl": "Wenn aktiviert, müssen Verbindungen aus dem Heimnetzwerk mit einem Token authentifiziert werden.",
"edt_conf_net_localApiAuth_title": "Lokale API Authentifizierung",
"edt_conf_net_restirctedInternetAccessAPI_expl": "Den Zugriff auf die API durch das Internet auf bestimmte IP's beschränken",
"edt_conf_net_restirctedInternetAccessAPI_title": "Auf IP's beschränken",
"edt_conf_net_localApiAuth_title": "Lokale API-Authentifizierung",
"edt_conf_net_restirctedInternetAccessAPI_expl": "Den Zugriff auf die API über das Internet auf bestimmte IP-Adressen beschränken",
"edt_conf_net_restirctedInternetAccessAPI_title": "Auf IP-Adressen beschränken",
"edt_conf_pbs_heading_title": "Protocol Buffers Server",
"edt_conf_pbs_timeout_expl": "Wenn für die angegebene Zeit keine Daten empfangen werden, wird die Komponente (vorübergehend) deaktiviert",
"edt_conf_pbs_timeout_title": "Zeitüberschreitung",
@ -374,11 +374,11 @@
"edt_conf_smooth_type_title": "Art",
"edt_conf_smooth_updateDelay_expl": "Verzögere die Ausgabe, sollte dein ambient light schneller sein als dein TV.",
"edt_conf_smooth_updateDelay_title": "Aktualisierungsverzögerung",
"edt_conf_smooth_updateFrequency_expl": "Die Geschwindigkeit der Datenausgabe an die LED Steuerung.",
"edt_conf_smooth_updateFrequency_expl": "Die Geschwindigkeit der Datenausgabe an die LED-Steuerung.",
"edt_conf_smooth_updateFrequency_title": "Aktualisierungsfrequenz",
"edt_conf_v4l2_blueSignalThreshold_expl": "Je höher die blaue Schwelle je eher wird abgeschalten bei entsprechendem blau-Anteil.",
"edt_conf_v4l2_blueSignalThreshold_title": "Blaue Signalschwelle",
"edt_conf_v4l2_cecDetection_expl": "Die USB-Erfassung wird vorübergehend deaktiviert, wenn ein CEC-Standby-Ereignis vom HDMI-Bus empfangen wird.",
"edt_conf_v4l2_blueSignalThreshold_expl": "Je höher der Blauwert ist, je eher wird bei entsprechendem Blauanteil abgeschaltet.",
"edt_conf_v4l2_blueSignalThreshold_title": "Schwelle Blauwert",
"edt_conf_v4l2_cecDetection_expl": "Die USB-Erfassung wird vorübergehend deaktiviert, wenn ein CEC-Standby-Signal vom HDMI-Bus empfangen wird.",
"edt_conf_v4l2_cecDetection_title": "CEC-Erkennung",
"edt_conf_v4l2_cropBottom_expl": "Anzahl der Pixel auf der unteren Seite die vom Bild entfernt werden.",
"edt_conf_v4l2_cropBottom_title": "Entferne unten",
@ -392,24 +392,24 @@
"edt_conf_v4l2_device_title": "Gerät",
"edt_conf_v4l2_framerate_expl": "Die unterstützten Bilder pro Sekunde des aktiven Gerätes. Auf 'Automatisch' wird der gewählte Modus vom v4l interface beibehalten.",
"edt_conf_v4l2_framerate_title": "Bilder pro Sekunde",
"edt_conf_v4l2_greenSignalThreshold_expl": "Je höher die grüne Schwelle je eher wird abgeschalten bei entsprechendem grün-Anteil.",
"edt_conf_v4l2_greenSignalThreshold_title": "Grüne Signalschwelle",
"edt_conf_v4l2_greenSignalThreshold_expl": "Je höher der Grünwert ist, je eher wird bei entsprechendem Grünanteil abgeschaltet..",
"edt_conf_v4l2_greenSignalThreshold_title": "Schwelle Grünwert",
"edt_conf_v4l2_heading_title": "USB Aufnahme",
"edt_conf_v4l2_input_expl": "Wähle den Videoeingang deines Gerätes. Auf 'Automatisch' wird der Videoeingang vom v4l interface beibehalten.",
"edt_conf_v4l2_input_title": "Eingang",
"edt_conf_v4l2_redSignalThreshold_expl": "Je höher die rote Schwelle je eher wird abgeschalten bei entsprechendem rot-Anteil.",
"edt_conf_v4l2_redSignalThreshold_title": "Rote Signalschwelle",
"edt_conf_v4l2_redSignalThreshold_expl": "Je höher der Rotwert ist, je eher wird bei entsprechendem Rotanteil abgeschaltet.",
"edt_conf_v4l2_redSignalThreshold_title": "Schwelle Rotwert",
"edt_conf_v4l2_resolution_expl": "Eine Liste von unterstützten Auflösungen des aktiven Gerätes. Auf 'Automatisch' wird der gewählte Modus vom v4l interface beibehalten.",
"edt_conf_v4l2_resolution_title": "Auflösung",
"edt_conf_v4l2_sDHOffsetMax_expl": "Signal Erkennungs-Bereich horizontal maximum (0.0-1.0)",
"edt_conf_v4l2_sDHOffsetMax_expl": "Signal Erkennungsbereich horizontales Maximum (0.0-1.0)",
"edt_conf_v4l2_sDHOffsetMax_title": "Signal Erkennung HMax",
"edt_conf_v4l2_sDHOffsetMin_expl": "Signal Erkennungs-Bereich horizontal minimum (0.0-1.0)",
"edt_conf_v4l2_sDHOffsetMin_expl": "Signal Erkennungsbereich horizontales Minimum (0.0-1.0)",
"edt_conf_v4l2_sDHOffsetMin_title": "Signal Erkennung HMin",
"edt_conf_v4l2_sDVOffsetMax_expl": "Signal Erkennungs-Bereich vertikal maximum (0.0-1.0)",
"edt_conf_v4l2_sDVOffsetMax_expl": "Signal Erkennungbereich vertikales Maximum (0.0-1.0)",
"edt_conf_v4l2_sDVOffsetMax_title": "Signal Erkennung VMax",
"edt_conf_v4l2_sDVOffsetMin_expl": "Signal Erkennungs-Bereich vertikal minimum (0.0-1.0)",
"edt_conf_v4l2_sDVOffsetMin_expl": "Signal Erkennungsbereich vertikales Minimum (0.0-1.0)",
"edt_conf_v4l2_sDVOffsetMin_title": "Signal Erkennung VMin",
"edt_conf_v4l2_signalDetection_expl": "Wenn aktiviert, wird die USB Aufnahme temporär bei \"kein Signal\" abgeschalten. Das Bild muss dazu 4 Sekunden lang unter die Schwellwerte fallen.",
"edt_conf_v4l2_signalDetection_expl": "Die USB-Aufnahme temporär abgeschaltet, wenn kein Signal anliegt. Das Bild muss dazu 4 Sekunden lang unter den Schwellwerten sein.",
"edt_conf_v4l2_signalDetection_title": "Signal Erkennung",
"edt_conf_v4l2_sizeDecimation_expl": "Der Faktor der Bildverkleinerung ausgehend von der ursprünglichen Größe, 1 bedeutet keine Änderung (originales Bild).",
"edt_conf_v4l2_sizeDecimation_title": "Bildverkleinerung Faktor",
@ -424,12 +424,12 @@
"edt_conf_webc_keyPassPhrase_title": "Schlüsselpasswort",
"edt_conf_webc_keyPath_expl": "Pfad zum privaten Schlüssel (Format in PEM, verschlüsselt mit RSA)",
"edt_conf_webc_keyPath_title": "Schlüssel-Pfad",
"edt_conf_webc_sslport_expl": "Port des HTTPS webservers",
"edt_conf_webc_sslport_expl": "Port des HTTPS-Webservers",
"edt_conf_webc_sslport_title": "HTTPS Port",
"edt_dev_auth_key_title": "Authentisierungstoken",
"edt_dev_enum_sub_min_cool_adjust": "Minimale Anpassung: cool",
"edt_dev_enum_sub_min_warm_adjust": "Minimale Anpassung: warm",
"edt_dev_enum_subtract_minimum": "Subtrahiere minimum",
"edt_dev_enum_subtract_minimum": "Subtrahiere Minimum",
"edt_dev_enum_white_off": "Weiß ist aus",
"edt_dev_general_colorOrder_title": "RGB Byte Reihenfolge",
"edt_dev_general_hardwareLedCount_title": "Anzahl Hardware LEDs",
@ -437,8 +437,8 @@
"edt_dev_general_name_title": "Name der Konfiguration",
"edt_dev_general_rewriteTime_title": "Aktualisierungszeit",
"edt_dev_spec_FCledToOn_title": "Fadecandy LEDs set to on",
"edt_dev_spec_FCmanualControl_title": "Manuelle Steuerung der fadecandy LEDs",
"edt_dev_spec_FCsetConfig_title": "Wende fadecandy Konfiguration an",
"edt_dev_spec_FCmanualControl_title": "Manuelle Steuerung der Fadecandy LEDs",
"edt_dev_spec_FCsetConfig_title": "Wende Fadecandy Konfiguration an",
"edt_dev_spec_LBap102Mode_title": "LightBerry APA102 Modus",
"edt_dev_spec_PBFiFo_title": "Pi-Blaster FiFo",
"edt_dev_spec_baudrate_title": "Baudrate",
@ -451,7 +451,7 @@
"edt_dev_spec_cid_title": "CID",
"edt_dev_spec_clientKey_title": "Clientkey",
"edt_dev_spec_colorComponent_title": "Farbkomponente",
"edt_dev_spec_debugLevel_title": "Streamer Verbindung Debug Stufe",
"edt_dev_spec_debugLevel_title": "Debug Stufe",
"edt_dev_spec_debugStreamer_title": "Streamer Debugging",
"edt_dev_spec_delayAfterConnect_title": "Verzögerung nach Verbindung",
"edt_dev_spec_dithering_title": "Dithering",
@ -466,10 +466,12 @@
"edt_dev_spec_intervall_title": "Intervall",
"edt_dev_spec_invert_title": "Invertiere Signal",
"edt_dev_spec_latchtime_title": "Sperrzeit",
"edt_dev_spec_ledIndex_title": "LED index",
"edt_dev_spec_ledType_title": "LED typ",
"edt_dev_spec_globalBrightnessControlMaxLevel_title": "Maximalstufe Stromstärke",
"edt_dev_spec_globalBrightnessControlThreshold_title": "Grenzwert für adaptive Stromstärke",
"edt_dev_spec_ledIndex_title": "LED-Index",
"edt_dev_spec_ledType_title": "LED-Typ",
"edt_dev_spec_lightid_itemtitle": "ID",
"edt_dev_spec_lightid_title": "Lampen ID(s)",
"edt_dev_spec_lightid_title": "Lampen-ID(s)",
"edt_dev_spec_lights_itemtitle": "Lampe",
"edt_dev_spec_lights_name": "Name",
"edt_dev_spec_lights_title": "Lampe(n)",
@ -479,7 +481,7 @@
"edt_dev_spec_networkDeviceName_title": "Gerätename im Netzwerk",
"edt_dev_spec_networkDevicePort_title": "Port",
"edt_dev_spec_numberOfLeds_title": "Anzahl der LEDs",
"edt_dev_spec_orbIds_title": "Orb ID(s)",
"edt_dev_spec_orbIds_title": "Orb-ID(s)",
"edt_dev_spec_order_left_right_title": "2.",
"edt_dev_spec_order_top_down_title": "1.",
"edt_dev_spec_outputPath_title": "Ausgabepfad",
@ -497,8 +499,8 @@
"edt_dev_spec_sslReadTimeout_title": "Streamer lese Timeout",
"edt_dev_spec_switchOffOnBlack_title": "Aus bei schwarz",
"edt_dev_spec_switchOffOnbelowMinBrightness_title": "Aus bei Minimum",
"edt_dev_spec_targetIpHost_title": "Ziel IP/Rechnername",
"edt_dev_spec_targetIp_title": "Ziel IP",
"edt_dev_spec_targetIpHost_title": "Ziel IP-Adresse/Rechnername",
"edt_dev_spec_targetIp_title": "Ziel IP-Adresse",
"edt_dev_spec_transeffect_title": "Übergangseffekt",
"edt_dev_spec_transistionTimeExtra_title": "Extra Übergangszeit bei Schwarz",
"edt_dev_spec_transistionTime_title": "Übergangszeit",
@ -548,10 +550,10 @@
"edt_eff_enableshutdown": "Echtes herunterfahren",
"edt_eff_enum_all": "Alle",
"edt_eff_enum_all-together": "Alle zusammen",
"edt_eff_enum_list": "LED Liste",
"edt_eff_enum_list": "LED-Liste",
"edt_eff_explodeRadius": "Detonationsreichweite",
"edt_eff_fade_header": "Farbübergang",
"edt_eff_fade_header_desc": "Farbübergange für alle LED's",
"edt_eff_fade_header_desc": "Farbübergänge für alle LEDs",
"edt_eff_fadefactor": "Verblass Faktor",
"edt_eff_fadeintime": "Zeit für Einblendung",
"edt_eff_fadeouttime": "Zeit für Ausblendung",
@ -559,7 +561,7 @@
"edt_eff_flag_header_desc": "Verpasse deinen LEDs die Farben deines Landes. Du kannst mehr als eine Flagge auswählen, je nach Intervall werden diese dann abwechselnd angezeigt.",
"edt_eff_fps": "Bilder pro Sekunde",
"edt_eff_frequency": "Frequenz",
"edt_eff_gif_header": "GIF's",
"edt_eff_gif_header": "GIFs",
"edt_eff_gif_header_desc": "Dieser Effekt spielt .gif Dateien ab. Bietet die Möglichkeit kleine GIF-Videos abzuspielen.",
"edt_eff_height": "Höhe",
"edt_eff_huechange": "Farbänderung",
@ -567,13 +569,13 @@
"edt_eff_interval": "Intervall",
"edt_eff_knightrider_header": "Knight Rider",
"edt_eff_knightrider_header_desc": "K.I.T.T ist zurück! Der Front-Scanner des bekannten Autos, diesmal nicht nur in rot.",
"edt_eff_ledlist": "LED Liste",
"edt_eff_ledtest_header": "Led Test",
"edt_eff_ledlist": "LED-Liste",
"edt_eff_ledtest_header": "LED-Test",
"edt_eff_ledtest_header_desc": "Rotierende Ausgabe von Rot, Grün, Blau, Weiß und Schwarz",
"edt_eff_length": "Länge",
"edt_eff_lightclock_header": "Lichtuhr",
"edt_eff_lightclock_header_desc": "Eine echte Uhr als Licht! Passe die Farben von Stunden, Minuten, Sekunden deinen Vorstellungen an. Optional können 3/6/9/12 Uhr Markierungen aktiviert werden. Sollte die Uhr eine falsche Zeit anzeigen, überprüfe die Uhrzeit deines Systems.",
"edt_eff_maintain_end_color": "Behalte Endfarbe",
"edt_eff_maintain_end_color": "Behalte die Endfarbe",
"edt_eff_margin": "Abstand",
"edt_eff_markerDepth": "Marker Tiefe",
"edt_eff_markerEnable": "Zeige Marker",
@ -581,17 +583,17 @@
"edt_eff_max_len": "Maximale Länge",
"edt_eff_min_len": "Minimale Länge",
"edt_eff_moodblobs_header": "Stimmungskugeln",
"edt_eff_moodblobs_header_desc": "Entspannt den Abend beginnen mit langsam bewegenden Farbkugeln die ebenso sanft ihre Farbe verändern.",
"edt_eff_moodblobs_header_desc": "Entspannt den Abend beginnen mit langsam bewegenden Farbkugeln, die sanft ihre Farbe verändern.",
"edt_eff_offset": "Verschiebung",
"edt_eff_pacman_header": "Pac-Man",
"edt_eff_pacman_header_desc": "Klein gefräßig und gelb, wer wird überleben?",
"edt_eff_plasma_header": "Plasma",
"edt_eff_plasma_header_desc": "Farbverzerrungen in verschiedenen Richtungen",
"edt_eff_police_header": "Polizei",
"edt_eff_police_header_desc": "Lights like a police car in action",
"edt_eff_police_header_desc": "Blaulicht (Blau/Rot)",
"edt_eff_postcolor": "Startfarbe",
"edt_eff_rainbowmood_header": "Regenbogen",
"edt_eff_rainbowmood_header_desc": "Alle LEDs Regenbogen Farbübergang",
"edt_eff_rainbowmood_header_desc": "Regenbogen Farbübergang über alle LEDs",
"edt_eff_randomCenter": "Zufälliger Mittelpunkt",
"edt_eff_random_header": "Zufällig",
"edt_eff_random_header_desc": "Pixel-Farb-Mix",
@ -620,7 +622,7 @@
"edt_eff_trails_header": "Sternschnuppen",
"edt_eff_trails_header_desc": "In verschiedenen Farben, wünsch dir was!",
"edt_eff_waves_header": "Wellen",
"edt_eff_waves_header_desc": "Gestalte Wellen aus Farbe! Mische dazu deine lieblings Farben und wähle einen Mittelpunkt.",
"edt_eff_waves_header_desc": "Gestalte Wellen aus Farbe! Mische dazu deine Lieblingsfarben und wähle einen Mittelpunkt.",
"edt_eff_whichleds": "Welche LEDs",
"edt_eff_whitelevel": "Weißstufe",
"edt_eff_x-mas_header": "Weihnachten",
@ -629,8 +631,8 @@
"edt_msg_button_collapse": "Einklappen",
"edt_msg_button_delete_all": "Alle",
"edt_msg_button_delete_all_title": "Alle löschen",
"edt_msg_button_delete_last": "Letzes $1-Element",
"edt_msg_button_delete_last_title": "Letzes $1-Element löschen",
"edt_msg_button_delete_last": "Letztes $1-Element",
"edt_msg_button_delete_last_title": "Letztes $1-Element löschen",
"edt_msg_button_delete_row_title": "$1 Löschen",
"edt_msg_button_delete_row_title_short": "Löschen",
"edt_msg_button_expand": "Ausklappen",
@ -705,10 +707,10 @@
"general_comp_FLATBUFSERVER": "Flatbuffers Server",
"general_comp_FORWARDER": "Weiterleitung",
"general_comp_GRABBER": "Plattform Aufnahme",
"general_comp_LEDDEVICE": "LED Hardware",
"general_comp_LEDDEVICE": "LED-Hardware",
"general_comp_PROTOSERVER": "Protocol Buffers Server",
"general_comp_SMOOTHING": "Glättung",
"general_comp_V4L": "USB Aufnahme",
"general_comp_V4L": "USB-Aufnahme",
"general_country_de": "Deutschland",
"general_country_es": "Spanien",
"general_country_fr": "Frankreich",
@ -738,30 +740,30 @@
"infoDialog_general_warning_title": "Warnung",
"infoDialog_import_comperror_text": "Dein Browser unterstützt leider keinen Import. Bitte versuche es mit einem anderen Browser erneut.",
"infoDialog_import_confirm_text": "Bist du sicher, dass du die Konfigurations-Datei \"$1\" importieren möchtest? Diese Aktion kann nicht rückgängig gemacht werden!",
"infoDialog_import_confirm_title": "Bestätige Import",
"infoDialog_import_confirm_title": "Bestätige den Import",
"infoDialog_import_hyperror_text": "Die ausgewählte Konfigurations-Datei \"$1\" kann nicht importiert werden. Sie ist nicht kompatibel mit Hyperion 2.0 und höher!",
"infoDialog_import_jsonerror_text": "Die ausgewählte Konfigurations-Datei \"$1\" ist keine .json Datei oder ist beschädigt! Fehlermeldung: ($2)",
"infoDialog_import_jsonerror_text": "Die ausgewählte Konfigurationsdatei \"$1\" ist nicht im JSON-Format oder ist beschädigt! Fehlermeldung: ($2)",
"infoDialog_wizrgb_text": "Deine RGB Byte Reihenfolge ist bereits richtig eingestellt.",
"infoDialog_writeconf_error_text": "Das speichern der Konfiguration ist fehlgeschlagen.",
"infoDialog_writeconf_error_text": "Das Speichern der Konfiguration ist fehlgeschlagen.",
"infoDialog_writeimage_error_text": "Die ausgewählte Datei \"$1\" ist keine Bilddatei oder ist beschädigt! Bitte wähle eine andere Bilddatei aus.",
"info_404": "Die angeforderte Seite ist nicht verfügbar!",
"info_conlost_label_autorecon": "Du wirst verbunden, sobald Hyperion wieder verfügbar ist.",
"info_conlost_label_autorefresh": "Diese Seite wird automatisch aktualisiert.",
"info_conlost_label_reason": "Mögliche Ursachen:",
"info_conlost_label_reason1": "- Schlechte WLAN Verbindung",
"info_conlost_label_reason1": "- Schlechte WLAN-Verbindung",
"info_conlost_label_reason2": "- Ein Update wird durchgeführt",
"info_conlost_label_reason3": "- Hyperion wird nicht mehr ausgeführt",
"info_conlost_label_reload": "Automatisches verbinden gestoppt - limit überschritten. Lade die Seite neu oder klick mich.",
"info_conlost_label_reload": "Automatisches verbinden gestoppt - Limit überschritten. Lade die Seite neu oder klick mich.",
"info_conlost_label_title": "Verbindung zum Hyperion Service unterbrochen!",
"info_restart_contus": "Solltest du nach 20 Sekunden immer noch hier sein, ist etwas schief gelaufen. Öffne bitte in unserem Support Forum ein neues Thema...",
"info_restart_contus": "Solltest du nach 20 Sekunden immer noch hier sein, ist etwas schiefgelaufen. Öffne bitte in unserem Support Forum ein neues Thema...",
"info_restart_contusa": "...mit deinen letztes Schritten. Danke!",
"info_restart_rightback": "Hyperion ist gleich wieder für dich da!",
"info_restart_title": "Startet gerade neu...",
"main_ledsim_btn_togglelednumber": "LED Nummern",
"main_ledsim_btn_toggleleds": "Zeige LEDs",
"main_ledsim_btn_togglelivevideo": "Live Video",
"main_ledsim_text": "Eine live Visualisierung deiner LED Farben, sofern verfügbar kann ein live Video dazugeschalten werden.",
"main_ledsim_title": "LED Visualisierung",
"main_ledsim_text": "Eine live Visualisierung deiner LED-Farben und Vorschau des erfassten Videosignals.",
"main_ledsim_title": "LED-Visualisierung",
"main_menu_about_token": "Über Hyperion",
"main_menu_colors_conf_token": "Bildverarbeitung",
"main_menu_configuration_token": "Konfiguration",
@ -771,7 +773,7 @@
"main_menu_general_conf_token": "Allgemein",
"main_menu_grabber_conf_token": "Aufnahme Hardware",
"main_menu_input_selection_token": "Eingabeauswahl",
"main_menu_leds_conf_token": "LED Hardware",
"main_menu_leds_conf_token": "LED-Hardware",
"main_menu_logging_token": "Protokoll",
"main_menu_network_conf_token": "Netzwerk",
"main_menu_remotecontrol_token": "Fernbedienung",
@ -791,7 +793,7 @@
"remote_effects_label_picture": "Bild:",
"remote_input_clearall": "Lösche alle Effekte/Farben",
"remote_input_duration": "Dauer:",
"remote_input_intro": "Hyperion nutzt ein Prioritätensystem um die Quelle zu wählen. Alles was du setzt hat eine Priorität (Effekte/Farben/Plattform Aufnahme/USB Aufnahme und Netzwerkquellen). Standardmäßig nutzt Hyperion die Quelle mit der niedrigsten Priorität. Hier kannst du aktiv Einfluss darauf nehmen. $1",
"remote_input_intro": "Hyperion nutzt ein Prioritätensystem, um die Quelle zu wählen. Alles was du setzt hat eine Priorität (Effekte,Farben,Plattform Aufnahme,USB Aufnahme und Netzwerkquellen). Standardmäßig nutzt Hyperion die Quelle mit der niedrigsten Priorität. Hier kannst du aktiv Einfluss darauf nehmen. $1",
"remote_input_ip": "IP:",
"remote_input_label": "Quellenauswahl",
"remote_input_label_autoselect": "Automatische Auswahl",
@ -802,7 +804,7 @@
"remote_input_sourceactiv_btn": "Quelle aktiv",
"remote_input_status": "Status/Aktion",
"remote_losthint": "Notiz: Alle Änderungen gehen nach einem Neustart verloren.",
"remote_maptype_intro": "Für gewöhnlich entscheidet dein LED Layout welchen Bildbereich welche LED bekommt, dies kann hier geändert werden. $1",
"remote_maptype_intro": "Für gewöhnlich entscheidet dein LED-Layout welcher Bildbereich welche LED zugewiesen bekommt, dies kann hier geändert werden. $1",
"remote_maptype_label": "LED-Bereich Zuordnung",
"remote_maptype_label_multicolor_mean": "Mehrfarbig",
"remote_maptype_label_unicolor_mean": "Einfarbig",
@ -811,11 +813,11 @@
"remote_videoMode_2D": "2D",
"remote_videoMode_3DSBS": "3DSBS",
"remote_videoMode_3DTAB": "3DTAB",
"remote_videoMode_intro": "Wähle zwischen verschiedenen Video Modi um neben 2D auch 3D Filme zu genießen. Unterstützt werden alle Aufnahmearten. $1",
"remote_videoMode_intro": "Wähle zwischen verschiedenen Video Modi, um neben 2D auch 3D Filme zu genießen. Unterstützt werden alle Aufnahmearten. $1",
"remote_videoMode_label": "Video Modus",
"support_label_affinstr1": "Klicke auf den Link deines Landes",
"support_label_affinstr2": "Kaufe wie gewohnt ein, abhängig von deinem Umsatz bekommen wir eine kleine Provision",
"support_label_affinstr3": "Du zahlst immer den selben Preis. Teste es!",
"support_label_affinstr3": "Du zahlst immer denselben Preis. Teste es!",
"support_label_btctext": "Adresse:",
"support_label_donate": "Spende oder nutze unsere Affiliate Links",
"support_label_donationpp": "Spende:",
@ -823,33 +825,33 @@
"support_label_forumtext": "Diskussion und Hilfestellung von der Community",
"support_label_forumtitle": "Forum",
"support_label_ggtext": "Platziere uns in deinen Kreisen auf Google+",
"support_label_ghtext": "Besuche uns auf Github",
"support_label_ghtext": "Besuche uns auf GitHub",
"support_label_igtext": "Schau doch mal bei Instagram vorbei!",
"support_label_intro": "Hyperion ist ein kostenloses Open Source Projekt und ein kleines Team arbeitet an seiner Weiterentwicklung. Darum benötigen wir DEINE Unterstützung um weiter in bessere Infrastruktur und Weiterentwicklung investieren zu können.",
"support_label_intro": "Hyperion ist ein kostenloses Open Source Projekt und ein kleines Team arbeitet an seiner Weiterentwicklung. Darum benötigen wir DEINE Unterstützung, um weiter in bessere Infrastruktur und Weiterentwicklung investieren zu können.",
"support_label_spreadtheword": "Weitersagen!",
"support_label_title": "Unterstütze Hyperion",
"support_label_twtext": "Nutze die 140 Zeichen und bleibe auf dem Laufenden auch auf Twitter",
"support_label_webpagetext": "Das Zuhause von Hyperion",
"support_label_webpagetitle": "Internetseite",
"support_label_webrestitle": "Informationsquellen und Hilfe",
"support_label_wikitext": "Von A bis Z - Alles wissenwerte zu Hyperion",
"support_label_wikitext": "Von A bis Z - Alles wissenswerte zu Hyperion",
"support_label_wikititle": "Wiki",
"support_label_yttext": "Gelangweilt von Bildern? Werfe einen Blick auf unsere Youtube Videos",
"support_label_yttext": "Gelangweilt von Bildern? Wirf einen Blick auf unsere YouTube Videos",
"update_button_changelog": "Zeige Änderungsprotokoll",
"update_button_install": "Installieren",
"update_error_getting_versions": "Wir hatten Probleme die verfügbaren Versionen zu ermitteln.",
"update_label_description": "Beschreibung:",
"update_label_intro": "Diese Seite zeigt dir alle verfügbaren Versionen von Hyperion, du kannst nach Belieben eine aktuellere Version installieren oder eine Ältere. Die aktuellsten Versionen befinden sich immer oben.",
"update_label_intro": "Diese Seite zeigt dir alle verfügbaren Versionen von Hyperion, du kannst nach Belieben eine aktuellere Version installieren oder eine Ältere. Die aktuellen Versionen befinden sich immer oben.",
"update_label_type": "Art:",
"update_no_updates_for_branch": "Keine Updates für ausgewählten Channel verfügbar.",
"update_versreminder": "Deine Version: $1",
"wiz_atmoorb_desc2": "Nun kannst du auswählen, welche der Orbs hinzugefügt werden sollen. Mit der Position wählst du aus, wo die jeweilige Lampe \"im Bild\" sitzen soll. Deaktivierte Lampen werden nicht hinzugefügt. Als Hilfe zur Identifizierung kannst du sie mit einem Klick auf den rechten Button kurz aufleuchten lassen.",
"wiz_atmoorb_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für AtmoOrb. Zu den Funktionen zählen ein automatisches finden der AtmoOrbs, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.",
"wiz_atmoorb_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für AtmoOrb. Zu den Funktionen zählen ein automatisches Finden der AtmoOrbs, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.",
"wiz_atmoorb_noLights": "Es wurden keine AtmoOrbs gefunden! Bitte verbinde die AtmoOrbs mit dem Netzwerk oder konfiguriere sie manuell.",
"wiz_atmoorb_title": "AtmoOrb Einrichtungsassistent",
"wiz_cc_adjustgamma": "Gamma: Was du jetzt tun musst ist, jeden Gamma-Kanal so einstellen, dass der \"Grauverlauf\" auf den LEDs nicht grünlich/rötlich/bläulich aussieht. Neutral ist übrigens 1.0. Beispiel: Sollte dein grau etwas rötlich sein bedeutet dies, dass du dein Gamma für Rot erhöhen musst um den Rot-Anteil zu verringern (Je mehr Gamma, desto weniger Farbe).",
"wiz_cc_adjustit": "Verändere dein \"$1\", bis du zufrieden bist. Beachte: Je mehr du reduzierst bzw von dem Standardwert abweichst, je mehr veränderst du den maximalen Farbraum, was alle Farben die daraus abgeleitet werden ebenfalls betrifft. Je nach TV/LED Farbspektrum sind die Ergebnisse unterschiedlich.",
"wiz_cc_backlight": "Zusätzlich kannst du eine Hintergrundbeluchtung einstellen, um \"irritierende Farben\" bei fast schwarzem Bild zu vermeiden oder du den Wechsel zwischen Farbe und Aus als zu anstrengend empfindest. Zusätzlich kann bestimmt werden, ob diese farbig oder nur weiß sein soll. Wird automatisch deaktiviert im Zustand \"Aus\" sowie bei \"Farbe\" und \"Effekt\".",
"wiz_cc_adjustgamma": "Gamma: Was du jetzt tun musst ist, jeden Gamma-Kanal so einstellen, dass der \"Grauverlauf\" auf den LEDs nicht grünlich/rötlich/bläulich aussieht. Neutral ist übrigens 1.0. Beispiel: Sollte dein grau etwas rötlich sein bedeutet dies, dass du dein Gamma für Rot erhöhen musst, um den Rot-Anteil zu verringern (Je mehr Gamma, desto weniger Farbe).",
"wiz_cc_adjustit": "Verändere dein \"$1\", bis du zufrieden bist. Beachte: Je mehr du reduzierst bzw. von dem Standardwert abweichst, je mehr veränderst du den maximalen Farbraum. Das betrifft alle Farben, die daraus abgeleitet werden. Je nach TV/LED Farbspektrum sind die Ergebnisse unterschiedlich.",
"wiz_cc_backlight": "Zusätzlich kannst du eine Hintergrundbeleuchtung einstellen, um \"irritierende Farben\" bei fast schwarzem Bild zu vermeiden oder du den Wechsel zwischen Farbe und Aus als zu anstrengend empfindest. Zusätzlich kann bestimmt werden, ob diese farbig oder nur weiß sein soll. Wird automatisch deaktiviert im Zustand \"Aus\" sowie bei \"Farbe\" und \"Effekt\".",
"wiz_cc_btn_stop": "Stoppe Video",
"wiz_cc_btn_switchpic": "Testbild ändern",
"wiz_cc_chooseid": "Wähle einen Namen für dieses Farb-Profil.",
@ -859,40 +861,40 @@
"wiz_cc_kodidisconlink": "Download Link Bilder:",
"wiz_cc_kodimsg_start": "Test bestanden - Zeit zu beginnen",
"wiz_cc_kodishould": "Kodi sollte jetzt folgendes Bild anzeigen: $1",
"wiz_cc_kwebs": "Kodi Webserver (IP:Port)",
"wiz_cc_kwebs": "Kodi Webserver (IP-Adresse:Port)",
"wiz_cc_lettvshow": "Lass dabei deinen Fernseher folgendes Bild anzeigen: $1",
"wiz_cc_lettvshowm": "Überprüfe dies mithilfe folgender Bildern: $1",
"wiz_cc_lettvshowm": "Überprüfe dies mithilfe folgender Bilder: $1",
"wiz_cc_link": "Klick mich",
"wiz_cc_morethanone": "Du hast mehr als 1 Profil, bitte wähle das zu kalibrierende Profil",
"wiz_cc_summary": "Im folgenden eine Zusammenfassung deiner Einstellungen. Während du ein Video abspielst, kannst du hier weiter ausprobieren. Wenn du fertig bist, klicke auf speichern.",
"wiz_cc_summary": "Im Folgenden eine Zusammenfassung deiner Einstellungen. Während du ein Video abspielst, kannst du hier weiter ausprobieren. Wenn du fertig bist, klicke auf Speichern.",
"wiz_cc_testintro": "Nun ist es an der Zeit für einen Testlauf.",
"wiz_cc_testintrok": "Klicke auf einen Button, um eines der Testvideos abzuspielen.",
"wiz_cc_testintrowok": "Unter folgendem Link findest du ein paar Testvideos zum herunterladen und abspielen:",
"wiz_cc_testintrowok": "Unter folgendem Link findest du ein paar Testvideos zum Herunterladen und Abspielen:",
"wiz_cc_title": "Farbkalibrierungs Assistent",
"wiz_guideyou": "Der $1 wird dich durch die Konfiguration leiten, drücke dazu einfach den Button!",
"wiz_hue_blinkblue": "Lasse ID $1 blau aufleuchten",
"wiz_hue_clientkey": "Clientkey:",
"wiz_hue_create_user": "Neuen Benutzer erstellen",
"wiz_hue_desc1": "Es wird automatisch nach der Hue Bridge gesucht, solltest sie nicht gefunden werden, gebe die IP an und drücke den \"neu laden\" Button. Danach benötigst du eine gültige Benutzer ID, diese kann auch erstellt werden.",
"wiz_hue_desc1": "Es wird automatisch nach der Hue Bridge gesucht, sollte sie nicht gefunden werden, gebe die IP-Adresse an und drücke den \"neu laden\" Button. Danach benötigst du eine gültige Benutzer-ID. Diese kann hier auch erstellt werden.",
"wiz_hue_desc2": "Nun kannst du auswählen, welche der Lampen (IDs) hinzugefügt werden sollen. Mit der Position wählst du aus, wo die jeweilige Lampe \"im Bild\" sitzen soll. Deaktivierte Lampen werden nicht hinzugefügt. Als Hilfe zur Identifizierung kannst du sie mit einem Klick auf den rechten Button kurz aufleuchten lassen.",
"wiz_hue_e_clientkey_needed": "Für die Verwendung der Entertainment API, ist ein zum Usernamen passender Clientkey erforderlich. Bitte einen vorhandenen eingeben oder über die Schaltflächen unten einen neuen erstellen.",
"wiz_hue_e_clientkey_needed": "Für die Verwendung der Entertainment-API, ist ein zum Benutzernamen passender Clientkey erforderlich. Bitte einen vorhandenen eingeben oder über die Schaltflächen unten einen neuen erstellen.",
"wiz_hue_e_create_user": "Neuen Benutzer und Clientkey erstellen",
"wiz_hue_e_desc1": "Es wird automatisch nach der Hue Bridge gesucht, solltest sie nicht gefunden werden, gebe die IP an und drücke den \"neu laden\" Button. Danach benötigst du eine gültige Benutzer ID und den dazugehörigen Clientkey, damit die Entertainment API verwendet werden kann. Beides kann auch automatisch erstellt werden.",
"wiz_hue_e_desc1": "Es wird automatisch nach der Hue-Bridge gesucht, sollte sie nicht gefunden werden, gebe die IP an und drücke den \"neu laden\" Button. Danach benötigst du eine gültige Benutzer-ID und den dazugehörigen Clientkey, damit die Entertainment API verwendet werden kann. Beides kann hier automatisch erstellt werden.",
"wiz_hue_e_desc2": "Nun kannst du die Entertainment Gruppe auswählen, welche die Lampen zur Verwendung mit Hyperion beinhaltet.",
"wiz_hue_e_desc3": "Nun kannst du auswählen, mit welcher Position die jeweilige Lampe \"im Bild\" sitzen soll. Eine Vorauswahl der Position, wurde Anhand der konfigurierten Positionen der Lampen in der Entertainment Gruppe gewählt. Dies ist nur eine Empfehlung und kann beliebig angepasst werden. Als Hilfe zur Identifizierung kannst du sie mit einem Klick auf den rechten Button kurz aufleuchten lassen und die Auswahl zu verbessern.",
"wiz_hue_e_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Philips Hue Entertainment. Zu den Funktionen zählen ein automatisches finden der Hue Bridge, einen neuen Benutzer und dazugehörigen Clientkey zum verwenden der Entertainment API erstellen, eine Entertainment Gruppenauswahl und die zur Gruppe gehörenden Lampen unterschiedlichen Bereichen im Bild zuzuordnen, sowie weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.",
"wiz_hue_e_noapisupport": "Der Assistent hat die Entertainment API Unterstützung deaktiviert und wird mit der klassischen API weitergeführt.",
"wiz_hue_e_noapisupport_hint": "Die Einstellung \"<b>Hue Entertainment API verwenden</b>\" wurde deaktiviert.",
"wiz_hue_e_noegrpids": "Es wurden keine Entertainment Gruppen in dieser Hue Bridge gefunden.",
"wiz_hue_e_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Philips Hue Entertainment. Zu den Funktionen zählen ein automatisches finden der Hue-Bridge, einen neuen Benutzer und dazugehörigen Clientkey zum Verwenden der Entertainment-API erstellen, eine Entertainment Gruppenauswahl und die zur Gruppe gehörenden Lampen unterschiedlichen Bereichen im Bild zuzuordnen, sowie weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.",
"wiz_hue_e_noapisupport": "Der Assistent hat die Entertainment-API Unterstützung deaktiviert und wird mit der klassischen API weitergeführt.",
"wiz_hue_e_noapisupport_hint": "Die Einstellung \"<b>Hue Entertainment-API verwenden</b>\" wurde deaktiviert.",
"wiz_hue_e_noegrpids": "Es wurden keine Entertainment Gruppen in dieser Hue-Bridge gefunden.",
"wiz_hue_e_nogrpids": "Diese Hue Bridge hat keine definierten Gruppen, bitte erstelle zuvor wenigstens eine in der Hue App.",
"wiz_hue_e_title": "Philips Hue Entertainment Assistent",
"wiz_hue_e_use_group": "Gruppe verwenden",
"wiz_hue_e_use_groupid": "Gruppen ID $1 verwenden",
"wiz_hue_failure_connection": "Zeitüberschreitung. Bitte drücke die Taste auf deiner Hue Bridge rechtzeitig",
"wiz_hue_failure_ip": "Keine Hue Bridge gefunden, bitte überprüfe die IP",
"wiz_hue_failure_user": "Benutzer ID wurde nicht gefunden, erstelle eine neue, indem du auf den nachfolgenden Button klickst, oder gib eine bereits registrierte an und klicke dann auf das \"neu laden\" Symbol.",
"wiz_hue_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Philips Hue. Zu den Funktionen zählen ein automatisches finden der Hue Bridge, einen neuen Benutzer erstellen, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.",
"wiz_hue_ip": "Hue Bridge IP:",
"wiz_hue_failure_user": "Die Benutzer-ID wurde nicht gefunden. Erstelle eine Neue, indem du auf den nachfolgenden Button klickst oder gib eine bereits registrierte an und klicke dann auf das \"neu laden\" Symbol.",
"wiz_hue_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Philips Hue. Zu den Funktionen zählen ein automatisches Finden der Hue-Bridge, einen neuen Benutzer erstellen, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.",
"wiz_hue_ip": "Hue-Bridge IP-Adresse:",
"wiz_hue_noids": "Diese Hue Bridge hat keine verbundenen Lampen, bitte verbinde diese zuerst mit deiner Hue Bridge (Nutze die Hue Apps dafür)",
"wiz_hue_press_link": "Bitte \"Link\" Taste auf der Hue Bridge drücken.",
"wiz_hue_searchb": "Suche nach Hue Bridge...",
@ -904,8 +906,8 @@
"wiz_ids_entire": "Ganzes Bild",
"wiz_pos": "Position/Status",
"wiz_rgb_expl": "Der Farbpunkt ändert alle x Sekunden die Farbe (rot, grün), zur selben Zeit ändern deine LEDs die Farbe ebenfalls. Beantworte die Fragen unten, um deine RGB Byte Reihenfolge zu überprüfen/korrigieren.",
"wiz_rgb_intro1": "Dieser Assisent wird dir dabei helfen die richtige Byte Reihenfolge für deine leds zu finden. Klicke auf Fortfahren um zu beginnen.",
"wiz_rgb_intro2": "Wann benötigt man diesen Assistenten? Zur Erstkonfiguration oder wenn deine LEDs zb rot leuchten sollten, sie aber blau oder grün sind.",
"wiz_rgb_intro1": "Dieser Assistent wird dir dabei helfen die richtige Byte Reihenfolge für deine LEDs zu finden. Klicke auf Fortfahren, um zu beginnen.",
"wiz_rgb_intro2": "Wann benötigt man diesen Assistenten? Zur Erstkonfiguration oder wenn deine LEDs z.B. rot leuchten sollten, sie aber blau oder grün sind.",
"wiz_rgb_q": "Welche Farbe zeigen deine LEDs, wenn der Farbpunkt oben...",
"wiz_rgb_qgend": "...grün ist?",
"wiz_rgb_qrend": "...rot ist?",
@ -913,8 +915,8 @@
"wiz_rgb_title": "RGB Byte Reihenfolge Assistent",
"wiz_wizavail": "Assistent verfügbar",
"wiz_yeelight_desc2": "Nun kannst du auswählen, welche der Lampen hinzugefügt werden sollen. Mit der Position wählst du aus, wo die jeweilige Lampe \"im Bild\" sitzen soll. Deaktivierte Lampen werden nicht hinzugefügt. Als Hilfe zur Identifizierung kannst du sie mit einem Klick auf den rechten Button kurz aufleuchten lassen.",
"wiz_yeelight_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Yeelight. Zu den Funktionen zählen ein automatisches finden der Yeelights, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.",
"wiz_yeelight_intro1": "Dieser Assistent hilft dir bei der Konfiguration von Hyperion für Yeelight. Zu den Funktionen zählen ein automatisches Finden der Yeelights, die einzelnen Lampen unterschiedlichen Bereichen im Bild zuzuordnen und weitere Einstellungen von Hyperion automatisch anzupassen. Kurz gesagt: Komplette Einrichtung mit ein paar Klicks.",
"wiz_yeelight_noLights": "Es wurden keine Yeelights gefunden! Bitte verbinde die Yeelights mit dem Netzwerk oder konfiguriere sie manuell.",
"wiz_yeelight_title": "Yeelight Einrichtungsassistent",
"wiz_yeelight_unsupported": "Nicht unterstützt"
}
}

View File

@ -711,13 +711,13 @@
"general_comp_PROTOSERVER": "Protocol Buffers Server",
"general_comp_SMOOTHING": "Smoothing",
"general_comp_V4L": "USB Capture",
"general_country_cn": "China",
"general_country_cn": "China",
"general_country_de": "Germany",
"general_country_es": "Spain",
"general_country_fr": "France",
"general_country_it": "Italy",
"general_country_nl": "Netherlands",
"general_country_ru": "Russia",
"general_country_ru": "Russia",
"general_country_uk": "United Kingdom",
"general_country_us": "United States",
"general_speech_cs": "Czech",
@ -729,11 +729,14 @@
"general_speech_nl": "Dutch",
"general_speech_pl": "Polish",
"general_speech_ro": "Romanian",
"general_speech_ru": "Russian",
"general_speech_ru": "Russian",
"general_speech_sv": "Swedish",
"general_speech_tr": "Turkish",
"general_speech_vi": "Vietnamese",
"general_speech_zh-CN": "Chinese (simplified)",
"general_speech_sv": "Swedish",
"general_speech_tr": "Turkish",
"general_speech_vi": "Vietnamese",
"general_speech_zh-CN": "Chinese (simplified)",
"general_webui_title": "Hyperion - Web Configuration",
"general_wiki_moreto": "More information to \"$1\" at our Wiki",
"infoDialog_checklist_title": "Checklist!",
@ -924,4 +927,3 @@
"wiz_yeelight_title": "Yeelight Wizard",
"wiz_yeelight_unsupported": "Unsupported"
}

View File

@ -568,7 +568,7 @@ $(document).ready(function() {
// create led device selection
var ledDevices = window.serverInfo.ledDevices.available;
var devRPiSPI = ['apa102', 'apa104', 'ws2801', 'lpd6803', 'lpd8806', 'p9813', 'sk6812spi', 'sk6822spi', 'ws2812spi'];
var devRPiSPI = ['apa102', 'apa104', 'ws2801', 'lpd6803', 'lpd8806', 'p9813', 'sk6812spi', 'sk6822spi', 'sk9822', 'ws2812spi'];
var devRPiPWM = ['ws281x'];
var devRPiGPIO = ['piblaster'];
var devNET = ['atmoorb', 'fadecandy', 'philipshue', 'nanoleaf', 'tinkerforge', 'tpm2net', 'udpe131', 'udpartnet', 'udph801', 'udpraw', 'wled', 'yeelight'];

View File

@ -207,7 +207,7 @@ function initLanguageSelection()
{
// If language is not supported by hyperion, try fallback language
langLocale = $.i18n().options.fallbackLocale.substring(0,2);
langIdx = availLang.indexOf(langLocale)
langIdx = availLang.indexOf(langLocale);
if ( langIdx > -1 )
{
langText = availLangText[langIdx];

View File

@ -1552,7 +1552,7 @@ function assign_yeelight_lights(){
options+= '>'+$.i18n(txt+val)+'</option>';
}
var enabled = 'enabled'
var enabled = 'enabled';
if (! models.includes (lights[lightid].model) )
{
var enabled = 'disabled';
@ -1752,7 +1752,7 @@ async function discover_atmoorb_lights(multiCastGroup, multiCastPort){
// TODO: error case unhandled
// res can be: false (timeout) or res.error (not found)
if(res && !res.error){
const r = res.info
const r = res.info;
// Process devices returned by discovery
for(const device of r.devices)
@ -1832,10 +1832,10 @@ function assign_atmoorb_lights(){
options+= '>'+$.i18n(txt+val)+'</option>';
}
var enabled = 'enabled'
var enabled = 'enabled';
if ( orbId < 1 || orbId > 255 )
{
enabled = 'disabled'
enabled = 'disabled';
options = '<option value=disabled>'+$.i18n('wiz_atmoorb_unsupported')+'</option>';
}

View File

@ -58,13 +58,15 @@ ENDIF()
# https://cmake.org/Wiki/CMake:CPackPackageGenerators
# .deb files for apt
SET ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/preinst;${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian/prerm" )
SET ( CPACK_DEBIAN_PACKAGE_DEPENDS "libcec4" )
SET ( CPACK_DEBIAN_PACKAGE_SECTION "Miscellaneous" )
# .rpm for rpm
# https://cmake.org/cmake/help/v3.5/module/CPackRPM.html
SET ( CPACK_RPM_PACKAGE_RELEASE 1)
SET ( CPACK_RPM_PACKAGE_LICENSE "MIT")
SET ( CPACK_RPM_PACKAGE_GROUP "Applications")
SET ( CPACK_RPM_PACKAGE_RELEASE 1 )
SET ( CPACK_RPM_PACKAGE_LICENSE "MIT" )
SET ( CPACK_RPM_PACKAGE_GROUP "Applications" )
SET ( CPACK_RPM_PACKAGE_REQUIRES "libcec4" )
SET ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rpm/preinst" )
SET ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rpm/postinst" )
SET ( CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/rpm/prerm" )

View File

@ -31,6 +31,9 @@ The SK6812 are **3** wire leds, you could also drive them via spi.
#### sk6822spi
The SK6822 are **3** wire leds, you could also drive them via spi.
#### sk9822
The SK9822 are **4** wire leds compatible to APA 102 with addition of global brightness control.
#### ws2812spi
The WS2812 are **3** wire leds, you could also drive them via spi.

View File

@ -7,6 +7,7 @@
// qt
#include <QVector>
class BonjourServiceRegister;
class QTcpServer;
class FlatBufferClient;
class NetOrigin;
@ -63,6 +64,7 @@ private:
int _timeout;
quint16 _port;
const QJsonDocument _config;
BonjourServiceRegister * _serviceRegister = nullptr;
QVector<FlatBufferClient*> _openConnections;
};

View File

@ -1,10 +1,16 @@
#include <flatbufserver/FlatBufferServer.h>
#include "FlatBufferClient.h"
#include "HyperionConfig.h"
// util
#include <utils/NetOrigin.h>
#include <utils/GlobalSignals.h>
// bonjour
#ifdef ENABLE_AVAHI
#include <bonjour/bonjourserviceregister.h>
#endif
// qt
#include <QJsonObject>
#include <QTcpServer>
@ -93,14 +99,27 @@ void FlatBufferServer::startServer()
{
if(!_server->isListening())
{
if(!_server->listen(QHostAddress::Any, _port))
{
Error(_log,"Failed to bind port %d", _port);
}
else
{
Info(_log,"Started on port %d", _port);
}
if(!_server->listen(QHostAddress::Any, _port))
{
Error(_log,"Failed to bind port %d", _port);
}
else
{
Info(_log,"Started on port %d", _port);
#ifdef ENABLE_AVAHI
if(_serviceRegister == nullptr)
{
_serviceRegister = new BonjourServiceRegister(this);
_serviceRegister->registerService("_hyperiond-flatbuf._tcp", _port);
}
else if(_serviceRegister->getPort() != _port)
{
delete _serviceRegister;
_serviceRegister = new BonjourServiceRegister(this);
_serviceRegister->registerService("_hyperiond-flatbuf._tcp", _port);
}
#endif
}
}
}

View File

@ -39,7 +39,7 @@
{
"type" :
{
"enum" : ["file", "apa102", "apa104", "ws2801", "lpd6803", "lpd8806", "p9813", "sk6812spi", "sk6822spi", "ws2812spi","ws281x", "piblaster", "adalight", "dmx", "atmo", "hyperionusbasp", "lightpack", "multilightpack", "paintpack", "rawhid", "sedu", "tpm2", "karate"]
"enum" : ["file", "apa102", "apa104", "ws2801", "lpd6803", "lpd8806", "p9813", "sk6812spi", "sk6822spi", "sk9822", "ws2812spi","ws281x", "piblaster", "adalight", "dmx", "atmo", "hyperionusbasp", "lightpack", "multilightpack", "paintpack", "rawhid", "sedu", "tpm2", "karate"]
}
},
"additionalProperties" : true

View File

@ -2,6 +2,7 @@
#include <stdexcept>
// project includes
#include "HyperionConfig.h"
#include <jsonserver/JsonServer.h>
#include "JsonClientConnection.h"
@ -49,6 +50,7 @@ void JsonServer::start()
return;
}
Info(_log, "Started on port %d", _port);
#ifdef ENABLE_AVAHI
if(_serviceRegister == nullptr)
{

View File

@ -20,6 +20,7 @@
<file alias="schema-sedu">schemas/schema-sedu.json</file>
<file alias="schema-sk6812spi">schemas/schema-sk6812spi.json</file>
<file alias="schema-sk6822spi">schemas/schema-sk6822spi.json</file>
<file alias="schema-sk9822">schemas/schema-sk9822.json</file>
<file alias="schema-tinkerforge">schemas/schema-tinkerforge.json</file>
<file alias="schema-tpm2net">schemas/schema-tpm2net.json</file>
<file alias="schema-tpm2">schemas/schema-tpm2.json</file>

View File

@ -247,7 +247,7 @@ int YeelightLight::writeCommand( const QJsonDocument &command, QJsonArray &resul
if ( elapsedTime < _waitTimeQuota )
{
int waitTime = _waitTimeQuota;
log ( 1, "writeCommand():", "Wait %dms, elapsedTime: %llms < quotaTime: %dms", waitTime, elapsedTime, _waitTimeQuota);
log ( 1, "writeCommand():", "Wait %dms, elapsedTime: %dms < quotaTime: %dms", waitTime, elapsedTime, _waitTimeQuota);
// Wait time (in ms) before doing next write to not overrun Yeelight command quota
std::this_thread::sleep_for(std::chrono::milliseconds(_waitTimeQuota));

View File

@ -0,0 +1,142 @@
#include "LedDeviceSK9822.h"
// Local Hyperion includes
#include <utils/Logger.h>
/// The value that determines the higher bits of the SK9822 global brightness control field
const int SK9822_GBC_UPPER_BITS = 0xE0;
/// The maximal current level supported by the SK9822 global brightness control field, 31
const int SK9822_GBC_MAX_LEVEL = 0x1F;
LedDeviceSK9822::LedDeviceSK9822(const QJsonObject &deviceConfig)
: ProviderSpi(deviceConfig)
, _globalBrightnessControlThreshold(255)
, _globalBrightnessControlMaxLevel(SK9822_GBC_MAX_LEVEL)
{
}
LedDevice *LedDeviceSK9822::construct(const QJsonObject &deviceConfig)
{
return new LedDeviceSK9822(deviceConfig);
}
bool LedDeviceSK9822::init(const QJsonObject &deviceConfig)
{
bool isInitOK = false;
// Initialise sub-class
if (ProviderSpi::init(deviceConfig))
{
_globalBrightnessControlThreshold = deviceConfig["globalBrightnessControlThreshold"].toInt(255);
_globalBrightnessControlMaxLevel = deviceConfig["globalBrightnessControlMaxLevel"].toInt(SK9822_GBC_MAX_LEVEL);
Info(_log, "[SK9822] Using global brightness control with threshold of %d and max level of %d", _globalBrightnessControlThreshold, _globalBrightnessControlMaxLevel);
const unsigned int startFrameSize = 4;
const unsigned int endFrameSize = qMax<unsigned int>(((_ledCount + 15) / 16), 4);
const unsigned int bufferSize = (_ledCount * 4) + startFrameSize + endFrameSize;
_ledBuffer.resize(bufferSize, 0xFF);
_ledBuffer[0] = 0x00;
_ledBuffer[1] = 0x00;
_ledBuffer[2] = 0x00;
_ledBuffer[3] = 0x00;
isInitOK = true;
}
return isInitOK;
}
void LedDeviceSK9822::bufferWithMaxCurrent(std::vector<uint8_t> &txBuf, const std::vector<ColorRgb> & ledValues, const int maxLevel) {
const int ledCount = static_cast<int>(_ledCount);
for (int iLed = 0; iLed < ledCount; ++iLed)
{
const ColorRgb &rgb = ledValues[iLed];
const uint8_t red = rgb.red;
const uint8_t green = rgb.green;
const uint8_t blue = rgb.blue;
/// The LED index in the buffer
const int b = 4 + iLed * 4;
// Use 0/31 LED-Current for Black, and full LED-Current for all other colors,
// with PWM control on RGB-Channels
const int ored = (red|green|blue);
txBuf[b + 0] = ((ored > 0) * (maxLevel & SK9822_GBC_MAX_LEVEL)) | SK9822_GBC_UPPER_BITS; // (ored > 0) is 1 for any r,g,b > 0, 0 otherwise; branch free
txBuf[b + 1] = red;
txBuf[b + 2] = green;
txBuf[b + 3] = blue;
}
}
inline __attribute__((always_inline)) unsigned LedDeviceSK9822::scale(const uint8_t value, const int maxLevel, const uint16_t brightness) {
return (((maxLevel * value + (brightness >> 1)) / brightness));
}
void LedDeviceSK9822::bufferWithAdjustedCurrent(std::vector<uint8_t> &txBuf, const std::vector<ColorRgb> & ledValues, const int threshold, const int maxLevel) {
const int ledCount = static_cast<int>(_ledCount);
for (int iLed = 0; iLed < ledCount; ++iLed)
{
const ColorRgb &rgb = ledValues[iLed];
uint8_t red = rgb.red;
uint8_t green = rgb.green;
uint8_t blue = rgb.blue;
uint8_t level;
/// The LED index in the buffer
const int b = 4 + iLed * 4;
/// The maximal r,g,b-channel grayscale value of the LED
const uint16_t /* expand to 16 bit! */ maxValue = std::max(std::max(red, green), blue);
if (maxValue == 0) {
// Use 0/31 LED-Current for Black
level = 0;
red = 0x00;
green = 0x00;
blue = 0x00;
} else if (maxValue >= threshold) {
// Use full LED-Current when maximal r,g,b-channel grayscale value >= threshold and just use PWM control
level = (maxLevel & SK9822_GBC_MAX_LEVEL);
} else {
// Use adjusted LED-Current for other r,g,b-channel grayscale values
// See also: https://github.com/FastLED/FastLED/issues/656
// Scale the r,g,b-channel grayscale values to adjusted current = brightness level
const uint16_t /* 16 bit! */ brightness = (((maxValue + 1) * maxLevel - 1) >> 8) + 1;
level = (brightness & SK9822_GBC_MAX_LEVEL);
red = scale(red, maxLevel, brightness);
green = scale(green, maxLevel, brightness);
blue = scale(blue, maxLevel, brightness);
}
txBuf[b + 0] = level | SK9822_GBC_UPPER_BITS;
txBuf[b + 1] = red;
txBuf[b + 2] = green;
txBuf[b + 3] = blue;
//if(iLed == 0) {
// std::cout << std::to_string((int)rgb.red) << "," << std::to_string((int)rgb.green) << "," << std::to_string((int)rgb.blue) << ": " << std::to_string(maxValue) << (maxValue >= threshold ? " >= " : " < ") << std::to_string(threshold) << " -> " << std::to_string((int)(level&SK9822_GBC_MAX_LEVEL))<< "@" << std::to_string((int)red) << "," << std::to_string((int)green) << "," << std::to_string((int)blue) << std::endl;
//}
}
}
int LedDeviceSK9822::write(const std::vector<ColorRgb> &ledValues)
{
const int threshold = _globalBrightnessControlThreshold;
const int maxLevel = _globalBrightnessControlMaxLevel;
if(threshold > 0) {
this->bufferWithAdjustedCurrent(_ledBuffer, ledValues, threshold, maxLevel);
} else {
this->bufferWithMaxCurrent(_ledBuffer, ledValues, maxLevel);
}
return writeBytes(_ledBuffer.size(), _ledBuffer.data());
}

View File

@ -0,0 +1,83 @@
#ifndef LEDEVICESK9822_H
#define LEDEVICESK9822_H
// hyperion includes
#include "ProviderSpi.h"
///
/// Implementation of the LedDevice interface for writing to SK9822 led device via SPI.
///
class LedDeviceSK9822 : public ProviderSpi
{
public:
///
/// @brief Constructs an SK9822 LED-device
///
/// @param deviceConfig Device's configuration as JSON-Object
///
explicit LedDeviceSK9822(const QJsonObject &deviceConfig);
///
/// @brief Constructs the LED-device
///
/// @param[in] deviceConfig Device's configuration as JSON-Object
/// @return LedDevice constructed
///
static LedDevice* construct(const QJsonObject &deviceConfig);
private:
///
/// @brief Writes the RGB-Color values to the SPI Tx buffer setting SK9822 current level to maximal value.
///
/// @param[in,out] txBuf The packed spi transfer buffer of the LED's color values
/// @param[in] ledValues The RGB-color per LED
/// @param[in] maxLevel The maximal current level 1 .. 31 to use
///
void bufferWithMaxCurrent(std::vector<uint8_t> &txBuf, const std::vector<ColorRgb> & ledValues, const int maxLevel);
///
/// @brief Writes the RGB-Color values to the SPI Tx buffer using an adjusted SK9822 current level for LED maximal rgb-grayscale values not exceeding the threshold, uses maximal level otherwise.
///
/// @param[in,out] txBuf The packed spi transfer buffer of the LED's color values
/// @param[in] ledValues The RGB-color per LED
/// @param[in] threshold The threshold 0 .. 255 that defines whether to use adjusted SK9822 current level per LED
/// @param[in] maxLevel The maximal current level 1 .. 31 to use
///
void bufferWithAdjustedCurrent(std::vector<uint8_t> &txBuf, const std::vector<ColorRgb> & ledValues, const int threshold, const int maxLevel);
/// The threshold that defines use of SK9822 global brightness control for maximal rgb grayscale values below.
/// i.e. global brightness control is used for rgb-values when max(r,g,b) < threshold.
int _globalBrightnessControlThreshold;
/// The maximal current level that is targeted. Possibile values 1 .. 31.
int _globalBrightnessControlMaxLevel;
///
/// @brief Scales the given value such that a given grayscale stimulus is reached for the targeted brightness and defined max current value.
///
/// @param[in] value The grayscale value to scale
/// @param[in] maxLevel The maximal current level 1 .. 31 to use
/// @param[in] brightness The target brightness
/// @return The scaled grayscale stimulus
///
inline __attribute__((always_inline)) unsigned scale(const uint8_t value, const int maxLevel, const uint16_t brightness);
///
/// @brief Initialise the device's configuration
///
/// @param[in] deviceConfig the JSON device configuration
/// @return True, if success
///
bool init(const QJsonObject &deviceConfig) override;
///
/// @brief Writes the RGB-Color values to the LEDs.
///
/// @param[in] ledValues The RGB-color per LED
/// @return Zero on success, else negative
///
int write(const std::vector<ColorRgb> & ledValues) override;
};
#endif // LEDEVICESK9822_H

View File

@ -0,0 +1,61 @@
{
"type":"object",
"required":true,
"properties":{
"output": {
"type": "string",
"title":"edt_dev_spec_spipath_title",
"enum" : ["/dev/spidev0.0","/dev/spidev0.1"],
"default" : "/dev/spidev0.0",
"propertyOrder" : 1
},
"rate": {
"type": "integer",
"title":"edt_dev_spec_baudrate_title",
"default": 1000000,
"propertyOrder" : 2
},
"invert": {
"type": "boolean",
"title":"edt_dev_spec_invert_title",
"default": false,
"propertyOrder" : 3
},
"globalBrightnessControlMaxLevel": {
"type": "integer",
"title":"edt_dev_spec_globalBrightnessControlMaxLevel_title",
"default": 31,
"minimum": 1,
"maximum": 31,
"propertyOrder" : 4
},
"globalBrightnessControlThreshold": {
"type": "integer",
"title":"edt_dev_spec_globalBrightnessControlThreshold_title",
"default": 255,
"minimum": 0,
"maximum": 255,
"propertyOrder" : 5
},
"latchTime": {
"type": "integer",
"title":"edt_dev_spec_latchtime_title",
"default": 0,
"append" : "edt_append_ms",
"minimum": 0,
"maximum": 1000,
"access" : "expert",
"propertyOrder" : 6
},
"rewriteTime": {
"type": "integer",
"title":"edt_dev_general_rewriteTime_title",
"default": 1000,
"append" : "edt_append_ms",
"minimum": 0,
"access" : "expert",
"propertyOrder" : 7
}
},
"additionalProperties": true
}

View File

@ -1,4 +1,5 @@
#include "webserver/WebServer.h"
#include "HyperionConfig.h"
#include "StaticFileServing.h"
#include "QtHttpServer.h"