Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. NSPanel SONOFF Typescript schleift (TFT Firmware)-(erledigt)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    NSPanel SONOFF Typescript schleift (TFT Firmware)-(erledigt)

    This topic has been deleted. Only users with topic management privileges can see it.
    • Armilar
      Armilar Most Active Forum Testing @CäptnBlaubär last edited by Armilar

      @cäptnblaubär

      Ohne das ich nun weitere Infos bekommen habe, tippe ich auf den CustomSend, der vom MQTT-Broker nicht abonniert wurde.

      https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Starthilfe-FAQ#waiting-for-content---es-geht-nicht-weiter

      Ich würde zunächst mal wie folgt loslegen:

      • Check den MQTT-Adapter: "Nur bei Änderungen publizieren" darf nicht gesetzt sein

      • Check die folgenden Parameter, ob sie auch wirklich inkl. Pfad so heißen wie im MQTT-Adapter:
        ccd4f3de-770c-4da6-8fdc-240fc828f28f-image.png

      • Nutze die Variante 3 (MQTT-Explorer) zum Anlegen des CustomSend in der Basis-Anleitung

      C 1 Reply Last reply Reply Quote 1
      • C
        CäptnBlaubär @Armilar last edited by CäptnBlaubär

        @armilar
        Danke der schnellen Reaktion.
        Leider bringen alle 3 'CustomSend' Anlegevarianten nicht das erwartete Ergebnis.
        Habe extra für deas NSPanel eine eigene mqtt-Instanz angelegt, in welcher genau die Angabe wie im Leitfaden gemacht wurden.
        Um vielleicht die Ursachenforschung zu erleichtern:NSPanelBuero.jpg MQTT Explorer.jpg

        sowie die Meldungen der Tasmota-Console bei CustomSend-Variante 2:

        18:06:36.590 CMD: CustomSend time~12:00
        18:06:36.613 MQT: SmartHome/NSPanelBuero/stat/RESULT = {"CustomSend":"Done"}
        18:06:37.047 MQT: SmartHome/NSPanelBuero/tele/RESULT = {"CustomRecv":"event,startup,53,eu"}
        18:06:43.042 MQT: SmartHome/NSPanelBuero/tele/RESULT = {"CustomRecv":"event,startup,53,eu"}
        18:06:48.941 MQT: SmartHome/NSPanelBuero/tele/RESULT = {"CustomRecv":"event,startup,53,eu"}
        18:06:49.887 MQT: SmartHome/NSPanelBuero/tele/STATE = {"Time":"2023-12-26T18:06:49","Uptime":"0T00:05:11","UptimeSec":311,"Heap":132,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":1,"Berry":{"HeapUsed":16,"Objects":219},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"WLANDaheim","BSSId":"3C:37:12:29:23:38","Channel":1,"Mode":"11n","RSSI":64,"Signal":-68,"LinkCount":1,"Downtime":"0T00:00:05"}}
        18:06:49.934 MQT: SmartHome/NSPanelBuero/tele/SENSOR = {"Time":"2023-12-26T18:06:49","ANALOG":{"Temperature1":22.5},"ESP32":{"Temperature":53.3},"TempUnit":"C"}
        18:06:54.941 MQT: SmartHome/NSPanelBuero/tele/RESULT = {"CustomRecv":"event,startup,53,eu"}
        18:07:00.841 MQT: SmartHome/NSPanelBuero/tele/RESULT = {"CustomRecv":"event,startup,53,eu"}

        Falls noch mehr Infos hilfreich wären, bitte kurz nennen was relevant wäre.
        Vielen Dank im Voraus.
        VG

        Armilar T 2 Replies Last reply Reply Quote 0
        • Armilar
          Armilar Most Active Forum Testing @CäptnBlaubär last edited by

          @cäptnblaubär

          Dann zeige bitte mal die Datenpunkte aus der MQTT-Instanz

          • tele-, stat- und cmnd-Objekte unter mqtt.X
          • Screenshots deiner MQTT-Instanz

          Du brauchst lokale IP-Adressen nicht maskieren. Solange du hier keine WAN-IP mit Zugangsdaten deines Routers reinschreibest, wird wohl keiner etwas mit der IP des NSPanels oder deines ioBroker's etwas anfangen können...

          C 1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @CäptnBlaubär last edited by

            @cäptnblaubär
            Hab das ebenfalls vor 2 Tagen eingerichtet(und geht nach anfänglichen dummen Fehlern :)). Hast du den Pfad im Skript auf die entsprechende mqtt instanze angepasst? Wird auf dem nspanel, wait for content angezeigt? Bei mir war der große Fehler - das ich ganz oben im mqtt Adapter noch iobroker als prefix stehen hatte.

            1 Reply Last reply Reply Quote 2
            • C
              CäptnBlaubär @Armilar last edited by

              @armilar
              hoffe ich habe es richtig verstanden:
              NSPanel-ts-Script.jpg mqtt.1.jpg mqtt.1.Datenpunkte.jpg

              T 1 Reply Last reply Reply Quote 0
              • T
                TT-Tom @CäptnBlaubär last edited by

                @cäptnblaubär

                Setzte mal im MQTT Adapter die IP auf. 0.0.0.0

                Und dann versuche den CustomSend anzulegen.

                C 1 Reply Last reply Reply Quote 1
                • C
                  CäptnBlaubär @TT-Tom last edited by CäptnBlaubär

                  @tt-tom
                  CustomSend hat nun geklappt, jedoch im TS-Script keine Verbesserung und auch nicht auf der NSPanel-Anzeige (waiting for Content)
                  mqtt Explorer2.jpg LOG-TS-Script.jpg

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    TT-Tom @CäptnBlaubär last edited by TT-Tom

                    @cäptnblaubär
                    Von Codezeilen oder Meldungen aus dem Log bitte keine Screenshot machen, sondern kopieren und in die Codetags </> einfügen. Lässt sich besser lesen und mit arbeiten.

                    Hast du für die Tasmota Oberfläche ein Passwort vergeben?!

                    Ist der CustomSend auch im Broker angekommen??

                    Edit: nochmal zum MQTT Adapter in den MQTT Einstellungen steht bei dir mqtt.1 das muss mqtt.1.* sein. Habe ich jetzt erst erkannt.

                    Armilar 1 Reply Last reply Reply Quote 1
                    • Armilar
                      Armilar Most Active Forum Testing @TT-Tom last edited by

                      @tt-tom sagte in NSPanel SONOFF Typescript schleift (TFT Firmware):

                      mqtt.1.*

                      Gutes Auge 😊

                      d57e5538-b6d6-4d66-832d-8e0ba90b7cf2-image.png

                      muss natürlich mqtt.1.* sein.

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        CäptnBlaubär @Armilar last edited by

                        @armilar
                        juhu - was so ein kleiner stern doch bewirkt- passt ja auch zu Weihnachten.
                        Danke an alle Beteiligten-hatte die Hoffnung das hinzukriegen schon fast aufgegeben.

                        Noch eine letzte Frage zum Verständnis des Ganzen:
                        Habe von den NSPanelen 2 Stk.
                        Läßt sich über Backups das 1. Panel auf das 2. klonen-natürlich mit anschliessener Anpassung von IP,mqtt, 2. ts-script
                        oder muss ich das flash-Verfahren, tasmota, berry, etc nochmal durchziehen ?

                        VG und ein angenehmes Restjahr

                        Armilar 1 Reply Last reply Reply Quote 0
                        • Armilar
                          Armilar Most Active Forum Testing @CäptnBlaubär last edited by Armilar

                          @cäptnblaubär

                          Tasmota ließe sich über Backup klonen, jedoch muss es ja initial geflashed werden. Den Berry-Treiber und das FlashNextion bekommst du damit ebenfalls nicht.

                          Ich denke mal, jetzt wo der mqtt.1. funktioniert, dürfte das ein Kinderspiel werden...

                          • Tasmota Flashen und konfigurieren,
                          • Berry-Driver installieren
                          • Panel-Flashen
                          • Script klonen und Parameter anpassen

                          Dann sollte es schon unter der gleichen mqtt.1.-Instanz und unter der geleichen JS-Adapter-Instanz laufen. Ich mache das ganze mittlerweile komplett in weniger als 10 Minuten 😊

                          Du kannst das gleiche Script benutzen, hast aber dann natürlich andere Kommunikationsstrings und der NSPanel_Path muss natürlich ebenfalls angepasst werden.

                          Viel Spaß noch mit den NSPaneln...
                          ... und Fragen gerne im Support-Thread unter:
                          https://forum.iobroker.net/topic/58170/sonoff-nspanel-mit-lovelace-ui/5000
                          stellen

                          VG

                          C 1 Reply Last reply Reply Quote 0
                          • C
                            CäptnBlaubär @Armilar last edited by

                            @armilar
                            Schade-wo es doch immer heisst: Kein Backup-kein Mitleid.
                            Ein Komplettbackup des Panels ist dann somit nicht möglich.

                            Liesse sich denn eine Screen-Konfiguration übertragen.
                            Fang erst an mich da rein zu granulieren.
                            Gibt's eventuell einen Leitfaden zum längshangeln ?
                            VG

                            Armilar 1 Reply Last reply Reply Quote 0
                            • Armilar
                              Armilar Most Active Forum Testing @CäptnBlaubär last edited by Armilar

                              @cäptnblaubär

                              Ja du kannst auch das gleiche Script auf zwei Paneln betreiben... Muss halt nur das NSPanelTs.ts Script geklont werden...

                              • Und nein, FlashNextion kannst du jederzeit oder bei Bedarf durchführen
                              • Berry ebenfalls
                              • Für Tasmota lässt sich ja ein Backup machen

                              Ich wüsste auch nicht, wofür Backups von TFT und Berry gut wären. Ändern sich zwar nicht permanent, jedoch sind die mit 2 Befehlen in kürzester Zeit auf dem NSPanel... Dein Backup ist quasi Github...

                              Alles was du zur Konfiguration der Navigation, Screensaver, Cards, Aliase, PageItems benötigst ist alles in der sehr umfangreichen Wiki enthalten:
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              EDIT: Ich denke das 2. Panel wird sehr viel schneller laufen...

                              C 1 Reply Last reply Reply Quote 0
                              • C
                                CäptnBlaubär @Armilar last edited by

                                @armilar
                                Alles bis hierhin soweit verstanden und Danke nochmal für den feiertäglichen Einsatz.

                                War halt nur so eine Idee mit dem Backup, wenn mann sich mal verbastelt hat,
                                um wieder auf den Ursprung aufzusetzen.
                                Dann eben halt so, wie von Dir beschrieben.

                                Ein friedliches Restjahr, Guten Rutsch 🎉
                                und VG

                                Armilar 1 Reply Last reply Reply Quote 1
                                • Armilar
                                  Armilar Most Active Forum Testing @CäptnBlaubär last edited by

                                  @cäptnblaubär

                                  Das verbasteln kann eigentlich nur im NSPanelTs.ts passieren. Ich habe dafür im JS-Script Adapter einen Archiv-Ordner. Neue Dinge werden bei mir immer in einem Script-Klon erweitert.

                                  Könnte also bei Bedarf sogar bis zur Version 2.9.0 zurück. Ich hänge immer die aktuelle Versionsnummer an den Script-Namen

                                  Ebenfalls noch viel Spaß beim Basteln, und einen guten Rutsch

                                  VG
                                  Armilar

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    ticaki Developer @Armilar last edited by

                                    @armilar

                                    Eine Frage, wollte mir mal eine page erstellen, die bleibt aber bis auf die Überschrift leer: Aliase sind erstellt mit ACTUAL und SET beides common.type = 'number'

                                    code in Auszügen:

                                     pages: [
                                            SensorGrid,
                                            NSPanel_Service, //Auto-Alias Service Page       
                                            //Unlock_Service            //Auto-Alias Service Page (Service Pages used with cardUnlock)
                                        ],
                                    
                                    let SensorGrid = <PageGrid>{
                                        'type': 'cardGrid',
                                        'heading': 'Temperatur Innen',
                                        'useColor': true,
                                        'items': [
                                            <PageItem>{ id: 'alias.0.NSPanel.1.System.Temperatur.Wohnzimmer', name: 'Wohnz', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 22} },
                                            <PageItem>{ id: 'alias.0.NSPanel.1.System.Temperatur.Kueche', name: 'Küche', offColor: MSYellow, onColor: MSYellow , useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 22} },
                                            <PageItem>{ id: 'alias.0.NSPanel.1.System.Temperatur.Bad', name: 'Bad', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 22} },
                                            <PageItem>{ id: 'alias.0.NSPanel.1.System.Temperatur.Sarah', name: 'Sarah', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 22} },
                                            <PageItem>{ id: 'alias.0.NSPanel.1.System.Temperatur.Schlafzimmer', name: 'Schlafz', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 19} },
                                            <PageItem>{ id: 'alias.0.NSPanel.1.System.Temperatur.Ankleidezimmer', name: 'Ankleid', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} },
                                        ]};
                                    

                                    Muß ich da vielleicht eine Seite vorschalten? Die Wiki ist recht umfangreich, wenn ich es überlesen habe, entschuldige bitte.

                                    Armilar 1 Reply Last reply Reply Quote 0
                                    • Armilar
                                      Armilar Most Active Forum Testing @ticaki last edited by Armilar

                                      @ticaki

                                      Alles gut. Ich denke es liegt bei leeren Seiten eher an der Art wie der Alias erstellt wird.

                                      Ich denke mal die sind 1:1 auf einem Datenpunkt ohne Channel.

                                      Wir kommunizieren grundsätzlich über einen Channel und damit ziehen wir die Logik eines Steuerelementes passend zum Device

                                      b14861bb-945a-4a7c-b8af-03a9fd78a4bc-image.png

                                      wie hier im switch die common.role des Objektes. Darüber wird es dann z.B. das Steuerelement socket, light, info, lock, etc. instanziert und mit Daten gefüttert. (hole etwas aus, da ich weiß das auf der anderen Seite ein Entwickler sitzt)

                                      Wenn der Alias keinen Channel besitzt oder den entsprechenden Aufbau, dann folgt in der function CreateEntity ein "delete" und das Steuerelement wird nicht instanziert.

                                      Am Besten kurz bei der Erstellung der Aliase folgende Seite beachten:
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen
                                      und
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Table

                                      hier nochmal eine kurze Übersicht, mit ein paar aufgeklappten Channels
                                      deccb218-8f1b-4d47-8fb2-ac6ea62ca2ee-image.png

                                      T 2 Replies Last reply Reply Quote 0
                                      • T
                                        ticaki Developer @Armilar last edited by

                                        @armilar

                                        Danke, deine Ausführungen + Code haben es gelöst. 👍

                                        Ich hatte die role den States und nicht dem darüber liegenden Folder gegeben. Hab type auf channel geändert und role auf value.temperature und es geht.

                                        1 Reply Last reply Reply Quote 1
                                        • T
                                          ticaki Developer @Armilar last edited by ticaki

                                          @armilar
                                          Was ich vor hatte scheint nicht zu funktionieren und bevor ich weiter versuche frage ich lieber.

                                          IMG_0238.jpeg

                                          Ich wollte eine Seite hinterlegen, die beim klicken auf die Temperaturen die entsprechende Einstellung dazu öffnen. Das scheint nicht zu gehen, gibt dazu auch kein Beispiel und popup gibts lt. Code nicht für thermostat.

                                          Und noch zusätzlich kann ich die kleine Schrift nach oben bekommen. Also das die Beschreibung oberhalb des Wertes steht nicht unterhalb?

                                          Armilar 1 Reply Last reply Reply Quote 0
                                          • T
                                            TT-Tom last edited by TT-Tom

                                            @ticaki

                                            du kannst über den Wert(Icon) auf eine ThermoPage navigieren.

                                            <PageItem>{navigate: true, id: 'alias.0._von ThermoPage', targetPage: 'Name-thermoPage', useValue: true, fontSize: 1}
                                            

                                            Die Schrift über das Icon geht nicht einzustellen.

                                            PS: der offizielle Support Thread ist hier.
                                            https://forum.iobroker.net/topic/58170/sonoff-nspanel-mit-lovelace-ui/5000

                                            T 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            991
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript template
                                            4
                                            23
                                            1267
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo