Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Sonoff NSPanel

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Sonoff NSPanel

Geplant Angeheftet Gesperrt Verschoben Hardware
1.5k Beiträge 78 Kommentatoren 637.3k Aufrufe 80 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ArmilarA Armilar

    @wheinz44 sagte in Sonoff NSPanel:

    Guten Morgen an alle,

    wieder mal eine Frage:
    Die Temperatur im Screensaver (Aussentemperatur direkt von meiner Wetterstation)
    aktuallisiert nur wenn sich das Panel auf den Screensver zurückschaltet.
    Kann das geändert werden?
    LG wheinz44

    Hattest du dich für die damalige Hardcore-Methode (Code austauschen?) entschieden oder für den Alias? Ich denke das Der Codeaustausch die Aktualisierung nicht mitzieht, da auf dem Datenpunkt kein "on" (Trigger) liegen wird. Mit dem Alias aber schon... Mittlerweile kannst du aber mit den Aliasen auch perfekt umgehen :+1: . Dann wieder zurück zum Ursprungs-Code. Das "icon" hängt bereits am ACTUAL

    Alternativ könntest du es auch mit einem Info-Alias versuchen, dem die Temperatur geben und ein Icon in den Alias hinzufügen.

    W Offline
    W Offline
    wheinz44
    schrieb am zuletzt editiert von
    #607

    @armilar Danke für die Blumen ;-)
    hab von Hardcore wieder auf den normalen Code umgestellt,
    werd berichten.
    Danke

    1 Antwort Letzte Antwort
    0
    • ArmilarA Armilar

      @kmxak vielleicht hat @britzelpuf schon Infos zum aktuellen Entwicklungsstand???

      M Offline
      M Offline
      Muchul
      schrieb am zuletzt editiert von
      #608

      @armilar sagte in Sonoff NSPanel:

      @kmxak vielleicht hat @britzelpuf schon Infos zum aktuellen Entwicklungsstand???

      Sicher, das @britzelpuf was machen wollte?
      In GitHub ist nichts zu finden.

      ArmilarA 1 Antwort Letzte Antwort
      0
      • M Muchul

        @armilar sagte in Sonoff NSPanel:

        @kmxak vielleicht hat @britzelpuf schon Infos zum aktuellen Entwicklungsstand???

        Sicher, das @britzelpuf was machen wollte?
        In GitHub ist nichts zu finden.

        ArmilarA Offline
        ArmilarA Offline
        Armilar
        Most Active Forum Testing
        schrieb am zuletzt editiert von
        #609

        @muchul sagte in Sonoff NSPanel:

        @armilar sagte in Sonoff NSPanel:

        @kmxak vielleicht hat @britzelpuf schon Infos zum aktuellen Entwicklungsstand???

        Sicher, das @britzelpuf was machen wollte?
        In GitHub ist nichts zu finden.

        So war vor einigen Wochen noch das Statement. Ich denke er entwickelt es zunächst auf eine erste stabile Version und veröffentlicht es dann auf Github. Ich habe aber auch keinen aktuellen Stand hierzu.

        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        M 1 Antwort Letzte Antwort
        0
        • ArmilarA Armilar

          @muchul sagte in Sonoff NSPanel:

          @armilar sagte in Sonoff NSPanel:

          @kmxak vielleicht hat @britzelpuf schon Infos zum aktuellen Entwicklungsstand???

          Sicher, das @britzelpuf was machen wollte?
          In GitHub ist nichts zu finden.

          So war vor einigen Wochen noch das Statement. Ich denke er entwickelt es zunächst auf eine erste stabile Version und veröffentlicht es dann auf Github. Ich habe aber auch keinen aktuellen Stand hierzu.

          M Offline
          M Offline
          Muchul
          schrieb am zuletzt editiert von
          #610

          @armilar
          Das wäre natürlich auch möglich.
          Dann gibet ja noch Hoffnung:-)

          kmxakK 1 Antwort Letzte Antwort
          0
          • M Muchul

            @armilar
            Das wäre natürlich auch möglich.
            Dann gibet ja noch Hoffnung:-)

            kmxakK Offline
            kmxakK Offline
            kmxak
            Most Active
            schrieb am zuletzt editiert von
            #611

            das ganze ohne alias zu machen gibt es aber nicht oder es scheint ja sehr darauf aufgebaut zu sein.

            Gruß Alex

            ArmilarA 1 Antwort Letzte Antwort
            0
            • kmxakK kmxak

              das ganze ohne alias zu machen gibt es aber nicht oder es scheint ja sehr darauf aufgebaut zu sein.

              ArmilarA Offline
              ArmilarA Offline
              Armilar
              Most Active Forum Testing
              schrieb am zuletzt editiert von
              #612

              @kmxak sagte in Sonoff NSPanel:

              das ganze ohne alias zu machen gibt es aber nicht oder es scheint ja sehr darauf aufgebaut zu sein.

              Ich kann mir ebenfalls nicht vorstellen, dass @britzelpuf auf die Aliase verzichten wird, da diese der Flexibilität, auch beim Einsatz mehrerer Panel, entgegenkommen, in Analogie genutzt werden können (z.B. Screensaver) und das Panel sich nach wie vor somit komplett von außen steuern lässt.

              Ich lasse mich aber ebenfalls überraschen.

              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
              https://github.com/joBr99/nspanel-lovelace-ui/wiki

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              1 Antwort Letzte Antwort
              0
              • ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                schrieb am zuletzt editiert von Armilar
                #613

                Neues Video Tutorial von haus-automatisierung.com
                https://www.youtube.com/watch?v=ZPLJk2ZLo_8 - NSPanel mit Lovelace UI - so habe ich mir das vorgestellt!

                Ansonsten weiterhin gültig:
                Ich habe hier mal eine aktuelle Anleitung für euch erstellt. Leider kann ich nicht auf jedes Detail beim Alias eingehen, da das bereits den Rahmen sprengen würde, jedoch soll es ein Leitfaden sein, wie man etwas schneller zum Ziel kommt.

                Step für Step - Anleitung zur Einrichtung eines Sonoff NSPanel mit Lovelace UI unter ioBroker

                219c8bad-2af0-42e6-a041-b4ba319ca96d-image.png
                1. Voraussetzungen für den ioBroker

                Für den Betrieb benötigst du „keinen“ ioBroker-lovelace-Adapter. Die komplette lovelace-Integration erfolgt über die TFT-Firmware und die nachfolgenden ioBroker-Adapter.

                • MQTT-Adapter
                  3ccd8404-afe3-4182-953c-2172ca1f0a09-image.png
                  Die Kommunikation zwischen dem NSPanel und ioBroker erfolgt mittels MQTT über Tasmota. Da der Datenpunkt „CustomSend“ erforderlich ist und dieser nicht im Sonoff-Adapter vorhanden ist und auch nicht durch das Skript angelegt werden kann, erfolgt die Kommunikation „nicht“ über den Sonoff-Adapter --> später mehr …
                • Javascript-Adapter
                  Es werden zwei Type-Skripte (TS = das etwas mächtigere Javascript) benötigt. Zum Einen ein Icon-Skript, da alle verwendeten Icons nicht als „echte Grafiken“ im Panel hinterlegt sind, sondern als Schriftzeichen-Symbole. Des Weiteren ein TS-Skript mit dem eigentlichen Laufzeit-Code, welches für jedes eingesetzte NSPanel vorhanden und konfiguriert sein sollte --> später mehr …
                • Geräte verwalten“-Adapter
                  bae0913f-fb3f-4856-90d1-eebb70b5a89a-image.png
                  Über diesen Adapter sollten die Aliase später (mit Ausnahme des Media-Alias für Alexa & Co.) erstellt werden --> später mehr …
                • Accu-Weather-Adapter
                  1f0dbb8b-a057-4237-a5c7-df7728a255c6-image.png
                  Spielt in erster Linie eine Rolle beim Screensaver-Wetter, da zum Ersten die Icons und die Temperatur-Informationen für den Forecast ausgelesen werden (falls genutzt) und zum Zweiten das aktuelle Wettericon für den Screensaver benötigt wird. Wer keine Wetterstation oder Außentemperatursensor hat, kann auch die Temperatur aus Accu-Weather importieren --> später mehr …
                • Alexa2-Adapter
                  Zur Visualisierung des Media-Player‘s sollte der Alexa2-Adapter installiert sein. Wenn du statt Alexa-Devices andere Hersteller wie z.B. Google-Home-Geräte oder in erster Linie der Spotify-Premium-Adapter im Einsatz hast, so ist es auch möglich mit einem entsprechend, alternativen Media-Adapter den Media-Player zu betreiben --> später mehr …

                2. Panel mit Tasmota flashen.
                Hierzu eignet sich für den "Hardwareteil" die Anleitung von haus-automatisierung.com

                (https://www.youtube.com/watch?v=uqPz08ZpFW8). Video bis 11 Minuten und 30 Sekunden befolgen!

                Die Beschreibung, wie man das Panel mit Tasmota flashen kann, ohne einen Kurzschluss zu erzeugen, ist schon sehr gut erklärt.
                Du installierst gleich einen „abweichenden“ Berry-Treiber (autoexec.be) als in der Video-Beschreibung genannt. Wenn du Tasmota und „noch nicht der Berry-Treiber“ installiert hast, bitte mit der Youtube-Video-Anleitung von Matthias ab Zeit=11:30 aufhören. Ich verwende in meinen Panels die Version „tasmota32-DE.bin“. Du kannst aber auch die „tasmota32-nspanel.bin“ verwenden.
                Zur MQTT-Konfiguration kommen wir im Punkt 4
                An dieser Stelle solltest du aber bereits die grundsätzliche Tasmota Konfiguration vornehmen:

                a) Unter „Sonstige Einstellungen“ trägst du im Feld Vorlage

                {"NAME":"NSPanel","GPIO":[0,0,0,0,3872,0,0,0,0,0,32,0,0,0,0,225,0,480,224,1,0,0,0,33,0,0,0,0,0,0,0,0,0,0,4736,0],"FLAG":0,"BASE":1}
                

                ein, hakst Aktivieren "an" und klickst auf Speichern. Du kannst natürlich auch noch Device und Friendly Name vergeben
                3ca891dc-0892-4ed4-8c44-384899cbb460-image.png
                b) Unter Logging fügst du die IP von deinem ioBroker unter Sys-Log Host () ein und klickst auf Speichern.
                c) Unter Konsolen/Konsole kannst du natürlich auch noch weitere Einstellungen vornehmen (ipaddress1 192.168.X.X für statische IP’s, setOption’s, etc.)

                3. Berry-Treiber installieren
                Im Tasmota findest du unter „Konsolen“ den Button „Verwalte Dateisystem“. Wenn du diesen anklickst, siehst du einen weiteren Button „Datei erstellen und bearbeiten“. Du änderst den Dateinamen „neue-datei.txt“ in „autoexec.be“ und fügst den Inhalt aus dem folgenden Link ein:

                https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be

                bbf8f99d-8f37-4903-9aa8-3b7decab2577-image.png
                Danach klickst du auf „Speichern“ und dann solltest du Tasmota rebooten.

                Wenn das Panel bereits unter einer anderen Variante (z.B. haus-automatisierung.com) installiert war, dann bitte alle Dateien (insbesondere autoexec.be und autoexec.bec) vorher über das Flammensymbol hinter dem Dateinamen löschen. Und von vorne mit dem Punkt 3 beginnen
                e0c99373-2e72-4f18-827d-5050f8d41962-image.png

                4. MQTT im Tasmota konfigurieren

                Im Tasmota unter „Einstellungen/MQTT konfigurieren“:
                a) Host deines ioBrokers vergeben
                b) Den Port deiner ioBroker-MQTT-Adapter-Instanz eingeben (für mqtt.0.). Wenn du noch keinen MQTT-Adapter installiert hast, dann verwende bitte nicht unbedingt den Standard-Port 1883. Dieser Port wird auch von anderen Pseudo-MQTT-Adaptern (Sonoff/Shelly/etc.) ebenfalls verwendet und führt im parallelen Betrieb mit anderen MQTT-Devices später unweigerlich zu Komplikationen. Ich verwende für die MQTT-Instanzen gerne einen Port ab 1886 oder 1887 oder 1888 oder höher. Das Problem zeigt sich in der Regel ab dem Zeitpunkt, an dem der „CustomSend“ nicht von deiner mqtt.0.-Instanz abonniert wird.
                c) Benutzer und Passwort aus der ioBroker-MQTT-Instanz eintragen
                d) Bei Client und topic trage ich in der Regel „NSPanel_X“ ein. (X = 1, 2, 3 oder WZ für Wohnzimmer, etc.)
                e) Für den full topic verwende ich in der Regel „SmartHome/%topic%/%prefix%/“.
                f) Speichern klicken und Einstellungen verlassen

                76749e7d-c630-406c-9d2b-a2424521fa96-image.png

                5. TFT-Firmware auf das Panel flashen
                Tasmota „Konsolen/Konsole“ öffnen und in die Kommandozeile

                FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.1.0.tft
                

                Achtung !!! Die aktuellsten Versionen (3.1.0 könnte nicht mehr aktuell sein) befinden sich "immer" im ioBroker TypeScript Header (TS-Skript) unter:
                https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                eingeben, mit Enter bestätigen. Das Panel installiert jetzt die TFT-Firmware (Kann beim ersten Mal ein paar Minuten dauern – Fortschritt beobachten – am Ende erfolgt ein Reboot und das Panel wechselt in einen Screen – „Waiting for Content“
                4f4f6005-7cfd-444d-9b9a-14703194781d-image.png

                Das Panel wartet jetzt auf den Input von deinem ioBroker-Skript (Installierst du in einem der nächsten Punkte …)

                6. MQTT im ioBroker installieren und konfigurieren
                Wenn du bereits eine Instanz des MQTT-Adapters (z.B. mqtt.0.) nutzt, dann bitte den Port der MQTT-Adapter-Instanz auch im Tasmota-MQTT verwenden. Bitte auch hier den Hinweis aus Punkt 4b beachten und ggf. einen anderen Port für die Kommunikation eintragen.
                Ansonsten wählst du im ioBroker-Menü unter „Adapter“ den mqtt-Adapter aus und erstellst wie gewohnt eine Instanz des Adapters. Du kannst dir natürlich auch eine zusätzliche Instanz (z.B. mqtt.1. oder mqtt.2. etc.) erstellen.

                Meine Einstellungen im Reiter Verbindung sind z.B.:
                a) IP = Server/Broker
                b) WebSockets benutzen (angehakt)
                c) IP Adresse des ioBrokers (wahrscheinlich eth0 oder eth1) auswählen
                d) Port 1886 (analog Port aus Tasmota/MQTT)
                e) Benutzer (analog Benutzer aus Tasmota/MQTT)
                f) Kennwort + Kennwort wiederholen (analog Passwort aus Tasmota/MQTT)

                8182d534-bbe0-42a3-89b6-864bc30f9a17-image.png

                Meine Einstellungen im Reiter MQTT-Einstellungen sind:
                a) Maske zum Bekanntgeben eigener States: mqtt.0.* (Bei zusätzlicher Instanz entsprechend höher (mqtt.1.* etc.)
                b) Eigene States beim Verbinden publizieren (angehakt)
                c) States bei subscribe publizieren (angehakt)
                d) Leere Session erzwingen: Client-Einstellungen verwenden

                f184fc26-229d-4a75-84cc-74fda631c527-image.png

                7. CustomSend anlegen
                Der MQTT Datenpunkt wird benötigt und muss vom MQTT-Adapter angelegt werden. Ein manuelles Anlegen unter „Objekte“ oder „createState“ ist im ioBroker „nicht mehr“ möglich. Um den Datenpunkt zu erzeugen, öffnest du im Tasmota die Konsole und gibst ohne die Anführungszeichen

                „CustomSend time~12:00“
                

                ein.

                Alternativ kann auch der MQTT-Explorer (http://mqtt-explorer.com/) genutzt werden und ein payload unter .../cmnd abgesendet werden.
                7f77699c-98fd-4efa-bb72-ef74c731c411-image.png
                Danach sollte im MQTT-Adapter unter Objekte ein Datenpunkt: „SmartHome/NSPanel_X/cmnd/CustomSend“ erscheinen. Falls nicht, solange wiederholen bis dieser Datenpunkt abonniert wurde, oder ggfs. Nochmals die MQTT-Einstellungen überprüfen. In den Vergangenen Fragen dieses Topics ging es häufiger um diesen Punkt.

                8. Icon „TypeScript“ unter „Skripte“ im Verzeichnis „global“ anlegen
                Wie bereits in der Einleitung erwähnt, werden zwei TypeScripts (TS) benötigt. Das erste ist das Icon-Skript. Das Icon-Skript dient zur Übersetzung von Schriftzeichensymbolen zwischen dem Skript und der TFT-Firmware.
                Unter dem grünen Vezeichnisbaum „global“ im ioBroker-Menüpunkt Skripte erzeugst du ein Skript mit dem Namen „IconsSelector“ vom Typ: TypeScript (TS). Dort fügst du den Inhalt der Datei:

                https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts

                ein und startest das Skript.

                Nur zur Info: Du kannst die einzelnen Icon-Symbolnamen (aktuell 6896 unterschiedliche Icon-Symbole) auf

                https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html

                einsehen und später (kommen wir bei der Alias-Erstellung noch zu) auch jedes Icon in deinem Panel an entsprechender Stelle verwenden. Für die Einbindung sind die „Namen“ der Icons wichtig.

                9. TypeScript „NSPanelTs.ts“ anlegen
                Unter dem regulären Vezeichnisbaum „common“ im ioBroker-Menüpunkt Skripte erzeugst du (gerne auch in weiteren Unterverzeichnissen) ein weiteres Skript (Aktuell in für die TFT-Version 3.1.0) mit dem Inhalt:

                https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                Für jedes einzelne NSPanel das du konfigurieren möchtest, musst du dieses Skript anlegen und speziell für dieses jeweilige NSPanel entsprechende Einstellungen vornehmen. Für den Skriptnamen verwende ich in der Regel eine Kombination aus Panel und Skriptversion, wie z.B.: NSPANEL_1_3.1.0

                (Es kommen in regelmäßigen Abständen weitere NSPanel-Features und Bug-Fixes in das GitHub-Skript in denen dann nur noch der untere Teil (--- ab hier keine Konfiguration mehr ---) ausgetauscht werden muss und die NSPanel-Parameter erhalten bleiben)

                Die aktuelle Änderung von 2.8.0 auf 2.9.0 ist z.B.:

                • Steuerung von Klimageräten/Klimaanlagen
                  0735190e-11c3-4bc2-bfd1-5899b8ee0eed-image.png

                • QR-Code für z.B. Gäste WLAN
                  a43e9656-891a-42ef-90cc-f9ed61850d4b-image.png

                • Neues Design für Thermostate
                  abd817a4-db10-45dc-9d5c-9adf6151dac5-image.png

                • etc.

                Im oberen Teil des Skripts sind die grundsätzlichen Teile der zu erstellenden Aliase, Konstanten und Variablen (auch Seiten) enthalten. An dieser Stelle ist zunächst wichtig, die Kommunikationsparameter für die MQTT-Kommunikation zu parametrieren (ab ca. Zeile 400) beginnend mit

                „export const config: Config = {
                

                Hier musst du die beiden nachfolgenden Kommunikations-Datenpunkte aus dem MQTT-Adapter eintragen:

                panelRecvTopic: "mqtt.0.SmartHome.NSPanel_1.tele.RESULT",       //bitte anpassen
                panelSendTopic: "mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend",   //bitte anpassen
                

                Falls abweichend, dann am besten direkt unter Objekte herauskopieren

                Bitte starte das Skript. Alle weiteren Parameter stellen wir später ein. Ab jetzt sollte der Startup-Screen „Waiting for Connection“ in den Sreensaver wechseln und minütlich die Uhrzeit an den Screensaver übertragen und das Datum aktualisiert werden.

                10. TypeScript konfigurieren
                Im Punkt 9 haben wir zunächst die nur Kommunikation zwischen Panel und Skript über MQTT hergestellt. Jetzt kommen wir zum Inhalt des Panels:

                Der untere Bereich vom Screensaver:

                a) Die 4 kleineren Icons
                Hier kannst du dich entscheiden, ob du die Wettervorhersage oder eigene Werte visualisieren möchtest. Wenn du dich für den Forecast entscheidest, dann muss die Variable

                var weatherForecast
                

                auf „true“ stehen. Ebenfalls sollte die Adapter-Instanz von Accu-Weather funktionsfähig eingerichtet sein. Für diese Werte ist kein Alias notwendig, da diese zur Laufzeit direkt aus dem Adapter ausgelesen werden.
                Möchtest du an dieser Stelle eigene Werte visualisieren, dann muss die Variable

                var weatherForecast
                

                auf „false“ stehen. Jetzt kannst du im Block beginnend mit

                export const config: Config = {
                

                die Datenpunkte firstScreensaverEntity bis fourthScreensaverEntity mit eigenen Datenpunkten füllen.
                Eine Ausnahme stellt das große Wetter-Icon und der Wert für die aktuelle Temperatur im Screensaver dar. Hierfür benötigen wir einen Alias (im nächsten Punkt)

                b) Diverse Datenpunkte
                Beim ersten Start des Scripts erzeugt das Skript unter 0_userdata diverse Datenpunkte für Screensaver Dimmode, interne Sensoren, Tasmota-Statuswerte, etc.
                Der Pfad kann im Skript unter „NSPanel_Path“ angepasst werden.

                c) Alexa
                Wenn du Alexa-Devices mit dem Media-Player nutzen möchtest, dann stelle noch das Standard-Alexa-Device (Seriennummer unter „var alexaDevice“) ein.
                Ebenso kannst du unter alexaSpeakerList eine Liste mit vorhandenen Alexa-Devices (und/oder Gruppen) anlegen, die von diesem NSPanel-MediaPlayer aus bedient werden sollen. Bleibt diese Liste leer, werden automatisch alle Devices aus dem Alexa2-Adapter importiert.

                11. Aliase Anlegen
                Jetzt kommt der eigentliche Teil der Seitengestaltung. Es werden keine Datenpunkte benötigt, sondern Aliase.
                Ein Alias ist „kein“ Datenpunkt, sondern ein Objekt mit mehreren Datenpunkten.
                Das Skript setzt entsprechende Trigger auf die Alias-Datenpunkte .SET, .GET, .ACTUAL usw. Deshalb werden deine Steuerelemente im Panel nicht greifen, wenn du mit einzelnen Datenpunkten aus den verschiedenen Adaptern arbeitest.
                Ich habe im Verlauf diverse Aliase erzeugt und auch in den ChangeLogs der jeweiligen Skript-Version sind die möglichen Aliase aufgeführt, daher gehe ich hier nicht (würde die Anleitung auch sprengen) im Detail auf die Aliase ein.
                Was brauche ich für einen Alias:
                a) Zunächst installierst du dir eine Instanz des Adapters „Geräte verwalten“
                b) Dann erstellst du dir einen Alias (Beispiel Wetter-Icon und aktueller Wert der Außentemperatur) Dieser Alias muss nur einmalig angelegt werden und funktioniert somit auch in jedem weiteren Panel.
                56982014-6811-49cc-9be3-bed78436ef57-image.png
                und etwas tiefer:
                a9814dc5-887b-4f8b-bb5b-742e104897b3-image.png
                c) Wenn du einen Alias für den Media-Player benötigst, dann erstelle die diesen Alias besser über den Adapter „Alias-Manager“,
                07fe0047-d38f-45c9-92f9-3811c80be0e8-image.png
                da der Adapter „Geräte verwalten“ bei diesem Alias nicht ordentlich arbeitet. Jedoch ist der auch so Komplex, das es für Alias-Anfänger schwer ist, einen Alias mit den korrekten Datenpunkten zu füllen.

                12. Seitengestaltung

                Am Besten benutzt ihr die Beispiele im Skript und legt entsprechende Aliase hierzu an, die auch in diesem ioBroker-Community-Topic innerhalb der letzten Wochen beschrieben wurden.

                Und noch ein paar Bilderchen:

                cardEntities mit Alias Lampe/Dimmer/Switch
                d8fcfee4-3137-4bae-85ba-6b70106c77c1-image.png

                cardEntities mit RGB und HUE Aliasen (Color)
                7f1f6db2-1d67-4b59-86c6-c06d4e8f4c2a-image.png

                popupLight mit Farbtemperatur und Brightness
                da3057b5-db2c-4b61-8716-8b2114e09aee-image.png

                popupLight mit ColorWheel
                1ba6c1ff-d682-4368-b36a-4952aed4bcbe-image.png

                cardGrid mit Radiosendern/Playlists (Alias Taste)
                6b8c8b7a-331e-4fc1-867b-4ce69705fd0a-image.png

                cardEntities mit Aliasen Lautstärke und Info
                9c36cfd7-b586-41db-8b4a-d68734dbbaae-image.png

                cardEntities mit Fenster, Tür, Jalousie und Verschluss
                d874876a-a190-4fab-b2a2-5a0f0bb0f62a-image.png

                cardEntities mit Abfallkalender
                098059be-4996-403b-a7a7-653915f10204-image.png

                cardMedia
                9e702c46-e5d1-452b-a60b-e5068cb64750-image.png

                cardAlarm
                8f8e9ecc-a4b2-48f1-b9b1-4fe68b4b2574-image.png

                cardGrid
                8a0ce26c-c49c-4bc3-b2ca-bc4897febd09-image.png

                cardEntities
                7b7c21e6-02aa-4a3e-bb25-c8127689d801-image.png

                cardEntities als Subpage unter cardEntities (verschachtelt)
                bd7783f7-9365-4333-b5bc-872ca92fd4b7-image.png

                cardNotify
                2dca9c22-df47-4c29-8e16-bc0323101cb1-image.png

                Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                _JOHN__ K H Joris CornelissenJ 8 Antworten Letzte Antwort
                7
                • ArmilarA Armilar

                  Neues Video Tutorial von haus-automatisierung.com
                  https://www.youtube.com/watch?v=ZPLJk2ZLo_8 - NSPanel mit Lovelace UI - so habe ich mir das vorgestellt!

                  Ansonsten weiterhin gültig:
                  Ich habe hier mal eine aktuelle Anleitung für euch erstellt. Leider kann ich nicht auf jedes Detail beim Alias eingehen, da das bereits den Rahmen sprengen würde, jedoch soll es ein Leitfaden sein, wie man etwas schneller zum Ziel kommt.

                  Step für Step - Anleitung zur Einrichtung eines Sonoff NSPanel mit Lovelace UI unter ioBroker

                  219c8bad-2af0-42e6-a041-b4ba319ca96d-image.png
                  1. Voraussetzungen für den ioBroker

                  Für den Betrieb benötigst du „keinen“ ioBroker-lovelace-Adapter. Die komplette lovelace-Integration erfolgt über die TFT-Firmware und die nachfolgenden ioBroker-Adapter.

                  • MQTT-Adapter
                    3ccd8404-afe3-4182-953c-2172ca1f0a09-image.png
                    Die Kommunikation zwischen dem NSPanel und ioBroker erfolgt mittels MQTT über Tasmota. Da der Datenpunkt „CustomSend“ erforderlich ist und dieser nicht im Sonoff-Adapter vorhanden ist und auch nicht durch das Skript angelegt werden kann, erfolgt die Kommunikation „nicht“ über den Sonoff-Adapter --> später mehr …
                  • Javascript-Adapter
                    Es werden zwei Type-Skripte (TS = das etwas mächtigere Javascript) benötigt. Zum Einen ein Icon-Skript, da alle verwendeten Icons nicht als „echte Grafiken“ im Panel hinterlegt sind, sondern als Schriftzeichen-Symbole. Des Weiteren ein TS-Skript mit dem eigentlichen Laufzeit-Code, welches für jedes eingesetzte NSPanel vorhanden und konfiguriert sein sollte --> später mehr …
                  • Geräte verwalten“-Adapter
                    bae0913f-fb3f-4856-90d1-eebb70b5a89a-image.png
                    Über diesen Adapter sollten die Aliase später (mit Ausnahme des Media-Alias für Alexa & Co.) erstellt werden --> später mehr …
                  • Accu-Weather-Adapter
                    1f0dbb8b-a057-4237-a5c7-df7728a255c6-image.png
                    Spielt in erster Linie eine Rolle beim Screensaver-Wetter, da zum Ersten die Icons und die Temperatur-Informationen für den Forecast ausgelesen werden (falls genutzt) und zum Zweiten das aktuelle Wettericon für den Screensaver benötigt wird. Wer keine Wetterstation oder Außentemperatursensor hat, kann auch die Temperatur aus Accu-Weather importieren --> später mehr …
                  • Alexa2-Adapter
                    Zur Visualisierung des Media-Player‘s sollte der Alexa2-Adapter installiert sein. Wenn du statt Alexa-Devices andere Hersteller wie z.B. Google-Home-Geräte oder in erster Linie der Spotify-Premium-Adapter im Einsatz hast, so ist es auch möglich mit einem entsprechend, alternativen Media-Adapter den Media-Player zu betreiben --> später mehr …

                  2. Panel mit Tasmota flashen.
                  Hierzu eignet sich für den "Hardwareteil" die Anleitung von haus-automatisierung.com

                  (https://www.youtube.com/watch?v=uqPz08ZpFW8). Video bis 11 Minuten und 30 Sekunden befolgen!

                  Die Beschreibung, wie man das Panel mit Tasmota flashen kann, ohne einen Kurzschluss zu erzeugen, ist schon sehr gut erklärt.
                  Du installierst gleich einen „abweichenden“ Berry-Treiber (autoexec.be) als in der Video-Beschreibung genannt. Wenn du Tasmota und „noch nicht der Berry-Treiber“ installiert hast, bitte mit der Youtube-Video-Anleitung von Matthias ab Zeit=11:30 aufhören. Ich verwende in meinen Panels die Version „tasmota32-DE.bin“. Du kannst aber auch die „tasmota32-nspanel.bin“ verwenden.
                  Zur MQTT-Konfiguration kommen wir im Punkt 4
                  An dieser Stelle solltest du aber bereits die grundsätzliche Tasmota Konfiguration vornehmen:

                  a) Unter „Sonstige Einstellungen“ trägst du im Feld Vorlage

                  {"NAME":"NSPanel","GPIO":[0,0,0,0,3872,0,0,0,0,0,32,0,0,0,0,225,0,480,224,1,0,0,0,33,0,0,0,0,0,0,0,0,0,0,4736,0],"FLAG":0,"BASE":1}
                  

                  ein, hakst Aktivieren "an" und klickst auf Speichern. Du kannst natürlich auch noch Device und Friendly Name vergeben
                  3ca891dc-0892-4ed4-8c44-384899cbb460-image.png
                  b) Unter Logging fügst du die IP von deinem ioBroker unter Sys-Log Host () ein und klickst auf Speichern.
                  c) Unter Konsolen/Konsole kannst du natürlich auch noch weitere Einstellungen vornehmen (ipaddress1 192.168.X.X für statische IP’s, setOption’s, etc.)

                  3. Berry-Treiber installieren
                  Im Tasmota findest du unter „Konsolen“ den Button „Verwalte Dateisystem“. Wenn du diesen anklickst, siehst du einen weiteren Button „Datei erstellen und bearbeiten“. Du änderst den Dateinamen „neue-datei.txt“ in „autoexec.be“ und fügst den Inhalt aus dem folgenden Link ein:

                  https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be

                  bbf8f99d-8f37-4903-9aa8-3b7decab2577-image.png
                  Danach klickst du auf „Speichern“ und dann solltest du Tasmota rebooten.

                  Wenn das Panel bereits unter einer anderen Variante (z.B. haus-automatisierung.com) installiert war, dann bitte alle Dateien (insbesondere autoexec.be und autoexec.bec) vorher über das Flammensymbol hinter dem Dateinamen löschen. Und von vorne mit dem Punkt 3 beginnen
                  e0c99373-2e72-4f18-827d-5050f8d41962-image.png

                  4. MQTT im Tasmota konfigurieren

                  Im Tasmota unter „Einstellungen/MQTT konfigurieren“:
                  a) Host deines ioBrokers vergeben
                  b) Den Port deiner ioBroker-MQTT-Adapter-Instanz eingeben (für mqtt.0.). Wenn du noch keinen MQTT-Adapter installiert hast, dann verwende bitte nicht unbedingt den Standard-Port 1883. Dieser Port wird auch von anderen Pseudo-MQTT-Adaptern (Sonoff/Shelly/etc.) ebenfalls verwendet und führt im parallelen Betrieb mit anderen MQTT-Devices später unweigerlich zu Komplikationen. Ich verwende für die MQTT-Instanzen gerne einen Port ab 1886 oder 1887 oder 1888 oder höher. Das Problem zeigt sich in der Regel ab dem Zeitpunkt, an dem der „CustomSend“ nicht von deiner mqtt.0.-Instanz abonniert wird.
                  c) Benutzer und Passwort aus der ioBroker-MQTT-Instanz eintragen
                  d) Bei Client und topic trage ich in der Regel „NSPanel_X“ ein. (X = 1, 2, 3 oder WZ für Wohnzimmer, etc.)
                  e) Für den full topic verwende ich in der Regel „SmartHome/%topic%/%prefix%/“.
                  f) Speichern klicken und Einstellungen verlassen

                  76749e7d-c630-406c-9d2b-a2424521fa96-image.png

                  5. TFT-Firmware auf das Panel flashen
                  Tasmota „Konsolen/Konsole“ öffnen und in die Kommandozeile

                  FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.1.0.tft
                  

                  Achtung !!! Die aktuellsten Versionen (3.1.0 könnte nicht mehr aktuell sein) befinden sich "immer" im ioBroker TypeScript Header (TS-Skript) unter:
                  https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                  eingeben, mit Enter bestätigen. Das Panel installiert jetzt die TFT-Firmware (Kann beim ersten Mal ein paar Minuten dauern – Fortschritt beobachten – am Ende erfolgt ein Reboot und das Panel wechselt in einen Screen – „Waiting for Content“
                  4f4f6005-7cfd-444d-9b9a-14703194781d-image.png

                  Das Panel wartet jetzt auf den Input von deinem ioBroker-Skript (Installierst du in einem der nächsten Punkte …)

                  6. MQTT im ioBroker installieren und konfigurieren
                  Wenn du bereits eine Instanz des MQTT-Adapters (z.B. mqtt.0.) nutzt, dann bitte den Port der MQTT-Adapter-Instanz auch im Tasmota-MQTT verwenden. Bitte auch hier den Hinweis aus Punkt 4b beachten und ggf. einen anderen Port für die Kommunikation eintragen.
                  Ansonsten wählst du im ioBroker-Menü unter „Adapter“ den mqtt-Adapter aus und erstellst wie gewohnt eine Instanz des Adapters. Du kannst dir natürlich auch eine zusätzliche Instanz (z.B. mqtt.1. oder mqtt.2. etc.) erstellen.

                  Meine Einstellungen im Reiter Verbindung sind z.B.:
                  a) IP = Server/Broker
                  b) WebSockets benutzen (angehakt)
                  c) IP Adresse des ioBrokers (wahrscheinlich eth0 oder eth1) auswählen
                  d) Port 1886 (analog Port aus Tasmota/MQTT)
                  e) Benutzer (analog Benutzer aus Tasmota/MQTT)
                  f) Kennwort + Kennwort wiederholen (analog Passwort aus Tasmota/MQTT)

                  8182d534-bbe0-42a3-89b6-864bc30f9a17-image.png

                  Meine Einstellungen im Reiter MQTT-Einstellungen sind:
                  a) Maske zum Bekanntgeben eigener States: mqtt.0.* (Bei zusätzlicher Instanz entsprechend höher (mqtt.1.* etc.)
                  b) Eigene States beim Verbinden publizieren (angehakt)
                  c) States bei subscribe publizieren (angehakt)
                  d) Leere Session erzwingen: Client-Einstellungen verwenden

                  f184fc26-229d-4a75-84cc-74fda631c527-image.png

                  7. CustomSend anlegen
                  Der MQTT Datenpunkt wird benötigt und muss vom MQTT-Adapter angelegt werden. Ein manuelles Anlegen unter „Objekte“ oder „createState“ ist im ioBroker „nicht mehr“ möglich. Um den Datenpunkt zu erzeugen, öffnest du im Tasmota die Konsole und gibst ohne die Anführungszeichen

                  „CustomSend time~12:00“
                  

                  ein.

                  Alternativ kann auch der MQTT-Explorer (http://mqtt-explorer.com/) genutzt werden und ein payload unter .../cmnd abgesendet werden.
                  7f77699c-98fd-4efa-bb72-ef74c731c411-image.png
                  Danach sollte im MQTT-Adapter unter Objekte ein Datenpunkt: „SmartHome/NSPanel_X/cmnd/CustomSend“ erscheinen. Falls nicht, solange wiederholen bis dieser Datenpunkt abonniert wurde, oder ggfs. Nochmals die MQTT-Einstellungen überprüfen. In den Vergangenen Fragen dieses Topics ging es häufiger um diesen Punkt.

                  8. Icon „TypeScript“ unter „Skripte“ im Verzeichnis „global“ anlegen
                  Wie bereits in der Einleitung erwähnt, werden zwei TypeScripts (TS) benötigt. Das erste ist das Icon-Skript. Das Icon-Skript dient zur Übersetzung von Schriftzeichensymbolen zwischen dem Skript und der TFT-Firmware.
                  Unter dem grünen Vezeichnisbaum „global“ im ioBroker-Menüpunkt Skripte erzeugst du ein Skript mit dem Namen „IconsSelector“ vom Typ: TypeScript (TS). Dort fügst du den Inhalt der Datei:

                  https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts

                  ein und startest das Skript.

                  Nur zur Info: Du kannst die einzelnen Icon-Symbolnamen (aktuell 6896 unterschiedliche Icon-Symbole) auf

                  https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html

                  einsehen und später (kommen wir bei der Alias-Erstellung noch zu) auch jedes Icon in deinem Panel an entsprechender Stelle verwenden. Für die Einbindung sind die „Namen“ der Icons wichtig.

                  9. TypeScript „NSPanelTs.ts“ anlegen
                  Unter dem regulären Vezeichnisbaum „common“ im ioBroker-Menüpunkt Skripte erzeugst du (gerne auch in weiteren Unterverzeichnissen) ein weiteres Skript (Aktuell in für die TFT-Version 3.1.0) mit dem Inhalt:

                  https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                  Für jedes einzelne NSPanel das du konfigurieren möchtest, musst du dieses Skript anlegen und speziell für dieses jeweilige NSPanel entsprechende Einstellungen vornehmen. Für den Skriptnamen verwende ich in der Regel eine Kombination aus Panel und Skriptversion, wie z.B.: NSPANEL_1_3.1.0

                  (Es kommen in regelmäßigen Abständen weitere NSPanel-Features und Bug-Fixes in das GitHub-Skript in denen dann nur noch der untere Teil (--- ab hier keine Konfiguration mehr ---) ausgetauscht werden muss und die NSPanel-Parameter erhalten bleiben)

                  Die aktuelle Änderung von 2.8.0 auf 2.9.0 ist z.B.:

                  • Steuerung von Klimageräten/Klimaanlagen
                    0735190e-11c3-4bc2-bfd1-5899b8ee0eed-image.png

                  • QR-Code für z.B. Gäste WLAN
                    a43e9656-891a-42ef-90cc-f9ed61850d4b-image.png

                  • Neues Design für Thermostate
                    abd817a4-db10-45dc-9d5c-9adf6151dac5-image.png

                  • etc.

                  Im oberen Teil des Skripts sind die grundsätzlichen Teile der zu erstellenden Aliase, Konstanten und Variablen (auch Seiten) enthalten. An dieser Stelle ist zunächst wichtig, die Kommunikationsparameter für die MQTT-Kommunikation zu parametrieren (ab ca. Zeile 400) beginnend mit

                  „export const config: Config = {
                  

                  Hier musst du die beiden nachfolgenden Kommunikations-Datenpunkte aus dem MQTT-Adapter eintragen:

                  panelRecvTopic: "mqtt.0.SmartHome.NSPanel_1.tele.RESULT",       //bitte anpassen
                  panelSendTopic: "mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend",   //bitte anpassen
                  

                  Falls abweichend, dann am besten direkt unter Objekte herauskopieren

                  Bitte starte das Skript. Alle weiteren Parameter stellen wir später ein. Ab jetzt sollte der Startup-Screen „Waiting for Connection“ in den Sreensaver wechseln und minütlich die Uhrzeit an den Screensaver übertragen und das Datum aktualisiert werden.

                  10. TypeScript konfigurieren
                  Im Punkt 9 haben wir zunächst die nur Kommunikation zwischen Panel und Skript über MQTT hergestellt. Jetzt kommen wir zum Inhalt des Panels:

                  Der untere Bereich vom Screensaver:

                  a) Die 4 kleineren Icons
                  Hier kannst du dich entscheiden, ob du die Wettervorhersage oder eigene Werte visualisieren möchtest. Wenn du dich für den Forecast entscheidest, dann muss die Variable

                  var weatherForecast
                  

                  auf „true“ stehen. Ebenfalls sollte die Adapter-Instanz von Accu-Weather funktionsfähig eingerichtet sein. Für diese Werte ist kein Alias notwendig, da diese zur Laufzeit direkt aus dem Adapter ausgelesen werden.
                  Möchtest du an dieser Stelle eigene Werte visualisieren, dann muss die Variable

                  var weatherForecast
                  

                  auf „false“ stehen. Jetzt kannst du im Block beginnend mit

                  export const config: Config = {
                  

                  die Datenpunkte firstScreensaverEntity bis fourthScreensaverEntity mit eigenen Datenpunkten füllen.
                  Eine Ausnahme stellt das große Wetter-Icon und der Wert für die aktuelle Temperatur im Screensaver dar. Hierfür benötigen wir einen Alias (im nächsten Punkt)

                  b) Diverse Datenpunkte
                  Beim ersten Start des Scripts erzeugt das Skript unter 0_userdata diverse Datenpunkte für Screensaver Dimmode, interne Sensoren, Tasmota-Statuswerte, etc.
                  Der Pfad kann im Skript unter „NSPanel_Path“ angepasst werden.

                  c) Alexa
                  Wenn du Alexa-Devices mit dem Media-Player nutzen möchtest, dann stelle noch das Standard-Alexa-Device (Seriennummer unter „var alexaDevice“) ein.
                  Ebenso kannst du unter alexaSpeakerList eine Liste mit vorhandenen Alexa-Devices (und/oder Gruppen) anlegen, die von diesem NSPanel-MediaPlayer aus bedient werden sollen. Bleibt diese Liste leer, werden automatisch alle Devices aus dem Alexa2-Adapter importiert.

                  11. Aliase Anlegen
                  Jetzt kommt der eigentliche Teil der Seitengestaltung. Es werden keine Datenpunkte benötigt, sondern Aliase.
                  Ein Alias ist „kein“ Datenpunkt, sondern ein Objekt mit mehreren Datenpunkten.
                  Das Skript setzt entsprechende Trigger auf die Alias-Datenpunkte .SET, .GET, .ACTUAL usw. Deshalb werden deine Steuerelemente im Panel nicht greifen, wenn du mit einzelnen Datenpunkten aus den verschiedenen Adaptern arbeitest.
                  Ich habe im Verlauf diverse Aliase erzeugt und auch in den ChangeLogs der jeweiligen Skript-Version sind die möglichen Aliase aufgeführt, daher gehe ich hier nicht (würde die Anleitung auch sprengen) im Detail auf die Aliase ein.
                  Was brauche ich für einen Alias:
                  a) Zunächst installierst du dir eine Instanz des Adapters „Geräte verwalten“
                  b) Dann erstellst du dir einen Alias (Beispiel Wetter-Icon und aktueller Wert der Außentemperatur) Dieser Alias muss nur einmalig angelegt werden und funktioniert somit auch in jedem weiteren Panel.
                  56982014-6811-49cc-9be3-bed78436ef57-image.png
                  und etwas tiefer:
                  a9814dc5-887b-4f8b-bb5b-742e104897b3-image.png
                  c) Wenn du einen Alias für den Media-Player benötigst, dann erstelle die diesen Alias besser über den Adapter „Alias-Manager“,
                  07fe0047-d38f-45c9-92f9-3811c80be0e8-image.png
                  da der Adapter „Geräte verwalten“ bei diesem Alias nicht ordentlich arbeitet. Jedoch ist der auch so Komplex, das es für Alias-Anfänger schwer ist, einen Alias mit den korrekten Datenpunkten zu füllen.

                  12. Seitengestaltung

                  Am Besten benutzt ihr die Beispiele im Skript und legt entsprechende Aliase hierzu an, die auch in diesem ioBroker-Community-Topic innerhalb der letzten Wochen beschrieben wurden.

                  Und noch ein paar Bilderchen:

                  cardEntities mit Alias Lampe/Dimmer/Switch
                  d8fcfee4-3137-4bae-85ba-6b70106c77c1-image.png

                  cardEntities mit RGB und HUE Aliasen (Color)
                  7f1f6db2-1d67-4b59-86c6-c06d4e8f4c2a-image.png

                  popupLight mit Farbtemperatur und Brightness
                  da3057b5-db2c-4b61-8716-8b2114e09aee-image.png

                  popupLight mit ColorWheel
                  1ba6c1ff-d682-4368-b36a-4952aed4bcbe-image.png

                  cardGrid mit Radiosendern/Playlists (Alias Taste)
                  6b8c8b7a-331e-4fc1-867b-4ce69705fd0a-image.png

                  cardEntities mit Aliasen Lautstärke und Info
                  9c36cfd7-b586-41db-8b4a-d68734dbbaae-image.png

                  cardEntities mit Fenster, Tür, Jalousie und Verschluss
                  d874876a-a190-4fab-b2a2-5a0f0bb0f62a-image.png

                  cardEntities mit Abfallkalender
                  098059be-4996-403b-a7a7-653915f10204-image.png

                  cardMedia
                  9e702c46-e5d1-452b-a60b-e5068cb64750-image.png

                  cardAlarm
                  8f8e9ecc-a4b2-48f1-b9b1-4fe68b4b2574-image.png

                  cardGrid
                  8a0ce26c-c49c-4bc3-b2ca-bc4897febd09-image.png

                  cardEntities
                  7b7c21e6-02aa-4a3e-bb25-c8127689d801-image.png

                  cardEntities als Subpage unter cardEntities (verschachtelt)
                  bd7783f7-9365-4333-b5bc-872ca92fd4b7-image.png

                  cardNotify
                  2dca9c22-df47-4c29-8e16-bc0323101cb1-image.png

                  _JOHN__ Offline
                  _JOHN__ Offline
                  _JOHN_
                  schrieb am zuletzt editiert von
                  #614

                  @armilar

                  fantastisch!! vielen Dank für die Mühe :+1: :grinning: , das werd ich dann mal als Hook nutzen um wieder ins Thema rein zu kommen.
                  ich hatte leider irgendwann den Überblick verloren und konnte nicht mehr folgen.

                  ArmilarA 1 Antwort Letzte Antwort
                  0
                  • _JOHN__ _JOHN_

                    @armilar

                    fantastisch!! vielen Dank für die Mühe :+1: :grinning: , das werd ich dann mal als Hook nutzen um wieder ins Thema rein zu kommen.
                    ich hatte leider irgendwann den Überblick verloren und konnte nicht mehr folgen.

                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von
                    #615

                    @leone-mortuo sagte in Sonoff NSPanel:

                    @armilar

                    fantastisch!! vielen Dank für die Mühe :+1: :grinning: , das werd ich dann mal als Hook nutzen um wieder ins Thema rein zu kommen.
                    ich hatte leider irgendwann den Überblick verloren und konnte nicht mehr folgen.

                    Danke :blush: - war auch ne Menge Arbeit...
                    Aber ich denke es ging vielen "Zuschauern" so und mit der soeben aktualisierten Version 2.9.0 auf GitHub doch ein guter Anlass alle Anderen, die Berührungsängste hatten, wieder ins Rennen zu bringen ;-)

                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    M _JOHN__ 2 Antworten Letzte Antwort
                    1
                    • ArmilarA Armilar

                      @leone-mortuo sagte in Sonoff NSPanel:

                      @armilar

                      fantastisch!! vielen Dank für die Mühe :+1: :grinning: , das werd ich dann mal als Hook nutzen um wieder ins Thema rein zu kommen.
                      ich hatte leider irgendwann den Überblick verloren und konnte nicht mehr folgen.

                      Danke :blush: - war auch ne Menge Arbeit...
                      Aber ich denke es ging vielen "Zuschauern" so und mit der soeben aktualisierten Version 2.9.0 auf GitHub doch ein guter Anlass alle Anderen, die Berührungsängste hatten, wieder ins Rennen zu bringen ;-)

                      M Offline
                      M Offline
                      Muchul
                      schrieb am zuletzt editiert von
                      #616

                      @a200 oder @armilar das Mädel :-) ist bereit.
                      Ich habe mich anfixen lassen und habe zwei NSPanele mit Tasmota geflasht und die Einleitung von @Armilar befolgt.
                      Das fing schon mal sehr gut an, mit dem MQTT Server der nach einem der Updates nicht mehr funktionieren wollte. Nachdem ich ein 20 tage altes Backup zurückgespielt funktioniert es jetzt wieder.
                      So, wo bin ich jetzt:
                      Hardware geflasht :heavy_check_mark:
                      MQTT eingerichtet :heavy_check_mark:
                      Wetter eingerichtet :heavy_check_mark: villeicht aber auch nicht, hatte anfangs was gesehen, jetzt aber nicht mehr.
                      CustomSend :heavy_check_mark:
                      Scripte kopiert / umbenannt (2 Panele) :heavy_check_mark:

                      Irgendwo zwischen den Punkten 10 und 11 den Anschluß verloren und ausgestiegen :heavy_check_mark:
                      Zumindest zeigen die Dinger schonmal was an.

                      Ich mache jetzt pause, das Mädel ist übermorgen wieder da, oder morgen Abend, je nach dem...

                      D 1 Antwort Letzte Antwort
                      1
                      • M Muchul

                        @a200 oder @armilar das Mädel :-) ist bereit.
                        Ich habe mich anfixen lassen und habe zwei NSPanele mit Tasmota geflasht und die Einleitung von @Armilar befolgt.
                        Das fing schon mal sehr gut an, mit dem MQTT Server der nach einem der Updates nicht mehr funktionieren wollte. Nachdem ich ein 20 tage altes Backup zurückgespielt funktioniert es jetzt wieder.
                        So, wo bin ich jetzt:
                        Hardware geflasht :heavy_check_mark:
                        MQTT eingerichtet :heavy_check_mark:
                        Wetter eingerichtet :heavy_check_mark: villeicht aber auch nicht, hatte anfangs was gesehen, jetzt aber nicht mehr.
                        CustomSend :heavy_check_mark:
                        Scripte kopiert / umbenannt (2 Panele) :heavy_check_mark:

                        Irgendwo zwischen den Punkten 10 und 11 den Anschluß verloren und ausgestiegen :heavy_check_mark:
                        Zumindest zeigen die Dinger schonmal was an.

                        Ich mache jetzt pause, das Mädel ist übermorgen wieder da, oder morgen Abend, je nach dem...

                        D Offline
                        D Offline
                        DocGame
                        schrieb am zuletzt editiert von DocGame
                        #617

                        @muchul @Armilar Geht mir ähnlich....
                        Hatte meine vor 5 Monaten geflasht, bin nicht weitergekommen und sie in die Schublade gepackt.
                        Mit der Anleitung habe ich wieder Hoffnung gefasst. Bei mir ist auch bei Punkt 10 Ende...
                        Sobald ich das NSPanelTS starte kommen jede Menge Warnungen und auf dem Display bleibt das "Waiting for content ..."
                        Ich denke, ohne weiteren Input(vielleicht ist es nur eine Kleinigkeit) wird hier vermutlich schon wieder "Feierabend" sein.
                        Ich sehe im Code zwar wo ich später meine Menuepunkte anpassen kann (wenn die Zusätzlichen Aliase angelegt sind). aber zuerst sollte es ja mal in irgendeiner Form Reaktionen und keine Warnmeldungen bringen.
                        Habe ich was falsch gemacht?

                        
                        31.5.2022, 09:35:09.422	[info ]: javascript.0 (5584) Stop script script.js.Scripts.NSPANEL_1_290
                        31.5.2022, 09:35:09.509	[info ]: javascript.0 (5584) script.js.Scripts.NSPANEL_1_290: compiling TypeScript source...
                        31.5.2022, 09:35:09.698	[info ]: javascript.0 (5584) script.js.Scripts.NSPANEL_1_290: source code did not change, using cached compilation result...
                        31.5.2022, 09:35:09.714	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:535:1
                        31.5.2022, 09:35:09.831	[info ]: javascript.0 (5584) script.js.Scripts.NSPANEL_1_290: registered 13 subscriptions and 6 schedules
                        31.5.2022, 09:35:13.470	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:13.470	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:35:13.470	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:35:13.470	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:13.470	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:13.471	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:13.472	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:13.472	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:35:13.472	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:13.472	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:13.473	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:22.922	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:22.922	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:35:22.922	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:35:22.922	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:22.922	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:22.923	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:22.924	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:22.925	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:28.054	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:28.054	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:35:28.054	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:35:28.054	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:28.054	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:28.055	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:28.056	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:31.352	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:31.353	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:31.354	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:31.354	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:31.354	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:31.354	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:31.354	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:37.249	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:37.250	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:37.251	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:37.251	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:37.251	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:37.251	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:37.251	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:43.140	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:43.140	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:35:43.141	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:35:43.141	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:43.141	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:43.141	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:43.141	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:35:43.141	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:35:43.141	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:43.141	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:43.142	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:43.142	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:35:43.142	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:43.142	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:43.142	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:43.143	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:35:43.143	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:43.143	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:43.143	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:43.143	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:43.143	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:43.143	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:43.143	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:43.144	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:43.144	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:43.144	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:43.144	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:43.144	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:35:49.189	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:49.190	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:49.191	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:49.191	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:49.191	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:49.191	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:49.191	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:55.127	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:55.127	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:35:55.127	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:35:55.127	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:55.127	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:55.128	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:55.128	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:35:55.128	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:35:55.128	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:55.128	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:55.129	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:55.129	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:35:55.129	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:55.129	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:55.130	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:35:55.130	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:35:55.130	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:35:55.130	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:55.131	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:55.131	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:55.131	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:55.131	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:55.131	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:35:55.131	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:35:55.131	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:35:55.131	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:35:55.132	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:35:55.132	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:36:00.005	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:36:00.005	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:36:00.006	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:511:5)
                        31.5.2022, 09:36:01.134	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:36:01.134	[warn ]: javascript.0 (5584)     at SendDate (script.js.Scripts.NSPANEL_1_290:958:5)
                        31.5.2022, 09:36:01.134	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:946:5)
                        31.5.2022, 09:36:01.134	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:36:01.134	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at SendTime (script.js.Scripts.NSPANEL_1_290:970:5)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:947:5)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:948:5)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:36:01.135	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:859:9)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at HandleStartupProcess (script.js.Scripts.NSPANEL_1_290:949:5)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:877:17)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at script.js.Scripts.NSPANEL_1_290:853:13
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at SendToPanel (script.js.Scripts.NSPANEL_1_290:852:13)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at GeneratePage (script.js.Scripts.NSPANEL_1_290:911:13)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at HandleMessage (script.js.Scripts.NSPANEL_1_290:879:17)
                        31.5.2022, 09:36:01.136	[warn ]: javascript.0 (5584)     at Object.<anonymous> (script.js.Scripts.NSPANEL_1_290:847:9)
                        

                        Nachtrag:
                        Habe gerade gesehen, dass der Datenpunkt "SmartHome/NSPanel_1/cmnd/CustomSend" nicht mehr da ist. Vorhin war er noch da.
                        Jetzt kann ich diesen mit „CustomSend time~12:00“ in der Konsole leider nicht mehr anlegen (Heute Morgen gings noch). In der Tasmotaconsole kommen die normalen Meldungen.
                        Nachtrag 2: Hab den Datenpunkt manuell angelegt. Jetzt zeigt mir das Panel die Uhrzeit und das Datum....Werde wohl doch weiter "wursteln".

                        H 1 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          Mayan
                          schrieb am zuletzt editiert von
                          #618

                          @Armilar

                          Danke für das tolle Skript. Mega Arbeit 👍
                          Kannst du mehr Infos zur cardQR geben?
                          Wie muss der Alias dafür aussehen?

                          ArmilarA 1 Antwort Letzte Antwort
                          1
                          • ArmilarA Armilar

                            @leone-mortuo sagte in Sonoff NSPanel:

                            @armilar

                            fantastisch!! vielen Dank für die Mühe :+1: :grinning: , das werd ich dann mal als Hook nutzen um wieder ins Thema rein zu kommen.
                            ich hatte leider irgendwann den Überblick verloren und konnte nicht mehr folgen.

                            Danke :blush: - war auch ne Menge Arbeit...
                            Aber ich denke es ging vielen "Zuschauern" so und mit der soeben aktualisierten Version 2.9.0 auf GitHub doch ein guter Anlass alle Anderen, die Berührungsängste hatten, wieder ins Rennen zu bringen ;-)

                            _JOHN__ Offline
                            _JOHN__ Offline
                            _JOHN_
                            schrieb am zuletzt editiert von
                            #619

                            @armilar

                            Ja das Glaub ich sofort, kenne das selbst - um so mehr is ein DANK! mehr als angebracht.
                            Das geht ja leider mittlerweile oftmals in den ganzen Foren all zu gerne unter,
                            dass sich Leute viel Aufwand machen und ihre Zeit investieren und man dafür auch die nötige Anerkennung aufbringen sollte.

                            ich hatte leider noch keine Zeit die Sache von vorne anzugehen - aber ich bin guter Dinge das das jetzt klappt :)
                            In den kommenden Tagen werd ich mal loslegen. vll. kann ich dann auch ein wenig unterstützen an der ein oder anderen Stelle.

                            Grüße gehen raus. John.

                            1 Antwort Letzte Antwort
                            1
                            • M Mayan

                              @Armilar

                              Danke für das tolle Skript. Mega Arbeit 👍
                              Kannst du mehr Infos zur cardQR geben?
                              Wie muss der Alias dafür aussehen?

                              ArmilarA Offline
                              ArmilarA Offline
                              Armilar
                              Most Active Forum Testing
                              schrieb am zuletzt editiert von Armilar
                              #620

                              @mayan sagte in Sonoff NSPanel:

                              @Armilar

                              Danke für das tolle Skript. Mega Arbeit 👍
                              Kannst du mehr Infos zur cardQR geben?
                              Wie muss der Alias dafür aussehen?

                              Gerne ;-)

                              Ach ja, da fehlt ja noch, wie die cardQR arbeitet :blush:

                              Einfacher Alias "Info" auf Datenpunkt in 0_userdata.0.
                              7cb40a66-00da-42bb-88d9-56c6a1646436-image.png

                              und in dem Datenpunkt steht:
                              8d8f9b6c-4ba3-4f01-a1b7-faea2ec18892-image.png

                              Wobei (ihr ahnt es bestimmt schon) die nachfolgenden Parameter für:
                              T = Verschlüsselung
                              S = SSID
                              P = Password
                              H = Hidden (In meinem Fall also sichtbar für Gäste)
                              stehen. Und das wars auch schon ;-) - den QR-Code baut dann das Panel aus den Informationen.

                              Viel Spaß mit der cardQR

                              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              D V 2 Antworten Letzte Antwort
                              1
                              • D Offline
                                D Offline
                                DocGame
                                schrieb am zuletzt editiert von
                                #621

                                @armilar Nochmals Danke für die Mühe die du dir mit der Anleitung gemacht hast.
                                Was ich aber in den ganzen Posts nicht finden konnte ist die Navigation.
                                Nach der Screenschonerseite kommt meine "Büro"Seite. Die Lampen kann ich schalten und auch der Fensterzustand wird angezeigt.
                                Rechts oben ist so ein Navigationspfeil. Wenn ich auf den klicke kommt irgendeine Temperaturseite die 0,0 Grad mit Pfeil oben/unten scheinbar zu verstellen ist. Wie bekomme ich diese weg? Von dieser Seite geht es weder vor noch zurück. Nach dem nächsten Svreensaver-intervall lande ich wieder darauf. Erst wenn ich den Strom wegnehme komme ich wieder auf meine "Büro" Seite.
                                Gibt es irgendeine Anleitung wie das mit den Verschiedenen Ansichten und die Navigation zu diesen Beschreibt.
                                An der Stelle hänge ich schon den ganzen Mittag...

                                ArmilarA 1 Antwort Letzte Antwort
                                1
                                • D DocGame

                                  @armilar Nochmals Danke für die Mühe die du dir mit der Anleitung gemacht hast.
                                  Was ich aber in den ganzen Posts nicht finden konnte ist die Navigation.
                                  Nach der Screenschonerseite kommt meine "Büro"Seite. Die Lampen kann ich schalten und auch der Fensterzustand wird angezeigt.
                                  Rechts oben ist so ein Navigationspfeil. Wenn ich auf den klicke kommt irgendeine Temperaturseite die 0,0 Grad mit Pfeil oben/unten scheinbar zu verstellen ist. Wie bekomme ich diese weg? Von dieser Seite geht es weder vor noch zurück. Nach dem nächsten Svreensaver-intervall lande ich wieder darauf. Erst wenn ich den Strom wegnehme komme ich wieder auf meine "Büro" Seite.
                                  Gibt es irgendeine Anleitung wie das mit den Verschiedenen Ansichten und die Navigation zu diesen Beschreibt.
                                  An der Stelle hänge ich schon den ganzen Mittag...

                                  ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  schrieb am zuletzt editiert von Armilar
                                  #622

                                  @docgame sagte in Sonoff NSPanel:

                                  @armilar Nochmals Danke für die Mühe die du dir mit der Anleitung gemacht hast.
                                  Was ich aber in den ganzen Posts nicht finden konnte ist die Navigation.
                                  Nach der Screenschonerseite kommt meine "Büro"Seite. Die Lampen kann ich schalten und auch der Fensterzustand wird angezeigt.
                                  Rechts oben ist so ein Navigationspfeil. Wenn ich auf den klicke kommt irgendeine Temperaturseite die 0,0 Grad mit Pfeil oben/unten scheinbar zu verstellen ist. Wie bekomme ich diese weg? Von dieser Seite geht es weder vor noch zurück. Nach dem nächsten Svreensaver-intervall lande ich wieder darauf. Erst wenn ich den Strom wegnehme komme ich wieder auf meine "Büro" Seite.
                                  Gibt es irgendeine Anleitung wie das mit den Verschiedenen Ansichten und die Navigation zu diesen Beschreibt.
                                  An der Stelle hänge ich schon den ganzen Mittag...

                                  Im Config-Teil (siehe folgenden Codebereich) werden die Seiten der Reihe nach definiert. Das ist auch die Menü-Reihenfolge. Ich habe jetzt mal im folgenden Block die Seite "Buero_Klimaanlage" mit "//"auskommentiert. Kannst sie natürlich auch löschen. Somit kannst du dir dein eigenes Menü zusammenstellen.

                                  export const config: Config = {
                                      panelRecvTopic: "mqtt.0.SmartHome.NSPanel_EMU.tele.RESULT",       //anpassen
                                      panelSendTopic: "mqtt.0.SmartHome.NSPanel_EMU.cmnd.CustomSend",   //anpassen
                                      firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
                                      secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
                                      thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
                                      fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
                                      timeoutScreensaver: 15,
                                      dimmode: 90,
                                      screenSaverDoubleClick: false,
                                      locale: "de_DE",
                                      timeFormat: "%H:%M",
                                      dateFormat: "%A, %d. %B %Y",
                                      weatherEntity: "alias.0.Wetter",
                                      defaultOffColor: Off,
                                      defaultOnColor: On,
                                      defaultColor: Off,
                                      temperatureUnit: "°C",
                                      pages: [
                                              Buero_Seite_1,
                                              Radio,
                                              //Buero_Klimaanlage,
                                              WLAN, 
                                              Button_1,
                                              Test_Licht,
                                              Test_Funktionen,
                                              Fenster_1,
                                      	    Subpages_1,
                                              Alexa,
                                              Buero_Themostat,
                                              Buero_Alarm,
                                              Service
                                      ],
                                      button1Page: button1Page,
                                      button2Page: button2Page
                                  };
                                  

                                  Im Prinzip kannst du dir also eine eigene Seite machen (musst nicht das übernehmen, was im Beispiel ist). Alles was man hierfür benötigt ist die Zugehörige-Variablen-Deklaration. Nehmen wir an du möchtest eine cardEntities (also 4 Steuerelemente vertikal) mit speziellen Sensoren. Das könnte dann in der Deklaration so aussehen:

                                  var DocGame_Seite_1: PageEntities =
                                  {
                                      "type": "cardEntities",
                                      "heading": "DocGames Headline 1",
                                      "useColor": true,
                                      "subPage": false,
                                      "items": [
                                          <PageItem>{ id: "alias.0.NSPanel_1.DocGames-Alias-von-Sensor-1", name: "Sensordaten 1"}
                                      ]
                                  };
                                  

                                  Dann würde die Config bei dir so aussehen:

                                  export const config: Config = {
                                      panelRecvTopic: "mqtt.0.SmartHome.NSPanel_EMU.tele.RESULT",       //anpassen
                                      panelSendTopic: "mqtt.0.SmartHome.NSPanel_EMU.cmnd.CustomSend",   //anpassen
                                      firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
                                      secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
                                      thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
                                      fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
                                      timeoutScreensaver: 15,
                                      dimmode: 90,
                                      screenSaverDoubleClick: false,
                                      locale: "de_DE",
                                      timeFormat: "%H:%M",
                                      dateFormat: "%A, %d. %B %Y",
                                      weatherEntity: "alias.0.Wetter",
                                      defaultOffColor: Off,
                                      defaultOnColor: On,
                                      defaultColor: Off,
                                      temperatureUnit: "°C",
                                      pages: [
                                              DocGame_Seite_1
                                      ],
                                      button1Page: button1Page,
                                      button2Page: button2Page
                                  };
                                  

                                  Und weil nur ein <PageItem> definiert ist, wird auch nur ein Sensor (Steueelement) visualisiert.

                                  Wenn du aber jetzt die "Klimaanlage" nutzen möchtest, dann würde die Variablendeklaration z.B. folgendermaßen aussehen:

                                  var DocGame_Seite_6 : PageThermo = 
                                  {
                                      "type": "cardThermo",
                                      "heading": "Klimaanlage im SZ",
                                      "useColor": true,
                                      "subPage": false,
                                      "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alias-vom-Typ-Klimaanlage", minValue: 170, maxValue: 250}]
                                  }; 
                                  

                                  Und im Alias-vom-Typ-Klimaanlage steht dann:

                                  b702c8cb-73e0-43b2-981b-fe2c2911ec12-image.png

                                  197e66eb-015b-4b19-bdd3-8d71b910c7fe-image.png

                                  natürlich nicht die Beispieldaten aus 0_userdata.0. sondern aus den echten Datenpunkten der Klimaanlage.

                                  Gleiches gilt für den Thermostaten (jetzt würdest du aber nicht den Alias "Klimaanlage" verwenden, sondern den Alias "Thermostat"). Wenn dann entsprechend mit dem Alias angelegt, dann würde aus der 0 die Setpoint-Temoeratur werden, welche sich dann über die Pfeiltasten steuern lässt. Im Beispiel ist ebenfalls noch ein minValue und ein maxValue genannt. Wenn diese Parameter vorhanden sind, kann der Thermostat/oder alternativ die Klimaanlage über eine Mindestraumtemperatur bis Maximalraumtemperatur gesteuert werden.
                                  °
                                  Nehmen wir an, du hättest einen Thermostaten von Max!: Dieser Thermostat arbeitet von 4,5°C - 30,5°C. Also gebe ich ihm die Parameter minValue: 45, maxValue 305 im PageItem mit. Dann lässt sich der Thermostat auch nur noch von 4,5°C - 30,5°C steuern. Hast du eienen von homaticIP, dann wäre die Mindestraumtemperatur (Setpoint) bei 5°C, also minValue : 50

                                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    Mayan
                                    schrieb am zuletzt editiert von
                                    #623

                                    Die cardQR funktioniert super.
                                    Habe aber noch 5 Probleme

                                    1. Wenn ich die Card QR als “subPage“:true einstelle, bekomme ich weiterhin Navigation vor und zurück (kein direktes zurück zur Startseite)
                                    2. Wenn ich auf einer subPage bin und dort z.B. eine Lampe schalte, springt das Display sofort nach dem Schalten auf die Hauptseite zurück. Es wäre schön wenn es auf der subPage bleibt, damit ich dort noch andere Schalter betätigen kann
                                    3. Meldungen (popupNotify) im Screensaver werden nach Aktualisierungen der Wetterdaten überschrieben (bleiben im Hintergrund und die Wettersymbole legen sich drüber. Sieht seltsam aus)image.jpg
                                      Wäre ein Datenpunkt true/false möglich, der bei true den popupNotify anzeigt und bei false wieder das Wetter?
                                    4. Auf der button1Page fehlen die Navigationspfeile
                                      (auf der button2Page sind sie vorhanden)
                                      Kann ich das irgendwo einstellen?
                                    5. Seiten vom Typ cardGrid funktionieren nur noch als Taster (nur Alias Typ Taster, Alias vom Typ Licht verursachen Fehlermeldungen)
                                      Ich hatte schon die Vorgängerversionen am Laufen. Dort ging es mal. (Version ohne PopupNotify-Pages)

                                    Sonst läuft alles Perfekt!

                                    ArmilarA 1 Antwort Letzte Antwort
                                    0
                                    • M Mayan

                                      Die cardQR funktioniert super.
                                      Habe aber noch 5 Probleme

                                      1. Wenn ich die Card QR als “subPage“:true einstelle, bekomme ich weiterhin Navigation vor und zurück (kein direktes zurück zur Startseite)
                                      2. Wenn ich auf einer subPage bin und dort z.B. eine Lampe schalte, springt das Display sofort nach dem Schalten auf die Hauptseite zurück. Es wäre schön wenn es auf der subPage bleibt, damit ich dort noch andere Schalter betätigen kann
                                      3. Meldungen (popupNotify) im Screensaver werden nach Aktualisierungen der Wetterdaten überschrieben (bleiben im Hintergrund und die Wettersymbole legen sich drüber. Sieht seltsam aus)image.jpg
                                        Wäre ein Datenpunkt true/false möglich, der bei true den popupNotify anzeigt und bei false wieder das Wetter?
                                      4. Auf der button1Page fehlen die Navigationspfeile
                                        (auf der button2Page sind sie vorhanden)
                                        Kann ich das irgendwo einstellen?
                                      5. Seiten vom Typ cardGrid funktionieren nur noch als Taster (nur Alias Typ Taster, Alias vom Typ Licht verursachen Fehlermeldungen)
                                        Ich hatte schon die Vorgängerversionen am Laufen. Dort ging es mal. (Version ohne PopupNotify-Pages)

                                      Sonst läuft alles Perfekt!

                                      ArmilarA Offline
                                      ArmilarA Offline
                                      Armilar
                                      Most Active Forum Testing
                                      schrieb am zuletzt editiert von Armilar
                                      #624

                                      @mayan sagte in Sonoff NSPanel:

                                      Wenn ich auf einer subPage bin und dort z.B. eine Lampe schalte, springt das Display sofort nach dem Schalten auf die Hauptseite zurück. Es wäre schön wenn es auf der subPage bleibt, damit ich dort noch andere Schalter betätigen kann

                                      Zu 1) Habe die cardQR noch nie als subPage genutzt --> sehe ich mir an --> vermute, das die nur die Standard 1/1 Navigation benutzt --> Bugfix folgt...
                                      Zu 2) Habe aktuell das gleiche Verhalten in der subPage und bin am suchen ;-) --> Bugfix folgt...
                                      Zu 3) Habe ich auch schon gehabt (eher selten), jedoch wäre das ein Thema für @joBr99 --> Beim ersten Mal sieht es gut aus. Wenn eine weitere Nachricht (Notify) an den geöffneten Screensaver übertragen wird, dann passiert genau das.
                                      Zu 4) Die button1Page und button2Page sind keine Pages, die im regulären Menü sind, sondern wie im Skript Header beschrieben über die zwei Hardware-Buttons unten am Panel als zum Beispiel "Favoriten"-Seiten arbeiten. Wenn die button2Page Menüpfeile hat, dann wäre das ein Bug ;-) . Die beiden Tasten liefern nämlich keine Page-Id und somit können die als Menüseite nicht gesteuert werden. Wir emulieren die Page-ID in dem ein negativer Wert angenommen wird, der mit verlassen über den Screensaver wieder 0 wird.

                                      Die Hardware-Buttons steuern regulär die Relais (als Lichtschalter), können aber alternativ auch als "Sonderseiten ohne Menü" fungieren. Dazu müsste die o.a. Rule2 aus dem Skript im Tasmota definiert und aktiviert werden. Oder etwas abgewandelt würde auch eine Favoritenpage und ein Schalter funktionieren.

                                      Die button1Page oder button2Page würde ich aber auch nicht in das Menü unter pages aufnehmen, sondern dann eine neue cardGrid oder cardEntities bauen, die einen abweichenden Variablennamen hat (z.B. Seite_9 ;-) , aber sonst die gleichen <pageItem> wie z. B. in der button1Page aufruft)

                                      Zu 5) Sehe ich mir ebenfalls an. Kann nichts weltbewegendes sein --> Bugfix folgt

                                      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      J 1 Antwort Letzte Antwort
                                      0
                                      • M Offline
                                        M Offline
                                        Mayan
                                        schrieb am zuletzt editiert von
                                        #625

                                        Nochmal zu 4.

                                        Wenn du im Skript unter
                                        funktion HandleaHardwareButton
                                        config.button1Page pageId von -1 auf -2 stellst, sind die Navigationspfeile vorhanden.
                                        Wenn ich die button1Page als subPage: true stelle, habe ich einen zurück Pfeil.

                                        Ich benötige eine Navigation um aus den beiden Button Seiten wieder raus zu kommen. Sonst muss ich immer warten bis der Screensaver kommt. Ich nutze die beiden Buttons als Favoriten Seiten, da ich die Relais nicht benötige.

                                        ArmilarA 1 Antwort Letzte Antwort
                                        0
                                        • M Mayan

                                          Nochmal zu 4.

                                          Wenn du im Skript unter
                                          funktion HandleaHardwareButton
                                          config.button1Page pageId von -1 auf -2 stellst, sind die Navigationspfeile vorhanden.
                                          Wenn ich die button1Page als subPage: true stelle, habe ich einen zurück Pfeil.

                                          Ich benötige eine Navigation um aus den beiden Button Seiten wieder raus zu kommen. Sonst muss ich immer warten bis der Screensaver kommt. Ich nutze die beiden Buttons als Favoriten Seiten, da ich die Relais nicht benötige.

                                          ArmilarA Offline
                                          ArmilarA Offline
                                          Armilar
                                          Most Active Forum Testing
                                          schrieb am zuletzt editiert von Armilar
                                          #626

                                          @mayan sagte in Sonoff NSPanel:

                                          Nochmal zu 4.

                                          Wenn du im Skript unter
                                          funktion HandleaHardwareButton
                                          config.button1Page pageId von -1 auf -2 stellst, sind die Navigationspfeile vorhanden.
                                          Wenn ich die button1Page als subPage: true stelle, habe ich einen zurück Pfeil.

                                          Ich benötige eine Navigation um aus den beiden Button Seiten wieder raus zu kommen. Sonst muss ich immer warten bis der Screensaver kommt. Ich nutze die beiden Buttons als Favoriten Seiten, da ich die Relais nicht benötige.

                                          Ich sehe mal was sich da machen lässt. Da die cardEntities und die cardGrid nicht über ein "x" zum verlassen der Dialoge (analog popUp) verfügen, könnte der Pfeil den Screensaver früher holen oder einen Seitenaufbau Seite "0" initiieren. Mal sehen was da geht.

                                          Werde aber in dieser Woche wenig bis keine Zeit dazu haben. Wird also eher Wochenende oder Anfang nächster Woche...

                                          Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          754

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe