Skip to content
  • Home
  • 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

Community Forum

donate donate
  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.5k

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

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

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.
  • T TT-Tom

    @danny_v1

    Kann es sein das einige WLAN Kanäle auch Länderspezifisch sind und die Panels damit Probleme haben wenn ein Kanal größer 10 aktiv ist?

    da bin ich überfragt, ich weiss nur, dass es bei 5GHz immer mal Aussetzer gibt wegen dem Radar.

    JLegJ Offline
    JLegJ Offline
    JLeg
    schrieb am zuletzt editiert von
    #3091

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

    @danny_v1

    Kann es sein das einige WLAN Kanäle auch Länderspezifisch sind und die Panels damit Probleme haben wenn ein Kanal größer 10 aktiv ist?

    da bin ich überfragt, ich weiss nur, dass es bei 5GHz immer mal Aussetzer gibt wegen dem Radar.

    ...was aber hier egal wäre, da die ESP32 eh' nur 802.11n machen, und die 5GHz gar nicht "sehen"... :)
    würde aber auch mal auf "Kanalproblem" im 2.4GHz-Bereich tippen.
    Ich hatte da auch lange einige Probleme, die sich nach gefühlten 57 Unifi-Updates irgendwann aber erledigt hatten...

    D 1 Antwort Letzte Antwort
    0
    • D danny_v1

      @tt-tom Ja mehrfach, auch den vorderen Teil mal abgenommen.

      Hab gerade was gefunden, dass die ESP32 bei einem Kanalwechsel gern mal die Verbindung verlieren und dann auch nicht mehr neu verbinden. Ich werde heute Abend noch mal einen festen Kanal einstellen und ggf auch das 5GHz Netz abschalten und schauen ob sie sich verbinden.

      Kann es sein das einige WLAN Kanäle auch Länderspezifisch sind und die Panels damit Probleme haben wenn ein Kanal größer 10 aktiv ist?

      T Offline
      T Offline
      TT-Tom
      schrieb am zuletzt editiert von
      #3092

      @danny_v1

      0_userdata.0.NSPanel.xxxx.Tasmota.Wifi.Channel hier kannst du den letzten Kanal sehen, wenn nicht schon überschrieben. siehst du am Zeitstempel

      Gruß Tom
      https://github.com/tt-tom17
      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

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

      NSPanel Adapter Wiki
      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

      D 1 Antwort Letzte Antwort
      0
      • T TT-Tom

        @danny_v1

        0_userdata.0.NSPanel.xxxx.Tasmota.Wifi.Channel hier kannst du den letzten Kanal sehen, wenn nicht schon überschrieben. siehst du am Zeitstempel

        D Offline
        D Offline
        danny_v1
        schrieb am zuletzt editiert von
        #3093

        @tt-tom Das ist ein guter Tipp da werde ich heute Abend mal nachsehen. Sollte ja noch aktuell sein, da die ja keine Verbindung haben.

        1 Antwort Letzte Antwort
        0
        • JLegJ JLeg

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

          @danny_v1

          Kann es sein das einige WLAN Kanäle auch Länderspezifisch sind und die Panels damit Probleme haben wenn ein Kanal größer 10 aktiv ist?

          da bin ich überfragt, ich weiss nur, dass es bei 5GHz immer mal Aussetzer gibt wegen dem Radar.

          ...was aber hier egal wäre, da die ESP32 eh' nur 802.11n machen, und die 5GHz gar nicht "sehen"... :)
          würde aber auch mal auf "Kanalproblem" im 2.4GHz-Bereich tippen.
          Ich hatte da auch lange einige Probleme, die sich nach gefühlten 57 Unifi-Updates irgendwann aber erledigt hatten...

          D Offline
          D Offline
          danny_v1
          schrieb am zuletzt editiert von
          #3094

          @jleg Ja das stimmt, hab aber gelesen das es bei den Fritzboxen manchmal Probleme gibt, wenn beide Netze an sind, aber was da dran ist weiß ich nicht, aber kann ja nicht schaden es mal zu testen.

          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            danny_v1
            schrieb am zuletzt editiert von danny_v1
            #3095

            So kleines Update zum WLAN Problem der zwei Panels, falls es jemanden interessiert.

            Das Problem war viel einfacher als gedacht. Ist halt doof wenn man sein WLAN nicht umbenennt und sich die Nachbarin den gleichen Router zulegt und den gleichen Fehler macht! :)

            Und es ist schon ein ganzes Stück Arbeit alle Komponenten ins "neue" WLAN zu bekommen. :(

            Also lieber gleich nach dem Kauf umbenennen!!!

            1 Antwort Letzte Antwort
            1
            • L Offline
              L Offline
              L4rs
              schrieb am zuletzt editiert von
              #3096

              Moin,

              die Frage ist vielleicht ein bisschen off-topic, aber mir gehen so langsam die Ideen aus. Ich habe von einem Bekannten noch ein weiteres NSPanel geschenkt bekommen, weil er damit nicht klar kommt. Allerdings hat er wohl die Seiten "direkt auf den Display Controller geflasht", wohl direkt aus dem nextion Editor.
              IMG_3330.jpg IMG_3331.jpg

              Ich habe das Panel jetzt noch mal neu mit tasmota geflashed und auch den Berry Driver und die Nextion Firmware neu eingespielt - allerdings ohne Erfolg, die Seiten werden immer noch angezeigt.

              Die Console liefert zum flashen nur

              09:22:58.921 CMD: FlashNextion http://nspanel.pky.eu/lui-release.tft
              09:22:58.933 MQT: SmartHome/NSPanel_E7DDC4/stat/RESULT = {"FlashNextion":"Done"}
              09:22:58.970 FLH: host: nspanel.pky.eu, port: 80, get: /lui-release.tft
              

              Laut Datenpunkt (0_userdata) ist die DisplayFirmware aktuell 0/v3.3.1 - ich hätte nach dem FlashNextion allerdings die 50/v4.0.5 erwartet.

              Hat jemand noch eine Idee, wie ich das Panel zurücksetzen kann bzw. die DisplayFirmware in der richtigen Version geflashed bekomme?

              T 1 Antwort Letzte Antwort
              0
              • L L4rs

                Moin,

                die Frage ist vielleicht ein bisschen off-topic, aber mir gehen so langsam die Ideen aus. Ich habe von einem Bekannten noch ein weiteres NSPanel geschenkt bekommen, weil er damit nicht klar kommt. Allerdings hat er wohl die Seiten "direkt auf den Display Controller geflasht", wohl direkt aus dem nextion Editor.
                IMG_3330.jpg IMG_3331.jpg

                Ich habe das Panel jetzt noch mal neu mit tasmota geflashed und auch den Berry Driver und die Nextion Firmware neu eingespielt - allerdings ohne Erfolg, die Seiten werden immer noch angezeigt.

                Die Console liefert zum flashen nur

                09:22:58.921 CMD: FlashNextion http://nspanel.pky.eu/lui-release.tft
                09:22:58.933 MQT: SmartHome/NSPanel_E7DDC4/stat/RESULT = {"FlashNextion":"Done"}
                09:22:58.970 FLH: host: nspanel.pky.eu, port: 80, get: /lui-release.tft
                

                Laut Datenpunkt (0_userdata) ist die DisplayFirmware aktuell 0/v3.3.1 - ich hätte nach dem FlashNextion allerdings die 50/v4.0.5 erwartet.

                Hat jemand noch eine Idee, wie ich das Panel zurücksetzen kann bzw. die DisplayFirmware in der richtigen Version geflashed bekomme?

                T Offline
                T Offline
                TT-Tom
                schrieb am zuletzt editiert von
                #3097

                @l4rs

                FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.0.5.tft das ist die aktuelle TFT

                Gruß Tom
                https://github.com/tt-tom17
                Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

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

                NSPanel Adapter Wiki
                https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                L 1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  danny_v1
                  schrieb am zuletzt editiert von
                  #3098

                  @l4rs Hast du nach dem Tasmota flashen das Dateisystem mal aufgeräumt, also alle Dateien gelöscht?

                  1 Antwort Letzte Antwort
                  0
                  • T TT-Tom

                    @l4rs

                    FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.0.5.tft das ist die aktuelle TFT

                    L Offline
                    L Offline
                    L4rs
                    schrieb am zuletzt editiert von
                    #3099

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

                    FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.0.5.tft das ist die aktuelle TFT

                    danke Tom, allerdings scheint mein Panel überhaupt kein FlashNextion auszuführen - zumindest steht im DP unter 0_userdata immer noch 0/v3.3.1...

                    @danny_v1 said in SONOFF NSPanel mit Lovelace UI:

                    @l4rs Hast du nach dem Tasmota flashen das Dateisystem mal aufgeräumt, also alle Dateien gelöscht?

                    ja, ich hab das Panel, wie bei den anderen auch so vorbereitet, wie unter https://docs.nspanel.pky.eu/prepare_nspanel/ beschrieben...

                    D 1 Antwort Letzte Antwort
                    0
                    • L L4rs

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

                      FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.0.5.tft das ist die aktuelle TFT

                      danke Tom, allerdings scheint mein Panel überhaupt kein FlashNextion auszuführen - zumindest steht im DP unter 0_userdata immer noch 0/v3.3.1...

                      @danny_v1 said in SONOFF NSPanel mit Lovelace UI:

                      @l4rs Hast du nach dem Tasmota flashen das Dateisystem mal aufgeräumt, also alle Dateien gelöscht?

                      ja, ich hab das Panel, wie bei den anderen auch so vorbereitet, wie unter https://docs.nspanel.pky.eu/prepare_nspanel/ beschrieben...

                      D Offline
                      D Offline
                      danny_v1
                      schrieb am zuletzt editiert von
                      #3100

                      @l4rs

                      Machs mal so
                      https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#3-berry-treiber-installieren
                      und schauen das da auch nur die Dateien drauf sind wie im Bild.

                      L 1 Antwort Letzte Antwort
                      0
                      • D danny_v1

                        @l4rs

                        Machs mal so
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#3-berry-treiber-installieren
                        und schauen das da auch nur die Dateien drauf sind wie im Bild.

                        L Offline
                        L Offline
                        L4rs
                        schrieb am zuletzt editiert von
                        #3101

                        @danny_v1
                        Ich hab das Dateisystem noch mal aufgeräumt und nochmals ein FlashNextion versucht, allerdings ohne Erfolg. Es werden immer noch die "alten" Seiten angezeigt

                        T 1 Antwort Letzte Antwort
                        0
                        • L L4rs

                          @danny_v1
                          Ich hab das Dateisystem noch mal aufgeräumt und nochmals ein FlashNextion versucht, allerdings ohne Erfolg. Es werden immer noch die "alten" Seiten angezeigt

                          T Offline
                          T Offline
                          TT-Tom
                          schrieb am zuletzt editiert von
                          #3102

                          @l4rs sagte in SONOFF NSPanel mit Lovelace UI:

                          welche Meldungen bekommst du den in der Konsole, bite hier posten

                          Gruß Tom
                          https://github.com/tt-tom17
                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

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

                          NSPanel Adapter Wiki
                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                          L 1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            danny_v1
                            schrieb am zuletzt editiert von
                            #3103

                            Ich hab mal eine Frage zum Timer Pop-up, das erstellen des alias Datenpunkt Actual klappt bei mir nicht so wie im Wiki angegeben, da es die Rolle timestamp bei mir nicht gibt.

                            1 Antwort Letzte Antwort
                            0
                            • T TT-Tom

                              @l4rs sagte in SONOFF NSPanel mit Lovelace UI:

                              welche Meldungen bekommst du den in der Konsole, bite hier posten

                              L Offline
                              L Offline
                              L4rs
                              schrieb am zuletzt editiert von
                              #3104

                              @tt-tom Das sind nur drei Zeilen, wie auch schon oben


                              @l4rs said in SONOFF NSPanel mit Lovelace UI:

                              Die Console liefert zum flashen nur
                              09:22:58.921 CMD: FlashNextion http://nspanel.pky.eu/lui-release.tft
                              09:22:58.933 MQT: SmartHome/NSPanel_E7DDC4/stat/RESULT = {"FlashNextion":"Done"}
                              09:22:58.970 FLH: host: nspanel.pky.eu, port: 80, get: /lui-release.tft

                              geschrieben. Hier noch mal zur Verdeutlichung: Flash NSPanel.gif

                              T 1 Antwort Letzte Antwort
                              0
                              • L L4rs

                                @tt-tom Das sind nur drei Zeilen, wie auch schon oben


                                @l4rs said in SONOFF NSPanel mit Lovelace UI:

                                Die Console liefert zum flashen nur
                                09:22:58.921 CMD: FlashNextion http://nspanel.pky.eu/lui-release.tft
                                09:22:58.933 MQT: SmartHome/NSPanel_E7DDC4/stat/RESULT = {"FlashNextion":"Done"}
                                09:22:58.970 FLH: host: nspanel.pky.eu, port: 80, get: /lui-release.tft

                                geschrieben. Hier noch mal zur Verdeutlichung: Flash NSPanel.gif

                                T Offline
                                T Offline
                                TT-Tom
                                schrieb am zuletzt editiert von
                                #3105

                                @l4rs
                                Da gab es doch mal verschiedenen Varianten mit dem FlashNextion. Liegt hier Irgendwo zwischen den Posts.

                                Gruß Tom
                                https://github.com/tt-tom17
                                Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

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

                                NSPanel Adapter Wiki
                                https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                ArmilarA 1 Antwort Letzte Antwort
                                0
                                • T TT-Tom

                                  @l4rs
                                  Da gab es doch mal verschiedenen Varianten mit dem FlashNextion. Liegt hier Irgendwo zwischen den Posts.

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

                                  @tt-tom
                                  @L4rs

                                  https://forum.iobroker.net/post/960535 ich denke ihr meint diesen Post

                                  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.

                                  L 1 Antwort Letzte Antwort
                                  0
                                  • ArmilarA Armilar

                                    @tt-tom
                                    @L4rs

                                    https://forum.iobroker.net/post/960535 ich denke ihr meint diesen Post

                                    L Offline
                                    L Offline
                                    L4rs
                                    schrieb am zuletzt editiert von
                                    #3107

                                    @armilar , @TT-Tom Ah, das werde ich mal probieren - wird aber leider erst nächste Woche was. Dummerweise hatte ich meiner Frau ein langes Pfings-WE versprochen. :face_with_rolling_eyes:

                                    AtifanA 1 Antwort Letzte Antwort
                                    0
                                    • L L4rs

                                      @armilar , @TT-Tom Ah, das werde ich mal probieren - wird aber leider erst nächste Woche was. Dummerweise hatte ich meiner Frau ein langes Pfings-WE versprochen. :face_with_rolling_eyes:

                                      AtifanA Offline
                                      AtifanA Offline
                                      Atifan
                                      schrieb am zuletzt editiert von Atifan
                                      #3108

                                      Hi Leute ich suche im Script die Stelle wo man einstellen kann, wie lange eine Custom Seite aktiv sein soll, bzw. die Zeit bis wieder auf die Startseite (Uhrzeit mit Weatherforecast) umgestellt wird. Kann mir einer sagen wo ich das finde?
                                      Danke!

                                      Edit: hat sich erledigt, habs gefunden -> timeoutScreensaver

                                      1 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        PROcrastinator
                                        schrieb am zuletzt editiert von
                                        #3109

                                        @armilar Hallo Armilar, ich bin zurück aber leider nicht weiter. Nachdem mein ganzes Zigbee Netzwerk 3 Wochen ausgefallen war läuft jetzt alles wieder und der Graph hat was zum anzeigen. Leider zeigt er nicht den ganzen Tag an, sondern bringt die Achsen durcheinander:
                                        Panel1.jpg
                                        Oben der Graph aus Flot wie er sein sollte, unten was das Panel anzeigt. Das Panel "hinkt" etwa 9 Stunden hinterher und die eingestellten Werte der Y-Achse aus dem Skript werden auch ignoriert.
                                        Das Skript zum erstellen des Graph:

                                        const sourceDP = 'alias.0.NSPanel_1.Sensor_temp_gewächshaus.ACTUAL';
                                        const targetDP = '0_userdata.0.NSPanel.1.Charts.Temp_Gewächshaus';
                                        const numberOfHoursAgo = 24;   // Period of time in hours which shall be visualized 
                                        const xAxisTicksEveryM = 240;   // Time after x axis gets a tick in minutes
                                        const xAxisLabelEveryM = 240;  // Time after x axis is labeled in minutes
                                        const historyInstance = 'history.0';
                                        const date = new Date();
                                        const start_date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
                                        const end_date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
                                         
                                        
                                        const Debug = false;
                                        const maxX = 1420;
                                        const limitMeasurements = 35;
                                        
                                        createState(targetDP, "", {
                                                name: 'SensorGrid',
                                                desc: 'Sensor Values [~<time>:<value>]*',
                                                type: 'string',
                                                role: 'value',
                                        });
                                        
                                        on({id: sourceDP, change: "any"}, async function (obj) {
                                            sendTo(historyInstance, 'getHistory', {
                                                id: sourceDP,
                                                    options: {
                                                    start:    start_date, 
                                                    end:      end_date,
                                                    count:     limitMeasurements,
                                                    limit:     limitMeasurements,
                                                    aggregate: 'average'
                                                }
                                            }, function (result) {
                                                var ticksAndLabels = ""
                                                var coordinates = "";
                                                var cardLChartString = "";
                                        
                                                let ticksAndLabelsList = []
                                                var date = new Date();
                                                date.setMinutes(0, 0, 0);
                                                var ts = Math.round(date.getTime() / 1000);
                                                var tsYesterday = ts - (numberOfHoursAgo * 3600);
                                                
                                                for (var x = tsYesterday, i = 0; x < ts; x += (xAxisTicksEveryM * 60), i += xAxisTicksEveryM)
                                                {
                                                    if (i % xAxisLabelEveryM) 
                                                    {
                                                        ticksAndLabelsList.push(i);
                                                    } else 
                                                    {
                                                        var currentDate = new Date(x * 1000);
                                                        // Hours part from the timestamp
                                                        var hours = "0" + currentDate.getHours();
                                                        // Minutes part from the timestamp
                                                        var minutes = "0" + currentDate.getMinutes();
                                                        // Seconds part from the timestamp
                                                        var seconds = "0" + currentDate.getSeconds();
                                                        var formattedTime = hours.slice(-2) + ':' + minutes.slice(-2);
                                                        ticksAndLabelsList.push(String(i) + "^" + formattedTime);
                                                    }
                                                }
                                                ticksAndLabels = ticksAndLabelsList.join("+");        
                                        
                                                let list = [];
                                                let offSetTime = Math.round(result.result[0].ts / 1000);
                                                let counter = Math.round((result.result[result.result.length -1 ].ts / 1000 - offSetTime) / maxX);        
                                                for (var i = 0; i <  result.result.length; i++) 
                                                {           
                                                    var time = Math.round(((result.result[i].ts / 1000) - offSetTime) / counter);
                                                    var value = Math.round(result.result[i].val * 10);
                                                    if ((value != null) && (value != 0)){
                                                        list.push(time + ":" + value)
                                                    }
                                                }
                                        
                                                coordinates = list.join("~");
                                                cardLChartString = ticksAndLabels + '~' + coordinates
                                                setState(targetDP, cardLChartString, true);
                                                
                                                if (Debug) console.log(cardLChartString);
                                            });    
                                        });
                                        

                                        Der Datenpunkt der erstellt wird:

                                        0^14:00+240^18:00+480^22:00+720^02:00+960^06:00+1200^10:00~843:322~885:310~926:312~967:339~1008:332~1049:338~1090:326~1131:269~1173:248~1214:237~1255:228~1296:219~1337:214~1378:207~1419:203
                                        

                                        und mein Panel Skript

                                        let Temp_Gewaechshaus = <PageChart>
                                        {
                                            "type": "cardLChart",
                                            "heading": "Gewächshaus",
                                            "useColor": true,
                                            'items': [<PageItem>{ 
                                                        id: 'alias.0.NSPanel_1.Chart_temp_gewaechshaus',
                                                        yAxis: 'Temperatur [°C]',
                                                        yAxisTicks: [0,50,100,150,200,250,300,350,400],
                                                        onColor: Yellow
                                                     }]
                                        };
                                        

                                        Ich würde schätzen, dass die zusätzlichen Angaben im Skript (um Zeile 42?) zum Graph die neu eingefügte Zeitachse mit start_date und end_date überschreiben, aus jeden Fall übernimmt er aber auch nicht die Temperaturskala aus dem Panel-Skript.
                                        Leider verstehe ich den Code nur minimal.

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • P PROcrastinator

                                          @armilar Hallo Armilar, ich bin zurück aber leider nicht weiter. Nachdem mein ganzes Zigbee Netzwerk 3 Wochen ausgefallen war läuft jetzt alles wieder und der Graph hat was zum anzeigen. Leider zeigt er nicht den ganzen Tag an, sondern bringt die Achsen durcheinander:
                                          Panel1.jpg
                                          Oben der Graph aus Flot wie er sein sollte, unten was das Panel anzeigt. Das Panel "hinkt" etwa 9 Stunden hinterher und die eingestellten Werte der Y-Achse aus dem Skript werden auch ignoriert.
                                          Das Skript zum erstellen des Graph:

                                          const sourceDP = 'alias.0.NSPanel_1.Sensor_temp_gewächshaus.ACTUAL';
                                          const targetDP = '0_userdata.0.NSPanel.1.Charts.Temp_Gewächshaus';
                                          const numberOfHoursAgo = 24;   // Period of time in hours which shall be visualized 
                                          const xAxisTicksEveryM = 240;   // Time after x axis gets a tick in minutes
                                          const xAxisLabelEveryM = 240;  // Time after x axis is labeled in minutes
                                          const historyInstance = 'history.0';
                                          const date = new Date();
                                          const start_date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
                                          const end_date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
                                           
                                          
                                          const Debug = false;
                                          const maxX = 1420;
                                          const limitMeasurements = 35;
                                          
                                          createState(targetDP, "", {
                                                  name: 'SensorGrid',
                                                  desc: 'Sensor Values [~<time>:<value>]*',
                                                  type: 'string',
                                                  role: 'value',
                                          });
                                          
                                          on({id: sourceDP, change: "any"}, async function (obj) {
                                              sendTo(historyInstance, 'getHistory', {
                                                  id: sourceDP,
                                                      options: {
                                                      start:    start_date, 
                                                      end:      end_date,
                                                      count:     limitMeasurements,
                                                      limit:     limitMeasurements,
                                                      aggregate: 'average'
                                                  }
                                              }, function (result) {
                                                  var ticksAndLabels = ""
                                                  var coordinates = "";
                                                  var cardLChartString = "";
                                          
                                                  let ticksAndLabelsList = []
                                                  var date = new Date();
                                                  date.setMinutes(0, 0, 0);
                                                  var ts = Math.round(date.getTime() / 1000);
                                                  var tsYesterday = ts - (numberOfHoursAgo * 3600);
                                                  
                                                  for (var x = tsYesterday, i = 0; x < ts; x += (xAxisTicksEveryM * 60), i += xAxisTicksEveryM)
                                                  {
                                                      if (i % xAxisLabelEveryM) 
                                                      {
                                                          ticksAndLabelsList.push(i);
                                                      } else 
                                                      {
                                                          var currentDate = new Date(x * 1000);
                                                          // Hours part from the timestamp
                                                          var hours = "0" + currentDate.getHours();
                                                          // Minutes part from the timestamp
                                                          var minutes = "0" + currentDate.getMinutes();
                                                          // Seconds part from the timestamp
                                                          var seconds = "0" + currentDate.getSeconds();
                                                          var formattedTime = hours.slice(-2) + ':' + minutes.slice(-2);
                                                          ticksAndLabelsList.push(String(i) + "^" + formattedTime);
                                                      }
                                                  }
                                                  ticksAndLabels = ticksAndLabelsList.join("+");        
                                          
                                                  let list = [];
                                                  let offSetTime = Math.round(result.result[0].ts / 1000);
                                                  let counter = Math.round((result.result[result.result.length -1 ].ts / 1000 - offSetTime) / maxX);        
                                                  for (var i = 0; i <  result.result.length; i++) 
                                                  {           
                                                      var time = Math.round(((result.result[i].ts / 1000) - offSetTime) / counter);
                                                      var value = Math.round(result.result[i].val * 10);
                                                      if ((value != null) && (value != 0)){
                                                          list.push(time + ":" + value)
                                                      }
                                                  }
                                          
                                                  coordinates = list.join("~");
                                                  cardLChartString = ticksAndLabels + '~' + coordinates
                                                  setState(targetDP, cardLChartString, true);
                                                  
                                                  if (Debug) console.log(cardLChartString);
                                              });    
                                          });
                                          

                                          Der Datenpunkt der erstellt wird:

                                          0^14:00+240^18:00+480^22:00+720^02:00+960^06:00+1200^10:00~843:322~885:310~926:312~967:339~1008:332~1049:338~1090:326~1131:269~1173:248~1214:237~1255:228~1296:219~1337:214~1378:207~1419:203
                                          

                                          und mein Panel Skript

                                          let Temp_Gewaechshaus = <PageChart>
                                          {
                                              "type": "cardLChart",
                                              "heading": "Gewächshaus",
                                              "useColor": true,
                                              'items': [<PageItem>{ 
                                                          id: 'alias.0.NSPanel_1.Chart_temp_gewaechshaus',
                                                          yAxis: 'Temperatur [°C]',
                                                          yAxisTicks: [0,50,100,150,200,250,300,350,400],
                                                          onColor: Yellow
                                                       }]
                                          };
                                          

                                          Ich würde schätzen, dass die zusätzlichen Angaben im Skript (um Zeile 42?) zum Graph die neu eingefügte Zeitachse mit start_date und end_date überschreiben, aus jeden Fall übernimmt er aber auch nicht die Temperaturskala aus dem Panel-Skript.
                                          Leider verstehe ich den Code nur minimal.

                                          T Offline
                                          T Offline
                                          TT-Tom
                                          schrieb am zuletzt editiert von
                                          #3110

                                          @procrastinator

                                          das Problem ist du liest die Daten aus der Datenbank von 0:00 bis 23:59 aus, die X-achse wird aber von jetzt 24h zurück berechnet. Damit hast du nur um 23:59 den kompletten Graph. Man müsste das Script statisch anpassen. (auf ein Tag )

                                          Gruß Tom
                                          https://github.com/tt-tom17
                                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

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

                                          NSPanel Adapter Wiki
                                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                          P 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

                                          859

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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