Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @Armilar last edited by

      @armilar
      sehe grade den Wald vor Bäumen nicht. Wie bekommst du die Konstante aus dem DP?

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

        @tt-tom

        habe es nicht ausprobiert, aber der Gedanke war - wenn ich eine Farbe aus einer Konstante hole, dann ist der Inhalt ja RGB = {....

        Wenn das gleiche in einem DP steht, dann kann ich das doch auch verarbeiten... oder habe ich einen Denkfehler?

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

          @tt-tom

          also bei mir funktioniert das:

          <PageItem>{ navigate: true, id: 'alias.0.Haus.Erdgeschoss.Indikator', targetPage: 'Level_2_Erdgeschoss_1', name: 'Erdgeschoss' , icon: 'home-floor-0', offColor: Menu, onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorRGB").val)},
          

          838b3903-0a75-43eb-92a0-18f9b504ef17-image.png

          181a42ff-b4be-45ae-9456-b3a664129f7c-image.png

          mit eval() und dem Namen der Konstante im Datenpunkt (hier "Yellow" als Wert)

          Zieht sich die Werte dann aus der Konstante
          e0591135-158f-4e7f-a64c-3c7efe02a24c-image.png

          EDIT: Das Beispiel oben ist nur exemplarisch. Natürlich verpasse ich dem Erdgeschoss keine Abfallfarben. Aber mit:

          onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorRGB").val)
          

          Und im Datenpunkt ein einfaches Yellow, Green, Gray, Blue oder what ever, sollte es funktionieren. Das müsste dann das Blockly zusätzlich in einen weiteren Datenpunkt (hier colorRGB genannt) schreiben.

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

            @Armilar
            okay, das ist eine Lösung. Was ist wenn die DezimalZahl ( Farbe) über geben wird. Funktioniert das auch? Diese ist ja schon im .LEVEL vorhanden.

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

              @tt-tom

              Leider nicht im pageItem... Aber das Abfall-Blockly entsprechend zu erweitern, wenn die Farben zugeordnet werden und Const-Namen in einen zusätzlichen Datenpunkt zu schreiben dürfte kein Hexenwerk sein.

              Würde ja bei allen onColor/offColor prinzipiell funktionieren...

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

                @armilar

                okay, werde es im Wiki anpassen und beschreiben.

                @georg2608

                nutzt du für die Abfallpage das Blockly oder das JavaScript ?

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

                  @tt-tom

                  nutzt du für die Abfallpage das Blockly oder das JavaScript?

                  Ist das nicht egal? Ich würde es als Blockly bereitstellen, da das auch in JS umgewandelt werden kann. Anders herum ist es ja nicht möglich... ⛱

                  1 Reply Last reply Reply Quote 0
                  • JohGre
                    JohGre last edited by JohGre

                    Hallo, ist hier schon jemand mit der javascript-Version 7.1.4 unterwegs? Seit der Aktualisierung kommt immer folgender Fehler im ts-Script.

                    2023-08-16 14:17:44.793 - error: javascript.0 (1444727) script.js.Energie.NSPanel.NSPanelInfrarotkabine_ts: TypeScript compilation failed:
                    if ((pageItem.useColor || useColors) && ((typeof (value) === 'boolean' && value) || value > (pageItem.minValueBrightness !== undefined ? pageItem.minValueBrightness : 0))) {
                    ^
                    ERROR: Operator '>' cannot be applied to types 'number | boolean' and 'number'.
                    

                    btw. Mit der Version 7.0.3 funktioniert das selbe Script noch

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

                      @johgre

                      mit der aktuellen TS-Version v.4.1.4.4 ist das behoben:

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

                      unteren Teil austauschen...

                      siehe auch:
                      https://forum.iobroker.net/post/1029669

                      be9fc825-bbee-4ce1-9997-2b80b1e5f810-image.png

                      1 Reply Last reply Reply Quote 1
                      • T
                        TT-Tom @georg2608 last edited by TT-Tom

                        @georg2608

                        das wäre jetzt eine Lösung:

                        das Blockly importieren und starten

                        69eb7a43-a390-43c7-8683-ada28c5c91df-image.png

                        <xml xmlns="https://developers.google.com/blockly/xml">
                         <block type="create" id="^xUH42lA??q%*F.5Fz(O" x="108" y="54">
                           <field name="NAME">0_userdata.0.Abfallkalender.1.colorName</field>
                           <value name="VALUE">
                             <block type="text" id="nPW4kooRGm7(fA5a[L{3">
                               <field name="TEXT"></field>
                             </block>
                           </value>
                           <next>
                             <block type="on" id="CHXf],2q%Bn8~nHQ?%bT">
                               <field name="OID">0_userdata.0.Abfallkalender.1.color</field>
                               <field name="CONDITION">ne</field>
                               <field name="ACK_CONDITION"></field>
                               <statement name="STATEMENT">
                                 <block type="logic_switch_case" id="1ObC(QA6NvSk`UojcwvU">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" case="3" default="1"></mutation>
                                   <value name="CONDITION">
                                     <block type="on_source" id="X9jb#xp`m[^C1;]--X)@">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <value name="CASECONDITION0">
                                     <block type="math_number" id="]?X?sOg;0.-,LSL2?PT[">
                                       <field name="NUM">65504</field>
                                     </block>
                                   </value>
                                   <statement name="CASE0">
                                     <block type="update" id="N`cVWSoCk|x|ct(,Ntnh">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text" id="Zk2|}L8*6(o7Sklxo[}Q">
                                           <field name="TEXT">MSYellow</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <value name="CASECONDITION1">
                                     <block type="math_number" id="/a`[ST(2!c;AP?W~MLOt">
                                       <field name="NUM">2016</field>
                                     </block>
                                   </value>
                                   <statement name="CASE1">
                                     <block type="update" id="mXzLz6Zd)@;[?`IV$ec,">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text" id="8*IEIWxkjvlHO84hRn(2">
                                           <field name="TEXT">Green</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <value name="CASECONDITION2">
                                     <block type="math_number" id="J9Iq36+|QQXMW`1Y{8Y0">
                                       <field name="NUM">31</field>
                                     </block>
                                   </value>
                                   <statement name="CASE2">
                                     <block type="update" id="Ij=A]p;6p^].^o-0.PN-">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text" id="ld;vt1%n`-DeZ]|]5W|m">
                                           <field name="TEXT">Blue</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <value name="CASECONDITION3">
                                     <block type="math_number" id="^IZ=KG]F#bKTc(Ixbm}f">
                                       <field name="NUM">33840</field>
                                     </block>
                                   </value>
                                   <statement name="CASE3">
                                     <block type="update" id="gu2RF,$X*..^W:7mB9y]">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text" id="sSWX-2]EK(%Q72_EbqS$">
                                           <field name="TEXT">Gray</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <statement name="ONDEFAULT">
                                     <block type="update" id="H$FyA}Z~7S+KN!r:K#_f">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text" id="po3@*!:d9Rg(FE)r$5J$">
                                           <field name="TEXT">White</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                        </xml>
                        

                        dein PageItem so anpassen:

                        <PageItem>{ navigate: true, id: null,targetPage: 'Abfall', name: 'Abfallkalender', icon: 'trash-can-outline', onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorName").val), useColor: true},
                        
                        G 1 Reply Last reply Reply Quote 1
                        • G
                          georg2608 @TT-Tom last edited by

                          @tt-tom said in SONOFF NSPanel mit Lovelace UI:

                          .... onColor: 'getState(Datenpunkt mit aktueller Farbe).val'

                          @TT-Tom und @Armilar: DIe Daten sammle ich genauso ein wie Du das geschrieben hattest und die Fraben der Tonnen auf der Subpage stimmen auch. Ich hab auch mal den Abfallkalender mit einer Tonne auf den Screensaver gelegt und da funktioniert das auch. Nur es ist so wie Tom geschribenen hat dass es keine Farbänderung auf der 'cardGrid' bei der Tonne gib.
                          Die Lösung von Tom mit dem ... getState.. hatte ich getestet, aber da kommt es zu einer Fehlermeldung:
                          Bildschirm­foto 2023-08-16 um 16.14.21.png

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

                            @georg2608

                            das ist ja auch nicht die Lösung... und auch nicht auf .LEVEL

                            Die Lösung ist einen Aufruf mit eval() zu machen. Siehe:

                            https://forum.iobroker.net/post/1030465

                            onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorName").val)
                            

                            zusammen mit dem Blockly für das Mapping zwischen dezimal und String als Konstantennamen...

                            wie hier beschrieben:

                            https://forum.iobroker.net/post/1030378

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              georg2608 @Armilar last edited by

                              @armilar und @TT-Tom:
                              SUPER! Vielen lieben Dank für Eure Hilfe, jetzt funtioniert das genau so wie ich mir das gewünscht habe. 😊

                              Vielen, Vielen Dank

                              S 1 Reply Last reply Reply Quote 1
                              • G
                                georg2608 @TT-Tom last edited by

                                @tt-tom Also, ich habe das so umgesetzt wie Du beschrieben hattest. In den Objekten wird nach Änderung des Wertes von "color" auch der DP "colorName" in Text geschrieben. Das klappt wunderbar.
                                Auch in der 'cardGrid' habe ich bei dem PageItem den Wert mit dem 'eval(getState(' eingetragen.
                                Beim Speichern der NsPanlel.TS kommt dann ein Neustart und es wird genau die Symbolfarbe angezeigt die in den Objekten angegeben ist. Aber bei einer Änderung, (egal ob am nächsten Tag eine andere Tonne angezeigt werden sollte oder ob ich das manuell abändere, wird der neue Wert nicht übertragen. Es bleibt einfach bei der voherigen Farbe.
                                Ein Neustart des Geätes bringt auch nichts. Es ändert sich nur dann wieder wenn ich die NsPanel.TS nochmals neu starte.

                                Da passt doch sicherlich was mit der Kommunikation nicht.
                                Ich habe die Tonne auch auf dem Screensaver angebracht mit:

                                ScreensaverEntityIconColor: '0_userdata.0.NSPanel_Hilfs_DPs.Abfallkalender.1.color'
                                

                                und das wechselt die Fabe innerhalb von Sekunden zur angegeben Farbe aus dem TS-Skript.

                                Fällt Dir da noch was ein, oder muß ich einfach mit einer Farbe leben?

                                Wenn das aus einer 'cardGrid'zu aufwendig ist würde es mir auch völlig ausreichen direkt aus dem Screensaver den Abfallkalender zu starten. Wäre das eine einfachere Methode?
                                Ich möchte das Panel eh nicht überladen. Mir reicht ein Rollo, Müll, Heizung und Klimaanlage. Alles weitere mache ich dann eh mit dem iPad und der VIS.

                                Armilar 1 Reply Last reply Reply Quote 0
                                • S
                                  schmidti @georg2608 last edited by

                                  Moin,
                                  ich habe leider ein Problem mit dem Flashen. Ich habe die tasmota32-nspanel.bin von der blakadder.com Seite geflasht. Das Toll was ich auf dem Mac nutze ist: ESP-Flasher-macOS.
                                  Leider startet das Gerät danach anscheinden nicht.
                                  Folgendes kommt im Log in endlosschleife.

                                  [13:21:35]rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
                                  [13:21:35]configsip: 0, SPIWP:0xee
                                  [13:21:35]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                                  [13:21:35]mode:DIO, clock div:2
                                  [13:21:35]load:0x3fff0030,len:1184
                                  [13:21:35]load:0x40078000,len:12784
                                  [13:21:35]load:0x40080400,len:3032
                                  [13:21:35]entry 0x400805e4
                                  [13:21:35]ets Jul 29 2019 12:21:46
                                  [13:21:35]
                                  

                                  Kann mir jemand einen Tip geben?
                                  VG Schmidti

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

                                    @schmidti

                                    Hmm - ich weiß ja nicht welche Version da verlinkt ist und was da noch alles passiert ist. Warum gehst du nicht nach der Anleitung vor?

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

                                    S 1 Reply Last reply Reply Quote 0
                                    • icebear
                                      icebear last edited by

                                      Hallo

                                      Frage an die Experten, ich wollte mir eine DEV Panel einrichten zum rumprobieren.
                                      Dazu hab ich gemäß https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Nextion-Editor, die Anleitung abgearbeitet.

                                      Soweit scheint auch Einstellungsmäßig alles zu funktionieren, ich hab jedenfalls beim ausführen des scripts keine Fehlermeldung, MQTT scheint auch zu funktionieren, allerdings bekomm ich im Nextion Editor nix angezeigt, woran könnte das liegen?

                                      Nextion.png

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

                                        @icebear

                                        Du hast die HMI nicht geöffnet:

                                        Download Zip und entpacken
                                        88997679-9b3d-4acd-ad23-14e439e1cf17-image.png

                                        Projekt öffnen (nspanel.HMI auswählen):
                                        6f96a3ac-9781-4c93-a6f4-07af7e9b3d01-image.png

                                        Danach auf Debug
                                        fcb0c38f-eec1-49f9-8e4a-2c01cdf49eb4-image.png

                                        Einstellungen wie hier und dann Start

                                        1 Reply Last reply Reply Quote 0
                                        • F
                                          Flipps @Armilar last edited by

                                          @armilar Hi nochmal, es lief mal alles nur ganz kurz 😄
                                          ICh habe wie wir besprochen hatten die Datenpunkte für die mediaCard aus dem Sonosadapter übertragen (habe ich wieder rückgänig gemacht), seit dem wird die Seite nicht mehr angezeigt. Stattdessen bekomme ich diese Fehlermeldungen:

                                          
                                          13:44:55.261	warn	javascript.1 (192582) script.js.NsPanel.NSPANELHUETTE: error result in function get_current_berry_driver_version: Unexpected token u in JSON at position 0
                                          13:44:55.299	warn	javascript.1 (192582) script.js.NsPanel.NSPANELHUETTE: error setState in function get_tasmota_status0Unexpected token u in JSON at position 0
                                          13:49:59.826	warn	javascript.1 (192582) script.js.NsPanel.NSPANELHUETTE: error at function GenerateMediaPage: Cannot read properties of undefined (reading 'type')
                                          13:49:59.829	warn	javascript.1 (192582) script.js.NsPanel.NSPANELHUETTE: error at function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                          13:50:11.823	warn	javascript.1 (192582) script.js.NsPanel.NSPANELHUETTE: error at function GenerateMediaPage: Cannot read properties of undefined (reading 'type')
                                          13:50:11.825	warn	javascript.1 (192582) script.js.NsPanel.NSPANELHUETTE: error at function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                          13:50:14.650	warn	javascript.1 (192582) script.js.NsPanel.NSPANELHUETTE: error at function GenerateMediaPage: Cannot read properties of undefined (reading 'type')
                                          13:50:14.653	warn	javascript.1 (192582) script.js.NsPanel.NSPANELHUETTE: error at function SendToPanel: Cannot read properties of undefined (reading 'payload')
                                          

                                          Bitte schau auch mal ober der alias PAth richtig angelegt ist, ich traue dem nicht übern weg.:

                                          let Alexa_Partyraum = <PageMedia> 
                                          {
                                              'type': 'cardMedia',
                                              'heading': 'Alexa Partyraum',
                                              'useColor': true,
                                              'items': [<PageItem>{   
                                                          id: AliasPath + '1Media.Partyraum', 
                                                          adapterPlayerInstance: 'alexa2.0.',
                                                          mediaDevice: 'e71fbd51f0e94d0ca016de2dc76f8d7b', 
                                                          speakerList: ['Partyraum'],
                                                          //analog alexa2 Music-Provider
                                                          playList: ['TuneIn.Radio Bob Rock'],
                                                          equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock', 
                                                                          'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'],
                                                          colorMediaIcon: colorAlexa,
                                                          colorMediaArtist: Yellow,
                                                          colorMediaTitle: Yellow,
                                                          autoCreateALias : true
                                                       }]
                                          };
                                          
                                          
                                          

                                          pfade mediacard.PNG

                                          Vielen Dank schonmal. 🙂

                                          Armilar 1 Reply Last reply Reply Quote 0
                                          • S
                                            schmidti @Armilar last edited by

                                            @armilar
                                            Ich habe die anleitung von Hausautomatisierung genommen. Wie finde ich denn jetzt die richtige Version? Ich such mich da immer dumm und dusselig...

                                            VG
                                            Schmidti

                                            S Armilar 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4284934
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo