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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    SONOFF NSPanel mit Lovelace UI

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

      @australien

      so es gibt die erste Version von der Einbindung des Adapter Fahrplan.

      benötigt wird dieses externe Script, welches die Daten aus dem Ordner "DepatureTimetableX.JSON" ausliest und für das Panel aufbereitet. Das Script liest maximal 6 Abfahrten pro Abfahrtstafel aus. Das Icon und die Farbe wird aus den Daten ermittelt. Grün alles okay / Rot Verspätung. Zur Zeit wird die Anzeige noch über die CradEntities realisiert und dadurch nur die ersten 4 Abfahrten dargestellt.

      Bild 3.jpeg
      Die PageConfig für die erste Abfahrttafel sieht wie folgt aus:

      let FahrplanEntities0 = <PageEntities>
          {
              'type': 'cardEntities',
              'heading': 'Eisenstadt ',
              'useColor': true,
              'items': [
                  <PageItem>{ id: AliasUserPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt0', name: "getState('alias.0.FahrplanAnzeiger.Haltestelle0.Abfahrt0.Richtung').val"},
                  <PageItem>{ id: AliasUserPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt1', name: "getState('alias.0.FahrplanAnzeiger.Haltestelle0.Abfahrt1.Richtung').val"},
                  <PageItem>{ id: AliasUserPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt2', name: "getState('alias.0.FahrplanAnzeiger.Haltestelle0.Abfahrt2.Richtung').val"},
                  <PageItem>{ id: AliasUserPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt3', name: "getState('alias.0.FahrplanAnzeiger.Haltestelle0.Abfahrt3.Richtung').val"},
                  <PageItem>{ id: AliasUserPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt4', name: "getState('alias.0.FahrplanAnzeiger.Haltestelle0.Abfahrt4.Richtung').val"},
                  <PageItem>{ id: AliasUserPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt5', name: "getState('alias.0.FahrplanAnzeiger.Haltestelle0.Abfahrt5.Richtung').val"}
              ]
          };
      
      

      Das Script kann mehrere Abfahrtstafeln überwachen, einzustellen im Script unter

      const AnzahlHaltestellen: number = 3;               // Anzahl der Haltestellen / Anzeigetafeln
      

      einzige Bedingung -> sie müssen am Anfang in der Adapterconfig stehen und fortlaufend sein.

      weitere Einstellungen sind

      const DP_NSPanel: string = '0_userdata.0.NSPanel.1.';        // Standard 0_userdata.0.NSPanel.1.
      const DP_userdata: string = '0_userdata.0.';        // Pafad unter 0_userdata.0    Automatisch wird "FahrplanAnzeiger.HaltestelleX.AbfahrtX" durch das Script erzeugt
      const DP_AliasNSPanel: string = 'alias.0.';         // Pfad unter alias.0    Automatisch wird "FahrplanAnzeiger.HaltestelleX.AbfahrtX" durch das Script erzeugt
      const VerspätungPopup: boolean = true;              // Bei Verspätung soll PopupNotifypage auf dem Panel angezeigt werden
      

      Das Script kann auf Wunsch auch eine PopupNotifyPage bei einer Verspätung erzeugen.
      Bild 2.jpeg

      Das ist lauffähig ab NSPanel Script Version 4.0.5.5 kommt die Tage

      weitere Erläuterungen folgen im Wiki unter FAQ & Anleitungen

      A 1 Reply Last reply Reply Quote 2
      • eierfeile
        eierfeile last edited by eierfeile

        Hi, bin neu im NSPanel Thema. Hab Tasmota und Lovelace installiert. Es soll mein bestehendes Wandthermostat ersetzen. Würde daher auch das Relais1 vom NSPanel zum automatischen ein- und ausschalten der Heizung nutzen. Dachte das müsste einfach gehen. Ist aber bis jetzt nicht wirklich trivial ;-). Aber wird schon!
        Also Alias für Thermostat hab ich erstellt.
        1021bfbf-d3d7-46d1-97b7-851124e9877e-image.png

        Code sieht aktuell so aus:

        let Kueche_Themostat = <PageThermo>
        {
            'type': 'cardThermo',
            'heading': 'Thermostat Kueche',
            'useColor': true,
            'subPage': false,
            'parent': undefined,
            'items': [<PageItem>{ 
                        id: 'alias.0.NSPanels.Thermostat_Kueche', 
                        minValue: 50, 
                        maxValue: 300,
                        stepValue: 5,
                      //  setThermoDestTemp2: 'ACTUAL1'
                     }]
        };
        

        Aber ich sehe nicht mal die Karte im Panel? Was mach ich denn falsch?

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

          @eierfeile sagte in SONOFF NSPanel mit Lovelace UI:

          Kueche_Themostat

          Gibt es denn Kueche_Themostat als Page in der Config-Auflistung?

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

            @armilar jap ist drin...hab erst mal alles nur auskommentiert was ich nicht brauche. Wird später gelöscht. b0009a68-f57f-4e9d-a78e-0c00e5d0cf56-image.png

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

              @eierfeile

              Sieht aber soweit erstmal okay aus...

              Der Setpoint ist erreichbar und enthält einen numerischen Wert?

              Gibt es Warnungen oder Fehler im Log?

              eierfeile 1 Reply Last reply Reply Quote 1
              • eierfeile
                eierfeile @Armilar last edited by

                @armilar paar Warnungen hab ich noch drin. Die kann ich aber nicht deuten.
                ad8ccef0-9aca-4f00-ba61-97e8a5972dbf-image.png

                Mit Setpoint meinst du vermutlich das hier:
                4be7e5d7-64ec-4a1f-b5ac-4b280a5bd44e-image.png

                Der ist "0". Den Wert wollte ich künftig über das cardThermo pflegen....falls das geht?

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

                  @eierfeile

                  Da ist in den Chart-Pages ein Fehler

                  Kommentier mal alle Seiten bis auf die cardThermo aus

                  Ja der Setpoint wird auch über die cardThermo gesteuert...

                  1 Reply Last reply Reply Quote 0
                  • J
                    joBr99 @draexler last edited by

                    @draexler

                    Nein, ohne "Nur Änderungen publizieren" sendet er die MQTT Nachrichten so wie sie tatsächlich kommen, also bei jedem Event.

                    Stell dir nen Button vor, immer wenn er gedrückt wird kommt nen Event, die Nachricht ist aber immer die gleiche. Bei nem Schalter würdest du auch bei jedem Schalten eine Event haben, aber die Nachricht ändert sich von an auf aus.

                    1 Reply Last reply Reply Quote 0
                    • B
                      Bhenyamin last edited by Bhenyamin

                      Tach zusammen,
                      nachdem ich mein Panel jetzt vor gut einer Woche mal in den Feldversuch (in die Wand) genommen habe zeigen sich die ersten kleinen Schwächen - auch wenn ich insg. sehr zufrieden bin.

                      Ich habe aktuell nur 2 Hauptseiten + die NSPanel_Einstellungen Seite - alles weitere als Subpages darunter geordnet.

                      pages: [
                      
                                  FavKitchen
                                  KitchenTopMenu
                                  NSPanel_Service                            	//Auto-Alias Service Page
                      
                                 ],
                          subPages: [
                                      
                                      NSPanel_Infos,                          //Auto-Alias Service Page
                                          NSPanel_Wifi_Info_1,                //Auto-Alias Service Page
                                          NSPanel_Wifi_Info_2,                //Auto-Alias Service Page
                                          NSPanel_Sensoren,                   //Auto-Alias Service Page
                                          NSPanel_Hardware,                   //Auto-Alias Service Page
                                      NSPanel_Einstellungen,                  //Auto-Alias Service Page
                                          NSPanel_Screensaver,                //Auto-Alias Service Page
                                              NSPanel_ScreensaverDimmode,     //Auto-Alias Service Page
                                              NSPanel_ScreensaverBrightness,  //Auto-Alias Service Page
                                              NSPanel_ScreensaverLayout,      //Auto-Alias Service Page
                                              NSPanel_ScreensaverWeather,     //Auto-Alias Service Page
                                              NSPanel_ScreensaverDateformat,  //Auto-Alias Service Page
                                              NSPanel_ScreensaverIndicators,  //Auto-Alias Service Page
                                          NSPanel_Relays,                     //Auto-Alias Service Page
                                      NSPanel_Firmware,                       //Auto-Alias Service Page
                                          NSPanel_FirmwareTasmota,            //Auto-Alias Service Page
                                          NSPanel_FirmwareBerry,              //Auto-Alias Service Page
                                          NSPanel_FirmwareNextion,            //Auto-Alias Service Page
                                      FavLichtWzEzK                           //Favoitenmenü Lichtszenen Wohnbereich
                                          FavLichtWzEzKSingle,                    //NUR aus Favoritenmenü heraus: Einzelsteuerung Licht Wohnbereich 
                                      FavKinder             
                                  Haus                                        //Top-Menü Haus Strg. 
                                      OG,                                     //Obergeschoss Mainpage
                                          Bad,                                //Bad
                                              BadRadiator,                    //Heizkörper Bad
                                              BadFBH,                         // Fußbodenheizung Bad
                                          Schlafzimmer,                       //Schlafzimmer 
                                                          EG,                                     //Erdgeschoss Mainpage
                                          Wohnbereich,                        //Wohnbereich Wohnzimmer / Esszimmer / Küche Sublevel 1
                                              LichtWzEzK,                     //Einzelsteuerung Licht Wohnzimmer / Esszimmer / Küche    
                                              RollosWzEzK,                    //Rollosteuerung WZ           
                                          Hausflur,                           //Gesamter Hausflur
                                          Büro,                               //Büro   
                                          Gästebad,                           //Gäste Bad (WC) Erdgeschoss    
                                      Garage,                                 //Garage
                                      Aussen,                                 //Außenbereich 
                                      Photovoltaik,                           //Übersicht PV
                                      Abfall                                  //Abfallkalender
                          ],
                      

                      Wenn ich nun per Doppeltippen aus dem Screensaver raus komme, lande ich auf der Favoritenseite "FavKitchen".
                      Pfeil rechts bringt mich auch (meist) zur 2. Hauptseite "KitchenTopMenu" von wo aus ich alles weitere verzweige.
                      Leider nur meistens: Oft springt er beim 2. Druck auf den Rechtspfeil auch direkt auf die NSPanel Einstellungen, sodass ich dann noch 2 x nach rechts drücken muss um auf die gewünscht KitchenTopMenu Seite zu kommen. Ich komme nur nicht dahinter, woran es liegen kann. Auch habe ich immer mal Hänger, bei denen ich bis zum nächsten Screensaver einfach einen Blankscreen bekomme.
                      Noch habe ich meine bessere Hälfte nicht umfassend in die Bedienung eingeführt - dafür muss es erst reibungslos laufen um die Akzeptanz nicht unnötig zu kompromittieren 😬
                      Vielleicht habt ihr 'ne Idee?

                      fcad2965-7ef5-4c8c-ba60-d5d5f9316e8c-image.png

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

                        @bhenyamin

                        mir ist auf gefallen, das bei deinen Hauptseiten das Komma fehlt. zeige mal bitte auch die Config der beiden Seiten.

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

                          @tt-tom

                          @Bhenyamin

                          Bei den Subpages fehlen zum Teil auch die Kommas, z.B. bei:

                          • FavLichtWzEzK
                          • FavKinder
                          • Haus

                          Der Blankscreen ist oft eine schlechte WLAN-Verbindung. Alternativ, wenn zu viele Seiten auf einmal aufgerufen werden.

                          1 Reply Last reply Reply Quote 0
                          • M
                            mading last edited by mading

                            Moin zusammen,

                            ich habe erfolgreich das Skript auf 4.0.5.2 gehoben. Das Panel zeigt auch alles im Advanced Screensaver an. Echt tolle Arbeit, Armilar! Habe dir einen Obulus per Paypal geschickt.

                            Zwei Fragen: Gerne würde ich für die aktuelle Temperatur meinen Datenpunkt nehmen, statt dem von daswetter. Kann ich das anpassen?

                            Ich passe für mich den DP 0_userdata.0.NSPanel.1.ScreensaverInfo.activeDimmodeBrightness an, so dass im Screensaver das Display nicht zu dunkel ist. Sobald ich das ts Skript anpasse, zieht er den Parameter aber nicht mehr und das Display ist viel dunkler. Erst wenn ich den Wert im DP wieder anpasse, ist das Display wieder im Screensaver heller. Ist das schon einmal aufgefallen?

                            Eine weitere Frage habe ich: bei Waschmaschine und Trockner funktioniert es, dass wenn sie aus sind, die "Off-Icons" angezeigt werden. Beim Plug Stat (mqtt.0.openWB.lp.1.boolPlugStat) nicht. Kann es daran liegen, dass es kein true/ false ist sondern 0/1? Der Datenpunkt ist definitiv 0, zeigt aber das Icon power-plug-outline an.

                            IMG_0020.jpeg

                            indicatorScreensaverEntity:
                                    [
                                        //icons mitte unter Uhr
                                        // indicatorScreensaverEntity 1 (only Advanced Screensaver)
                                        { 
                                            ScreensaverEntity: 'viessmannapi.0.64851.0.features.heating.compressors.0.properties.active.value',
                                            ScreensaverEntityFactor: 1,
                                            ScreensaverEntityDecimalPlaces: 0,
                                            ScreensaverEntityIconOn: 'heat-pump-outline',
                                            ScreensaverEntityIconOff: 'heat-pump',
                                            ScreensaverEntityText: 'Heizung',
                                            ScreensaverEntityUnitText: null,
                                            ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 }
                                        },
                                        // indicatorScreensaverEntity 2 (only Advanced Screensaver)
                                        { 
                                            ScreensaverEntity: 'hm-rpc.0.000F1D898C4EA9.1.MOTION',
                                            ScreensaverEntityFactor: 1,
                                            ScreensaverEntityDecimalPlaces: 0,
                                            ScreensaverEntityIconOn: 'garage-open',
                                            ScreensaverEntityIconOff: 'garage-variant',
                                            ScreensaverEntityText: 'Garage',
                                            ScreensaverEntityUnitText: null,
                                            ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 1}
                                        },
                                        // indicatorScreensaverEntity 3 (only Advanced Screensaver)
                                        { 
                                            ScreensaverEntity: 'mqtt.0.openWB.lp.1.boolPlugStat',
                                            ScreensaverEntityFactor: 1,
                                            ScreensaverEntityDecimalPlaces: 0,
                                            ScreensaverEntityIconOn: 'power-plug-outline',
                                            ScreensaverEntityIconOff: 'power-plug-off-outline',
                                            ScreensaverEntityText: 'verbunden',
                                            ScreensaverEntityUnitText: null,
                                            //ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 }
                                        },
                                        // indicatorScreensaverEntity 4 (only Advanced Screensaver)
                                        { 
                                            ScreensaverEntity: '0_userdata.0.EigeneDatenpunkte.Tasmota.WaschmaschineLaeuft',
                                            ScreensaverEntityFactor: 1,
                                            ScreensaverEntityDecimalPlaces: 0,
                                            ScreensaverEntityIconOn: 'washing-machine',
                                            ScreensaverEntityIconOff: 'washing-machine-off',
                                            ScreensaverEntityText: 'Wama',
                                            ScreensaverEntityUnitText: null,
                                            ScreensaverEntityIconColor: { 'val_min': 1, 'val_max': 0 }
                                        },
                                        // indicatorScreensaverEntity 5 (only Advanced Screensaver)
                                        { 
                                            ScreensaverEntity: '0_userdata.0.EigeneDatenpunkte.Tasmota.TrocknerLaeuft',
                                            ScreensaverEntityFactor: 1,
                                            ScreensaverEntityDecimalPlaces: 0,
                                            ScreensaverEntityIconOn: 'tumble-dryer',
                                            ScreensaverEntityIconOff: 'tumble-dryer-off',
                                            ScreensaverEntityText: 'Trockner',
                                            ScreensaverEntityUnitText: '%',
                                            ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 }
                                        }
                            
                            
                            Armilar 1 Reply Last reply Reply Quote 0
                            • A
                              australien @TT-Tom last edited by australien

                              @tt-tom
                              Super! Danke, schaut sehr gut aus.

                              Leider wird bei mir nichts angezeigt, ausser Warnungen beim Compilieren.

                              Unbenannt.JPG

                              Das Display am NSPanel beleibt leer, obwohl die aliase mit dem Script befühlt werden.
                              Egal ob ich es mit der Version aus den FAQ oder denen hier versuche.

                              Nachsatz, bei einer Verspätung kommt die Subpage.

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

                                @mading

                                Zwei Fragen: Gerne würde ich für die aktuelle Temperatur meinen Datenpunkt nehmen, statt dem von daswetter. Kann ich das anpassen?

                                Jederzeit. Einfach den Datenpunkt mit der Temperatur austauschen

                                Ich passe für mich den DP 0_userdata.0.NSPanel.1.ScreensaverInfo.activeDimmodeBrightness an, so dass im Screensaver das Display nicht zu dunkel ist. Sobald ich das ts Skript anpasse, zieht er den Parameter aber nicht mehr und das Display ist viel dunkler. Erst wenn ich den Wert im DP wieder anpasse, ist das Display wieder im Screensaver heller. Ist das schon einmal aufgefallen?

                                Ich denke du meinst den Neustart des Scriptes. Der Datenpunkt 0_userdata.0.NSPanel.1.ScreensaverInfo.activeDimmodeBrightness wird aktuell im Zuge eines Scriptstarts nicht berücksichtigt, sondern nur wenn der Trigger Änderungen erfasst --> Wird kurzfristig in die nächste Version kommen...

                                Eine weitere Frage habe ich: bei Waschmaschine und Trockner funktioniert es, dass wenn sie aus sind, die "Off-Icons" angezeigt werden. Beim Plug Stat (mqtt.0.openWB.lp.1.boolPlugStat) nicht. Kann es daran liegen, dass es kein true/ false ist sondern 0/1? Der Datenpunkt ist definitiv 0, zeigt aber das Icon power-plug-outline an.

                                Muss ein Boolean, d.h. true/false sein.
                                Zwei Möglichkeiten:

                                • du machst aus dem mqtt.0 Datenpunkt ein einen boolschen DP oder
                                • du legst einen Alias an und konvertierst die 0 und 1 über die Funktion zu true und false.
                                M 1 Reply Last reply Reply Quote 1
                                • M
                                  mading @Armilar last edited by

                                  @armilar danke dir. das mit der Brightness wäre super, wenns rein käme. Alias habe ich angelegt und funktioniert, danke. Das mit dem eigenen Alias für das Wetter hatte ich bei der Skript Migration vergessen und generell nicht mehr daran gedacht. Nun ist es perfekt, danke!

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

                                    @australien

                                    Welche Version von meinem Script hast du aktuell??
                                    Und welche Version vom Panel??

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

                                      @mading

                                      Hotfix für ScreensaverInfo.activeDimmodeBrightness bei Start des Scriptes

                                      async function InitDimmode() Suchen und tauschen...

                                      async function InitDimmode() {
                                          try {
                                              // Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0")
                                              if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay')) {
                                                  await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.StateCommon>{ type: 'number' });
                                                  await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.State>{ val: 8, ack: true });
                                                  setObject(AliasPath + 'Dimmode.brightnessDay', {type: 'channel', common: {role: 'slider', name:'brightnessDay'}, native: {}});
                                                  await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' });
                                                  await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' });
                                              }
                                      
                                              if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_hourDay')) {
                                                  await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.StateCommon>{ type: 'number' });
                                                  await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.State>{ val: 7, ack: true });
                                                  setObject(AliasPath + 'Dimmode.hourDay', {type: 'channel', common: {role: 'slider', name:'hourDay'}, native: {}});
                                                  await createAliasAsync(AliasPath + 'Dimmode.hourDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' });
                                                  await createAliasAsync(AliasPath + 'Dimmode.hourDay.SET', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' });
                                              }
                                      
                                              if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight')) {
                                                  await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.StateCommon>{ type: 'number' });
                                                  await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.State>{ val: 1, ack: true });
                                                  setObject(AliasPath + 'Dimmode.brightnessNight', {type: 'channel', common: {role: 'slider', name:'brightnessNight'}, native: {}});
                                                  await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' });
                                                  await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' });
                                              }
                                      
                                              if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_hourNight')) {
                                                  await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.StateCommon>{ type: 'number' });
                                                  await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.State>{ val: 22, ack: true });
                                                  setObject(AliasPath + 'Dimmode.hourNight', {type: 'channel', common: {role: 'slider', name:'hourNight'}, native: {}});
                                                  await createAliasAsync(AliasPath + 'Dimmode.hourNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' });
                                                  await createAliasAsync(AliasPath + 'Dimmode.hourNight.SET', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' });
                                              }
                                      
                                              const vTimeDay = getState(NSPanel_Path + 'NSPanel_Dimmode_hourDay').val;
                                              const vTimeNight = getState(NSPanel_Path + 'NSPanel_Dimmode_hourNight').val;
                                      
                                              const timeDimMode = <DimMode>{
                                                  dimmodeOn: true,
                                                  brightnessDay: getState(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay').val,
                                                  brightnessNight: getState(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight').val,
                                                  timeDay: (vTimeDay < 10) ? `0${vTimeDay}:00` : `${vTimeDay}:00`,
                                                  timeNight: (vTimeNight < 10) ? `0${vTimeNight}:00` : `${vTimeNight}:00`
                                              };
                                      
                                              // timeDimMode Day
                                              schedule({ hour: getState(NSPanel_Path + 'NSPanel_Dimmode_hourDay').val, minute: 0 }, () => {
                                                  ScreensaverDimmode(timeDimMode);
                                              });
                                      
                                              // timeDimMode Night
                                              schedule({ hour: getState(NSPanel_Path + 'NSPanel_Dimmode_hourNight').val, minute: 0 }, () => {
                                                  ScreensaverDimmode(timeDimMode);
                                              });
                                      
                                              if (getState(NSPanel_Path + 'ScreensaverInfo.activeDimmodeBrightness').val != null) {
                                                  SendToPanel({ payload: 'dimmode~' + getState(NSPanel_Path + 'ScreensaverInfo.activeDimmodeBrightness').val + '~' + getState(NSPanel_Path + 'ScreensaverInfo.activeBrightness').val + '~' + rgb_dec565(config.defaultBackgroundColor) });
                                              } else {
                                                  ScreensaverDimmode(timeDimMode);
                                              }
                                      
                                          } catch (err) {
                                              console.warn('error at function InitDimmode: ' + err.message);
                                          }
                                      }
                                      

                                      Kommt dann heute "später" noch ins github

                                      1 Reply Last reply Reply Quote 1
                                      • A
                                        australien @TT-Tom last edited by australien

                                        @tt-tom
                                        diese Versionen laufen

                                        Version 1.0.6

                                        TypeScript v4.0.5.5 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @Sternmiere / @Britzelpuf / @ravenS0ne / @TT-Tom

                                        • abgestimmt auf TFT 50 / v4.0.5 / BerryDriver 8 / Tasmota 12.4.0
                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          TT-Tom @australien last edited by

                                          @australien wie sieht deine page config aus

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            australien @TT-Tom last edited by

                                            @tt-tom
                                            let FahrplanEntities = <PageEntities>
                                            {
                                            'type': 'cardEntities',
                                            'heading': 'Haltestelle',
                                            'useColor': true,
                                            'items': [
                                            <PageItem>{ id: AliasPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt0'},
                                            <PageItem>{ id: AliasPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt1'},
                                            <PageItem>{ id: AliasPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt2'},
                                            <PageItem>{ id: AliasPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt3'},
                                            <PageItem>{ id: AliasPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt4'},
                                            <PageItem>{ id: AliasPath + 'FahrplanAnzeiger.Haltestelle0.Abfahrt5'}
                                            ]
                                            };

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            766
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            265
                                            7259
                                            4993895
                                            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