Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Sonoff NSPanel

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      niiccooo1 last edited by

      Ein Wunsch für zukünftige Versionen:
      Beim Drücken auf ein Fenster Datenpunkt, das Popup vom Rollo anzeigen 🙂

      K 1 Reply Last reply Reply Quote 0
      • N
        niiccooo1 @Jens Wozny last edited by

        @jens-wozny
        Kurze Frage dazu: Könnte man einen Button für Multipress verwenden und den anderen um sich Favoritenpages anzeigen zu lassen?

        Jens Wozny Armilar 2 Replies Last reply Reply Quote 0
        • Jens Wozny
          Jens Wozny @niiccooo1 last edited by

          @niiccooo1 Oha! Ich denke ja, weil die Verarbeitung der Tasten in einem eigenen Script passieren, aber da sollten wir lieber mal warten bis die Fachleute dran sind und das bestätigen können 😉

          1 Reply Last reply Reply Quote 0
          • K
            Kuckuckmann @niiccooo1 last edited by

            @niiccooo1

            Ich denke, am Besten kippst Du das im GitHub als Wunsh ein:

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

            1 Reply Last reply Reply Quote 0
            • T
              tklein last edited by tklein

              Hallo,

              Hi,

              irgendwie bekomme ich die Blinds/Jalousien mit meinen 2.5 Shellies nicht hin.

              So ist es eingebunden

              var Wohnzimmer_Jalousien: PageEntities = 
              {
                  "type": "cardEntities",
                  "heading": "Jalousien",
                  "useColor": true,
                  "subPage": true,
                  "parent": Startseite_Wohnzimmer,
                  "items": [
                       <PageItem>{ id: "alias.0.Jalousien.Wohnzimmer.Vitrinejalousie", icon: "blind" , name: "Vitrine",offColor: MSRed, onColor: MSGreen},
                       <PageItem>{ id: "alias.0.Jalousien.Wohnzimmer.Terrassenjalousie", icon: "blind",  name: "Terrasse",offColor: MSRed, onColor: MSGreen},
                       <PageItem>{ id: "alias.0.Jalousien.Wohnzimmer.Sofajalousie", icon: "blind", name: "Sofa", offColor: MSRed, onColor: MSGreen},
                       <PageItem>{ id: "alias.0.Jalousien.Wohnzimmer.Sonnenschutz", name: "Sonnenschutz", interpolateColor: true}
                  ]
              };
              

              So als Alias:

              9518f0a3-43e2-4e57-9a8e-aa896369e93f-grafik.png

              Die jeweiligen Icons werden mir im Display angezeigt, Jedoch leider ohne Funktion.

              Was mache ich falsch?

              EDIT: Eine weitere Frage noch: Kann ich bei z.B. 2 fachen Button 1 Druck eine bestimmte Seite anzeigen lassen? Quasie als Shortcut? Ich meine kein Notify/Popup

              K D Armilar 3 Replies Last reply Reply Quote 0
              • T
                tklein last edited by

                Kann ich eigentlich mit einem String/Befehl im MQTT-CustomSend auch die verbauten Relais schalten? Falls ja, wie muss der aussehen?

                1 Reply Last reply Reply Quote 0
                • K
                  Kuckuckmann @tklein last edited by

                  @tklein
                  Magst Du mal noch ein Bild von Deinem Panel und der Page posten?
                  Evtl. hilft es das zu sehen.

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tklein @Kuckuckmann last edited by

                    @kuckuckmann said in Sonoff NSPanel:

                    @tklein
                    Magst Du mal noch ein Bild von Deinem Panel und der Page posten?
                    Evtl. hilft es das zu sehen.

                    aber klar doch:

                    9eb6dacd-799b-4804-9623-a9cd45aa1cc8-grafik.png

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Kuckuckmann @tklein last edited by

                      @tklein
                      Kannst Du im ioBroker in den Datenpunkten der Shellys sehen, dass sich was verändert, wenn Du einen Button auf dem Panel drückst?

                      Kannst Du die Shellys über die Datenpunkte steuern, geht das? Also wird z.B. die Jalousie zu gefahren, wenn du im Datenpunkt CLOSE den Wert setzt?

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        tklein @Kuckuckmann last edited by tklein

                        @kuckuckmann Fehler glaube ich gefunden. In den Shelly DP stand (null), Nachdem ich auf True/false gesetzt hatte, ging das Schalten auf dem Panel 🙂

                        Thx für den Schubs in die richtige Richtung.

                        Kann ich auf spezielle Pages per Befehl auf dem Display öffnen lassen? Ähnlich so CustomSend: "Shop page1"

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kuckuckmann @tklein last edited by

                          @tklein

                          Gern geschehen.

                          Bzgl. der Pages müssen wir auf @Armilar warten.
                          Die Frage wurde heute schon einmal gestellt.
                          Bitte ein wenig Geduld 😉

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            tklein @Kuckuckmann last edited by

                            @kuckuckmann ok & thx.

                            mit dem evtl. Parameter für CustomSend ähnlich? @Relais schalten?

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kuckuckmann @tklein last edited by

                              @tklein
                              Du meinst via Button? Oder wie/was willst Du denn für ein Relais schalten?

                              T 1 Reply Last reply Reply Quote 0
                              • K
                                Kuckuckmann @gritrasq last edited by

                                @gritrasq sagte in Sonoff NSPanel:

                                Ich habe den Screensaver modifiziert und zeige die Daten meiner PV Anlage an. Das geht super

                                Kannst Du mir mal die Konfig aus dem TS Skript dafür zur verfügung stellen und vlt. einen Screenshot vom Panel woman die PV Daten sieht?

                                Ich würde das gerne als Bsp. in die FAQ integrieren.

                                1 Reply Last reply Reply Quote 0
                                • E
                                  eppi last edited by

                                  Hallo zusammen
                                  Gibt es eine Möglichkeit in einer cardEntities ein Dropdown Menü anzulegen? Hintergrund: Ich habe bei einer Pumpe den Modus "Auto", "Aus", "Ein", welchen ich gerne ansteuern möchte. Oder hat sonst jemand eine kreative Idee, wie man das umsetzen könnte?
                                  Vielen Dank und Gruss Eppi

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

                                    @kuckuckmann sagte in Sonoff NSPanel:

                                    4.) Abfallkalender

                                    Hi,

                                    ich hab das Script von @Armilar etwas angepasst. Es erstellt die Datenpunkte automatisch und mit den konstanten können die wichtigsten Einstellungen vorgenommen werden.

                                    bitte mal testen und ggf. in die FAQ aufnehmen.

                                    const idAbfalliCal = 'ical.1'; // iCal Instanz zum Abfallkalender
                                    const idZeichenLoeschen = 14; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                                    const idRestmuellName ='Hausmüll'; // Schwarze Tonne
                                    const idWertstoffName = 'Gelber Sack'; // Gelbe Tonne / Sack
                                    const idPappePapierName = 'Papier';  // Blaue Tonne
                                    const idBioabfaelleName = 'Biomüll'; // 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', '',
                                                {
                                                    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 = 2016;
                                            } else if (Event2 == idPappePapierName) {
                                                Color = 31;
                                            } else if (Event2 == idWertstoffName) {
                                                Color = 65504;
                                            }
                                            setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                        }
                                    });
                                    
                                    

                                    4 = Für's parsen wichtig. Bei funktioniert die 0, es kann sein dass dies bei euch anders ist.

                                    als Erklärung wäre glaube ich dieser Text sinnvoller:

                                    x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                                    
                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      Kuckuckmann @eppi last edited by Kuckuckmann

                                      @eppi
                                      Also was ich mir vorstellen könnte:

                                      • Du machst eine PageGrid mit Drei Switches für Auto, Aus und Ein.
                                      • dafür benötigst du dann drei Alias z.b. typ taste
                                      • diese linkst Du auf drei Hilfsdatenpunkte (Boolean)
                                      • dann baust Dir ein Blockly oder anderes Skript was jeweils die drei Datenpunkte prüft und sobald eine True ist schaltet es die anderen beiden auf false
                                      • im weiteren teil des skriptes wird dann der Datenpunkt mit true dazu genutzt die Pumpe in den entsprechenden Modus zu schalten
                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        Kuckuckmann @TT-Tom last edited by

                                        @tt-tom sagte in Sonoff NSPanel:

                                        @kuckuckmann sagte in Sonoff NSPanel:

                                        4.) Abfallkalender

                                        Hi,

                                        ich hab das Script von @Armilar etwas angepasst. Es erstellt die Datenpunkte automatisch und mit den konstanten können die wichtigsten Einstellungen vorgenommen werden.

                                        bitte mal testen und ggf. in die FAQ aufnehmen.

                                        const idAbfalliCal = 'ical.1'; // iCal Instanz zum Abfallkalender
                                        const idZeichenLoeschen = 14; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                                        const idRestmuellName ='Hausmüll'; // Schwarze Tonne
                                        const idWertstoffName = 'Gelber Sack'; // Gelbe Tonne / Sack
                                        const idPappePapierName = 'Papier';  // Blaue Tonne
                                        const idBioabfaelleName = 'Biomüll'; // 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', '',
                                                    {
                                                        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 = 2016;
                                                } else if (Event2 == idPappePapierName) {
                                                    Color = 31;
                                                } else if (Event2 == idWertstoffName) {
                                                    Color = 65504;
                                                }
                                                setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                            }
                                        });
                                        
                                        

                                        4 = Für's parsen wichtig. Bei funktioniert die 0, es kann sein dass dies bei euch anders ist.

                                        als Erklärung wäre glaube ich dieser Text sinnvoller:

                                        x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                                        

                                        Hey @TT-Tom super cool 🙂
                                        Feel free es im Wiki einzuarbeiten, oder soll ich es machen?

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

                                          @kuckuckmann

                                          habe das Wiki schon mal über flogen, aber noch kein Zugang wie man dort mitarbeiten kann. Besser du aktualisierst und ich komme mal per PN auf dich zu, damit du mir den Umgang im Wiki erklären kannst.

                                          K 1 Reply Last reply Reply Quote 1
                                          • T
                                            tklein @Kuckuckmann last edited by

                                            @kuckuckmann said in Sonoff NSPanel:

                                            @tklein
                                            Du meinst via Button? Oder wie/was willst Du denn für ein Relais schalten?

                                            ja genau. Z.B. Doppelklick links

                                            K 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            959
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            78
                                            1548
                                            424502
                                            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