Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

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

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

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

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.7m Aufrufe 254 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

    @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

    @armilar
    javascript.0 v6.0.3
    Node.js v16.17.0

    Siehe Erweiterung (Nachtrag) und wenn du diesen ominösen Funktionsaufruf gefunden hast, dann entweder "async" vor die function oder "await" rausnehmen

    Beschreibe "auf halber Strecke fing das nspanel.ts Script dann plötzlich an zu laufen". Funktioniert das Panel nun oder nicht?

    Wenn ich tippen müsste, dann würde ich sagen: "sehe mal in das andere Script "testansage" im global-Verzeichnis, ob das diese Funktion hat."

    Andreas_ZA Offline
    Andreas_ZA Offline
    Andreas_Z
    schrieb am zuletzt editiert von Andreas_Z
    #40

    @armilar
    Das Verursachende Script habe ich gefunden, eine Altlast aus den Anfängen mit Alexa, dieses habe ich nun deaktiviert und wird auch nicht mehr benötigt.
    Auf dem Panel selbst wird leider noch nichts angezeigt, aktuell wird an mqtt.1.SmartHome.NSPanel_1.cmnd.CustomSend immer timeout~15 gesendet
    Es war die Testansage 🙂

    ArmilarA 1 Antwort Letzte Antwort
    0
    • Andreas_ZA Andreas_Z

      @armilar
      Das Verursachende Script habe ich gefunden, eine Altlast aus den Anfängen mit Alexa, dieses habe ich nun deaktiviert und wird auch nicht mehr benötigt.
      Auf dem Panel selbst wird leider noch nichts angezeigt, aktuell wird an mqtt.1.SmartHome.NSPanel_1.cmnd.CustomSend immer timeout~15 gesendet
      Es war die Testansage 🙂

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

      @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

      @armilar
      Das Verursachende Script habe ich gefunden, eine Altlast aus den Anfängen mit Alexa, dieses habe ich nun deaktiviert und wird auch nicht mehr benötigt.
      Auf dem Panel selbst wird leider noch nichts angezeigt, aktuell wird an mqtt.1.SmartHome.NSPanel_1.cmnd.CustomSend immer timeout~15 gesendet
      Es war die Testansage 🙂

      Das kostet dich mindestens einen Daumen nach oben 😉

      Die Nachricht ist perfekt. Jetzt haben wir wahrscheinlich noch ein Problem im mqtt.1.

      Edit:

      Was macht denn das Panel gerade? Waiting for content?

      Kommt im mqtt.1.SmartHome.NSPanel_1.tele.RESULT etwas an?

      Häufigste Ursachen:

      • mqtt.1. hat einen Port eingestellt, der bereits in mqtt.0. oder sonsoff.0. oder shelly.0. verwendet wird.
      • mqtt.1. ist falsch konfiguriert in der Instanz
      • berry-Driver ist nicht korrekt installiert. Dann alle Daten rauswerfen und autoexec.be neu anlegen + starten
      • tasmota hat die falschen mqtt Einstellungen (auch Portnummer sollte analog mqtt.1. sein)

      Hier findest du ebenfalls Hinweise und Configs für mqtt.X. :
      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation (Punkt 4 und 6)

      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.

      Andreas_ZA 1 Antwort Letzte Antwort
      0
      • ArmilarA Armilar

        @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

        @armilar
        Das Verursachende Script habe ich gefunden, eine Altlast aus den Anfängen mit Alexa, dieses habe ich nun deaktiviert und wird auch nicht mehr benötigt.
        Auf dem Panel selbst wird leider noch nichts angezeigt, aktuell wird an mqtt.1.SmartHome.NSPanel_1.cmnd.CustomSend immer timeout~15 gesendet
        Es war die Testansage 🙂

        Das kostet dich mindestens einen Daumen nach oben 😉

        Die Nachricht ist perfekt. Jetzt haben wir wahrscheinlich noch ein Problem im mqtt.1.

        Edit:

        Was macht denn das Panel gerade? Waiting for content?

        Kommt im mqtt.1.SmartHome.NSPanel_1.tele.RESULT etwas an?

        Häufigste Ursachen:

        • mqtt.1. hat einen Port eingestellt, der bereits in mqtt.0. oder sonsoff.0. oder shelly.0. verwendet wird.
        • mqtt.1. ist falsch konfiguriert in der Instanz
        • berry-Driver ist nicht korrekt installiert. Dann alle Daten rauswerfen und autoexec.be neu anlegen + starten
        • tasmota hat die falschen mqtt Einstellungen (auch Portnummer sollte analog mqtt.1. sein)

        Hier findest du ebenfalls Hinweise und Configs für mqtt.X. :
        https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation (Punkt 4 und 6)

        Andreas_ZA Offline
        Andreas_ZA Offline
        Andreas_Z
        schrieb am zuletzt editiert von Andreas_Z
        #42

        @armilar Daumen hoch auf jeden Fall 👍
        Waiting for content.
        Als MQTT verwende ich mosquitto, hier funktioniert die Anbindung:
        1663929903: New connection from 192.168.178.140:62638 on port 1883.
        1663929903: New client connected from 192.168.178.140:62638 as NSPanel_1 (p2, c1, k30, u'DVES_E7EFAC').

        Der IOBroker ist nur als Client konfiguriert.
        Im mqtt.1.SmartHome.NSPanel_1.tele.RESULT kommt an:
        {"CustomRecv":"event,startup,42,eu"}

        Im MQTT kommt auch etwas an:

        d3051e90-0d3b-4d8c-88f5-bf15ebfdc215-grafik.png

        ArmilarA 1 Antwort Letzte Antwort
        0
        • Andreas_ZA Andreas_Z

          @armilar Daumen hoch auf jeden Fall 👍
          Waiting for content.
          Als MQTT verwende ich mosquitto, hier funktioniert die Anbindung:
          1663929903: New connection from 192.168.178.140:62638 on port 1883.
          1663929903: New client connected from 192.168.178.140:62638 as NSPanel_1 (p2, c1, k30, u'DVES_E7EFAC').

          Der IOBroker ist nur als Client konfiguriert.
          Im mqtt.1.SmartHome.NSPanel_1.tele.RESULT kommt an:
          {"CustomRecv":"event,startup,42,eu"}

          Im MQTT kommt auch etwas an:

          d3051e90-0d3b-4d8c-88f5-bf15ebfdc215-grafik.png

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

          @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

          @armilar
          Waiting for content.
          Als MQTT verwende ich mosquitto, hier funktioniert die Anbindung:
          1663929903: New connection from 192.168.178.140:62638 on port 1883.
          1663929903: New client connected from 192.168.178.140:62638 as NSPanel_1 (p2, c1, k30, u'DVES_E7EFAC').

          Der IOBroker ist nur als Client konfiguriert.
          Im mqtt.1.SmartHome.NSPanel_1.tele.RESULT kommt an:
          {"CustomRecv":"event,startup,42,eu"}

          Im MQTT kommt auch etwas an:

          d3051e90-0d3b-4d8c-88f5-bf15ebfdc215-grafik.png

          Berry Driver nochmal neu gemacht? Also autoexe.be und autoexec.bec weggeworfen?

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

          danach Panel restarten

          und falls dann immer noch nicht funktioniert nochmal:

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

          Das Tasmota und das Script sprechen schon miteinander. Das Nextion aber noch nicht mit Tasmota...

          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.

          Andreas_ZA 1 Antwort Letzte Antwort
          0
          • ArmilarA Armilar

            @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar
            Waiting for content.
            Als MQTT verwende ich mosquitto, hier funktioniert die Anbindung:
            1663929903: New connection from 192.168.178.140:62638 on port 1883.
            1663929903: New client connected from 192.168.178.140:62638 as NSPanel_1 (p2, c1, k30, u'DVES_E7EFAC').

            Der IOBroker ist nur als Client konfiguriert.
            Im mqtt.1.SmartHome.NSPanel_1.tele.RESULT kommt an:
            {"CustomRecv":"event,startup,42,eu"}

            Im MQTT kommt auch etwas an:

            d3051e90-0d3b-4d8c-88f5-bf15ebfdc215-grafik.png

            Berry Driver nochmal neu gemacht? Also autoexe.be und autoexec.bec weggeworfen?

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

            danach Panel restarten

            und falls dann immer noch nicht funktioniert nochmal:

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

            Das Tasmota und das Script sprechen schon miteinander. Das Nextion aber noch nicht mit Tasmota...

            Andreas_ZA Offline
            Andreas_ZA Offline
            Andreas_Z
            schrieb am zuletzt editiert von
            #44

            @armilar

            14:31:31.836 CMD: FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.4.0.tft
            14:31:31.853 MQT: SmartHome/NSPanel_1/stat/RESULT = {"FlashNextion":"Done"}
            14:31:31.894 FLH: host: nspanel.pky.eu, port: 80, get: /lovelace-ui/github/nspanel-v3.4.0.tft
            14:31:33.187 FLH: Send (High Speed) flash start
            14:31:33.621 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 0, "time_elapsed": 0}}
            14:31:34.169 FLH: host: nspanel.pky.eu, port: 80, get: /lovelace-ui/github/nspanel-v3.4.0.tft
            14:31:35.294 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 90, "time_elapsed": 2}}
            14:31:36.710 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 91, "time_elapsed": 3}}
            14:31:39.662 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 92, "time_elapsed": 6}}
            14:31:42.604 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 93, "time_elapsed": 9}}
            14:31:45.691 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 94, "time_elapsed": 12}}
            14:31:48.630 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 95, "time_elapsed": 15}}
            14:31:51.587 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 96, "time_elapsed": 18}}
            14:31:54.341 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 97, "time_elapsed": 21}}
            14:31:57.284 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 98, "time_elapsed": 24}}
            14:32:00.266 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 99, "time_elapsed": 27}}
            14:32:00.673 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:32:06.701 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
            14:32:06.709 NXP: Screen Initialized
            14:32:06.831 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:32:06.930 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:32:06.993 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            

            Keine Ahnung was da schief läuft, die autoexec.be habe ich nun zum x-ten mal erneuert (alte Dateien zuvor gelöscht), dann nspanel-v3.4.0.tft erneut geflasht, das fängt dann aber nicht bei 1% an sondern wie oben zu sehen bei 90%

            00:00:00.003 HDW: ESP32-D0WD-V3 
            00:00:00.088 UFS: FlashFS mounted with 292 kB free
            00:00:00.182 CFG: Loaded from File, Anzahl 21
            00:00:00.197 QPC: Count 1
            00:00:00.423 BRY: Berry initialized, RAM used=3735 bytes
            00:00:00.455 Projekt tasmota - Tasmota Version 12.1.1(tasmota)-2_0_4_1(2022.08.25 11:41:45)
            00:00:00.173 NXP: Initializing Driver
            00:00:00.181 BRY: Successfully loaded 'autoexec.be'
            00:00:01.889 WIF: verbinden mit AP1 suppe2 Channel 6 BSSId 2C:3A:FD:A2:BE:A6 in Modus 11n als NSPanel-1-4012...
            00:00:06.127 RSL: RESULT = {"CustomRecv":"event,startup,42,eu"}
            00:00:06.765 WIF: verbunden
            14:36:26.131 HTP: Web-Server aktiv bei NSPanel-1-4012 mit IP-Adresse 192.168.178.140
            14:36:27.787 QPC: Reset
            14:36:30.757 MQT: Verbindungsversuch...
            14:36:30.796 MQT: verbunden
            14:36:30.802 MQT: SmartHome/NSPanel_1/tele/LWT = Online (beibehalten)
            14:36:30.806 MQT: SmartHome/NSPanel_1/cmnd/POWER = 
            14:36:30.823 MQT: SmartHome/NSPanel_1/tele/INFO1 = {"Info1":{"Module":"NSPanel","Version":"12.1.1(tasmota)","FallbackTopic":"cmnd/NSPanel_1_fb/","GroupTopic":"SmartHome/tasmotas/cmnd/"}}
            14:36:30.842 MQT: SmartHome/NSPanel_1/tele/INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"NSPanel-1-4012","IPAddress":"192.168.178.140"}}
            14:36:30.858 MQT: SmartHome/NSPanel_1/tele/INFO3 = {"Info3":{"RestartReason":"Software reset CPU","BootCount":10}}
            14:36:30.863 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"}
            14:36:30.867 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF
            14:36:30.882 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER2":"OFF"}
            14:36:30.886 MQT: SmartHome/NSPanel_1/stat/POWER2 = OFF
            14:36:32.098 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
            14:36:32.214 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:32.258 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:32.560 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:34.949 MQT: SmartHome/NSPanel_1/tele/STATE = {"Time":"2022-09-23T14:36:34","Uptime":"0T00:00:15","UptimeSec":15,"Heap":133,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":70,"MqttCount":1,"Berry":{"HeapUsed":13,"Objects":213},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"suppe2","BSSId":"2C:3A:FD:A2:BE:A6","Channel":6,"Mode":"11n","RSSI":86,"Signal":-57,"LinkCount":1,"Downtime":"0T00:00:06"}}
            14:36:34.996 MQT: SmartHome/NSPanel_1/tele/SENSOR = {"Time":"2022-09-23T14:36:34","ANALOG":{"Temperature1":3.6},"ESP32":{"Temperature":67.8},"TempUnit":"C"}
            14:36:38.352 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
            14:36:38.473 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:38.524 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:38.581 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:44.359 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
            14:36:44.430 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:44.476 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:44.524 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            14:36:50.335 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
            14:36:50.452 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
            
            ArmilarA 1 Antwort Letzte Antwort
            0
            • Andreas_ZA Andreas_Z

              @armilar

              14:31:31.836 CMD: FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.4.0.tft
              14:31:31.853 MQT: SmartHome/NSPanel_1/stat/RESULT = {"FlashNextion":"Done"}
              14:31:31.894 FLH: host: nspanel.pky.eu, port: 80, get: /lovelace-ui/github/nspanel-v3.4.0.tft
              14:31:33.187 FLH: Send (High Speed) flash start
              14:31:33.621 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 0, "time_elapsed": 0}}
              14:31:34.169 FLH: host: nspanel.pky.eu, port: 80, get: /lovelace-ui/github/nspanel-v3.4.0.tft
              14:31:35.294 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 90, "time_elapsed": 2}}
              14:31:36.710 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 91, "time_elapsed": 3}}
              14:31:39.662 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 92, "time_elapsed": 6}}
              14:31:42.604 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 93, "time_elapsed": 9}}
              14:31:45.691 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 94, "time_elapsed": 12}}
              14:31:48.630 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 95, "time_elapsed": 15}}
              14:31:51.587 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 96, "time_elapsed": 18}}
              14:31:54.341 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 97, "time_elapsed": 21}}
              14:31:57.284 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 98, "time_elapsed": 24}}
              14:32:00.266 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 99, "time_elapsed": 27}}
              14:32:00.673 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:32:06.701 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:32:06.709 NXP: Screen Initialized
              14:32:06.831 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:32:06.930 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:32:06.993 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              

              Keine Ahnung was da schief läuft, die autoexec.be habe ich nun zum x-ten mal erneuert (alte Dateien zuvor gelöscht), dann nspanel-v3.4.0.tft erneut geflasht, das fängt dann aber nicht bei 1% an sondern wie oben zu sehen bei 90%

              00:00:00.003 HDW: ESP32-D0WD-V3 
              00:00:00.088 UFS: FlashFS mounted with 292 kB free
              00:00:00.182 CFG: Loaded from File, Anzahl 21
              00:00:00.197 QPC: Count 1
              00:00:00.423 BRY: Berry initialized, RAM used=3735 bytes
              00:00:00.455 Projekt tasmota - Tasmota Version 12.1.1(tasmota)-2_0_4_1(2022.08.25 11:41:45)
              00:00:00.173 NXP: Initializing Driver
              00:00:00.181 BRY: Successfully loaded 'autoexec.be'
              00:00:01.889 WIF: verbinden mit AP1 suppe2 Channel 6 BSSId 2C:3A:FD:A2:BE:A6 in Modus 11n als NSPanel-1-4012...
              00:00:06.127 RSL: RESULT = {"CustomRecv":"event,startup,42,eu"}
              00:00:06.765 WIF: verbunden
              14:36:26.131 HTP: Web-Server aktiv bei NSPanel-1-4012 mit IP-Adresse 192.168.178.140
              14:36:27.787 QPC: Reset
              14:36:30.757 MQT: Verbindungsversuch...
              14:36:30.796 MQT: verbunden
              14:36:30.802 MQT: SmartHome/NSPanel_1/tele/LWT = Online (beibehalten)
              14:36:30.806 MQT: SmartHome/NSPanel_1/cmnd/POWER = 
              14:36:30.823 MQT: SmartHome/NSPanel_1/tele/INFO1 = {"Info1":{"Module":"NSPanel","Version":"12.1.1(tasmota)","FallbackTopic":"cmnd/NSPanel_1_fb/","GroupTopic":"SmartHome/tasmotas/cmnd/"}}
              14:36:30.842 MQT: SmartHome/NSPanel_1/tele/INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"NSPanel-1-4012","IPAddress":"192.168.178.140"}}
              14:36:30.858 MQT: SmartHome/NSPanel_1/tele/INFO3 = {"Info3":{"RestartReason":"Software reset CPU","BootCount":10}}
              14:36:30.863 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"}
              14:36:30.867 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF
              14:36:30.882 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER2":"OFF"}
              14:36:30.886 MQT: SmartHome/NSPanel_1/stat/POWER2 = OFF
              14:36:32.098 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:36:32.214 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:32.258 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:32.560 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:34.949 MQT: SmartHome/NSPanel_1/tele/STATE = {"Time":"2022-09-23T14:36:34","Uptime":"0T00:00:15","UptimeSec":15,"Heap":133,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":70,"MqttCount":1,"Berry":{"HeapUsed":13,"Objects":213},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"suppe2","BSSId":"2C:3A:FD:A2:BE:A6","Channel":6,"Mode":"11n","RSSI":86,"Signal":-57,"LinkCount":1,"Downtime":"0T00:00:06"}}
              14:36:34.996 MQT: SmartHome/NSPanel_1/tele/SENSOR = {"Time":"2022-09-23T14:36:34","ANALOG":{"Temperature1":3.6},"ESP32":{"Temperature":67.8},"TempUnit":"C"}
              14:36:38.352 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:36:38.473 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:38.524 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:38.581 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:44.359 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:36:44.430 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:44.476 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:44.524 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:50.335 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:36:50.452 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              
              ArmilarA Offline
              ArmilarA Offline
              Armilar
              Most Active Forum Testing
              schrieb am zuletzt editiert von Armilar
              #45

              @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

              @armilar

              14:31:31.836 CMD: FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.4.0.tft
              14:31:31.853 MQT: SmartHome/NSPanel_1/stat/RESULT = {"FlashNextion":"Done"}
              14:31:31.894 FLH: host: nspanel.pky.eu, port: 80, get: /lovelace-ui/github/nspanel-v3.4.0.tft
              14:31:33.187 FLH: Send (High Speed) flash start
              14:31:33.621 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 0, "time_elapsed": 0}}
              14:31:34.169 FLH: host: nspanel.pky.eu, port: 80, get: /lovelace-ui/github/nspanel-v3.4.0.tft
              14:31:35.294 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 90, "time_elapsed": 2}}
              14:31:36.710 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 91, "time_elapsed": 3}}
              14:31:39.662 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 92, "time_elapsed": 6}}
              14:31:42.604 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 93, "time_elapsed": 9}}
              14:31:45.691 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 94, "time_elapsed": 12}}
              14:31:48.630 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 95, "time_elapsed": 15}}
              14:31:51.587 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 96, "time_elapsed": 18}}
              14:31:54.341 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 97, "time_elapsed": 21}}
              14:31:57.284 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 98, "time_elapsed": 24}}
              14:32:00.266 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 99, "time_elapsed": 27}}
              14:32:00.673 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:32:06.701 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:32:06.709 NXP: Screen Initialized
              14:32:06.831 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:32:06.930 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:32:06.993 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              

              Keine Ahnung was da schief läuft, die autoexec.be habe ich nun zum x-ten mal erneuert (alte Dateien zuvor gelöscht), dann nspanel-v3.4.0.tft erneut geflasht, das fängt dann aber nicht bei 1% an sondern wie oben zu sehen bei 90%

              00:00:00.003 HDW: ESP32-D0WD-V3 
              00:00:00.088 UFS: FlashFS mounted with 292 kB free
              00:00:00.182 CFG: Loaded from File, Anzahl 21
              00:00:00.197 QPC: Count 1
              00:00:00.423 BRY: Berry initialized, RAM used=3735 bytes
              00:00:00.455 Projekt tasmota - Tasmota Version 12.1.1(tasmota)-2_0_4_1(2022.08.25 11:41:45)
              00:00:00.173 NXP: Initializing Driver
              00:00:00.181 BRY: Successfully loaded 'autoexec.be'
              00:00:01.889 WIF: verbinden mit AP1 suppe2 Channel 6 BSSId 2C:3A:FD:A2:BE:A6 in Modus 11n als NSPanel-1-4012...
              00:00:06.127 RSL: RESULT = {"CustomRecv":"event,startup,42,eu"}
              00:00:06.765 WIF: verbunden
              14:36:26.131 HTP: Web-Server aktiv bei NSPanel-1-4012 mit IP-Adresse 192.168.178.140
              14:36:27.787 QPC: Reset
              14:36:30.757 MQT: Verbindungsversuch...
              14:36:30.796 MQT: verbunden
              14:36:30.802 MQT: SmartHome/NSPanel_1/tele/LWT = Online (beibehalten)
              14:36:30.806 MQT: SmartHome/NSPanel_1/cmnd/POWER = 
              14:36:30.823 MQT: SmartHome/NSPanel_1/tele/INFO1 = {"Info1":{"Module":"NSPanel","Version":"12.1.1(tasmota)","FallbackTopic":"cmnd/NSPanel_1_fb/","GroupTopic":"SmartHome/tasmotas/cmnd/"}}
              14:36:30.842 MQT: SmartHome/NSPanel_1/tele/INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"NSPanel-1-4012","IPAddress":"192.168.178.140"}}
              14:36:30.858 MQT: SmartHome/NSPanel_1/tele/INFO3 = {"Info3":{"RestartReason":"Software reset CPU","BootCount":10}}
              14:36:30.863 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"}
              14:36:30.867 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF
              14:36:30.882 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER2":"OFF"}
              14:36:30.886 MQT: SmartHome/NSPanel_1/stat/POWER2 = OFF
              14:36:32.098 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:36:32.214 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:32.258 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:32.560 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:34.949 MQT: SmartHome/NSPanel_1/tele/STATE = {"Time":"2022-09-23T14:36:34","Uptime":"0T00:00:15","UptimeSec":15,"Heap":133,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":70,"MqttCount":1,"Berry":{"HeapUsed":13,"Objects":213},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"suppe2","BSSId":"2C:3A:FD:A2:BE:A6","Channel":6,"Mode":"11n","RSSI":86,"Signal":-57,"LinkCount":1,"Downtime":"0T00:00:06"}}
              14:36:34.996 MQT: SmartHome/NSPanel_1/tele/SENSOR = {"Time":"2022-09-23T14:36:34","ANALOG":{"Temperature1":3.6},"ESP32":{"Temperature":67.8},"TempUnit":"C"}
              14:36:38.352 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:36:38.473 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:38.524 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:38.581 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:44.359 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:36:44.430 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:44.476 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:44.524 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              14:36:50.335 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
              14:36:50.452 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
              

              Sieht für mich auch alles normal aus.

              Was passiert, wenn du in die Tasmota-Console das Command eingibst?

              CustomSend time~12:00
              

              mqtt.1. empfängt zwar Daten, aber wie sieht es mit dem Senden aus?

              Ich sag es ja ungern, aber evtl. mal den Weg ohne den Mosquitto wie beschrieben versuchen

              Also nur weil in dem Datenpunkt CustomSend Daten drin stehen, heißt das noch nicht, dass dein Mosquitto die auch auf das Device bringt.

              Und für den Fall das du es testest, verwende bitte nicht schon wieder den Port 1883

              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
              • ArmilarA Armilar

                @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

                @armilar

                14:31:31.836 CMD: FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.4.0.tft
                14:31:31.853 MQT: SmartHome/NSPanel_1/stat/RESULT = {"FlashNextion":"Done"}
                14:31:31.894 FLH: host: nspanel.pky.eu, port: 80, get: /lovelace-ui/github/nspanel-v3.4.0.tft
                14:31:33.187 FLH: Send (High Speed) flash start
                14:31:33.621 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 0, "time_elapsed": 0}}
                14:31:34.169 FLH: host: nspanel.pky.eu, port: 80, get: /lovelace-ui/github/nspanel-v3.4.0.tft
                14:31:35.294 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 90, "time_elapsed": 2}}
                14:31:36.710 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 91, "time_elapsed": 3}}
                14:31:39.662 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 92, "time_elapsed": 6}}
                14:31:42.604 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 93, "time_elapsed": 9}}
                14:31:45.691 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 94, "time_elapsed": 12}}
                14:31:48.630 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 95, "time_elapsed": 15}}
                14:31:51.587 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 96, "time_elapsed": 18}}
                14:31:54.341 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 97, "time_elapsed": 21}}
                14:31:57.284 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 98, "time_elapsed": 24}}
                14:32:00.266 MQT: SmartHome/NSPanel_1/tele/RESULT = {"Flashing":{"complete": 99, "time_elapsed": 27}}
                14:32:00.673 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:32:06.701 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
                14:32:06.709 NXP: Screen Initialized
                14:32:06.831 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:32:06.930 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:32:06.993 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                

                Keine Ahnung was da schief läuft, die autoexec.be habe ich nun zum x-ten mal erneuert (alte Dateien zuvor gelöscht), dann nspanel-v3.4.0.tft erneut geflasht, das fängt dann aber nicht bei 1% an sondern wie oben zu sehen bei 90%

                00:00:00.003 HDW: ESP32-D0WD-V3 
                00:00:00.088 UFS: FlashFS mounted with 292 kB free
                00:00:00.182 CFG: Loaded from File, Anzahl 21
                00:00:00.197 QPC: Count 1
                00:00:00.423 BRY: Berry initialized, RAM used=3735 bytes
                00:00:00.455 Projekt tasmota - Tasmota Version 12.1.1(tasmota)-2_0_4_1(2022.08.25 11:41:45)
                00:00:00.173 NXP: Initializing Driver
                00:00:00.181 BRY: Successfully loaded 'autoexec.be'
                00:00:01.889 WIF: verbinden mit AP1 suppe2 Channel 6 BSSId 2C:3A:FD:A2:BE:A6 in Modus 11n als NSPanel-1-4012...
                00:00:06.127 RSL: RESULT = {"CustomRecv":"event,startup,42,eu"}
                00:00:06.765 WIF: verbunden
                14:36:26.131 HTP: Web-Server aktiv bei NSPanel-1-4012 mit IP-Adresse 192.168.178.140
                14:36:27.787 QPC: Reset
                14:36:30.757 MQT: Verbindungsversuch...
                14:36:30.796 MQT: verbunden
                14:36:30.802 MQT: SmartHome/NSPanel_1/tele/LWT = Online (beibehalten)
                14:36:30.806 MQT: SmartHome/NSPanel_1/cmnd/POWER = 
                14:36:30.823 MQT: SmartHome/NSPanel_1/tele/INFO1 = {"Info1":{"Module":"NSPanel","Version":"12.1.1(tasmota)","FallbackTopic":"cmnd/NSPanel_1_fb/","GroupTopic":"SmartHome/tasmotas/cmnd/"}}
                14:36:30.842 MQT: SmartHome/NSPanel_1/tele/INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"NSPanel-1-4012","IPAddress":"192.168.178.140"}}
                14:36:30.858 MQT: SmartHome/NSPanel_1/tele/INFO3 = {"Info3":{"RestartReason":"Software reset CPU","BootCount":10}}
                14:36:30.863 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"}
                14:36:30.867 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF
                14:36:30.882 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER2":"OFF"}
                14:36:30.886 MQT: SmartHome/NSPanel_1/stat/POWER2 = OFF
                14:36:32.098 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
                14:36:32.214 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:32.258 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:32.560 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:34.949 MQT: SmartHome/NSPanel_1/tele/STATE = {"Time":"2022-09-23T14:36:34","Uptime":"0T00:00:15","UptimeSec":15,"Heap":133,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":70,"MqttCount":1,"Berry":{"HeapUsed":13,"Objects":213},"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"suppe2","BSSId":"2C:3A:FD:A2:BE:A6","Channel":6,"Mode":"11n","RSSI":86,"Signal":-57,"LinkCount":1,"Downtime":"0T00:00:06"}}
                14:36:34.996 MQT: SmartHome/NSPanel_1/tele/SENSOR = {"Time":"2022-09-23T14:36:34","ANALOG":{"Temperature1":3.6},"ESP32":{"Temperature":67.8},"TempUnit":"C"}
                14:36:38.352 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
                14:36:38.473 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:38.524 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:38.581 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:44.359 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
                14:36:44.430 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:44.476 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:44.524 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                14:36:50.335 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}
                14:36:50.452 MQT: SmartHome/NSPanel_1/stat/RESULT = {"CustomSend":"Done"}
                

                Sieht für mich auch alles normal aus.

                Was passiert, wenn du in die Tasmota-Console das Command eingibst?

                CustomSend time~12:00
                

                mqtt.1. empfängt zwar Daten, aber wie sieht es mit dem Senden aus?

                Ich sag es ja ungern, aber evtl. mal den Weg ohne den Mosquitto wie beschrieben versuchen

                Also nur weil in dem Datenpunkt CustomSend Daten drin stehen, heißt das noch nicht, dass dein Mosquitto die auch auf das Device bringt.

                Und für den Fall das du es testest, verwende bitte nicht schon wieder den Port 1883

                J Offline
                J Offline
                joBr99
                schrieb am zuletzt editiert von
                #46

                Wenn FlashNextion geht, sollte das Berry Skript passen, wenn über MQTT trotzdem nichts kommt, ist es in der regel etwas mit den tasmota mqtt settings

                1 Antwort Letzte Antwort
                0
                • Andreas_ZA Offline
                  Andreas_ZA Offline
                  Andreas_Z
                  schrieb am zuletzt editiert von Andreas_Z
                  #47

                  Grundsätzlich scheint etwas über MQTT anzukommen, das Schalten von POWER1 manuell über das Objekt SmartHome/NSPanel_1/cmnd/POWER funktioniert.
                  Wenn ich CustomSend time~12:00 in der Konsole absende, wird aber nichts auf dem Display angezeigt.
                  autexec.be:

                  # Sonoff NSPanel Tasmota Lovelace UI Berry Driver | code by joBr99
                  # based on;
                  # Sonoff NSPanel Tasmota (Nextion with Flashing) driver | code by peepshow-21
                  # based on;
                  # Sonoff NSPanel Tasmota driver v0.47 | code by blakadder and s-hadinger
                  
                  # Example Flash
                  # FlashNextion http://ip-address-of-your-homeassistant:8123/local/nspanel.tft
                  # FlashNextion http://nspanel.pky.eu/lui.tft
                  
                  class Nextion : Driver
                  
                      static header = bytes('55BB')
                  
                      static flash_block_size = 4096
                  
                      var flash_mode
                  	var flash_start_millis
                      var flash_size
                      var flash_written
                      var flash_buff
                      var flash_offset
                      var awaiting_offset
                      var tcp
                      var ser
                      var last_per
                  	var url
                  
                      def split_55(b)
                        var ret = []
                        var s = size(b)   
                        var i = s-2   # start from last-1
                        while i > 0
                          if b[i] == 0x55 && b[i+1] == 0xBB           
                            ret.push(b[i..s-1]) # push last msg to list
                            b = b[(0..i-1)]   # write the rest back to b
                          end
                          i -= 1
                        end
                        ret.push(b)
                        return ret
                      end
                  
                      def crc16(data, poly)
                        if !poly  poly = 0xA001 end
                        # CRC-16 MODBUS HASHING ALGORITHM
                        var crc = 0xFFFF
                        for i:0..size(data)-1
                          crc = crc ^ data[i]
                          for j:0..7
                            if crc & 1
                              crc = (crc >> 1) ^ poly
                            else
                              crc = crc >> 1
                            end
                          end
                        end
                        return crc
                      end
                  
                  	# encode using custom protocol 55 BB [payload length] [payload length] [payload] [crc] [crc]
                      def encode(payload)
                        var b = bytes()
                        b += self.header
                        b.add(size(payload), 2)   # add size as 2 bytes, little endian
                        b += bytes().fromstring(payload)
                        var msg_crc = self.crc16(b)
                        b.add(msg_crc, 2)       # crc 2 bytes, little endian
                        return b
                      end
                  
                      def encodenx(payload)
                          var b = bytes().fromstring(payload)
                          b += bytes('FFFFFF')
                          return b
                      end
                  
                      def sendnx(payload)
                          import string
                          var payload_bin = self.encodenx(payload)
                          self.ser.write(payload_bin)
                          log(string.format("NXP: Nextion command sent = %s",str(payload_bin)), 3)       
                      end
                  
                      def send(payload)
                          var payload_bin = self.encode(payload)
                          if self.flash_mode==1
                              log("NXP: skipped command becuase still flashing", 3)
                          else 
                              self.ser.write(payload_bin)
                              log("NXP: payload sent = " + str(payload_bin), 3)
                          end
                      end
                  
                      def write_to_nextion(b)
                          self.ser.write(b)
                      end
                  
                      def screeninit()
                          log("NXP: Screen Initialized")
                  		self.sendnx("recmod=1")		
                      end
                  
                      def write_block()
                          
                          import string
                          log("FLH: Read block",3)
                          while size(self.flash_buff)<self.flash_block_size && self.tcp.connected()
                              if self.tcp.available()>0
                                  self.flash_buff += self.tcp.readbytes()
                              else
                                  tasmota.delay(50)
                                  log("FLH: Wait for available...",3)
                              end
                          end
                          log("FLH: Buff size "+str(size(self.flash_buff)),3)
                          var to_write
                          if size(self.flash_buff)>self.flash_block_size
                              to_write = self.flash_buff[0..self.flash_block_size-1]
                              self.flash_buff = self.flash_buff[self.flash_block_size..]
                          else
                              to_write = self.flash_buff
                              self.flash_buff = bytes()
                          end
                          log("FLH: Writing "+str(size(to_write)),3)
                          var per = (self.flash_written*100)/self.flash_size
                          if (self.last_per!=per) 
                              self.last_per = per
                              tasmota.publish_result(string.format("{\"Flashing\":{\"complete\": %d, \"time_elapsed\": %d}}",per , (tasmota.millis()-self.flash_start_millis)/1000), "RESULT") 
                          end
                          if size(to_write)>0
                              self.flash_written += size(to_write)
                              self.ser.write(to_write)
                          end
                          log("FLH: Total "+str(self.flash_written),3)
                          if (self.flash_written==self.flash_size)
                              log("FLH: Flashing complete - Time elapsed: %d", (tasmota.millis()-self.flash_start_millis)/1000)
                              self.flash_mode = 0
                  			self.ser = nil
                  			tasmota.gc()
                  			self.ser = serial(17, 16, 115200, serial.SERIAL_8N1)
                          end
                  
                      end
                  
                      def every_100ms()
                          import string
                          if self.ser.available() > 0
                              var msg = self.ser.read()
                              if size(msg) > 0
                                  log(string.format("NXP: Received Raw = %s",str(msg)), 3)
                                  if (self.flash_mode==1)
                                      var strv = msg[0..-4].asstring()
                                      if string.find(strv,"comok 2")>=0
                                          log("FLH: Send (High Speed) flash start")
                  						self.flash_start_millis = tasmota.millis()
                                          #self.sendnx(string.format("whmi-wris %d,115200,res0",self.flash_size))
                                          self.sendnx(string.format("whmi-wris %d,921600,res0",self.flash_size))
                  						self.ser = serial(17, 16, 921600, serial.SERIAL_8N1)
                                      elif size(msg)==1 && msg[0]==0x08
                                          log("FLH: Waiting offset...",3)
                                          self.awaiting_offset = 1
                                      elif size(msg)==4 && self.awaiting_offset==1
                                          self.awaiting_offset = 0
                                          self.flash_offset = msg.get(0,4)
                                          log("FLH: Flash offset marker "+str(self.flash_offset),3)
                  						if self.flash_offset != 0
                  							self.open_url_at(self.url, self.flash_offset)
                  							self.flash_written = self.flash_offset
                  						end
                                          self.write_block()
                                      elif size(msg)==1 && msg[0]==0x05
                                          self.write_block()
                                      else
                                          log("FLH: Something has gone wrong flashing display firmware ["+str(msg)+"]",2)
                                      end
                                  else
                                      var msg_list = self.split_55(msg)
                                      for i:0..size(msg_list)-1
                                          msg = msg_list[i]
                                          if size(msg) > 0
                                              if msg == bytes('000000FFFFFF88FFFFFF')
                                                  self.screeninit()
                                              elif size(msg)>=2 && msg[0]==0x55 && msg[1]==0xBB
                                                  var jm = string.format("{\"CustomRecv\":\"%s\"}",msg[4..-3].asstring())
                                                  tasmota.publish_result(jm, "RESULT")        
                                              elif msg[0]==0x07 && size(msg)==1 # BELL/Buzzer
                                                  tasmota.cmd("buzzer 1,1")
                                              else
                                                  var jm = string.format("{\"nextion\":\"%s\"}",str(msg[0..-4]))
                                                  tasmota.publish_result(jm, "RESULT")        
                                              end
                                          end       
                                      end
                                  end
                              end
                          end
                      end      
                  
                      def begin_nextion_flash()
                          self.flash_written = 0
                          self.awaiting_offset = 0
                          self.flash_offset = 0
                          self.sendnx('DRAKJHSUYDGBNCJHGJKSHBDN')
                          self.sendnx('recmod=0')
                          self.sendnx('recmod=0')
                          self.flash_mode = 1
                          self.sendnx("connect")        
                      end
                      
                      def open_url_at(url, pos)
                  		self.url = url
                          import string
                          var host
                          var port
                          var s1 = string.split(url,7)[1]
                          var i = string.find(s1,":")
                          var sa
                          if i<0
                              port = 80
                              i = string.find(s1,"/")
                              sa = string.split(s1,i)
                              host = sa[0]
                          else
                              sa = string.split(s1,i)
                              host = sa[0]
                              s1 = string.split(sa[1],1)[1]
                              i = string.find(s1,"/")
                              sa = string.split(s1,i)
                              port = int(sa[0])
                          end
                          var get = sa[1]
                          log(string.format("FLH: host: %s, port: %s, get: %s",host,port,get))
                          self.tcp = tcpclient()
                          self.tcp.connect(host,port)
                          log("FLH: Connected:"+str(self.tcp.connected()),3)
                          var get_req = "GET "+get+" HTTP/1.0\r\n"
                  		get_req += string.format("Range: bytes=%d-\r\n", pos)
                  		get_req += string.format("HOST: %s:%s\r\n\r\n",host,port)
                          self.tcp.write(get_req)
                          var a = self.tcp.available()
                          i = 1
                          while a==0 && i<5
                            tasmota.delay(100*i)
                            tasmota.yield() 
                            i += 1
                            log("FLH: Retry "+str(i),3)
                            a = self.tcp.available()
                          end
                          if a==0
                              log("FLH: Nothing available to read!",3)
                              return
                          end
                          var b = self.tcp.readbytes()
                          i = 0
                          var end_headers = false;
                          var headers
                          while i<size(b) && headers==nil
                              if b[i..(i+3)]==bytes().fromstring("\r\n\r\n") 
                                  headers = b[0..(i+3)].asstring()
                                  self.flash_buff = b[(i+4)..]
                              else
                                  i += 1
                              end
                          end
                          #print(headers)
                  		# check http respose for code 200/206
                          if string.find(headers,"200 OK")>0 || string.find(headers,"206 Partial Content")>0
                              log("FLH: HTTP Respose is 200 OK or 206 Partial Content",3)
                  		else
                              log("FLH: HTTP Respose is not 200 OK or 206 Partial Content",3)
                  			print(headers)
                  			return -1
                          end
                  		# only set flash size if pos is zero
                  		if pos == 0
                  			# check http respose for content-length
                  			var tag = "Content-Length: "
                  			i = string.find(headers,tag)
                  			if (i>0) 
                  				var i2 = string.find(headers,"\r\n",i)
                  				var s = headers[i+size(tag)..i2-1]
                  				self.flash_size=int(s)
                  			end
                  			log("FLH: Flash file size: "+str(self.flash_size),3)
                  		end
                  
                      end
                  
                      def flash_nextion(url)
                          self.flash_size = 0
                          var res = self.open_url_at(url, 0)
                  		if res != -1
                  			self.begin_nextion_flash()
                  		end
                      end
                  
                      def init()
                          log("NXP: Initializing Driver")
                          self.ser = serial(17, 16, 115200, serial.SERIAL_8N1)
                          self.flash_mode = 0
                      end
                  
                  end
                  
                  var nextion = Nextion()
                  
                  tasmota.add_driver(nextion)
                  
                  def get_current_version(cmd, idx, payload, payload_json)
                  	import string
                  	var version_of_this_script = 4
                  	var jm = string.format("{\"nlui_driver_version\":\"%s\"}", version_of_this_script)
                  	tasmota.publish_result(jm, "RESULT")
                  end
                  
                  tasmota.add_cmd('GetDriverVersion', get_current_version)
                  
                  def update_berry_driver(cmd, idx, payload, payload_json)
                  	def task()
                  		import string
                  		var cl = webclient()
                  		cl.begin(payload)
                  		var r = cl.GET()
                  		if r == 200
                  			print("Sucessfully downloaded nspanel-lovelace-ui berry driver")
                  		else
                  			print("Error while downloading nspanel-lovelace-ui berry driver")
                  		end
                  		r = cl.write_file("autoexec.be")
                  		if r < 0
                  			print("Error while writeing nspanel-lovelace-ui berry driver")
                  		else
                  			print("Sucessfully written nspanel-lovelace-ui berry driver")
                  			var s = load('autoexec.be')
                  			if s == true
                  				var jm = string.format("{\"nlui_driver_update\":\"%s\"}", "succeeded")
                  				tasmota.publish_result(jm, "RESULT")
                  			else 
                  				var jm = string.format("{\"nlui_driver_update\":\"%s\"}", "failed")
                  				tasmota.publish_result(jm, "RESULT")
                  			end
                  			
                  		end
                  	end
                  	tasmota.set_timer(0,task)
                  	tasmota.resp_cmnd_done()
                  end
                  
                  tasmota.add_cmd('UpdateDriverVersion', update_berry_driver)
                  
                  def flash_nextion(cmd, idx, payload, payload_json)
                      def task()
                          nextion.flash_nextion(payload)
                      end
                      tasmota.set_timer(0,task)
                      tasmota.resp_cmnd_done()
                  end
                  
                  def send_cmd(cmd, idx, payload, payload_json)
                      nextion.sendnx(payload)
                      tasmota.resp_cmnd_done()
                  end
                  
                  def send_cmd2(cmd, idx, payload, payload_json)
                      nextion.send(payload)
                      tasmota.resp_cmnd_done()
                  end
                  
                  tasmota.add_cmd('Nextion', send_cmd)
                  tasmota.add_cmd('CustomSend', send_cmd2)
                  tasmota.add_cmd('FlashNextion', flash_nextion)
                  

                  MQTT-Settings:
                  cda2f93c-4ac6-4ac6-931b-621dfa4b9060-grafik.png

                  Sonstige Einstellungen/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}
                  

                  f7092fcf-15c4-47e7-bbbb-80637be9c156-grafik.png

                  ArmilarA 1 Antwort Letzte Antwort
                  0
                  • Andreas_ZA Andreas_Z

                    Grundsätzlich scheint etwas über MQTT anzukommen, das Schalten von POWER1 manuell über das Objekt SmartHome/NSPanel_1/cmnd/POWER funktioniert.
                    Wenn ich CustomSend time~12:00 in der Konsole absende, wird aber nichts auf dem Display angezeigt.
                    autexec.be:

                    # Sonoff NSPanel Tasmota Lovelace UI Berry Driver | code by joBr99
                    # based on;
                    # Sonoff NSPanel Tasmota (Nextion with Flashing) driver | code by peepshow-21
                    # based on;
                    # Sonoff NSPanel Tasmota driver v0.47 | code by blakadder and s-hadinger
                    
                    # Example Flash
                    # FlashNextion http://ip-address-of-your-homeassistant:8123/local/nspanel.tft
                    # FlashNextion http://nspanel.pky.eu/lui.tft
                    
                    class Nextion : Driver
                    
                        static header = bytes('55BB')
                    
                        static flash_block_size = 4096
                    
                        var flash_mode
                    	var flash_start_millis
                        var flash_size
                        var flash_written
                        var flash_buff
                        var flash_offset
                        var awaiting_offset
                        var tcp
                        var ser
                        var last_per
                    	var url
                    
                        def split_55(b)
                          var ret = []
                          var s = size(b)   
                          var i = s-2   # start from last-1
                          while i > 0
                            if b[i] == 0x55 && b[i+1] == 0xBB           
                              ret.push(b[i..s-1]) # push last msg to list
                              b = b[(0..i-1)]   # write the rest back to b
                            end
                            i -= 1
                          end
                          ret.push(b)
                          return ret
                        end
                    
                        def crc16(data, poly)
                          if !poly  poly = 0xA001 end
                          # CRC-16 MODBUS HASHING ALGORITHM
                          var crc = 0xFFFF
                          for i:0..size(data)-1
                            crc = crc ^ data[i]
                            for j:0..7
                              if crc & 1
                                crc = (crc >> 1) ^ poly
                              else
                                crc = crc >> 1
                              end
                            end
                          end
                          return crc
                        end
                    
                    	# encode using custom protocol 55 BB [payload length] [payload length] [payload] [crc] [crc]
                        def encode(payload)
                          var b = bytes()
                          b += self.header
                          b.add(size(payload), 2)   # add size as 2 bytes, little endian
                          b += bytes().fromstring(payload)
                          var msg_crc = self.crc16(b)
                          b.add(msg_crc, 2)       # crc 2 bytes, little endian
                          return b
                        end
                    
                        def encodenx(payload)
                            var b = bytes().fromstring(payload)
                            b += bytes('FFFFFF')
                            return b
                        end
                    
                        def sendnx(payload)
                            import string
                            var payload_bin = self.encodenx(payload)
                            self.ser.write(payload_bin)
                            log(string.format("NXP: Nextion command sent = %s",str(payload_bin)), 3)       
                        end
                    
                        def send(payload)
                            var payload_bin = self.encode(payload)
                            if self.flash_mode==1
                                log("NXP: skipped command becuase still flashing", 3)
                            else 
                                self.ser.write(payload_bin)
                                log("NXP: payload sent = " + str(payload_bin), 3)
                            end
                        end
                    
                        def write_to_nextion(b)
                            self.ser.write(b)
                        end
                    
                        def screeninit()
                            log("NXP: Screen Initialized")
                    		self.sendnx("recmod=1")		
                        end
                    
                        def write_block()
                            
                            import string
                            log("FLH: Read block",3)
                            while size(self.flash_buff)<self.flash_block_size && self.tcp.connected()
                                if self.tcp.available()>0
                                    self.flash_buff += self.tcp.readbytes()
                                else
                                    tasmota.delay(50)
                                    log("FLH: Wait for available...",3)
                                end
                            end
                            log("FLH: Buff size "+str(size(self.flash_buff)),3)
                            var to_write
                            if size(self.flash_buff)>self.flash_block_size
                                to_write = self.flash_buff[0..self.flash_block_size-1]
                                self.flash_buff = self.flash_buff[self.flash_block_size..]
                            else
                                to_write = self.flash_buff
                                self.flash_buff = bytes()
                            end
                            log("FLH: Writing "+str(size(to_write)),3)
                            var per = (self.flash_written*100)/self.flash_size
                            if (self.last_per!=per) 
                                self.last_per = per
                                tasmota.publish_result(string.format("{\"Flashing\":{\"complete\": %d, \"time_elapsed\": %d}}",per , (tasmota.millis()-self.flash_start_millis)/1000), "RESULT") 
                            end
                            if size(to_write)>0
                                self.flash_written += size(to_write)
                                self.ser.write(to_write)
                            end
                            log("FLH: Total "+str(self.flash_written),3)
                            if (self.flash_written==self.flash_size)
                                log("FLH: Flashing complete - Time elapsed: %d", (tasmota.millis()-self.flash_start_millis)/1000)
                                self.flash_mode = 0
                    			self.ser = nil
                    			tasmota.gc()
                    			self.ser = serial(17, 16, 115200, serial.SERIAL_8N1)
                            end
                    
                        end
                    
                        def every_100ms()
                            import string
                            if self.ser.available() > 0
                                var msg = self.ser.read()
                                if size(msg) > 0
                                    log(string.format("NXP: Received Raw = %s",str(msg)), 3)
                                    if (self.flash_mode==1)
                                        var strv = msg[0..-4].asstring()
                                        if string.find(strv,"comok 2")>=0
                                            log("FLH: Send (High Speed) flash start")
                    						self.flash_start_millis = tasmota.millis()
                                            #self.sendnx(string.format("whmi-wris %d,115200,res0",self.flash_size))
                                            self.sendnx(string.format("whmi-wris %d,921600,res0",self.flash_size))
                    						self.ser = serial(17, 16, 921600, serial.SERIAL_8N1)
                                        elif size(msg)==1 && msg[0]==0x08
                                            log("FLH: Waiting offset...",3)
                                            self.awaiting_offset = 1
                                        elif size(msg)==4 && self.awaiting_offset==1
                                            self.awaiting_offset = 0
                                            self.flash_offset = msg.get(0,4)
                                            log("FLH: Flash offset marker "+str(self.flash_offset),3)
                    						if self.flash_offset != 0
                    							self.open_url_at(self.url, self.flash_offset)
                    							self.flash_written = self.flash_offset
                    						end
                                            self.write_block()
                                        elif size(msg)==1 && msg[0]==0x05
                                            self.write_block()
                                        else
                                            log("FLH: Something has gone wrong flashing display firmware ["+str(msg)+"]",2)
                                        end
                                    else
                                        var msg_list = self.split_55(msg)
                                        for i:0..size(msg_list)-1
                                            msg = msg_list[i]
                                            if size(msg) > 0
                                                if msg == bytes('000000FFFFFF88FFFFFF')
                                                    self.screeninit()
                                                elif size(msg)>=2 && msg[0]==0x55 && msg[1]==0xBB
                                                    var jm = string.format("{\"CustomRecv\":\"%s\"}",msg[4..-3].asstring())
                                                    tasmota.publish_result(jm, "RESULT")        
                                                elif msg[0]==0x07 && size(msg)==1 # BELL/Buzzer
                                                    tasmota.cmd("buzzer 1,1")
                                                else
                                                    var jm = string.format("{\"nextion\":\"%s\"}",str(msg[0..-4]))
                                                    tasmota.publish_result(jm, "RESULT")        
                                                end
                                            end       
                                        end
                                    end
                                end
                            end
                        end      
                    
                        def begin_nextion_flash()
                            self.flash_written = 0
                            self.awaiting_offset = 0
                            self.flash_offset = 0
                            self.sendnx('DRAKJHSUYDGBNCJHGJKSHBDN')
                            self.sendnx('recmod=0')
                            self.sendnx('recmod=0')
                            self.flash_mode = 1
                            self.sendnx("connect")        
                        end
                        
                        def open_url_at(url, pos)
                    		self.url = url
                            import string
                            var host
                            var port
                            var s1 = string.split(url,7)[1]
                            var i = string.find(s1,":")
                            var sa
                            if i<0
                                port = 80
                                i = string.find(s1,"/")
                                sa = string.split(s1,i)
                                host = sa[0]
                            else
                                sa = string.split(s1,i)
                                host = sa[0]
                                s1 = string.split(sa[1],1)[1]
                                i = string.find(s1,"/")
                                sa = string.split(s1,i)
                                port = int(sa[0])
                            end
                            var get = sa[1]
                            log(string.format("FLH: host: %s, port: %s, get: %s",host,port,get))
                            self.tcp = tcpclient()
                            self.tcp.connect(host,port)
                            log("FLH: Connected:"+str(self.tcp.connected()),3)
                            var get_req = "GET "+get+" HTTP/1.0\r\n"
                    		get_req += string.format("Range: bytes=%d-\r\n", pos)
                    		get_req += string.format("HOST: %s:%s\r\n\r\n",host,port)
                            self.tcp.write(get_req)
                            var a = self.tcp.available()
                            i = 1
                            while a==0 && i<5
                              tasmota.delay(100*i)
                              tasmota.yield() 
                              i += 1
                              log("FLH: Retry "+str(i),3)
                              a = self.tcp.available()
                            end
                            if a==0
                                log("FLH: Nothing available to read!",3)
                                return
                            end
                            var b = self.tcp.readbytes()
                            i = 0
                            var end_headers = false;
                            var headers
                            while i<size(b) && headers==nil
                                if b[i..(i+3)]==bytes().fromstring("\r\n\r\n") 
                                    headers = b[0..(i+3)].asstring()
                                    self.flash_buff = b[(i+4)..]
                                else
                                    i += 1
                                end
                            end
                            #print(headers)
                    		# check http respose for code 200/206
                            if string.find(headers,"200 OK")>0 || string.find(headers,"206 Partial Content")>0
                                log("FLH: HTTP Respose is 200 OK or 206 Partial Content",3)
                    		else
                                log("FLH: HTTP Respose is not 200 OK or 206 Partial Content",3)
                    			print(headers)
                    			return -1
                            end
                    		# only set flash size if pos is zero
                    		if pos == 0
                    			# check http respose for content-length
                    			var tag = "Content-Length: "
                    			i = string.find(headers,tag)
                    			if (i>0) 
                    				var i2 = string.find(headers,"\r\n",i)
                    				var s = headers[i+size(tag)..i2-1]
                    				self.flash_size=int(s)
                    			end
                    			log("FLH: Flash file size: "+str(self.flash_size),3)
                    		end
                    
                        end
                    
                        def flash_nextion(url)
                            self.flash_size = 0
                            var res = self.open_url_at(url, 0)
                    		if res != -1
                    			self.begin_nextion_flash()
                    		end
                        end
                    
                        def init()
                            log("NXP: Initializing Driver")
                            self.ser = serial(17, 16, 115200, serial.SERIAL_8N1)
                            self.flash_mode = 0
                        end
                    
                    end
                    
                    var nextion = Nextion()
                    
                    tasmota.add_driver(nextion)
                    
                    def get_current_version(cmd, idx, payload, payload_json)
                    	import string
                    	var version_of_this_script = 4
                    	var jm = string.format("{\"nlui_driver_version\":\"%s\"}", version_of_this_script)
                    	tasmota.publish_result(jm, "RESULT")
                    end
                    
                    tasmota.add_cmd('GetDriverVersion', get_current_version)
                    
                    def update_berry_driver(cmd, idx, payload, payload_json)
                    	def task()
                    		import string
                    		var cl = webclient()
                    		cl.begin(payload)
                    		var r = cl.GET()
                    		if r == 200
                    			print("Sucessfully downloaded nspanel-lovelace-ui berry driver")
                    		else
                    			print("Error while downloading nspanel-lovelace-ui berry driver")
                    		end
                    		r = cl.write_file("autoexec.be")
                    		if r < 0
                    			print("Error while writeing nspanel-lovelace-ui berry driver")
                    		else
                    			print("Sucessfully written nspanel-lovelace-ui berry driver")
                    			var s = load('autoexec.be')
                    			if s == true
                    				var jm = string.format("{\"nlui_driver_update\":\"%s\"}", "succeeded")
                    				tasmota.publish_result(jm, "RESULT")
                    			else 
                    				var jm = string.format("{\"nlui_driver_update\":\"%s\"}", "failed")
                    				tasmota.publish_result(jm, "RESULT")
                    			end
                    			
                    		end
                    	end
                    	tasmota.set_timer(0,task)
                    	tasmota.resp_cmnd_done()
                    end
                    
                    tasmota.add_cmd('UpdateDriverVersion', update_berry_driver)
                    
                    def flash_nextion(cmd, idx, payload, payload_json)
                        def task()
                            nextion.flash_nextion(payload)
                        end
                        tasmota.set_timer(0,task)
                        tasmota.resp_cmnd_done()
                    end
                    
                    def send_cmd(cmd, idx, payload, payload_json)
                        nextion.sendnx(payload)
                        tasmota.resp_cmnd_done()
                    end
                    
                    def send_cmd2(cmd, idx, payload, payload_json)
                        nextion.send(payload)
                        tasmota.resp_cmnd_done()
                    end
                    
                    tasmota.add_cmd('Nextion', send_cmd)
                    tasmota.add_cmd('CustomSend', send_cmd2)
                    tasmota.add_cmd('FlashNextion', flash_nextion)
                    

                    MQTT-Settings:
                    cda2f93c-4ac6-4ac6-931b-621dfa4b9060-grafik.png

                    Sonstige Einstellungen/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}
                    

                    f7092fcf-15c4-47e7-bbbb-80637be9c156-grafik.png

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

                    @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

                    Grundsätzlich scheint etwas über MQTT anzukommen, das Schalten von POWER1 manuell über das Objekt SmartHome/NSPanel_1/cmnd/POWER funktioniert.
                    Wenn ich CustomSend time~12:00 in der Konsole absende, wird aber nichts auf dem Display angezeigt.
                    autexec.be:

                    # Sonoff NSPanel Tasmota Lovelace UI Berry Driver | code by joBr99
                    # based on;
                    # Sonoff NSPanel Tasmota (Nextion with Flashing) driver | code by peepshow-21
                    # based on;
                    # Sonoff NSPanel Tasmota driver v0.47 | code by blakadder and s-hadinger
                    
                    # Example Flash
                    # FlashNextion http://ip-address-of-your-homeassistant:8123/local/nspanel.tft
                    # FlashNextion http://nspanel.pky.eu/lui.tft
                    
                    class Nextion : Driver
                    
                        static header = bytes('55BB')
                    
                        static flash_block_size = 4096
                    
                        var flash_mode
                    	var flash_start_millis
                        var flash_size
                        var flash_written
                        var flash_buff
                        var flash_offset
                        var awaiting_offset
                        var tcp
                        var ser
                        var last_per
                    	var url
                    
                        def split_55(b)
                          var ret = []
                          var s = size(b)   
                          var i = s-2   # start from last-1
                          while i > 0
                            if b[i] == 0x55 && b[i+1] == 0xBB           
                              ret.push(b[i..s-1]) # push last msg to list
                              b = b[(0..i-1)]   # write the rest back to b
                            end
                            i -= 1
                          end
                          ret.push(b)
                          return ret
                        end
                    
                        def crc16(data, poly)
                          if !poly  poly = 0xA001 end
                          # CRC-16 MODBUS HASHING ALGORITHM
                          var crc = 0xFFFF
                          for i:0..size(data)-1
                            crc = crc ^ data[i]
                            for j:0..7
                              if crc & 1
                                crc = (crc >> 1) ^ poly
                              else
                                crc = crc >> 1
                              end
                            end
                          end
                          return crc
                        end
                    
                    	# encode using custom protocol 55 BB [payload length] [payload length] [payload] [crc] [crc]
                        def encode(payload)
                          var b = bytes()
                          b += self.header
                          b.add(size(payload), 2)   # add size as 2 bytes, little endian
                          b += bytes().fromstring(payload)
                          var msg_crc = self.crc16(b)
                          b.add(msg_crc, 2)       # crc 2 bytes, little endian
                          return b
                        end
                    
                        def encodenx(payload)
                            var b = bytes().fromstring(payload)
                            b += bytes('FFFFFF')
                            return b
                        end
                    
                        def sendnx(payload)
                            import string
                            var payload_bin = self.encodenx(payload)
                            self.ser.write(payload_bin)
                            log(string.format("NXP: Nextion command sent = %s",str(payload_bin)), 3)       
                        end
                    
                        def send(payload)
                            var payload_bin = self.encode(payload)
                            if self.flash_mode==1
                                log("NXP: skipped command becuase still flashing", 3)
                            else 
                                self.ser.write(payload_bin)
                                log("NXP: payload sent = " + str(payload_bin), 3)
                            end
                        end
                    
                        def write_to_nextion(b)
                            self.ser.write(b)
                        end
                    
                        def screeninit()
                            log("NXP: Screen Initialized")
                    		self.sendnx("recmod=1")		
                        end
                    
                        def write_block()
                            
                            import string
                            log("FLH: Read block",3)
                            while size(self.flash_buff)<self.flash_block_size && self.tcp.connected()
                                if self.tcp.available()>0
                                    self.flash_buff += self.tcp.readbytes()
                                else
                                    tasmota.delay(50)
                                    log("FLH: Wait for available...",3)
                                end
                            end
                            log("FLH: Buff size "+str(size(self.flash_buff)),3)
                            var to_write
                            if size(self.flash_buff)>self.flash_block_size
                                to_write = self.flash_buff[0..self.flash_block_size-1]
                                self.flash_buff = self.flash_buff[self.flash_block_size..]
                            else
                                to_write = self.flash_buff
                                self.flash_buff = bytes()
                            end
                            log("FLH: Writing "+str(size(to_write)),3)
                            var per = (self.flash_written*100)/self.flash_size
                            if (self.last_per!=per) 
                                self.last_per = per
                                tasmota.publish_result(string.format("{\"Flashing\":{\"complete\": %d, \"time_elapsed\": %d}}",per , (tasmota.millis()-self.flash_start_millis)/1000), "RESULT") 
                            end
                            if size(to_write)>0
                                self.flash_written += size(to_write)
                                self.ser.write(to_write)
                            end
                            log("FLH: Total "+str(self.flash_written),3)
                            if (self.flash_written==self.flash_size)
                                log("FLH: Flashing complete - Time elapsed: %d", (tasmota.millis()-self.flash_start_millis)/1000)
                                self.flash_mode = 0
                    			self.ser = nil
                    			tasmota.gc()
                    			self.ser = serial(17, 16, 115200, serial.SERIAL_8N1)
                            end
                    
                        end
                    
                        def every_100ms()
                            import string
                            if self.ser.available() > 0
                                var msg = self.ser.read()
                                if size(msg) > 0
                                    log(string.format("NXP: Received Raw = %s",str(msg)), 3)
                                    if (self.flash_mode==1)
                                        var strv = msg[0..-4].asstring()
                                        if string.find(strv,"comok 2")>=0
                                            log("FLH: Send (High Speed) flash start")
                    						self.flash_start_millis = tasmota.millis()
                                            #self.sendnx(string.format("whmi-wris %d,115200,res0",self.flash_size))
                                            self.sendnx(string.format("whmi-wris %d,921600,res0",self.flash_size))
                    						self.ser = serial(17, 16, 921600, serial.SERIAL_8N1)
                                        elif size(msg)==1 && msg[0]==0x08
                                            log("FLH: Waiting offset...",3)
                                            self.awaiting_offset = 1
                                        elif size(msg)==4 && self.awaiting_offset==1
                                            self.awaiting_offset = 0
                                            self.flash_offset = msg.get(0,4)
                                            log("FLH: Flash offset marker "+str(self.flash_offset),3)
                    						if self.flash_offset != 0
                    							self.open_url_at(self.url, self.flash_offset)
                    							self.flash_written = self.flash_offset
                    						end
                                            self.write_block()
                                        elif size(msg)==1 && msg[0]==0x05
                                            self.write_block()
                                        else
                                            log("FLH: Something has gone wrong flashing display firmware ["+str(msg)+"]",2)
                                        end
                                    else
                                        var msg_list = self.split_55(msg)
                                        for i:0..size(msg_list)-1
                                            msg = msg_list[i]
                                            if size(msg) > 0
                                                if msg == bytes('000000FFFFFF88FFFFFF')
                                                    self.screeninit()
                                                elif size(msg)>=2 && msg[0]==0x55 && msg[1]==0xBB
                                                    var jm = string.format("{\"CustomRecv\":\"%s\"}",msg[4..-3].asstring())
                                                    tasmota.publish_result(jm, "RESULT")        
                                                elif msg[0]==0x07 && size(msg)==1 # BELL/Buzzer
                                                    tasmota.cmd("buzzer 1,1")
                                                else
                                                    var jm = string.format("{\"nextion\":\"%s\"}",str(msg[0..-4]))
                                                    tasmota.publish_result(jm, "RESULT")        
                                                end
                                            end       
                                        end
                                    end
                                end
                            end
                        end      
                    
                        def begin_nextion_flash()
                            self.flash_written = 0
                            self.awaiting_offset = 0
                            self.flash_offset = 0
                            self.sendnx('DRAKJHSUYDGBNCJHGJKSHBDN')
                            self.sendnx('recmod=0')
                            self.sendnx('recmod=0')
                            self.flash_mode = 1
                            self.sendnx("connect")        
                        end
                        
                        def open_url_at(url, pos)
                    		self.url = url
                            import string
                            var host
                            var port
                            var s1 = string.split(url,7)[1]
                            var i = string.find(s1,":")
                            var sa
                            if i<0
                                port = 80
                                i = string.find(s1,"/")
                                sa = string.split(s1,i)
                                host = sa[0]
                            else
                                sa = string.split(s1,i)
                                host = sa[0]
                                s1 = string.split(sa[1],1)[1]
                                i = string.find(s1,"/")
                                sa = string.split(s1,i)
                                port = int(sa[0])
                            end
                            var get = sa[1]
                            log(string.format("FLH: host: %s, port: %s, get: %s",host,port,get))
                            self.tcp = tcpclient()
                            self.tcp.connect(host,port)
                            log("FLH: Connected:"+str(self.tcp.connected()),3)
                            var get_req = "GET "+get+" HTTP/1.0\r\n"
                    		get_req += string.format("Range: bytes=%d-\r\n", pos)
                    		get_req += string.format("HOST: %s:%s\r\n\r\n",host,port)
                            self.tcp.write(get_req)
                            var a = self.tcp.available()
                            i = 1
                            while a==0 && i<5
                              tasmota.delay(100*i)
                              tasmota.yield() 
                              i += 1
                              log("FLH: Retry "+str(i),3)
                              a = self.tcp.available()
                            end
                            if a==0
                                log("FLH: Nothing available to read!",3)
                                return
                            end
                            var b = self.tcp.readbytes()
                            i = 0
                            var end_headers = false;
                            var headers
                            while i<size(b) && headers==nil
                                if b[i..(i+3)]==bytes().fromstring("\r\n\r\n") 
                                    headers = b[0..(i+3)].asstring()
                                    self.flash_buff = b[(i+4)..]
                                else
                                    i += 1
                                end
                            end
                            #print(headers)
                    		# check http respose for code 200/206
                            if string.find(headers,"200 OK")>0 || string.find(headers,"206 Partial Content")>0
                                log("FLH: HTTP Respose is 200 OK or 206 Partial Content",3)
                    		else
                                log("FLH: HTTP Respose is not 200 OK or 206 Partial Content",3)
                    			print(headers)
                    			return -1
                            end
                    		# only set flash size if pos is zero
                    		if pos == 0
                    			# check http respose for content-length
                    			var tag = "Content-Length: "
                    			i = string.find(headers,tag)
                    			if (i>0) 
                    				var i2 = string.find(headers,"\r\n",i)
                    				var s = headers[i+size(tag)..i2-1]
                    				self.flash_size=int(s)
                    			end
                    			log("FLH: Flash file size: "+str(self.flash_size),3)
                    		end
                    
                        end
                    
                        def flash_nextion(url)
                            self.flash_size = 0
                            var res = self.open_url_at(url, 0)
                    		if res != -1
                    			self.begin_nextion_flash()
                    		end
                        end
                    
                        def init()
                            log("NXP: Initializing Driver")
                            self.ser = serial(17, 16, 115200, serial.SERIAL_8N1)
                            self.flash_mode = 0
                        end
                    
                    end
                    
                    var nextion = Nextion()
                    
                    tasmota.add_driver(nextion)
                    
                    def get_current_version(cmd, idx, payload, payload_json)
                    	import string
                    	var version_of_this_script = 4
                    	var jm = string.format("{\"nlui_driver_version\":\"%s\"}", version_of_this_script)
                    	tasmota.publish_result(jm, "RESULT")
                    end
                    
                    tasmota.add_cmd('GetDriverVersion', get_current_version)
                    
                    def update_berry_driver(cmd, idx, payload, payload_json)
                    	def task()
                    		import string
                    		var cl = webclient()
                    		cl.begin(payload)
                    		var r = cl.GET()
                    		if r == 200
                    			print("Sucessfully downloaded nspanel-lovelace-ui berry driver")
                    		else
                    			print("Error while downloading nspanel-lovelace-ui berry driver")
                    		end
                    		r = cl.write_file("autoexec.be")
                    		if r < 0
                    			print("Error while writeing nspanel-lovelace-ui berry driver")
                    		else
                    			print("Sucessfully written nspanel-lovelace-ui berry driver")
                    			var s = load('autoexec.be')
                    			if s == true
                    				var jm = string.format("{\"nlui_driver_update\":\"%s\"}", "succeeded")
                    				tasmota.publish_result(jm, "RESULT")
                    			else 
                    				var jm = string.format("{\"nlui_driver_update\":\"%s\"}", "failed")
                    				tasmota.publish_result(jm, "RESULT")
                    			end
                    			
                    		end
                    	end
                    	tasmota.set_timer(0,task)
                    	tasmota.resp_cmnd_done()
                    end
                    
                    tasmota.add_cmd('UpdateDriverVersion', update_berry_driver)
                    
                    def flash_nextion(cmd, idx, payload, payload_json)
                        def task()
                            nextion.flash_nextion(payload)
                        end
                        tasmota.set_timer(0,task)
                        tasmota.resp_cmnd_done()
                    end
                    
                    def send_cmd(cmd, idx, payload, payload_json)
                        nextion.sendnx(payload)
                        tasmota.resp_cmnd_done()
                    end
                    
                    def send_cmd2(cmd, idx, payload, payload_json)
                        nextion.send(payload)
                        tasmota.resp_cmnd_done()
                    end
                    
                    tasmota.add_cmd('Nextion', send_cmd)
                    tasmota.add_cmd('CustomSend', send_cmd2)
                    tasmota.add_cmd('FlashNextion', flash_nextion)
                    

                    MQTT-Settings:
                    cda2f93c-4ac6-4ac6-931b-621dfa4b9060-grafik.png

                    Sonstige Einstellungen/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}
                    

                    f7092fcf-15c4-47e7-bbbb-80637be9c156-grafik.png

                    Das mqtt.1. muss in beide Richtungen kommunizieren. RESULT funktioniert. Teste es doch bitte so wie beschrieben. Deinen Mosquitto kannst du anschließend immer noch bemühen.

                    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.

                    Andreas_ZA 1 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

                      Grundsätzlich scheint etwas über MQTT anzukommen, das Schalten von POWER1 manuell über das Objekt SmartHome/NSPanel_1/cmnd/POWER funktioniert.
                      Wenn ich CustomSend time~12:00 in der Konsole absende, wird aber nichts auf dem Display angezeigt.
                      autexec.be:

                      # Sonoff NSPanel Tasmota Lovelace UI Berry Driver | code by joBr99
                      # based on;
                      # Sonoff NSPanel Tasmota (Nextion with Flashing) driver | code by peepshow-21
                      # based on;
                      # Sonoff NSPanel Tasmota driver v0.47 | code by blakadder and s-hadinger
                      
                      # Example Flash
                      # FlashNextion http://ip-address-of-your-homeassistant:8123/local/nspanel.tft
                      # FlashNextion http://nspanel.pky.eu/lui.tft
                      
                      class Nextion : Driver
                      
                          static header = bytes('55BB')
                      
                          static flash_block_size = 4096
                      
                          var flash_mode
                      	var flash_start_millis
                          var flash_size
                          var flash_written
                          var flash_buff
                          var flash_offset
                          var awaiting_offset
                          var tcp
                          var ser
                          var last_per
                      	var url
                      
                          def split_55(b)
                            var ret = []
                            var s = size(b)   
                            var i = s-2   # start from last-1
                            while i > 0
                              if b[i] == 0x55 && b[i+1] == 0xBB           
                                ret.push(b[i..s-1]) # push last msg to list
                                b = b[(0..i-1)]   # write the rest back to b
                              end
                              i -= 1
                            end
                            ret.push(b)
                            return ret
                          end
                      
                          def crc16(data, poly)
                            if !poly  poly = 0xA001 end
                            # CRC-16 MODBUS HASHING ALGORITHM
                            var crc = 0xFFFF
                            for i:0..size(data)-1
                              crc = crc ^ data[i]
                              for j:0..7
                                if crc & 1
                                  crc = (crc >> 1) ^ poly
                                else
                                  crc = crc >> 1
                                end
                              end
                            end
                            return crc
                          end
                      
                      	# encode using custom protocol 55 BB [payload length] [payload length] [payload] [crc] [crc]
                          def encode(payload)
                            var b = bytes()
                            b += self.header
                            b.add(size(payload), 2)   # add size as 2 bytes, little endian
                            b += bytes().fromstring(payload)
                            var msg_crc = self.crc16(b)
                            b.add(msg_crc, 2)       # crc 2 bytes, little endian
                            return b
                          end
                      
                          def encodenx(payload)
                              var b = bytes().fromstring(payload)
                              b += bytes('FFFFFF')
                              return b
                          end
                      
                          def sendnx(payload)
                              import string
                              var payload_bin = self.encodenx(payload)
                              self.ser.write(payload_bin)
                              log(string.format("NXP: Nextion command sent = %s",str(payload_bin)), 3)       
                          end
                      
                          def send(payload)
                              var payload_bin = self.encode(payload)
                              if self.flash_mode==1
                                  log("NXP: skipped command becuase still flashing", 3)
                              else 
                                  self.ser.write(payload_bin)
                                  log("NXP: payload sent = " + str(payload_bin), 3)
                              end
                          end
                      
                          def write_to_nextion(b)
                              self.ser.write(b)
                          end
                      
                          def screeninit()
                              log("NXP: Screen Initialized")
                      		self.sendnx("recmod=1")		
                          end
                      
                          def write_block()
                              
                              import string
                              log("FLH: Read block",3)
                              while size(self.flash_buff)<self.flash_block_size && self.tcp.connected()
                                  if self.tcp.available()>0
                                      self.flash_buff += self.tcp.readbytes()
                                  else
                                      tasmota.delay(50)
                                      log("FLH: Wait for available...",3)
                                  end
                              end
                              log("FLH: Buff size "+str(size(self.flash_buff)),3)
                              var to_write
                              if size(self.flash_buff)>self.flash_block_size
                                  to_write = self.flash_buff[0..self.flash_block_size-1]
                                  self.flash_buff = self.flash_buff[self.flash_block_size..]
                              else
                                  to_write = self.flash_buff
                                  self.flash_buff = bytes()
                              end
                              log("FLH: Writing "+str(size(to_write)),3)
                              var per = (self.flash_written*100)/self.flash_size
                              if (self.last_per!=per) 
                                  self.last_per = per
                                  tasmota.publish_result(string.format("{\"Flashing\":{\"complete\": %d, \"time_elapsed\": %d}}",per , (tasmota.millis()-self.flash_start_millis)/1000), "RESULT") 
                              end
                              if size(to_write)>0
                                  self.flash_written += size(to_write)
                                  self.ser.write(to_write)
                              end
                              log("FLH: Total "+str(self.flash_written),3)
                              if (self.flash_written==self.flash_size)
                                  log("FLH: Flashing complete - Time elapsed: %d", (tasmota.millis()-self.flash_start_millis)/1000)
                                  self.flash_mode = 0
                      			self.ser = nil
                      			tasmota.gc()
                      			self.ser = serial(17, 16, 115200, serial.SERIAL_8N1)
                              end
                      
                          end
                      
                          def every_100ms()
                              import string
                              if self.ser.available() > 0
                                  var msg = self.ser.read()
                                  if size(msg) > 0
                                      log(string.format("NXP: Received Raw = %s",str(msg)), 3)
                                      if (self.flash_mode==1)
                                          var strv = msg[0..-4].asstring()
                                          if string.find(strv,"comok 2")>=0
                                              log("FLH: Send (High Speed) flash start")
                      						self.flash_start_millis = tasmota.millis()
                                              #self.sendnx(string.format("whmi-wris %d,115200,res0",self.flash_size))
                                              self.sendnx(string.format("whmi-wris %d,921600,res0",self.flash_size))
                      						self.ser = serial(17, 16, 921600, serial.SERIAL_8N1)
                                          elif size(msg)==1 && msg[0]==0x08
                                              log("FLH: Waiting offset...",3)
                                              self.awaiting_offset = 1
                                          elif size(msg)==4 && self.awaiting_offset==1
                                              self.awaiting_offset = 0
                                              self.flash_offset = msg.get(0,4)
                                              log("FLH: Flash offset marker "+str(self.flash_offset),3)
                      						if self.flash_offset != 0
                      							self.open_url_at(self.url, self.flash_offset)
                      							self.flash_written = self.flash_offset
                      						end
                                              self.write_block()
                                          elif size(msg)==1 && msg[0]==0x05
                                              self.write_block()
                                          else
                                              log("FLH: Something has gone wrong flashing display firmware ["+str(msg)+"]",2)
                                          end
                                      else
                                          var msg_list = self.split_55(msg)
                                          for i:0..size(msg_list)-1
                                              msg = msg_list[i]
                                              if size(msg) > 0
                                                  if msg == bytes('000000FFFFFF88FFFFFF')
                                                      self.screeninit()
                                                  elif size(msg)>=2 && msg[0]==0x55 && msg[1]==0xBB
                                                      var jm = string.format("{\"CustomRecv\":\"%s\"}",msg[4..-3].asstring())
                                                      tasmota.publish_result(jm, "RESULT")        
                                                  elif msg[0]==0x07 && size(msg)==1 # BELL/Buzzer
                                                      tasmota.cmd("buzzer 1,1")
                                                  else
                                                      var jm = string.format("{\"nextion\":\"%s\"}",str(msg[0..-4]))
                                                      tasmota.publish_result(jm, "RESULT")        
                                                  end
                                              end       
                                          end
                                      end
                                  end
                              end
                          end      
                      
                          def begin_nextion_flash()
                              self.flash_written = 0
                              self.awaiting_offset = 0
                              self.flash_offset = 0
                              self.sendnx('DRAKJHSUYDGBNCJHGJKSHBDN')
                              self.sendnx('recmod=0')
                              self.sendnx('recmod=0')
                              self.flash_mode = 1
                              self.sendnx("connect")        
                          end
                          
                          def open_url_at(url, pos)
                      		self.url = url
                              import string
                              var host
                              var port
                              var s1 = string.split(url,7)[1]
                              var i = string.find(s1,":")
                              var sa
                              if i<0
                                  port = 80
                                  i = string.find(s1,"/")
                                  sa = string.split(s1,i)
                                  host = sa[0]
                              else
                                  sa = string.split(s1,i)
                                  host = sa[0]
                                  s1 = string.split(sa[1],1)[1]
                                  i = string.find(s1,"/")
                                  sa = string.split(s1,i)
                                  port = int(sa[0])
                              end
                              var get = sa[1]
                              log(string.format("FLH: host: %s, port: %s, get: %s",host,port,get))
                              self.tcp = tcpclient()
                              self.tcp.connect(host,port)
                              log("FLH: Connected:"+str(self.tcp.connected()),3)
                              var get_req = "GET "+get+" HTTP/1.0\r\n"
                      		get_req += string.format("Range: bytes=%d-\r\n", pos)
                      		get_req += string.format("HOST: %s:%s\r\n\r\n",host,port)
                              self.tcp.write(get_req)
                              var a = self.tcp.available()
                              i = 1
                              while a==0 && i<5
                                tasmota.delay(100*i)
                                tasmota.yield() 
                                i += 1
                                log("FLH: Retry "+str(i),3)
                                a = self.tcp.available()
                              end
                              if a==0
                                  log("FLH: Nothing available to read!",3)
                                  return
                              end
                              var b = self.tcp.readbytes()
                              i = 0
                              var end_headers = false;
                              var headers
                              while i<size(b) && headers==nil
                                  if b[i..(i+3)]==bytes().fromstring("\r\n\r\n") 
                                      headers = b[0..(i+3)].asstring()
                                      self.flash_buff = b[(i+4)..]
                                  else
                                      i += 1
                                  end
                              end
                              #print(headers)
                      		# check http respose for code 200/206
                              if string.find(headers,"200 OK")>0 || string.find(headers,"206 Partial Content")>0
                                  log("FLH: HTTP Respose is 200 OK or 206 Partial Content",3)
                      		else
                                  log("FLH: HTTP Respose is not 200 OK or 206 Partial Content",3)
                      			print(headers)
                      			return -1
                              end
                      		# only set flash size if pos is zero
                      		if pos == 0
                      			# check http respose for content-length
                      			var tag = "Content-Length: "
                      			i = string.find(headers,tag)
                      			if (i>0) 
                      				var i2 = string.find(headers,"\r\n",i)
                      				var s = headers[i+size(tag)..i2-1]
                      				self.flash_size=int(s)
                      			end
                      			log("FLH: Flash file size: "+str(self.flash_size),3)
                      		end
                      
                          end
                      
                          def flash_nextion(url)
                              self.flash_size = 0
                              var res = self.open_url_at(url, 0)
                      		if res != -1
                      			self.begin_nextion_flash()
                      		end
                          end
                      
                          def init()
                              log("NXP: Initializing Driver")
                              self.ser = serial(17, 16, 115200, serial.SERIAL_8N1)
                              self.flash_mode = 0
                          end
                      
                      end
                      
                      var nextion = Nextion()
                      
                      tasmota.add_driver(nextion)
                      
                      def get_current_version(cmd, idx, payload, payload_json)
                      	import string
                      	var version_of_this_script = 4
                      	var jm = string.format("{\"nlui_driver_version\":\"%s\"}", version_of_this_script)
                      	tasmota.publish_result(jm, "RESULT")
                      end
                      
                      tasmota.add_cmd('GetDriverVersion', get_current_version)
                      
                      def update_berry_driver(cmd, idx, payload, payload_json)
                      	def task()
                      		import string
                      		var cl = webclient()
                      		cl.begin(payload)
                      		var r = cl.GET()
                      		if r == 200
                      			print("Sucessfully downloaded nspanel-lovelace-ui berry driver")
                      		else
                      			print("Error while downloading nspanel-lovelace-ui berry driver")
                      		end
                      		r = cl.write_file("autoexec.be")
                      		if r < 0
                      			print("Error while writeing nspanel-lovelace-ui berry driver")
                      		else
                      			print("Sucessfully written nspanel-lovelace-ui berry driver")
                      			var s = load('autoexec.be')
                      			if s == true
                      				var jm = string.format("{\"nlui_driver_update\":\"%s\"}", "succeeded")
                      				tasmota.publish_result(jm, "RESULT")
                      			else 
                      				var jm = string.format("{\"nlui_driver_update\":\"%s\"}", "failed")
                      				tasmota.publish_result(jm, "RESULT")
                      			end
                      			
                      		end
                      	end
                      	tasmota.set_timer(0,task)
                      	tasmota.resp_cmnd_done()
                      end
                      
                      tasmota.add_cmd('UpdateDriverVersion', update_berry_driver)
                      
                      def flash_nextion(cmd, idx, payload, payload_json)
                          def task()
                              nextion.flash_nextion(payload)
                          end
                          tasmota.set_timer(0,task)
                          tasmota.resp_cmnd_done()
                      end
                      
                      def send_cmd(cmd, idx, payload, payload_json)
                          nextion.sendnx(payload)
                          tasmota.resp_cmnd_done()
                      end
                      
                      def send_cmd2(cmd, idx, payload, payload_json)
                          nextion.send(payload)
                          tasmota.resp_cmnd_done()
                      end
                      
                      tasmota.add_cmd('Nextion', send_cmd)
                      tasmota.add_cmd('CustomSend', send_cmd2)
                      tasmota.add_cmd('FlashNextion', flash_nextion)
                      

                      MQTT-Settings:
                      cda2f93c-4ac6-4ac6-931b-621dfa4b9060-grafik.png

                      Sonstige Einstellungen/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}
                      

                      f7092fcf-15c4-47e7-bbbb-80637be9c156-grafik.png

                      Das mqtt.1. muss in beide Richtungen kommunizieren. RESULT funktioniert. Teste es doch bitte so wie beschrieben. Deinen Mosquitto kannst du anschließend immer noch bemühen.

                      Andreas_ZA Offline
                      Andreas_ZA Offline
                      Andreas_Z
                      schrieb am zuletzt editiert von
                      #49

                      @armilar
                      Habe ich, MQTT.2 ist als Server (mit anderem Port) konfiguriert und identischem Resultat, es wird nichts auf dem Display angezeigt:

                      mqtt.2	2022-09-23 19:32:17.692	info	Client [NSPanel_1] publishOnSubscribe send all known states
                      mqtt.2	2022-09-23 19:32:17.691	info	Client [NSPanel_1] publishOnSubscribe send all known states
                      mqtt.2	2022-09-23 19:32:17.689	info	Client [NSPanel_1] publishOnSubscribe send all known states
                      mqtt.2	2022-09-23 19:32:17.492	info	Client [NSPanel_1] subscribes on "cmnd/NSPanel_1_fb/#" with regex /^mqtt\.2\.cmnd\.NSPanel_1_fb(\..*)?/
                      mqtt.2	2022-09-23 19:32:17.492	info	Client [NSPanel_1] subscribes on "cmnd/NSPanel_1_fb/#" with regex /^cmnd\.NSPanel_1_fb(\..*)?/
                      mqtt.2	2022-09-23 19:32:17.491	info	Client [NSPanel_1] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^mqtt\.2\.SmartHome\.tasmotas\.cmnd(\..*)?/
                      mqtt.2	2022-09-23 19:32:17.490	info	Client [NSPanel_1] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^SmartHome\.tasmotas\.cmnd(\..*)?/
                      mqtt.2	2022-09-23 19:32:17.489	info	Client [NSPanel_1] subscribes on "SmartHome/NSPanel_1/cmnd/#" with regex /^mqtt\.2\.SmartHome\.NSPanel_1\.cmnd(\..*)?/
                      mqtt.2	2022-09-23 19:32:17.489	info	Client [NSPanel_1] subscribes on "SmartHome/NSPanel_1/cmnd/#" with regex /^SmartHome\.NSPanel_1\.cmnd(\..*)?/
                      mqtt.2	2022-09-23 19:32:17.454	info	Client [NSPanel_1] connected with secret 1663954337450_1441
                      mqtt.2	2022-09-23 19:32:07.977	info	Client [NSPanel_1] connection closed: closed
                      javascript.0	2022-09-23 19:30:27.658	info	script.js.common.NSPanel_1: registered 12 subscriptions, 6 schedules, 0 messages, 0 logs and 0 file subscriptions
                      javascript.0	2022-09-23 19:30:27.636	info	script.js.common.NSPanel_1: TypeScript compilation successful
                      javascript.0	2022-09-23 19:30:25.964	info	script.js.common.NSPanel_1: compiling TypeScript source...
                      javascript.0	2022-09-23 19:30:25.924	debug	File /home/Javascript/common/NSPanel_1.ts change
                      javascript.0	2022-09-23 19:30:25.924	info	Stop script script.js.common.NSPanel_1
                      javascript.0	2022-09-23 19:30:25.917	debug	Update /home/Javascript/common/NSPanel_1.ts on disk
                      

                      Werte im Script habe ich auf MQTT.2 geändert gehabt.

                      ArmilarA 1 Antwort Letzte Antwort
                      0
                      • Andreas_ZA Andreas_Z

                        @armilar
                        Habe ich, MQTT.2 ist als Server (mit anderem Port) konfiguriert und identischem Resultat, es wird nichts auf dem Display angezeigt:

                        mqtt.2	2022-09-23 19:32:17.692	info	Client [NSPanel_1] publishOnSubscribe send all known states
                        mqtt.2	2022-09-23 19:32:17.691	info	Client [NSPanel_1] publishOnSubscribe send all known states
                        mqtt.2	2022-09-23 19:32:17.689	info	Client [NSPanel_1] publishOnSubscribe send all known states
                        mqtt.2	2022-09-23 19:32:17.492	info	Client [NSPanel_1] subscribes on "cmnd/NSPanel_1_fb/#" with regex /^mqtt\.2\.cmnd\.NSPanel_1_fb(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.492	info	Client [NSPanel_1] subscribes on "cmnd/NSPanel_1_fb/#" with regex /^cmnd\.NSPanel_1_fb(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.491	info	Client [NSPanel_1] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^mqtt\.2\.SmartHome\.tasmotas\.cmnd(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.490	info	Client [NSPanel_1] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^SmartHome\.tasmotas\.cmnd(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.489	info	Client [NSPanel_1] subscribes on "SmartHome/NSPanel_1/cmnd/#" with regex /^mqtt\.2\.SmartHome\.NSPanel_1\.cmnd(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.489	info	Client [NSPanel_1] subscribes on "SmartHome/NSPanel_1/cmnd/#" with regex /^SmartHome\.NSPanel_1\.cmnd(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.454	info	Client [NSPanel_1] connected with secret 1663954337450_1441
                        mqtt.2	2022-09-23 19:32:07.977	info	Client [NSPanel_1] connection closed: closed
                        javascript.0	2022-09-23 19:30:27.658	info	script.js.common.NSPanel_1: registered 12 subscriptions, 6 schedules, 0 messages, 0 logs and 0 file subscriptions
                        javascript.0	2022-09-23 19:30:27.636	info	script.js.common.NSPanel_1: TypeScript compilation successful
                        javascript.0	2022-09-23 19:30:25.964	info	script.js.common.NSPanel_1: compiling TypeScript source...
                        javascript.0	2022-09-23 19:30:25.924	debug	File /home/Javascript/common/NSPanel_1.ts change
                        javascript.0	2022-09-23 19:30:25.924	info	Stop script script.js.common.NSPanel_1
                        javascript.0	2022-09-23 19:30:25.917	debug	Update /home/Javascript/common/NSPanel_1.ts on disk
                        

                        Werte im Script habe ich auf MQTT.2 geändert gehabt.

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

                        @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

                        @armilar
                        Habe ich, MQTT.2 ist als Server (mit anderem Port) konfiguriert und identischem Resultat, es wird nichts auf dem Display angezeigt:

                        mqtt.2	2022-09-23 19:32:17.692	info	Client [NSPanel_1] publishOnSubscribe send all known states
                        mqtt.2	2022-09-23 19:32:17.691	info	Client [NSPanel_1] publishOnSubscribe send all known states
                        mqtt.2	2022-09-23 19:32:17.689	info	Client [NSPanel_1] publishOnSubscribe send all known states
                        mqtt.2	2022-09-23 19:32:17.492	info	Client [NSPanel_1] subscribes on "cmnd/NSPanel_1_fb/#" with regex /^mqtt\.2\.cmnd\.NSPanel_1_fb(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.492	info	Client [NSPanel_1] subscribes on "cmnd/NSPanel_1_fb/#" with regex /^cmnd\.NSPanel_1_fb(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.491	info	Client [NSPanel_1] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^mqtt\.2\.SmartHome\.tasmotas\.cmnd(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.490	info	Client [NSPanel_1] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^SmartHome\.tasmotas\.cmnd(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.489	info	Client [NSPanel_1] subscribes on "SmartHome/NSPanel_1/cmnd/#" with regex /^mqtt\.2\.SmartHome\.NSPanel_1\.cmnd(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.489	info	Client [NSPanel_1] subscribes on "SmartHome/NSPanel_1/cmnd/#" with regex /^SmartHome\.NSPanel_1\.cmnd(\..*)?/
                        mqtt.2	2022-09-23 19:32:17.454	info	Client [NSPanel_1] connected with secret 1663954337450_1441
                        mqtt.2	2022-09-23 19:32:07.977	info	Client [NSPanel_1] connection closed: closed
                        javascript.0	2022-09-23 19:30:27.658	info	script.js.common.NSPanel_1: registered 12 subscriptions, 6 schedules, 0 messages, 0 logs and 0 file subscriptions
                        javascript.0	2022-09-23 19:30:27.636	info	script.js.common.NSPanel_1: TypeScript compilation successful
                        javascript.0	2022-09-23 19:30:25.964	info	script.js.common.NSPanel_1: compiling TypeScript source...
                        javascript.0	2022-09-23 19:30:25.924	debug	File /home/Javascript/common/NSPanel_1.ts change
                        javascript.0	2022-09-23 19:30:25.924	info	Stop script script.js.common.NSPanel_1
                        javascript.0	2022-09-23 19:30:25.917	debug	Update /home/Javascript/common/NSPanel_1.ts on disk
                        

                        Werte im Script habe ich auf MQTT.2 geändert gehabt.

                        So und jetzt bitte mal die mqtt-Einstellungen aus dem mqtt.2. und aus Tasmota posten. Ich denke wir finden den Fehler noch

                        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.

                        Andreas_ZA 1 Antwort Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

                          @armilar
                          Habe ich, MQTT.2 ist als Server (mit anderem Port) konfiguriert und identischem Resultat, es wird nichts auf dem Display angezeigt:

                          mqtt.2	2022-09-23 19:32:17.692	info	Client [NSPanel_1] publishOnSubscribe send all known states
                          mqtt.2	2022-09-23 19:32:17.691	info	Client [NSPanel_1] publishOnSubscribe send all known states
                          mqtt.2	2022-09-23 19:32:17.689	info	Client [NSPanel_1] publishOnSubscribe send all known states
                          mqtt.2	2022-09-23 19:32:17.492	info	Client [NSPanel_1] subscribes on "cmnd/NSPanel_1_fb/#" with regex /^mqtt\.2\.cmnd\.NSPanel_1_fb(\..*)?/
                          mqtt.2	2022-09-23 19:32:17.492	info	Client [NSPanel_1] subscribes on "cmnd/NSPanel_1_fb/#" with regex /^cmnd\.NSPanel_1_fb(\..*)?/
                          mqtt.2	2022-09-23 19:32:17.491	info	Client [NSPanel_1] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^mqtt\.2\.SmartHome\.tasmotas\.cmnd(\..*)?/
                          mqtt.2	2022-09-23 19:32:17.490	info	Client [NSPanel_1] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^SmartHome\.tasmotas\.cmnd(\..*)?/
                          mqtt.2	2022-09-23 19:32:17.489	info	Client [NSPanel_1] subscribes on "SmartHome/NSPanel_1/cmnd/#" with regex /^mqtt\.2\.SmartHome\.NSPanel_1\.cmnd(\..*)?/
                          mqtt.2	2022-09-23 19:32:17.489	info	Client [NSPanel_1] subscribes on "SmartHome/NSPanel_1/cmnd/#" with regex /^SmartHome\.NSPanel_1\.cmnd(\..*)?/
                          mqtt.2	2022-09-23 19:32:17.454	info	Client [NSPanel_1] connected with secret 1663954337450_1441
                          mqtt.2	2022-09-23 19:32:07.977	info	Client [NSPanel_1] connection closed: closed
                          javascript.0	2022-09-23 19:30:27.658	info	script.js.common.NSPanel_1: registered 12 subscriptions, 6 schedules, 0 messages, 0 logs and 0 file subscriptions
                          javascript.0	2022-09-23 19:30:27.636	info	script.js.common.NSPanel_1: TypeScript compilation successful
                          javascript.0	2022-09-23 19:30:25.964	info	script.js.common.NSPanel_1: compiling TypeScript source...
                          javascript.0	2022-09-23 19:30:25.924	debug	File /home/Javascript/common/NSPanel_1.ts change
                          javascript.0	2022-09-23 19:30:25.924	info	Stop script script.js.common.NSPanel_1
                          javascript.0	2022-09-23 19:30:25.917	debug	Update /home/Javascript/common/NSPanel_1.ts on disk
                          

                          Werte im Script habe ich auf MQTT.2 geändert gehabt.

                          So und jetzt bitte mal die mqtt-Einstellungen aus dem mqtt.2. und aus Tasmota posten. Ich denke wir finden den Fehler noch

                          Andreas_ZA Offline
                          Andreas_ZA Offline
                          Andreas_Z
                          schrieb am zuletzt editiert von
                          #51

                          @armilar
                          e1652012-6fd2-438d-abc2-f94ba4e0970a-grafik.png
                          2ce24076-bdd3-4220-9366-35967ae6130a-grafik.png
                          478e3ba9-2c46-4b93-a3fd-70d8e8ecfa30-grafik.png

                          By the way, Respekt und dank für deine Geduld 👍

                          ArmilarA 1 Antwort Letzte Antwort
                          0
                          • Andreas_ZA Andreas_Z

                            @armilar
                            e1652012-6fd2-438d-abc2-f94ba4e0970a-grafik.png
                            2ce24076-bdd3-4220-9366-35967ae6130a-grafik.png
                            478e3ba9-2c46-4b93-a3fd-70d8e8ecfa30-grafik.png

                            By the way, Respekt und dank für deine Geduld 👍

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

                            @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

                            @armilar
                            e1652012-6fd2-438d-abc2-f94ba4e0970a-grafik.png
                            2ce24076-bdd3-4220-9366-35967ae6130a-grafik.png
                            478e3ba9-2c46-4b93-a3fd-70d8e8ecfa30-grafik.png

                            By the way, Respekt und dank für deine Geduld 👍

                            Denke ich habe was ... Bitte nach und nach..

                            Haken "unbedingt" raus... und raus lassen
                            7a55f046-e18d-44c5-9bcc-475e50ee9de9-image.png

                            Haken rein...
                            492d66f8-8230-41d1-b9fc-3f8b45d39268-image.png

                            Setze mal höher
                            83b9a637-c580-4d5d-bbe9-7b589d19d940-image.png

                            Wärst so ziemlich der erste bei dem es nicht funktioniert. Können wir irgendwie nicht auf uns sitzen lassen... 😉

                            und zum Schluss noch die beiden Zeilen aktualisieren, falls noch nicht geschehen...

                                panelRecvTopic: 'mqtt.2.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
                                panelSendTopic: 'mqtt.2.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
                            

                            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.

                            Andreas_ZA 1 Antwort Letzte Antwort
                            0
                            • ArmilarA Armilar

                              @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

                              @armilar
                              e1652012-6fd2-438d-abc2-f94ba4e0970a-grafik.png
                              2ce24076-bdd3-4220-9366-35967ae6130a-grafik.png
                              478e3ba9-2c46-4b93-a3fd-70d8e8ecfa30-grafik.png

                              By the way, Respekt und dank für deine Geduld 👍

                              Denke ich habe was ... Bitte nach und nach..

                              Haken "unbedingt" raus... und raus lassen
                              7a55f046-e18d-44c5-9bcc-475e50ee9de9-image.png

                              Haken rein...
                              492d66f8-8230-41d1-b9fc-3f8b45d39268-image.png

                              Setze mal höher
                              83b9a637-c580-4d5d-bbe9-7b589d19d940-image.png

                              Wärst so ziemlich der erste bei dem es nicht funktioniert. Können wir irgendwie nicht auf uns sitzen lassen... 😉

                              und zum Schluss noch die beiden Zeilen aktualisieren, falls noch nicht geschehen...

                                  panelRecvTopic: 'mqtt.2.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
                                  panelSendTopic: 'mqtt.2.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
                              
                              Andreas_ZA Offline
                              Andreas_ZA Offline
                              Andreas_Z
                              schrieb am zuletzt editiert von
                              #53

                              @armilar Alles Umgesetzt, ohne Erfolg, was aber bisher immer passiert (Mit Mosqitto und über Iobroker Intern MQTT), wenn ich das Script neu gestartet oder geändert habe, das "This is taking longer ....." verschwindet für einen Moment und erscheint danach wieder, also scheint es ja doch eine Gewisse Kommunikation zu geben

                              ArmilarA K 2 Antworten Letzte Antwort
                              0
                              • Andreas_ZA Andreas_Z

                                @armilar Alles Umgesetzt, ohne Erfolg, was aber bisher immer passiert (Mit Mosqitto und über Iobroker Intern MQTT), wenn ich das Script neu gestartet oder geändert habe, das "This is taking longer ....." verschwindet für einen Moment und erscheint danach wieder, also scheint es ja doch eine Gewisse Kommunikation zu geben

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

                                @andreas_z sagte in SONOFF NSPanel mit Lovelace UI:

                                @armilar Alles Umgesetzt, ohne Erfolg, was aber bisher immer passiert (Mit Mosqitto und über Iobroker Intern MQTT), wenn ich das Script neu gestartet oder geändert habe, das "This is taking longer ....." verschwindet für einen Moment und erscheint danach wieder, also scheint es ja doch eine Gewisse Kommunikation zu geben

                                Okay ich gebe auf. Kannst noch mal versuchen die IP im Broker auf den Server zusetzten und beide Kisten iobroker und Panel durchstarten. Mehr geht eigentlich nicht...

                                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
                                • K Kuckuckmann

                                  Hallo Community,

                                  wir haben viel zeit und Getippsel investiert und unserer Wiki ein bissel Glanz und Struktur gegönnt.
                                  Ja, wir wissen wir sind am Anfang und eine Wiki ist ja bekanntlich nie zu Ende, bzw. lebt von dem was wir alle noch hinzufügen werden.

                                  --> ZUR WIKI <--

                                  Neben dem alten klassischen Menü, welches man noch aufklappen kann, gibt es jetzt links ein neues hübsches Menü, welches Euch mit einem kurzen Blick&Klick in den richtigen Bereich führt.
                                  Am unteren Ende einer Seite gibt es einen "nach oben Scroll Button".

                                  Wir hoffen, die neue Struktur hilft Euch in der Zukunft euch noch besser zurecht zu finden.

                                  Viel Spaß 🙂

                                  Euer NSPanel LUI Team 🙂

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

                                  @kuckuckmann (nur für deine Tests)

                                  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
                                  • Andreas_ZA Andreas_Z

                                    @armilar Alles Umgesetzt, ohne Erfolg, was aber bisher immer passiert (Mit Mosqitto und über Iobroker Intern MQTT), wenn ich das Script neu gestartet oder geändert habe, das "This is taking longer ....." verschwindet für einen Moment und erscheint danach wieder, also scheint es ja doch eine Gewisse Kommunikation zu geben

                                    K Offline
                                    K Offline
                                    Kuckuckmann
                                    schrieb am zuletzt editiert von
                                    #56

                                    @andreas_z
                                    Hi Andreas,

                                    was ich bei dem ganzen vermisse, ist die Bestätigung, dass CustomSend funktioniert.
                                    Da ich gerade selbst damit zu kämpfen hatte, stell bitte sicher, dass der entweder aus der Tasmota Konsole oder dem Mosquitto Explorer so wie in der Anleitung im Wiki auch passiert. Ich könnte mir vorstellen, dass dies die Lösung ist.

                                    LG

                                    NSPanel Dokumentation im GitHub Wiki:

                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                    Andreas_ZA 1 Antwort Letzte Antwort
                                    0
                                    • K Kuckuckmann

                                      @andreas_z
                                      Hi Andreas,

                                      was ich bei dem ganzen vermisse, ist die Bestätigung, dass CustomSend funktioniert.
                                      Da ich gerade selbst damit zu kämpfen hatte, stell bitte sicher, dass der entweder aus der Tasmota Konsole oder dem Mosquitto Explorer so wie in der Anleitung im Wiki auch passiert. Ich könnte mir vorstellen, dass dies die Lösung ist.

                                      LG

                                      Andreas_ZA Offline
                                      Andreas_ZA Offline
                                      Andreas_Z
                                      schrieb am zuletzt editiert von
                                      #57

                                      @kuckuckmann

                                      Er funktioniert leider nicht mal aus der Konsole raus
                                      20:23:10.191 CMD: CustomSend time~12:00
                                      20:23:10.216 MQT: SmartHome/tasmota_E7EFAC/stat/RESULT = {"CustomSend":"Done"}
                                      20:23:13.604 MQT: SmartHome/tasmota_E7EFAC/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}

                                      Es wird nichts auf dem Display angezeigt. Zwischenzeitlich habe ich noch einmal bei 0 Angefangen und komplett neu geflasht und konfiguriert, leider mit dem selben Ergebnis.

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • Andreas_ZA Andreas_Z

                                        @kuckuckmann

                                        Er funktioniert leider nicht mal aus der Konsole raus
                                        20:23:10.191 CMD: CustomSend time~12:00
                                        20:23:10.216 MQT: SmartHome/tasmota_E7EFAC/stat/RESULT = {"CustomSend":"Done"}
                                        20:23:13.604 MQT: SmartHome/tasmota_E7EFAC/tele/RESULT = {"CustomRecv":"event,startup,42,eu"}

                                        Es wird nichts auf dem Display angezeigt. Zwischenzeitlich habe ich noch einmal bei 0 Angefangen und komplett neu geflasht und konfiguriert, leider mit dem selben Ergebnis.

                                        K Offline
                                        K Offline
                                        Kuckuckmann
                                        schrieb am zuletzt editiert von
                                        #58

                                        @andreas_z
                                        Hast Du es via Mosquitto probiert?

                                        NSPanel Dokumentation im GitHub Wiki:

                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                        Andreas_ZA 1 Antwort Letzte Antwort
                                        0
                                        • K Kuckuckmann

                                          @andreas_z
                                          Hast Du es via Mosquitto probiert?

                                          Andreas_ZA Offline
                                          Andreas_ZA Offline
                                          Andreas_Z
                                          schrieb am zuletzt editiert von
                                          #59

                                          @kuckuckmann
                                          Aus der Konsole, über Iobroker, mit MQTT-Explorer, das blö.... Display hat keine Lust etwas anzuzeigen, außer "Waiting for content"

                                          K 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

                                          720

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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