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

NEWS

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

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

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

Sonoff NSPanel

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

    @armilar nee, das ist neu. Habe ich gerade. FW ist bei 56%

    Update ist durch.

    MQTT.1 läuft
    c11c4b65-22f9-45c5-abd6-b31f9d75c5c0-grafik.png

    CustomSend time~14:32 ausgeführt.

    aber kein CustomSend 😠

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

    @a200

    Verstehe ich echt nicht.

    Ist der Port 1885 wirklich frei? sonst mal einen anderen in Tasmota und MQTT-Adapter einstellen
    Sind die MQTT-IP's in Tasmota und MQTT-Adapter korrekt?

    3a727202-e3ba-4a4f-a0a5-919eb5882595-image.png

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

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

    a200A 1 Antwort Letzte Antwort
    0
    • ArmilarA Armilar

      @a200

      Verstehe ich echt nicht.

      Ist der Port 1885 wirklich frei? sonst mal einen anderen in Tasmota und MQTT-Adapter einstellen
      Sind die MQTT-IP's in Tasmota und MQTT-Adapter korrekt?

      3a727202-e3ba-4a4f-a0a5-919eb5882595-image.png

      a200A Offline
      a200A Offline
      a200
      schrieb am zuletzt editiert von
      #442

      @armilar Ich habe den mqtt.1. Adapter gestoppt. Dann in Objekte den ganzen Unterbaum von mqtt.1 gelöscht. Wenn ich jetzt den Adapter neu starte, dann werden die ganzen DP angelegt.

      Und wenn ich mqqt auf dem Panel auf den mqqt-Explorer umbiege, dann bekomme ich auch die Verbindung.

      IoBroker auf QNAP TS-451, Raspi und NUC

      ArmilarA 1 Antwort Letzte Antwort
      0
      • a200A a200

        @armilar Ich habe den mqtt.1. Adapter gestoppt. Dann in Objekte den ganzen Unterbaum von mqtt.1 gelöscht. Wenn ich jetzt den Adapter neu starte, dann werden die ganzen DP angelegt.

        Und wenn ich mqqt auf dem Panel auf den mqqt-Explorer umbiege, dann bekomme ich auch die Verbindung.

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

        @a200 sagte in Sonoff NSPanel:

        @armilar Ich habe den mqtt.1. Adapter gestoppt. Dann in Objekte den ganzen Unterbaum von mqtt.1 gelöscht. Wenn ich jetzt den Adapter neu starte, dann werden die ganzen DP angelegt.

        Und wenn ich mqqt auf dem Panel auf den mqqt-Explorer umbiege, dann bekomme ich auch die Verbindung.

        Das heißt es läuft jetzt alles?

        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.

        a200A 1 Antwort Letzte Antwort
        0
        • ArmilarA Armilar

          @a200 sagte in Sonoff NSPanel:

          @armilar Ich habe den mqtt.1. Adapter gestoppt. Dann in Objekte den ganzen Unterbaum von mqtt.1 gelöscht. Wenn ich jetzt den Adapter neu starte, dann werden die ganzen DP angelegt.

          Und wenn ich mqqt auf dem Panel auf den mqqt-Explorer umbiege, dann bekomme ich auch die Verbindung.

          Das heißt es läuft jetzt alles?

          a200A Offline
          a200A Offline
          a200
          schrieb am zuletzt editiert von
          #444

          @armilar leider nicht. ich meine nur, dass der mqtt-Adapter und mein nspnael kommunizieren. Die custom commands werden vom Panel zwar akzeptiert, aber es wird kein DP in IoBroker erzeugt. Wo kann man da noch was falsch machen und wieso bin ich der erster?

          IoBroker auf QNAP TS-451, Raspi und NUC

          ArmilarA 1 Antwort Letzte Antwort
          0
          • a200A a200

            @armilar leider nicht. ich meine nur, dass der mqtt-Adapter und mein nspnael kommunizieren. Die custom commands werden vom Panel zwar akzeptiert, aber es wird kein DP in IoBroker erzeugt. Wo kann man da noch was falsch machen und wieso bin ich der erster?

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

            @a200 sagte in Sonoff NSPanel:

            @armilar leider nicht. ich meine nur, dass der mqtt-Adapter und mein nspnael kommunizieren. Die custom commands werden vom Panel zwar akzeptiert, aber es wird kein DP in IoBroker erzeugt. Wo kann man da noch was falsch machen und wieso bin ich der erster?

            Weiß nicht, warum dein MQTT-Adapter das nicht will. Sonst werfe mal die Adapter-Instanz weg und lege die komplett neu an. Wie bereits erwähnt, evtl. mit komplett neuem Port auf beiden Seiten. Gibt viele Adapter mit MQTT-Kommunikation (Sonoff/Shelly/WLED/MQTT.0/etc.) nicht das der belegt ist??????

            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
            1
            • a200A Offline
              a200A Offline
              a200
              schrieb am zuletzt editiert von
              #446

              @armilar die 1er Instanz war speziell für nspanel erstellt worden. Trotzdem habe ich eine neu Instanz erstellt (1886) und auf nspanel angepasst und sogar umbenannt.

              cc8a3ccc-f283-487b-a8e9-eb9a058f6dfa-grafik.png

              Verstehe ich das richtig, dass spätestens "CustomSend time~11:35" auf der Console, den Eintrag im mqtt erzeugen sollte?

              IoBroker auf QNAP TS-451, Raspi und NUC

              MikewolfM 1 Antwort Letzte Antwort
              0
              • a200A a200

                @armilar die 1er Instanz war speziell für nspanel erstellt worden. Trotzdem habe ich eine neu Instanz erstellt (1886) und auf nspanel angepasst und sogar umbenannt.

                cc8a3ccc-f283-487b-a8e9-eb9a058f6dfa-grafik.png

                Verstehe ich das richtig, dass spätestens "CustomSend time~11:35" auf der Console, den Eintrag im mqtt erzeugen sollte?

                MikewolfM Offline
                MikewolfM Offline
                Mikewolf
                schrieb am zuletzt editiert von
                #447

                @a200
                Ja sollte , ging aber bei damals auch nicht, habe daher mit mqtt explorer angelegt , und dann auch noch schreibbar gemacht,erst dann hat es bei mir funktioniert!
                mfg
                mikewolf

                Homematic (ca450 Rf komponenten), FS20,Alexas,Sonoff,ESP,Arduino,Lightly,Milight,NEEO,Harmony,Synology,HP-Gen8

                RF-link,Dreamboxen,Raspi,Cubie,Odroid,Fritz,Xiaomi-Vaccum,

                a200A 1 Antwort Letzte Antwort
                1
                • MikewolfM Mikewolf

                  @a200
                  Ja sollte , ging aber bei damals auch nicht, habe daher mit mqtt explorer angelegt , und dann auch noch schreibbar gemacht,erst dann hat es bei mir funktioniert!
                  mfg
                  mikewolf

                  a200A Offline
                  a200A Offline
                  a200
                  schrieb am zuletzt editiert von a200
                  #448

                  @mikewolf

                  3b9e4a34-d159-4c3a-b830-3984bfd7f3fa-grafik.png

                  Mit mqtt-Explorer kann ich ein CustomSend Abschicken. Aber Wie mach ich den jetzt schreibbar?

                  Ja!

                  11de3771-c208-4822-a7b6-697406be3174-grafik.png

                  @Armilar

                  Jungs! Ihr seid die Besten! Jetzt geht es!

                  IoBroker auf QNAP TS-451, Raspi und NUC

                  1 Antwort Letzte Antwort
                  0
                  • ArmilarA Armilar

                    @a200 sagte in Sonoff NSPanel:

                    @armilar @Mikewolf

                    648b1ac6-62af-4973-b403-b7eff42bcee0-grafik.png

                    Klappt leider nicht. Über mqtt-Explorer sehe ich den Datenpunkt aber in IoBroker nicht.

                    6068ae70-47a0-46c0-92e9-565e8880b3e7-grafik.png

                    Weitere Ideen?

                    hmmm - für mich sieht das so aus, als wenn da noch NSPSend mit der Sonoff-Firmware arbeitet. Hast du denn die folgenden Schritte gemacht?

                    • Tasmota Konsole/Verwaltung Dateisystem: autoexec.be und autoexec.bec löschen

                    • autoexec.be mit Inhalt von https://github.com/joBr99/nspanel-lovelace-ui/blob/main/tasmota/autoexec.be neu anlegen

                    • Restart

                    • In Tasmota Konsole "FlashNextion http://nspanel.pky.eu/lui-release.tft" ausführen
                      13799aaa-3167-4d86-a2c0-af25986c2451-image.png

                    • Wenn du das siehst, bist du schon fast am Ziel:
                      985c9b0c-4abb-4caa-969b-0a2e9d966d65-image.png

                    • Jetzt TypeScript in ioBroker unter "global" anlegen und Inhalt icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts reinkopieren und speichern.

                    • TypeScript anlegen und letzte Version Code1/Code2 aus Forum reinkopieren. Alternativ hierzu die letzte Version (ist in der Regel aber nicht so weit wie die hier im Thread) aus der https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts verwenden.

                    • Beide TypeScript-Skripte aktivieren nicht vergessen

                    • Im TypeScript MQTT-Parameter und ggfs. andere Parameter anpassen, später dann irgendwann ALIASE erzeugen

                    • Jetzt den CustomSend time~11:35 absenden

                    • Mit der Tasmota Version sollte es laufen. Es wird zwar empfohlen, die tasmota32-nspanel.bin zu verwenden, jedoch habe ich auch die deutsche tasmota32-DE.bin am laufen

                    Wenn alles korrekt befolgt, dann sollte der Screensaver (ggfs. noch nicht alle Werte drin, da ja noch Aliase fehlen) erscheinen:
                    1a6928ff-3c2e-478d-b57b-43c95ba126da-image.png

                    P.S.: Die Anleitung weicht stark von denen im Internet ab - quasi ab anlegen der autoexec.be, welche schon einen komplett anderen Inhalt hat, als die in den Videos.

                    Wenn die o.a. Anleitung befolgt wird, kann jederzeit ein Upgrade auf neuere Firmware (Berry-Driver/TFT-Firmware) mit folgenden Befehlen erfolgen:

                    Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
                    
                    FlashNextion http://nspanel.pky.eu/lui-release.tft
                    
                    J Offline
                    J Offline
                    joBr99
                    schrieb am zuletzt editiert von joBr99
                    #449

                    @armilar said in Sonoff NSPanel:

                    @a200 sagte in Sonoff NSPanel:

                    @armilar @Mikewolf

                    648b1ac6-62af-4973-b403-b7eff42bcee0-grafik.png

                    Klappt leider nicht. Über mqtt-Explorer sehe ich den Datenpunkt aber in IoBroker nicht.

                    6068ae70-47a0-46c0-92e9-565e8880b3e7-grafik.png

                    Weitere Ideen?

                    hmmm - für mich sieht das so aus, als wenn da noch NSPSend mit der Sonoff-Firmware arbeitet. Hast du denn die folgenden Schritte gemacht?

                    • Tasmota Konsole/Verwaltung Dateisystem: autoexec.be und autoexec.bec löschen

                    • autoexec.be mit Inhalt von https://github.com/joBr99/nspanel-lovelace-ui/blob/main/tasmota/autoexec.be neu anlegen

                    • Restart

                    • In Tasmota Konsole "FlashNextion http://nspanel.pky.eu/lui-release.tft" ausführen
                      13799aaa-3167-4d86-a2c0-af25986c2451-image.png

                    • Wenn du das siehst, bist du schon fast am Ziel:
                      985c9b0c-4abb-4caa-969b-0a2e9d966d65-image.png

                    • Jetzt TypeScript in ioBroker unter "global" anlegen und Inhalt icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts reinkopieren und speichern.

                    • TypeScript anlegen und letzte Version Code1/Code2 aus Forum reinkopieren. Alternativ hierzu die letzte Version (ist in der Regel aber nicht so weit wie die hier im Thread) aus der https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts verwenden.

                    • Beide TypeScript-Skripte aktivieren nicht vergessen

                    • Im TypeScript MQTT-Parameter und ggfs. andere Parameter anpassen, später dann irgendwann ALIASE erzeugen

                    • Jetzt den CustomSend time~11:35 absenden

                    • Mit der Tasmota Version sollte es laufen. Es wird zwar empfohlen, die tasmota32-nspanel.bin zu verwenden, jedoch habe ich auch die deutsche tasmota32-DE.bin am laufen

                    Wenn alles korrekt befolgt, dann sollte der Screensaver (ggfs. noch nicht alle Werte drin, da ja noch Aliase fehlen) erscheinen:
                    1a6928ff-3c2e-478d-b57b-43c95ba126da-image.png

                    P.S.: Die Anleitung weicht stark von denen im Internet ab - quasi ab anlegen der autoexec.be, welche schon einen komplett anderen Inhalt hat, als die in den Videos.

                    Wenn die o.a. Anleitung befolgt wird, kann jederzeit ein Upgrade auf neuere Firmware (Berry-Driver/TFT-Firmware) mit folgenden Befehlen erfolgen:

                    Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
                    
                    FlashNextion http://nspanel.pky.eu/lui-release.tft
                    

                    FYI:
                    Tasmota generiert beim ersten ausführen eines Berry Skripts eine .bec datei. Wenn nach dem austauschen von der autoexec.be immernoch der alte code ausgeführt wird, dann liegt es daran, dass tasmota die bec datei nicht aktualisiert und die alte bec lädt, dann hilft es die autoexec.bec zu löschen. Kann vorkommen, wenn man von blakadder oder nxpanel zu lovelace wechselt

                    a200A H 2 Antworten Letzte Antwort
                    1
                    • J joBr99

                      @armilar said in Sonoff NSPanel:

                      @a200 sagte in Sonoff NSPanel:

                      @armilar @Mikewolf

                      648b1ac6-62af-4973-b403-b7eff42bcee0-grafik.png

                      Klappt leider nicht. Über mqtt-Explorer sehe ich den Datenpunkt aber in IoBroker nicht.

                      6068ae70-47a0-46c0-92e9-565e8880b3e7-grafik.png

                      Weitere Ideen?

                      hmmm - für mich sieht das so aus, als wenn da noch NSPSend mit der Sonoff-Firmware arbeitet. Hast du denn die folgenden Schritte gemacht?

                      • Tasmota Konsole/Verwaltung Dateisystem: autoexec.be und autoexec.bec löschen

                      • autoexec.be mit Inhalt von https://github.com/joBr99/nspanel-lovelace-ui/blob/main/tasmota/autoexec.be neu anlegen

                      • Restart

                      • In Tasmota Konsole "FlashNextion http://nspanel.pky.eu/lui-release.tft" ausführen
                        13799aaa-3167-4d86-a2c0-af25986c2451-image.png

                      • Wenn du das siehst, bist du schon fast am Ziel:
                        985c9b0c-4abb-4caa-969b-0a2e9d966d65-image.png

                      • Jetzt TypeScript in ioBroker unter "global" anlegen und Inhalt icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts reinkopieren und speichern.

                      • TypeScript anlegen und letzte Version Code1/Code2 aus Forum reinkopieren. Alternativ hierzu die letzte Version (ist in der Regel aber nicht so weit wie die hier im Thread) aus der https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts verwenden.

                      • Beide TypeScript-Skripte aktivieren nicht vergessen

                      • Im TypeScript MQTT-Parameter und ggfs. andere Parameter anpassen, später dann irgendwann ALIASE erzeugen

                      • Jetzt den CustomSend time~11:35 absenden

                      • Mit der Tasmota Version sollte es laufen. Es wird zwar empfohlen, die tasmota32-nspanel.bin zu verwenden, jedoch habe ich auch die deutsche tasmota32-DE.bin am laufen

                      Wenn alles korrekt befolgt, dann sollte der Screensaver (ggfs. noch nicht alle Werte drin, da ja noch Aliase fehlen) erscheinen:
                      1a6928ff-3c2e-478d-b57b-43c95ba126da-image.png

                      P.S.: Die Anleitung weicht stark von denen im Internet ab - quasi ab anlegen der autoexec.be, welche schon einen komplett anderen Inhalt hat, als die in den Videos.

                      Wenn die o.a. Anleitung befolgt wird, kann jederzeit ein Upgrade auf neuere Firmware (Berry-Driver/TFT-Firmware) mit folgenden Befehlen erfolgen:

                      Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
                      
                      FlashNextion http://nspanel.pky.eu/lui-release.tft
                      

                      FYI:
                      Tasmota generiert beim ersten ausführen eines Berry Skripts eine .bec datei. Wenn nach dem austauschen von der autoexec.be immernoch der alte code ausgeführt wird, dann liegt es daran, dass tasmota die bec datei nicht aktualisiert und die alte bec lädt, dann hilft es die autoexec.bec zu löschen. Kann vorkommen, wenn man von blakadder oder nxpanel zu lovelace wechselt

                      a200A Offline
                      a200A Offline
                      a200
                      schrieb am zuletzt editiert von
                      #450

                      @jobr99

                      Jetzt würde ich gerne einen Homematic-Schalter steuern:

                      var Buero_Seite_1: PageEntities =
                      {
                          "type": "cardEntities",
                          "heading": "Büro",
                          "useColor": true,
                          "items": [
                              <PageItem>{ id: "alias.0.NSPanel.Buero_Drucker", icon: "switch", name: "Drucker", offColor: MSRed, onColor: MSGreen}
                          ]
                      };
                      

                      alias.0.NSPanel.Buero_Drucker = der DP des Schalters (false/true)

                      aber die Büroseite bleibt leer. Habt ihr da einen Tipp?

                      IoBroker auf QNAP TS-451, Raspi und NUC

                      J ArmilarA 2 Antworten Letzte Antwort
                      0
                      • ArmilarA Armilar

                        @jobr99 sagte in Sonoff NSPanel:

                        @Armilar fyi, wenn du noch nen esp32 nodemcu development board rumliegen hast kannst du das auch am pc testen / screenshots machen

                        Hab ich noch rumliegen. Was bauche ich dafür alles?

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

                        @armilar said in Sonoff NSPanel:

                        @jobr99 sagte in Sonoff NSPanel:

                        @Armilar fyi, wenn du noch nen esp32 nodemcu development board rumliegen hast kannst du das auch am pc testen / screenshots machen

                        Hab ich noch rumliegen. Was bauche ich dafür alles?

                        1. ESP32 mit Tasmota Flashen
                        2. MQTT und apps.yaml konfigurieren
                        3. RX und TX auf None setzen (hab vergessen was da default ist, aber damit das berry skript die serial ports benutzen kann dürfen die nicht in tasmota konfiguriert sein)
                          d4ffe3c8-0232-4e54-9146-5a2f95e10284-image.png
                        4. folgenden Berry Treiber installieren, wichtigste Änderung zur Version im Repo sind die geänderten serial ports

                        self.ser = serial(3, 1, 115200, serial.SERIAL_8N1)

                        (ansonsten fehlt auch noch der kram fürs flashen der firmware etc. den man hier nicht braucht, aber das wäre vermutlich nicht besonders schlimm wenn's drin wär)

                        # Nextion Serial Protocol driver by joBr99 + nextion upload protocol 1.2 (the fast one yay) implementation using http range and tcpclient
                        # based on;
                        # Sonoff NSPanel Tasmota driver v0.47 | code by blakadder and s-hadinger
                        
                        class Nextion : Driver
                        
                            var ser
                        	var flash_size
                        	var flash_mode
                        	var flash_skip
                        	var flash_current_byte
                        	var tftd
                        	var progress_percentage_last
                        	static header = bytes('55BB')
                        
                            def init()
                                log("NSP: Initializing Driver")
                                self.ser = serial(3, 1, 115200, serial.SERIAL_8N1)
                                self.flash_mode = 0
                        		self.flash_skip = false
                        		tasmota.add_driver(self)
                            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
                        	
                            def split_55(b)
                              var ret = []
                              var s = size(b)   
                              var i = s-2   # start from last
                              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
                        
                        	# encode using custom protocol 55 BB [payload length] [payload] [crc] [crc]
                            def encode(payload)
                              var b = bytes()
                              b += self.header
                              b.add(size(payload), 2)   # add size as 1 byte
                              b += bytes().fromstring(payload)
                              var msg_crc = self.crc16(b)
                              b.add(msg_crc, 2)       # crc 2 bytes, little endian
                              return b
                            end
                        	
                        	# send a nextion payload
                        	def encodenx(payload)
                        		var b = bytes().fromstring(payload)
                        		b += bytes('FFFFFF')
                        		return b
                        	end
                        	
                        	def sendnx(payload)
                        		var payload_bin = self.encodenx(payload)
                        		self.ser.write(payload_bin)
                        		 print("NSP: Sent =", payload_bin)
                        		log("NSP: Nextion command sent = " + str(payload_bin), 3)
                        	end
                          
                            def send(payload)
                                var payload_bin = self.encode(payload)
                                if self.flash_mode==1
                                    log("NSP: skipped command becuase still flashing", 3)
                                else 
                                    self.ser.write(payload_bin)
                                    log("NSP: payload sent = " + str(payload_bin), 3)
                                end
                            end
                        		
                        	def every_100ms()
                                import string
                                if self.ser.available() > 0
                                    var msg = self.ser.read()
                                    if size(msg) > 0
                                        print("NSP: Received Raw =", msg)
                                        if self.flash_mode==1
                                            log("no flashing in this version")
                                        else
                        					# Recive messages using custom protocol 55 BB [payload length] [payload length] [payload] [crc] [crc]
                        					if msg[0..1] == self.header
                        						var lst = self.split_55(msg)
                        						for i:0..size(lst)-1
                        							msg = lst[i]
                        							#var j = msg[2]+2
                        							var j = size(msg) - 3
                        							msg = msg[4..j]
                        							if size(msg) > 2
                        								var jm = string.format("{\"CustomRecv\":\"%s\"}",msg.asstring())
                        								tasmota.publish_result(jm, "RESULT")
                        							end
                        						end
                        					elif msg == bytes('000000FFFFFF88FFFFFF')
                        						log("NSP: Screen Initialized")
                        					else
                                                var jm = string.format("{\"nextion\":\"%s\"}",str(msg[0..-4]))
                        						tasmota.publish_result(jm, "RESULT")
                        					end       			
                                        end
                                    end
                                end
                            end
                        end
                        
                        var nextion = Nextion()
                        
                        def send_cmd(cmd, idx, payload, payload_json)
                            nextion.sendnx(payload)
                            tasmota.resp_cmnd_done()
                        end
                        
                        tasmota.add_cmd('Nextion', send_cmd)
                        
                        def send_cmd2(cmd, idx, payload, payload_json)
                            nextion.send(payload)
                            tasmota.resp_cmnd_done()
                        end
                        
                        tasmota.add_cmd('CustomSend', send_cmd2)
                        
                        1. HMI Datei aus dem repo runterladen und im nextion editor öffnen und auf debug klicken
                          (tft datei aus dem repo geht auch, wenn man auf debug klickt ohne nen projekt offen zu haben)

                        2. Unten auf User MCU Input umstellen, COM Port vom ESP32 auswählen und auf start drücken. (und dann nen paar sekunden warten bis die nächste startupEvent Nachricht kommt)

                        ede7dea1-582e-4c37-9f58-407a5b6f718a-image.png

                        1 Antwort Letzte Antwort
                        0
                        • a200A a200

                          @jobr99

                          Jetzt würde ich gerne einen Homematic-Schalter steuern:

                          var Buero_Seite_1: PageEntities =
                          {
                              "type": "cardEntities",
                              "heading": "Büro",
                              "useColor": true,
                              "items": [
                                  <PageItem>{ id: "alias.0.NSPanel.Buero_Drucker", icon: "switch", name: "Drucker", offColor: MSRed, onColor: MSGreen}
                              ]
                          };
                          

                          alias.0.NSPanel.Buero_Drucker = der DP des Schalters (false/true)

                          aber die Büroseite bleibt leer. Habt ihr da einen Tipp?

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

                          @a200 zu ioBroker und dem TypeScript Backend kann ich dir nix sagen

                          1 Antwort Letzte Antwort
                          0
                          • a200A a200

                            @jobr99

                            Jetzt würde ich gerne einen Homematic-Schalter steuern:

                            var Buero_Seite_1: PageEntities =
                            {
                                "type": "cardEntities",
                                "heading": "Büro",
                                "useColor": true,
                                "items": [
                                    <PageItem>{ id: "alias.0.NSPanel.Buero_Drucker", icon: "switch", name: "Drucker", offColor: MSRed, onColor: MSGreen}
                                ]
                            };
                            

                            alias.0.NSPanel.Buero_Drucker = der DP des Schalters (false/true)

                            aber die Büroseite bleibt leer. Habt ihr da einen Tipp?

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

                            @a200

                            Wie sieht dein Alias aus? Switch bekommst du am schnellsten mit Alias "Steckdose" oder "Licht" hin

                            0854cf54-29ff-489d-b945-89e29b3a697d-image.png

                            Manchmal Haken die Aliase. Dann einfach mal den Homatic Datenpunkt per Hand umschalten, dann zieht der Alias nach

                            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.

                            a200A 1 Antwort Letzte Antwort
                            0
                            • ArmilarA Armilar

                              @a200

                              Wie sieht dein Alias aus? Switch bekommst du am schnellsten mit Alias "Steckdose" oder "Licht" hin

                              0854cf54-29ff-489d-b945-89e29b3a697d-image.png

                              Manchmal Haken die Aliase. Dann einfach mal den Homatic Datenpunkt per Hand umschalten, dann zieht der Alias nach

                              a200A Offline
                              a200A Offline
                              a200
                              schrieb am zuletzt editiert von a200
                              #454

                              @armilar

                              Der Alias an sich funktioniert.

                              323e91fb-bcb0-4c85-9683-913c15a451cf-grafik.png

                              var Buero_Seite_1: PageEntities =
                              {
                                  "type": "cardEntities",
                                  "heading": "Büro",
                                  "useColor": true,
                                  "items": [
                                      <PageItem>{ id: "alias.0.NSPanel.Schalter.Keller_Drucker", icon: "switch", name: "Drucker", offColor: MSRed, onColor: MSGreen}
                                  ]
                              };
                              

                              Aber die Ansicht Büro bleibt leer. Zum Test habe ich die Ansicht umbenannt und den neuen Namen kann ich auf dem Panel sehen. Ansonsten aber alles leer.

                              Ist das: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/README.md hier die einzige Doku dazu?

                              OK, Jetzt scheint es zu gehen

                              IoBroker auf QNAP TS-451, Raspi und NUC

                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • a200A a200

                                @armilar

                                Der Alias an sich funktioniert.

                                323e91fb-bcb0-4c85-9683-913c15a451cf-grafik.png

                                var Buero_Seite_1: PageEntities =
                                {
                                    "type": "cardEntities",
                                    "heading": "Büro",
                                    "useColor": true,
                                    "items": [
                                        <PageItem>{ id: "alias.0.NSPanel.Schalter.Keller_Drucker", icon: "switch", name: "Drucker", offColor: MSRed, onColor: MSGreen}
                                    ]
                                };
                                

                                Aber die Ansicht Büro bleibt leer. Zum Test habe ich die Ansicht umbenannt und den neuen Namen kann ich auf dem Panel sehen. Ansonsten aber alles leer.

                                Ist das: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/README.md hier die einzige Doku dazu?

                                OK, Jetzt scheint es zu gehen

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

                                @a200 Ich weiß, die Datenpunkte kann man überall sehen, man denkt der Alias wäre intakt - aber existState kommt mit false zurück....

                                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.

                                a200A 1 Antwort Letzte Antwort
                                0
                                • ArmilarA Armilar

                                  @a200 Ich weiß, die Datenpunkte kann man überall sehen, man denkt der Alias wäre intakt - aber existState kommt mit false zurück....

                                  a200A Offline
                                  a200A Offline
                                  a200
                                  schrieb am zuletzt editiert von a200
                                  #456

                                  @armilar nur die Steuerung geht nicht. Muss ich im Alias noch die Ausgabe konvertieren? Also aus true -> 1 und aus false -> 0 machen, oder so was? Weil jetzt wird ein Schalter angezeigt, aber die Dose schaltet nicht.

                                  event - buttonPress2 - alias.0.NSPanel.Schalter.Keller_Drucker - OnOff - 1 - PageId: 0
                                  event - buttonPress2 - alias.0.NSPanel.Schalter.Keller_Drucker - OnOff - 0 - PageId: 0

                                  Also die Steuerung für Schalter und Rollladen werden angezeigt. Die Rolle muss nur richtig gesetzt werden. Aber aber sie haben keine Auswirkung auf die Geräte.

                                  IoBroker auf QNAP TS-451, Raspi und NUC

                                  ArmilarA 1 Antwort Letzte Antwort
                                  0
                                  • a200A a200

                                    @armilar nur die Steuerung geht nicht. Muss ich im Alias noch die Ausgabe konvertieren? Also aus true -> 1 und aus false -> 0 machen, oder so was? Weil jetzt wird ein Schalter angezeigt, aber die Dose schaltet nicht.

                                    event - buttonPress2 - alias.0.NSPanel.Schalter.Keller_Drucker - OnOff - 1 - PageId: 0
                                    event - buttonPress2 - alias.0.NSPanel.Schalter.Keller_Drucker - OnOff - 0 - PageId: 0

                                    Also die Steuerung für Schalter und Rollladen werden angezeigt. Die Rolle muss nur richtig gesetzt werden. Aber aber sie haben keine Auswirkung auf die Geräte.

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

                                    @a200 sagte in Sonoff NSPanel:

                                    @armilar nur die Steuerung geht nicht. Muss ich im Alias noch die Ausgabe konvertieren? Also aus true -> 1 und aus false -> 0 machen, oder so was? Weil jetzt wird ein Schalter angezeigt, aber die Dose schaltet nicht.

                                    event - buttonPress2 - alias.0.NSPanel.Schalter.Keller_Drucker - OnOff - 1 - PageId: 0
                                    event - buttonPress2 - alias.0.NSPanel.Schalter.Keller_Drucker - OnOff - 0 - PageId: 0

                                    Also die Steuerung für Schalter und Rollladen werden angezeigt. Die Rolle muss nur richtig gesetzt werden. Aber aber sie haben keine Auswirkung auf die Geräte.

                                    Bei mir funktioniert ein Schalter so, wie er funktionieren muss (false = aus und true = an) --> und das Gerät macht was es soll 😉
                                    Oder ist es bei dir eher Toggle? Zustandsänderungen über n-Geräte (Schalter, noch ein Schalter, Alexa ... und jeder Zustand verändert den Schalter? Dann wäre ein Button (Alias Taste) besser geeignet

                                    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.

                                    a200A 1 Antwort Letzte Antwort
                                    0
                                    • ArmilarA Armilar

                                      @a200 sagte in Sonoff NSPanel:

                                      @armilar nur die Steuerung geht nicht. Muss ich im Alias noch die Ausgabe konvertieren? Also aus true -> 1 und aus false -> 0 machen, oder so was? Weil jetzt wird ein Schalter angezeigt, aber die Dose schaltet nicht.

                                      event - buttonPress2 - alias.0.NSPanel.Schalter.Keller_Drucker - OnOff - 1 - PageId: 0
                                      event - buttonPress2 - alias.0.NSPanel.Schalter.Keller_Drucker - OnOff - 0 - PageId: 0

                                      Also die Steuerung für Schalter und Rollladen werden angezeigt. Die Rolle muss nur richtig gesetzt werden. Aber aber sie haben keine Auswirkung auf die Geräte.

                                      Bei mir funktioniert ein Schalter so, wie er funktionieren muss (false = aus und true = an) --> und das Gerät macht was es soll 😉
                                      Oder ist es bei dir eher Toggle? Zustandsänderungen über n-Geräte (Schalter, noch ein Schalter, Alexa ... und jeder Zustand verändert den Schalter? Dann wäre ein Button (Alias Taste) besser geeignet

                                      a200A Offline
                                      a200A Offline
                                      a200
                                      schrieb am zuletzt editiert von
                                      #458

                                      @armilar Meine Aliases haben keine .GET bzw. .SET Erweiterung. Deshalb habe ich den Code bisschen angepasst und die Zeilen 1188-1190 hinzugefügt. Damit funktioniert es bei mir auch. Ich muss mal schauen, wie ich das in den Griff bekomme. Ich glaube ich muss meine Aliases anders anlegen.

                                      a43617d5-7bb4-428d-bf43-069bebc4cedf-grafik.png

                                      IoBroker auf QNAP TS-451, Raspi und NUC

                                      ArmilarA 1 Antwort Letzte Antwort
                                      0
                                      • a200A a200

                                        @armilar Meine Aliases haben keine .GET bzw. .SET Erweiterung. Deshalb habe ich den Code bisschen angepasst und die Zeilen 1188-1190 hinzugefügt. Damit funktioniert es bei mir auch. Ich muss mal schauen, wie ich das in den Griff bekomme. Ich glaube ich muss meine Aliases anders anlegen.

                                        a43617d5-7bb4-428d-bf43-069bebc4cedf-grafik.png

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

                                        @a200 sagte in Sonoff NSPanel:

                                        @armilar Meine Aliases haben keine .GET bzw. .SET Erweiterung. Deshalb habe ich den Code bisschen angepasst und die Zeilen 1188-1190 hinzugefügt. Damit funktioniert es bei mir auch. Ich muss mal schauen, wie ich das in den Griff bekomme. Ich glaube ich muss meine Aliases anders anlegen.

                                        a43617d5-7bb4-428d-bf43-069bebc4cedf-grafik.png

                                        Muss auch nicht.

                                        Switch case läuft ohne "break" durch...

                                        Damit macht socket das gleiche wie light (auch ohne Code 😉 )

                                        case "socket":
                                        case "light":
                                              setIfExists(id + ".SET", action);
                                              break;
                                        

                                        Und welche Aliase wären das denn? Sind doch mittlerweile alle drin!

                                        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.

                                        a200A 1 Antwort Letzte Antwort
                                        0
                                        • ArmilarA Armilar

                                          @a200 sagte in Sonoff NSPanel:

                                          @armilar Meine Aliases haben keine .GET bzw. .SET Erweiterung. Deshalb habe ich den Code bisschen angepasst und die Zeilen 1188-1190 hinzugefügt. Damit funktioniert es bei mir auch. Ich muss mal schauen, wie ich das in den Griff bekomme. Ich glaube ich muss meine Aliases anders anlegen.

                                          a43617d5-7bb4-428d-bf43-069bebc4cedf-grafik.png

                                          Muss auch nicht.

                                          Switch case läuft ohne "break" durch...

                                          Damit macht socket das gleiche wie light (auch ohne Code 😉 )

                                          case "socket":
                                          case "light":
                                                setIfExists(id + ".SET", action);
                                                break;
                                          

                                          Und welche Aliase wären das denn? Sind doch mittlerweile alle drin!

                                          a200A Offline
                                          a200A Offline
                                          a200
                                          schrieb am zuletzt editiert von a200
                                          #460

                                          @armilar sagte in Sonoff NSPanel:

                                          @a200 sagte in Sonoff NSPanel:

                                          @armilar Meine Aliases haben keine .GET bzw. .SET Erweiterung. Deshalb habe ich den Code bisschen angepasst und die Zeilen 1188-1190 hinzugefügt. Damit funktioniert es bei mir auch. Ich muss mal schauen, wie ich das in den Griff bekomme. Ich glaube ich muss meine Aliases anders anlegen.

                                          a43617d5-7bb4-428d-bf43-069bebc4cedf-grafik.png

                                          Muss auch nicht.

                                          Switch case läuft ohne "break" durch...

                                          Damit macht socket das gleiche wie light (auch ohne Code 😉 )

                                          case "socket":
                                          case "light":
                                                setIfExists(id + ".SET", action);
                                                break;
                                          

                                          Ja aber ich will nicht id + ".SET" sondern einfach nur id haben. Denn meine Datenpunkte haben weder GET noch SET.

                                          Ich schreibe dann z.B. nach "alias.0.NSPanel.Schalter.Keller_Drucker" = "hm-rpc.0.OEQ2403914.1.STATE" und der Wert soll direkt in STATE geschrieben werden.
                                          Alternativ sollte man Abfragen ob es SET/GET gibt. So ähnlich wie in der Zeile: 1352...

                                                     if (o.common.role == "light" || o.common.role == "socket") {
                                                          if (existsState(id + ".GET")) {
                                                              val = getState(id + ".GET").val;
                                                              RegisterDetailEntityWatcher(id + ".GET", pageItem, type);
                                                          }
                                                          else if (existsState(id + ".SET")) {
                                                              val = getState(id + ".SET").val;
                                                              RegisterDetailEntityWatcher(id + ".SET", pageItem, type);
                                                          }
                                          

                                          Aus meiner Sicht gehört da noch der dritter Fall else mit:

                                                          else if (existsState(id)) {
                                                              val = getState(id).val;
                                                              RegisterDetailEntityWatcher(id, pageItem, type);
                                                          }
                                          

                                          Das funktioniert bei mir.

                                          Mich würde interessieren welches Geräte du steuerst und wie die DPe heißen. Ich vermute irgendwas mit .GET oder .SET am Ende.

                                          IoBroker auf QNAP TS-451, Raspi und NUC

                                          ArmilarA 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

                                          581

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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