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.8k

  • 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.
  • PeoplesP Peoples

    @Armilar
    Hi,
    hab eben mein Script auf die aktuelle Git-Version "hochgezogen" und auch hier bekomme ich noch die Warnings im Log:

    javascript.0   2022-12-04 07:18:15.002	warn	at fulfilled (script.js.Wandtablet.Ns-Panel_Fitness_3_6_0_3:5:58)
    javascript.0   2022-12-04 07:18:15.002	warn	at Object.next (script.js.Wandtablet.Ns-Panel_Fitness_3_6_0_3:14:53)
    javascript.0   2022-12-04 07:18:15.002	warn	at step (script.js.Wandtablet.Ns-Panel_Fitness_3_6_0_3:33:23)
    javascript.0   2022-12-04 07:18:15.002	warn	at script.js.Wandtablet.Ns-Panel_Fitness_3_6_0_3:1608:46
    javascript.0   2022-12-04 07:18:15.002	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16
    javascript.0   2022-12-04 07:18:15.002	warn	at new Promise (<anonymous>:null:null)
    javascript.0   2022-12-04 07:18:15.002	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16
    javascript.0   2022-12-04 07:18:15.002	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
    javascript.0   2022-12-04 07:18:15.000	warn	You are assigning a string to the state "0_userdata.0.NSPanel.Fitness.Berry_Driver.currentVersion" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
    

    Das Ganze liegt an der Zeile:

     await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(result).nlui_driver_version, ack: true });
    

    zu lösen durch das Ergänzen von parseint:

    await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: parseInt(JSON.parse(result).nlui_driver_version), ack: true });
    
    

    Grüße

    S Offline
    S Offline
    scribere8146
    schrieb am zuletzt editiert von scribere8146
    #1021

    @peoples Hatte ich auch, einfach DP löschen. Dann wir der DP neu angelegt -> warning ist weg.
    Oder DP manuell umstellen

    HOST NUC Beelink SEI10 10110u
    Proxmox 7.3
    LXC Ubuntu 22.04 iobroker, Influx,grafana,

    1 Antwort Letzte Antwort
    1
    • PeoplesP Peoples

      @Armilar
      Hi,
      hab eben mein Script auf die aktuelle Git-Version "hochgezogen" und auch hier bekomme ich noch die Warnings im Log:

      javascript.0   2022-12-04 07:18:15.002	warn	at fulfilled (script.js.Wandtablet.Ns-Panel_Fitness_3_6_0_3:5:58)
      javascript.0   2022-12-04 07:18:15.002	warn	at Object.next (script.js.Wandtablet.Ns-Panel_Fitness_3_6_0_3:14:53)
      javascript.0   2022-12-04 07:18:15.002	warn	at step (script.js.Wandtablet.Ns-Panel_Fitness_3_6_0_3:33:23)
      javascript.0   2022-12-04 07:18:15.002	warn	at script.js.Wandtablet.Ns-Panel_Fitness_3_6_0_3:1608:46
      javascript.0   2022-12-04 07:18:15.002	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16
      javascript.0   2022-12-04 07:18:15.002	warn	at new Promise (<anonymous>:null:null)
      javascript.0   2022-12-04 07:18:15.002	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16
      javascript.0   2022-12-04 07:18:15.002	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
      javascript.0   2022-12-04 07:18:15.000	warn	You are assigning a string to the state "0_userdata.0.NSPanel.Fitness.Berry_Driver.currentVersion" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
      

      Das Ganze liegt an der Zeile:

       await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(result).nlui_driver_version, ack: true });
      

      zu lösen durch das Ergänzen von parseint:

      await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: parseInt(JSON.parse(result).nlui_driver_version), ack: true });
      
      

      Grüße

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

      @peoples Ändere mal den Datenpunkt:

      e8646b85-13c2-4460-bd4a-92a526e57095-image.png

      von "number" auf "string".

      Alternativ kann auch der Datenpunkt gelöscht werden. Legt sich mit dem ersten Start dann korrekt an.
      Es gab eine Korrektur bei dem Datenpunkt und deiner wurde mit einer früheren Version angelegt.

      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
      • H Offline
        H Offline
        hansano
        schrieb am zuletzt editiert von
        #1023

        Moin zusammen,

        ich stehe hier momentan auf den Schlauch und komme einfach nicht weiter.

        Ich habe das NSPanel soweit eingerichtet wie ich es haben wollte. Nur zwei Seiten (Thermostat / Licht) + Screensafer. Hab sogar das Update hinbekommen 😉 .

        Das NSPanel hat ein simples Fußbodenthermostat ersetzt (zu Kalt = an und zu warm =aus). Relais 1 schaltet jetzt die Fußbodenheizung.

        Für das Thermostat hab ich einen Thermostat-Alias eingerichtet. Die aktuelle Raumtemperatur (gerade 21°C) nimmt er von einen anderen Temperatursensor aus dem gleichen Raum. Diese Temperatur wird auch angezeigt auf der Thermostatseite.

        Woher nehme ich denn jetzt den Set-Point? Den Soll-Wert stelle ich doch erst auf der Thermostatseite ein, oder nicht? Ich habe testweise als SET-Point mal den internen ESP32 Sensor genommen. Dann werden mir auf der Thermostatseite halt 40°C als eingestellter Wert angezeigt (halt nur Testweise ne). Dann sollte ja eigentlich das interne Relais1 schalten, weil 21°C < 40°C. Nur wie sage ich dem Thermostat schalte jetzt mal das Relais1 an? Brauche ich dafür nen Script?

        Ich hoffe man kann mein Problem noch nachvollziehen 🙂

        p.s. ich mach jetzt erstmal ne Pause

        S 1 Antwort Letzte Antwort
        0
        • F Offline
          F Offline
          froitzheims
          schrieb am zuletzt editiert von
          #1024

          20221204_162127.jpg 20221204_162110.jpg 20221204_162058.jpg

          Hi Habe ein US Panel
          alles wie in der Anleitung gemacht mit dem Scripts unter
          global icon_mapping erstellt
          und unter common das NSPanel1

          die Beiden Punkte angepasst für den Panel Namen.

          Alias werden angelegt und der Screensaver läuft in englisch.
          Und es werden in den Ansichten keine Icons angezeigt.

          Was mache ich falsch ?

          Gruß Marcus

          K ArmilarA 2 Antworten Letzte Antwort
          0
          • H hansano

            Moin zusammen,

            ich stehe hier momentan auf den Schlauch und komme einfach nicht weiter.

            Ich habe das NSPanel soweit eingerichtet wie ich es haben wollte. Nur zwei Seiten (Thermostat / Licht) + Screensafer. Hab sogar das Update hinbekommen 😉 .

            Das NSPanel hat ein simples Fußbodenthermostat ersetzt (zu Kalt = an und zu warm =aus). Relais 1 schaltet jetzt die Fußbodenheizung.

            Für das Thermostat hab ich einen Thermostat-Alias eingerichtet. Die aktuelle Raumtemperatur (gerade 21°C) nimmt er von einen anderen Temperatursensor aus dem gleichen Raum. Diese Temperatur wird auch angezeigt auf der Thermostatseite.

            Woher nehme ich denn jetzt den Set-Point? Den Soll-Wert stelle ich doch erst auf der Thermostatseite ein, oder nicht? Ich habe testweise als SET-Point mal den internen ESP32 Sensor genommen. Dann werden mir auf der Thermostatseite halt 40°C als eingestellter Wert angezeigt (halt nur Testweise ne). Dann sollte ja eigentlich das interne Relais1 schalten, weil 21°C < 40°C. Nur wie sage ich dem Thermostat schalte jetzt mal das Relais1 an? Brauche ich dafür nen Script?

            Ich hoffe man kann mein Problem noch nachvollziehen 🙂

            p.s. ich mach jetzt erstmal ne Pause

            S Offline
            S Offline
            scribere8146
            schrieb am zuletzt editiert von
            #1025

            @hansano ich hab ein eigenes script dafür..

            NSPanel Mode:
            //  1= AUTO
            //  2= COOL
            //  3= HEAT
            //  4= ECO
            //  0= FAN
            //  6= DRY
            
            var Raumtemperatur_Soll    = 'alias.0.Wohnzimmer.Raumtemperatur.SET',
                Raumtemperatur_IST     = 'alias.0.Wohnzimmer.Raumtemperatur.ACTUAL',
                Thermostat_Mode        = 'alias.0.Wohnzimmer.Raumtemperatur.MODE'
            
            var Sensors=[Raumtemperatur_Soll, Raumtemperatur_IST, Thermostat_Mode];
            let Relais ="0_userdata.0.NSPanel.1.Relay.1";
            Init()
            on({id: Sensors, change: "ne"}, function (obj){
                Main()
            });
            
            function Init()
            {
                if(getState(Raumtemperatur_Soll).val < 18)
                    setState(Raumtemperatur_Soll,21);
            }
            
            function Main()
            {
              var state=getState(Thermostat_Mode).val;
               
              if (state == 1 || state == 6)
              {
               if (getState(Raumtemperatur_IST).val< getState(Raumtemperatur_Soll).val)
                 setState(Relais,true)
               else
                 setState(Relais,false)    
              }
              
              if (state== 2)
              {
                if (getState(Raumtemperatur_IST).val< 15 )
                  setState(Relais,true)
                else
                  setState(Relais,false)  
              }
            
              if (state == 3)
              {
                setState(Relais,true);
                var timeout;
                timeout = setTimeout(async function () {
                  setState(Thermostat_Mode,1);
                }   , 60*60*1000);
              }
            
              if (state == 4)
              {
                if (getState(Raumtemperatur_IST).val< (getState(Raumtemperatur_Soll).val-2))
                  setState(Relais,true)
                else
                  setState(Relais,false)    
              }
            
              if (state == 6)
              {
                setState(Raumtemperatur_Soll,21);
                setState(Thermostat_Mode,0);
              }
            }
            

            HOST NUC Beelink SEI10 10110u
            Proxmox 7.3
            LXC Ubuntu 22.04 iobroker, Influx,grafana,

            1 Antwort Letzte Antwort
            1
            • H Offline
              H Offline
              hansano
              schrieb am zuletzt editiert von
              #1026

              @scribere8146 said in SONOFF NSPanel mit Lovelace UI:

              @hansano ich hab ein eigenes script dafür..

              Danke das werde ich gleich mal testen

              1 Antwort Letzte Antwort
              0
              • T tobiasp

                Hallo,
                erstmal Top Arbeit ich habe auch alles soweit eingerichtet nach den Anleitungen aber etliche "Warn" Meldungen.

                javascript.0
                	2022-11-12 14:29:30.051	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
                javascript.0
                	2022-11-12 14:29:30.051	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:596:29)
                javascript.0
                	2022-11-12 14:29:30.048	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1214:38)
                javascript.0
                	2022-11-12 14:29:30.048	warn	at Object.<anonymous> (script.js.NsPanel_EG.NS_Panel:1135:12)
                javascript.0
                	2022-11-12 14:29:30.048	warn	at __awaiter (script.js.NsPanel_EG.NS_Panel:4:12)
                javascript.0
                	2022-11-12 14:29:30.047	warn	at new Promise (<anonymous>)
                javascript.0
                	2022-11-12 14:29:30.047	warn	at script.js.NsPanel_EG.NS_Panel:8:71
                javascript.0
                	2022-11-12 14:29:30.047	warn	at Object.next (script.js.NsPanel_EG.NS_Panel:14:53)
                javascript.0
                	2022-11-12 14:29:30.046	warn	at step (script.js.NsPanel_EG.NS_Panel:33:23)
                javascript.0
                	2022-11-12 14:29:30.046	warn	at Object.<anonymous> (script.js.NsPanel_EG.NS_Panel:1138:13)
                javascript.0
                	2022-11-12 14:29:30.046	warn	at HandleScreensaverUpdate (script.js.NsPanel_EG.NS_Panel:4462:29)
                javascript.0
                	2022-11-12 14:29:30.042	warn	getState "mqtt.0.SmartHome.NSPanel_1.stat.POWER2" not found (3)
                javascript.0
                	2022-11-12 14:29:30.042	warn	at processImmediate (node:internal/timers:466:21)
                javascript.0
                	2022-11-12 14:29:30.042	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
                

                Was sind das für Warnmeldungen?

                M Offline
                M Offline
                Martin c
                schrieb am zuletzt editiert von
                #1027

                @tobiasp was genau war denn dein Fehler? Vielleicht habe ich zufällig den gleichen.

                ArmilarA 1 Antwort Letzte Antwort
                0
                • F froitzheims

                  20221204_162127.jpg 20221204_162110.jpg 20221204_162058.jpg

                  Hi Habe ein US Panel
                  alles wie in der Anleitung gemacht mit dem Scripts unter
                  global icon_mapping erstellt
                  und unter common das NSPanel1

                  die Beiden Punkte angepasst für den Panel Namen.

                  Alias werden angelegt und der Screensaver läuft in englisch.
                  Und es werden in den Ansichten keine Icons angezeigt.

                  Was mache ich falsch ?

                  Gruß Marcus

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

                  @froitzheims
                  Hallo,

                  willkommen im Forum.
                  Hast Du in deinem Skript locale: 'de-DE' eingestellt? Ich verstehe es so, dass EN für dich nicht korrekt ist, richtig?
                  Was hast Du auf der Seite Büro denn konfiguriert? hast Du für das, was Du anzeigen willst auch Alias(e) angelegt?

                  hast Du auch die 5 Zeile auf der cardEntities aktiviert? Das noch als kleiner Tip, dafür muss 0_userdata.0.NSPanel.1.NSPanel_Version auf "us" stehen.

                  LG

                  NSPanel Dokumentation im GitHub Wiki:

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

                  1 Antwort Letzte Antwort
                  0
                  • M Martin c

                    @tobiasp was genau war denn dein Fehler? Vielleicht habe ich zufällig den gleichen.

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

                    @martin-c

                    @tobiasp was genau war denn dein Fehler? Vielleicht habe ich zufällig den gleichen.

                    Du könntest deine Warungen im Log auch einfach in Code-Tags posten...

                    Kleiner Tipp... Falls es ähnlich aussieht. Die beiden Status-Icons hatten den falschen MQTT-Topic in der Config

                    d88fac5c-c97b-4723-b1dc-5d5b63f59be6-image.png

                    Die müssen ebenfalls angepasst werden.

                    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
                    • F froitzheims

                      20221204_162127.jpg 20221204_162110.jpg 20221204_162058.jpg

                      Hi Habe ein US Panel
                      alles wie in der Anleitung gemacht mit dem Scripts unter
                      global icon_mapping erstellt
                      und unter common das NSPanel1

                      die Beiden Punkte angepasst für den Panel Namen.

                      Alias werden angelegt und der Screensaver läuft in englisch.
                      Und es werden in den Ansichten keine Icons angezeigt.

                      Was mache ich falsch ?

                      Gruß Marcus

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

                      @froitzheims

                      Die Anzeige in englischer Sprache, kann vielfältige Ursachen haben. Die häufigsten Ursachen waren ein veraltetes node.js oder falsche Einstellungen der Locales im Betriebssystem. Hierzu bräuchten wir etwas mehr Infos. Die node.js Version bekommst du im Systemterminal mit node -v heraus und dann wäre noch interessant, welches Betriebssystem du hast und auf welcher Hardware es läuft.

                      Wie @Kuckuckmann schon gesagt hat, kann das US-Panel 5 Zeilen anzeigen. Hierzu in der Config von eu auf us umstellen.

                      Das wird aber nicht dein Problem lösen, dass du in der ersten konfigurierten Seite hast. Die Pages mit den Autoaliasen funktionieren, daher vermute ich, dass etwas mit den selbsterstellten Seiten nicht stimmt. Sende mal in Code-Tags bitte deine Variablen für die Büro-Seite und die Config. Ich vermute, dass du mit Datenpunkten, statt Aliasen arbeitest oder die Seite nicht in der Config eingetragen hast. Kann ich aber erst sehen, wenn du sie sendest.

                      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.

                      F 1 Antwort Letzte Antwort
                      0
                      • ArmilarA Armilar

                        @froitzheims

                        Die Anzeige in englischer Sprache, kann vielfältige Ursachen haben. Die häufigsten Ursachen waren ein veraltetes node.js oder falsche Einstellungen der Locales im Betriebssystem. Hierzu bräuchten wir etwas mehr Infos. Die node.js Version bekommst du im Systemterminal mit node -v heraus und dann wäre noch interessant, welches Betriebssystem du hast und auf welcher Hardware es läuft.

                        Wie @Kuckuckmann schon gesagt hat, kann das US-Panel 5 Zeilen anzeigen. Hierzu in der Config von eu auf us umstellen.

                        Das wird aber nicht dein Problem lösen, dass du in der ersten konfigurierten Seite hast. Die Pages mit den Autoaliasen funktionieren, daher vermute ich, dass etwas mit den selbsterstellten Seiten nicht stimmt. Sende mal in Code-Tags bitte deine Variablen für die Büro-Seite und die Config. Ich vermute, dass du mit Datenpunkten, statt Aliasen arbeitest oder die Seite nicht in der Config eingetragen hast. Kann ich aber erst sehen, wenn du sie sendest.

                        F Offline
                        F Offline
                        froitzheims
                        schrieb am zuletzt editiert von froitzheims
                        #1031

                        @armilar

                        also Node -v
                        v12.22.12

                        ist ein Raspi4 mit 64 Bit system

                        PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
                        NAME="Debian GNU/Linux"
                        VERSION_ID="11"
                        VERSION="11 (bullseye)"
                        VERSION_CODENAME=bullseye
                        ID=debian

                        das Script Büro ist:

                        let Buero_Seite_1: PageEntities =
                        {
                        "type": "cardEntities",
                        "heading": "Büro",
                        "useColor": true,
                        "subPage": false,
                        "parent": undefined,
                        "items": [
                        <PageItem>{ id: "alias.0.Lampe Holz", interpolateColor: true},
                        <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                        <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                        <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
                        ]
                        };

                        Alias habe ich für die Lampe so angelegt mit dem Alias Manager (Geräte wird bei mir nicht angezeigt obwohl istalliert)

                        Bildschirmfoto vom 2022-12-05 11-17-23.png

                        Die NSPanel_Version steht auf US-p
                        Bildschirmfoto vom 2022-12-05 11-21-00.png

                        Thomas BraunT ArmilarA K 3 Antworten Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          bean
                          schrieb am zuletzt editiert von
                          #1032

                          Danke für die coole Arbeit, mein Panel ist schon im "Produktiveinsatz":

                          https://youtu.be/qEbxVWK6y8U

                          Viel Homematic, Zigbee Sensoren und Steckdosen, Ikea Rollos, Toshiba Klimaanlage, Nuki Türschloss...

                          Was ich noch für "Probleme" habe:

                          • Ich schaffe es nicht, die beiden Hardwaretasten vernünftig zu konfigurieren, bei mir wechsel ich mit denen immer zwischen den Seiten, sie haben also die gleiche Funktion wie die beiden Navigationspfeile oben links und rechts. (Obwohl ich eine Seite unter der Buttonpagefunction hinterlegt habe)

                          • Und zum neuen "Haus"-Symbol rechts oben: Muss das irgendwo konfiguriert werden? Bei mir geschieht nichts, wenn ich da drauftippe...

                          ArmilarA 2 Antworten Letzte Antwort
                          2
                          • ArmilarA Armilar

                            @lobomau sagte in SONOFF NSPanel mit Lovelace UI:

                            Wenn ich den setze, bewegt sich nichts. Nur umgekehrt, wenn ich level setze ändert sich DIRECTION.

                            Kann man also mit zusätzlichen Datenpunkten und z.B. Blockly umsetzen (z.B. in 0_userdata).

                            UP = true (aktualisiert) --> Level = 100
                            DOWN = true (aktualisiert) --> Level = 0

                            Dann Alias auf diese Datenpunkte. Sollte nachbildbar sein...

                            B Offline
                            B Offline
                            bean
                            schrieb am zuletzt editiert von
                            #1033

                            @armilar said in SONOFF NSPanel mit Lovelace UI:

                            @lobomau sagte in SONOFF NSPanel mit Lovelace UI:

                            Wenn ich den setze, bewegt sich nichts. Nur umgekehrt, wenn ich level setze ändert sich DIRECTION.

                            Kann man also mit zusätzlichen Datenpunkten und z.B. Blockly umsetzen (z.B. in 0_userdata).
                            UP = true (aktualisiert) --> Level = 100
                            DOWN = true (aktualisiert) --> Level = 0

                            Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:
                            BlindsWrite.jpg
                            (Im Beispiel wird Level auf 100 (geöffnet) gesetzt, wenn der Datenpunkt OPEN getriggert/true wird)

                            ArmilarA 1 Antwort Letzte Antwort
                            0
                            • F froitzheims

                              @armilar

                              also Node -v
                              v12.22.12

                              ist ein Raspi4 mit 64 Bit system

                              PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
                              NAME="Debian GNU/Linux"
                              VERSION_ID="11"
                              VERSION="11 (bullseye)"
                              VERSION_CODENAME=bullseye
                              ID=debian

                              das Script Büro ist:

                              let Buero_Seite_1: PageEntities =
                              {
                              "type": "cardEntities",
                              "heading": "Büro",
                              "useColor": true,
                              "subPage": false,
                              "parent": undefined,
                              "items": [
                              <PageItem>{ id: "alias.0.Lampe Holz", interpolateColor: true},
                              <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                              <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                              <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
                              ]
                              };

                              Alias habe ich für die Lampe so angelegt mit dem Alias Manager (Geräte wird bei mir nicht angezeigt obwohl istalliert)

                              Bildschirmfoto vom 2022-12-05 11-17-23.png

                              Die NSPanel_Version steht auf US-p
                              Bildschirmfoto vom 2022-12-05 11-21-00.png

                              Thomas BraunT Online
                              Thomas BraunT Online
                              Thomas Braun
                              Most Active
                              schrieb am zuletzt editiert von
                              #1034

                              @froitzheims sagte in SONOFF NSPanel mit Lovelace UI:

                              v12.22.12

                              Zu alt, nodeJS@12 ist abgekündigt. Installier da nodeJS@16.

                              Linux-Werkzeugkasten:
                              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                              NodeJS Fixer Skript:
                              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                              1 Antwort Letzte Antwort
                              0
                              • F froitzheims

                                @armilar

                                also Node -v
                                v12.22.12

                                ist ein Raspi4 mit 64 Bit system

                                PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
                                NAME="Debian GNU/Linux"
                                VERSION_ID="11"
                                VERSION="11 (bullseye)"
                                VERSION_CODENAME=bullseye
                                ID=debian

                                das Script Büro ist:

                                let Buero_Seite_1: PageEntities =
                                {
                                "type": "cardEntities",
                                "heading": "Büro",
                                "useColor": true,
                                "subPage": false,
                                "parent": undefined,
                                "items": [
                                <PageItem>{ id: "alias.0.Lampe Holz", interpolateColor: true},
                                <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                                <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                                <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
                                ]
                                };

                                Alias habe ich für die Lampe so angelegt mit dem Alias Manager (Geräte wird bei mir nicht angezeigt obwohl istalliert)

                                Bildschirmfoto vom 2022-12-05 11-17-23.png

                                Die NSPanel_Version steht auf US-p
                                Bildschirmfoto vom 2022-12-05 11-21-00.png

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

                                @froitzheims

                                Zuerst mal die locales checken:

                                sudo raspi-config
                                

                                dann zu Set locale navigieren und de_DE.UTF-8 auswählen (falls noch nicht aktiv)

                                mit

                                sudo apt-get update
                                sudo apt-get dist-upgrade
                                

                                auf den neuesten Stand bringen.

                                Dann node.js updaten auf die empfohlene Version 16.18.1 (npm zieht sich automatisch auf die 8.19.2) Am Besten nach der Anleitung (und bitte keine 18.X.X):
                                https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian
                                Deine Laufzeitumgebung für JavaScript (und das ist node.js) und somit die Laufzeitumgebung für den kompletten ioBroker und auch das TS-Script ist völlig veraltet. Daher bitte updaten.

                                Die us-p Version ist okay - muss nichts geändert werden!

                                Die Aliase sind nicht korrekt. Versuche den Geräte-Manager nach dem node.js Update nochmal in Gang zu bringen. Der Alias-Manager kann das zwar auch, jedoch brauchst du hierfür Erfahrung.
                                Deine Datenpunkte im Alias sind allesamt falsch benannt. Eine Lampe benötigt nicht diese Datenpunkte zum steuern, sondern mindestens etwas zum Schalten also on/switch oder bei einigen auch power. Diese gehen dann im ALIAS über einen ACTUAL oder/und SET.

                                Siehe auch: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Table

                                Der Geräte-Manager macht das in der Regel richtig.

                                Und ebenfalls sollten Leerzeichen (und Sonderzeichen, Umlaute) vermieden werden. Besser zusammenschreiben wie LampeHolz oder Lampe_Holz

                                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
                                • B bean

                                  Danke für die coole Arbeit, mein Panel ist schon im "Produktiveinsatz":

                                  https://youtu.be/qEbxVWK6y8U

                                  Viel Homematic, Zigbee Sensoren und Steckdosen, Ikea Rollos, Toshiba Klimaanlage, Nuki Türschloss...

                                  Was ich noch für "Probleme" habe:

                                  • Ich schaffe es nicht, die beiden Hardwaretasten vernünftig zu konfigurieren, bei mir wechsel ich mit denen immer zwischen den Seiten, sie haben also die gleiche Funktion wie die beiden Navigationspfeile oben links und rechts. (Obwohl ich eine Seite unter der Buttonpagefunction hinterlegt habe)

                                  • Und zum neuen "Haus"-Symbol rechts oben: Muss das irgendwo konfiguriert werden? Bei mir geschieht nichts, wenn ich da drauftippe...

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

                                  @bean

                                  Manchmal überholen sich die Ereignisse. Das Haus-Symbol ist zwar schon zu sehen, bekommt erst mit der nächsten Script-Version eine Funktion.

                                  Lies dir zu den Hardwaretasten kurz https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Tasmota-FAQ durch.

                                  Falls das nicht dabei ist, nochmal melden...

                                  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.

                                  B F 2 Antworten Letzte Antwort
                                  1
                                  • B bean

                                    @armilar said in SONOFF NSPanel mit Lovelace UI:

                                    @lobomau sagte in SONOFF NSPanel mit Lovelace UI:

                                    Wenn ich den setze, bewegt sich nichts. Nur umgekehrt, wenn ich level setze ändert sich DIRECTION.

                                    Kann man also mit zusätzlichen Datenpunkten und z.B. Blockly umsetzen (z.B. in 0_userdata).
                                    UP = true (aktualisiert) --> Level = 100
                                    DOWN = true (aktualisiert) --> Level = 0

                                    Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:
                                    BlindsWrite.jpg
                                    (Im Beispiel wird Level auf 100 (geöffnet) gesetzt, wenn der Datenpunkt OPEN getriggert/true wird)

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

                                    @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                    Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:

                                    Wobei, wenn ich den Ternary richtig interpretiere fragst du folgendes ab:

                                    Wenn der Wert auf ungleich 0 ist, dann setzte 100 (also hoch) sonst 0 (also runter)

                                    Warum setzt du nicht val = 100 und val = 0? 🙄

                                    Weil was ist, wenn der Wert z.B. auf 1, 2 oder 3 steht. Dann fährt das Rollo bei Up runter...

                                    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.

                                    VumerV B 2 Antworten Letzte Antwort
                                    0
                                    • VumerV Offline
                                      VumerV Offline
                                      Vumer
                                      schrieb am zuletzt editiert von Vumer
                                      #1038

                                      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                      Manchmal überholen sich die Ereignisse.

                                      Ich hoffe das ist schon älter 😉
                                      Abfallkalender


                                      const idAbfalliCal = 'ical.0'; // iCal Instanz zum Abfallkalender
                                      const idZeichenLoeschen = 0; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                                      const idRestmuellName ='Restabfall'; // Schwarze Tonne
                                      const idWertstoffName = 'Gelbe Tonne'; // Gelbe Tonne / Sack
                                      const idPappePapierName = 'Papiertonne'; // Blaue Tonne
                                      const idBioabfaelleName = 'Komposttonne'; // Braune Tonne

                                      var i, Muell_JSON, Event2, Color = 0;

                                      for (i = 1; i <= 4; i++) {
                                      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date')) {
                                      log(i + '.date nicht vorhanden, wurde erstellt');
                                      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date', '',
                                      {
                                      name: parseFloat(i) + '.date',
                                      role: 'state',
                                      type: 'string',
                                      read: true,
                                      write: true,
                                      def: ''
                                      });
                                      };
                                      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event')) {
                                      log(i + '.event nicht vorhanden, wurde erstellt');
                                      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event', '',
                                      {
                                      name: parseFloat(i) + '.event',
                                      role: 'state',
                                      type: 'string',
                                      read: true,
                                      write: true,
                                      def: ''
                                      });
                                      };
                                      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color')) {
                                      log(i + '.color nicht vorhanden, wurde erstellt');
                                      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color', 0,
                                      {
                                      name: parseFloat(i) + '.color',
                                      role: 'state',
                                      type: 'number',
                                      read: true,
                                      write: true,
                                      def: 0
                                      });
                                      };
                                      }

                                      function subsequenceFromStartLast(sequence, at1) {
                                      var start = at1;
                                      var end = sequence.length;
                                      return sequence.slice(start, end);
                                      }

                                      on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () {

                                      for (i = 0; i <= 3; i++) {
                                      Muell_JSON = getState(idAbfalliCal + '.data.table').val;
                                      setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                      Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), idZeichenLoeschen);
                                      setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                      if (Event2 == idRestmuellName) {
                                      Color = 33840;
                                      } else if (Event2 == idBioabfaelleName) {
                                      Color = 48192;
                                      } else if (Event2 == idPappePapierName) {
                                      Color = 2016;
                                      } else if (Event2 == idWertstoffName) {
                                      Color = 65504;
                                      }
                                      setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                      }
                                      });

                                      javascript.0 2022-12-05 12:17:07.105	error	at processImmediate (node:internal/timers:466:21)
                                      javascript.0 2022-12-05 12:17:07.105	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
                                      javascript.0 2022-12-05 12:17:07.105	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29)
                                      javascript.0 2022-12-05 12:17:07.105	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38)
                                      javascript.0 2022-12-05 12:17:07.105	error	at Object.<anonymous> (script.js.common.NSPanel.Abfallkalender:61:18)
                                      javascript.0 2022-12-05 12:17:07.105	error	at subsequenceFromStartLast (script.js.common.NSPanel.Abfallkalender:52:24)
                                      javascript.0 2022-12-05 12:17:07.104	error	script.js.common.NSPanel.Abfallkalender: TypeError: Cannot read properties of null (reading 'length')
                                      

                                      was habe ich wieder falsch gemacht?

                                      ArmilarA T 2 Antworten Letzte Antwort
                                      0
                                      • ArmilarA Armilar

                                        @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                        Noch einfacher gehts, wenn man die Schreibfunktionen des Datenpunkts im Devicemanager bearbeitet:

                                        Wobei, wenn ich den Ternary richtig interpretiere fragst du folgendes ab:

                                        Wenn der Wert auf ungleich 0 ist, dann setzte 100 (also hoch) sonst 0 (also runter)

                                        Warum setzt du nicht val = 100 und val = 0? 🙄

                                        Weil was ist, wenn der Wert z.B. auf 1, 2 oder 3 steht. Dann fährt das Rollo bei Up runter...

                                        VumerV Offline
                                        VumerV Offline
                                        Vumer
                                        schrieb am zuletzt editiert von
                                        #1039

                                        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                        Warum setzt du nicht val = 100 und val = 0?

                                        Beim HM funktioniert das so mit 0 und 100

                                        1 Antwort Letzte Antwort
                                        0
                                        • VumerV Vumer

                                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                          Manchmal überholen sich die Ereignisse.

                                          Ich hoffe das ist schon älter 😉
                                          Abfallkalender


                                          const idAbfalliCal = 'ical.0'; // iCal Instanz zum Abfallkalender
                                          const idZeichenLoeschen = 0; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                                          const idRestmuellName ='Restabfall'; // Schwarze Tonne
                                          const idWertstoffName = 'Gelbe Tonne'; // Gelbe Tonne / Sack
                                          const idPappePapierName = 'Papiertonne'; // Blaue Tonne
                                          const idBioabfaelleName = 'Komposttonne'; // Braune Tonne

                                          var i, Muell_JSON, Event2, Color = 0;

                                          for (i = 1; i <= 4; i++) {
                                          if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date')) {
                                          log(i + '.date nicht vorhanden, wurde erstellt');
                                          createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date', '',
                                          {
                                          name: parseFloat(i) + '.date',
                                          role: 'state',
                                          type: 'string',
                                          read: true,
                                          write: true,
                                          def: ''
                                          });
                                          };
                                          if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event')) {
                                          log(i + '.event nicht vorhanden, wurde erstellt');
                                          createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event', '',
                                          {
                                          name: parseFloat(i) + '.event',
                                          role: 'state',
                                          type: 'string',
                                          read: true,
                                          write: true,
                                          def: ''
                                          });
                                          };
                                          if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color')) {
                                          log(i + '.color nicht vorhanden, wurde erstellt');
                                          createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color', 0,
                                          {
                                          name: parseFloat(i) + '.color',
                                          role: 'state',
                                          type: 'number',
                                          read: true,
                                          write: true,
                                          def: 0
                                          });
                                          };
                                          }

                                          function subsequenceFromStartLast(sequence, at1) {
                                          var start = at1;
                                          var end = sequence.length;
                                          return sequence.slice(start, end);
                                          }

                                          on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () {

                                          for (i = 0; i <= 3; i++) {
                                          Muell_JSON = getState(idAbfalliCal + '.data.table').val;
                                          setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                          Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), idZeichenLoeschen);
                                          setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                          if (Event2 == idRestmuellName) {
                                          Color = 33840;
                                          } else if (Event2 == idBioabfaelleName) {
                                          Color = 48192;
                                          } else if (Event2 == idPappePapierName) {
                                          Color = 2016;
                                          } else if (Event2 == idWertstoffName) {
                                          Color = 65504;
                                          }
                                          setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                          }
                                          });

                                          javascript.0 2022-12-05 12:17:07.105	error	at processImmediate (node:internal/timers:466:21)
                                          javascript.0 2022-12-05 12:17:07.105	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
                                          javascript.0 2022-12-05 12:17:07.105	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29)
                                          javascript.0 2022-12-05 12:17:07.105	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38)
                                          javascript.0 2022-12-05 12:17:07.105	error	at Object.<anonymous> (script.js.common.NSPanel.Abfallkalender:61:18)
                                          javascript.0 2022-12-05 12:17:07.105	error	at subsequenceFromStartLast (script.js.common.NSPanel.Abfallkalender:52:24)
                                          javascript.0 2022-12-05 12:17:07.104	error	script.js.common.NSPanel.Abfallkalender: TypeError: Cannot read properties of null (reading 'length')
                                          

                                          was habe ich wieder falsch gemacht?

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

                                          @vumer

                                          Kann ich dir erst sagen, wenn du mir die zugehörige Seite für das NSPanel mitteilst die 4 Aliase vom Gerätetyp: Warnung aufruft...

                                          Im Spoiler finde ich nur ein Script, das Datenpunkte aus einem iCal in 0_userdata erstellt und befüllt. 😉

                                          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.

                                          VumerV 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

                                          386

                                          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