Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Frage zu einem Script und dem genutzten Datenpunkt

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    15
    1
    215

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Frage zu einem Script und dem genutzten Datenpunkt

Scheduled Pinned Locked Moved JavaScript
37 Posts 5 Posters 3.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • O opöl

    @codierknecht,
    eigentlich bin ich ein Freund von Excel und hatte die Hoffnung, dass man iobroker dazu überreden könnte, Kommata zu verwenden. Naja, ist ja erst einmal nur zur manuellen Kontrolle der Werte. Ich schaue mal, was sich da so anbietet.

    @ticaki und @paul53 ,
    ich hatte mal gelesen, dass Variablen außerhalb einer Funktion nicht mehr aktuell sind bzw. sein können. Wenn ich die Variable direkt weiter verwerten kann, probiere ich es ohne die beiden Zeilen.

    Vielen Dank für die Tipps bisher. Die werden so umgesetzt.

    Hat jemand eine Idee zu der 1. Frage?
    Die neuen Werte verschwinden nach 30-40 Sekunden wieder.

    Danke und Gruß

    T Do not disturb
    T Do not disturb
    ticaki
    wrote on last edited by ticaki
    #10

    @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

    @ticaki und @paul53 ,
    ich hatte mal gelesen, dass Variablen außerhalb einer Funktion nicht mehr aktuell sind bzw. sein können. Wenn ich die Variable direkt weiter verwerten kann, probiere ich es ohne die beiden Zeilen.

    Aber das ist doch alles nur 1 Funktion? Zu deiner Frage muß ich nochmal schauen ob ich was überlesen habe.

    EDIT: In dem Code gibt es keinen Grund warum der Wert auf 0 gesetzt werden sollte.

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    O 1 Reply Last reply
    0
    • T ticaki

      @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

      @ticaki und @paul53 ,
      ich hatte mal gelesen, dass Variablen außerhalb einer Funktion nicht mehr aktuell sind bzw. sein können. Wenn ich die Variable direkt weiter verwerten kann, probiere ich es ohne die beiden Zeilen.

      Aber das ist doch alles nur 1 Funktion? Zu deiner Frage muß ich nochmal schauen ob ich was überlesen habe.

      EDIT: In dem Code gibt es keinen Grund warum der Wert auf 0 gesetzt werden sollte.

      O Offline
      O Offline
      opöl
      wrote on last edited by
      #11

      @ticaki,
      der Wert wird standardmäßig auf „0“ gesetzt und im Falle der Einspeisung durch den errechneten Wert ersetzt.

      In meinem Fall gibt es tatsächlich einen namenlosen Ordner in den Objekten unterhalb „Sensor“. Wie der dahin kommt, ist mir auch schleierhaft. Daher die beiden „..“. Steht ganz oben im Kommentar meines Scripts.

      Gruß

      CodierknechtC T 3 Replies Last reply
      0
      • O opöl

        @ticaki,
        der Wert wird standardmäßig auf „0“ gesetzt und im Falle der Einspeisung durch den errechneten Wert ersetzt.

        In meinem Fall gibt es tatsächlich einen namenlosen Ordner in den Objekten unterhalb „Sensor“. Wie der dahin kommt, ist mir auch schleierhaft. Daher die beiden „..“. Steht ganz oben im Kommentar meines Scripts.

        Gruß

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        wrote on last edited by
        #12

        @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

        der Wert wird standardmäßig auf „0“ gesetzt und im Falle der Einspeisung durch den errechneten Wert ersetzt.

        Und dann in Zeile 14 weggeschrieben.
        Dann braucht man den in Zeile 19 ja nicht wieder einzulesen.
        In einspeisung steht ja dann noch immer der gleiche Wert.

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        O 1 Reply Last reply
        1
        • CodierknechtC Codierknecht

          @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

          der Wert wird standardmäßig auf „0“ gesetzt und im Falle der Einspeisung durch den errechneten Wert ersetzt.

          Und dann in Zeile 14 weggeschrieben.
          Dann braucht man den in Zeile 19 ja nicht wieder einzulesen.
          In einspeisung steht ja dann noch immer der gleiche Wert.

          O Offline
          O Offline
          opöl
          wrote on last edited by
          #13

          @codierknecht ,

          habe ich verstanden und umgesetzt.

          Danke

          1 Reply Last reply
          0
          • O opöl

            @ticaki,
            der Wert wird standardmäßig auf „0“ gesetzt und im Falle der Einspeisung durch den errechneten Wert ersetzt.

            In meinem Fall gibt es tatsächlich einen namenlosen Ordner in den Objekten unterhalb „Sensor“. Wie der dahin kommt, ist mir auch schleierhaft. Daher die beiden „..“. Steht ganz oben im Kommentar meines Scripts.

            Gruß

            T Do not disturb
            T Do not disturb
            ticaki
            wrote on last edited by
            #14

            @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

            @ticaki,
            der Wert wird standardmäßig auf „0“ gesetzt und im Falle der Einspeisung durch den errechneten Wert ersetzt.

            Ich meinte damit:

            Neu geschriebene Werte (energie_neu) werden im iobroker kurz angezeigt, verschwinden aber wieder.

            werte verschwinden nicht. Daher bin ich davon ausgegangen das irgendwas die überschreibt.

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            O 1 Reply Last reply
            0
            • T ticaki

              @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

              @ticaki,
              der Wert wird standardmäßig auf „0“ gesetzt und im Falle der Einspeisung durch den errechneten Wert ersetzt.

              Ich meinte damit:

              Neu geschriebene Werte (energie_neu) werden im iobroker kurz angezeigt, verschwinden aber wieder.

              werte verschwinden nicht. Daher bin ich davon ausgegangen das irgendwas die überschreibt.

              O Offline
              O Offline
              opöl
              wrote on last edited by
              #15

              @ticaki ,
              ich habe es gerade noch einmal überprüft.
              Ein neuer Eintrag (der alte Wert, da ja im Moment keine Einspeisung erfolgt) wird im Datenpunkt „0_userdata.0.Einspeisung.PV-Einspeisung-Power“ für < 1 Minute angezeigt, verschwindet aber dann. Dann wird der neue Wert genau so lange angezeigt, bis auch der „verschwindet“. Die alten Werte aus der Testphase bleiben erhalten. Auch der Datenexport zeigt ein identisches Ergebnis.

              Wenn ein anderes Script den DP überschreiben würde, wäre doch unter dem Zeitstempel etwas abgelegt?
              Adapter schreiben doch in dem Bereich eh nicht?

              Ich gehe morgen nochmal meine Scripte durch.
              Vielleicht ist ja auch was quer mit einem Alias?

              Gruß

              O 1 Reply Last reply
              0
              • O opöl

                @ticaki ,
                ich habe es gerade noch einmal überprüft.
                Ein neuer Eintrag (der alte Wert, da ja im Moment keine Einspeisung erfolgt) wird im Datenpunkt „0_userdata.0.Einspeisung.PV-Einspeisung-Power“ für < 1 Minute angezeigt, verschwindet aber dann. Dann wird der neue Wert genau so lange angezeigt, bis auch der „verschwindet“. Die alten Werte aus der Testphase bleiben erhalten. Auch der Datenexport zeigt ein identisches Ergebnis.

                Wenn ein anderes Script den DP überschreiben würde, wäre doch unter dem Zeitstempel etwas abgelegt?
                Adapter schreiben doch in dem Bereich eh nicht?

                Ich gehe morgen nochmal meine Scripte durch.
                Vielleicht ist ja auch was quer mit einem Alias?

                Gruß

                O Offline
                O Offline
                opöl
                wrote on last edited by
                #16

                Kurzes Update:
                Einer Eingebung folgend, habe ich meiner Windows Erfahrung geschuldet mal den Raspberry neu gestartet.
                Nach einem kurzen Moment der Freude, weil der Wert von 22:26 Uhr erhalten blieb, folgte prompt die Ernüchterung.
                Die nachfolgend geschriebenen Werte verschwinden wieder…..

                Gruß

                T 1 Reply Last reply
                0
                • O opöl

                  Kurzes Update:
                  Einer Eingebung folgend, habe ich meiner Windows Erfahrung geschuldet mal den Raspberry neu gestartet.
                  Nach einem kurzen Moment der Freude, weil der Wert von 22:26 Uhr erhalten blieb, folgte prompt die Ernüchterung.
                  Die nachfolgend geschriebenen Werte verschwinden wieder…..

                  Gruß

                  T Do not disturb
                  T Do not disturb
                  ticaki
                  wrote on last edited by
                  #17

                  @opöl

                  verwende einen on() auf den datenpunkt und lass dir obj.state.from ins log schreiben.

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  1 Reply Last reply
                  0
                  • O opöl

                    @ticaki,
                    der Wert wird standardmäßig auf „0“ gesetzt und im Falle der Einspeisung durch den errechneten Wert ersetzt.

                    In meinem Fall gibt es tatsächlich einen namenlosen Ordner in den Objekten unterhalb „Sensor“. Wie der dahin kommt, ist mir auch schleierhaft. Daher die beiden „..“. Steht ganz oben im Kommentar meines Scripts.

                    Gruß

                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    wrote on last edited by
                    #18

                    @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

                    In meinem Fall gibt es tatsächlich einen namenlosen Ordner in den Objekten unterhalb „Sensor“. Wie der dahin kommt, ist mir auch schleierhaft. Daher die beiden „..“. Steht ganz oben im Kommentar meines Scripts.

                    Der "Geister-Ordner" wird möglicherweise gar nicht existieren, wenn der DP mit genau diesem Tippfehler per Script erzeugt wurde.
                    Das solltest Du noch korrigieren und eine saubere Struktur erzeugen.
                    Früher oder später könnte (wird) Dir sowas auf die Füße fallen.
                    Ich zitiere mal Brian W. Kernighan: “Don’t comment bad code—rewrite it.”
                    Spart dann übrigens auch eine Zeile Code ... #2

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    O 1 Reply Last reply
                    0
                    • CodierknechtC Codierknecht

                      @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

                      In meinem Fall gibt es tatsächlich einen namenlosen Ordner in den Objekten unterhalb „Sensor“. Wie der dahin kommt, ist mir auch schleierhaft. Daher die beiden „..“. Steht ganz oben im Kommentar meines Scripts.

                      Der "Geister-Ordner" wird möglicherweise gar nicht existieren, wenn der DP mit genau diesem Tippfehler per Script erzeugt wurde.
                      Das solltest Du noch korrigieren und eine saubere Struktur erzeugen.
                      Früher oder später könnte (wird) Dir sowas auf die Füße fallen.
                      Ich zitiere mal Brian W. Kernighan: “Don’t comment bad code—rewrite it.”
                      Spart dann übrigens auch eine Zeile Code ... #2

                      O Offline
                      O Offline
                      opöl
                      wrote on last edited by
                      #19

                      @codierknecht ,
                      der „Geisterordner“ sonoff.0.Stromzähler.SENSOR..Power wurde nicht manuell sondern vom Sonoff Adapter angelegt. Bis ich mit dem Script begonnen habe, ist mir das garnicht aufgefallen.

                      @ticaki ,
                      leider muss ich zugeben, dass ich die ersten Gehversuche mit Java Scripts mache. Wärst Du so freundlich, mir das mit dem Log Eintrag in die Feder zu diktieren?

                      T 1 Reply Last reply
                      0
                      • O opöl

                        @codierknecht ,
                        der „Geisterordner“ sonoff.0.Stromzähler.SENSOR..Power wurde nicht manuell sondern vom Sonoff Adapter angelegt. Bis ich mit dem Script begonnen habe, ist mir das garnicht aufgefallen.

                        @ticaki ,
                        leider muss ich zugeben, dass ich die ersten Gehversuche mit Java Scripts mache. Wärst Du so freundlich, mir das mit dem Log Eintrag in die Feder zu diktieren?

                        T Do not disturb
                        T Do not disturb
                        ticaki
                        wrote on last edited by
                        #20

                        @opöl

                        die id mußte selbst eintragen.

                        on('sonoff.0.Stromzähler.SENSOR..Power', function (obj) {
                            log(obj.state.from);
                        }); 
                         
                        

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        O 1 Reply Last reply
                        0
                        • T ticaki

                          @opöl

                          die id mußte selbst eintragen.

                          on('sonoff.0.Stromzähler.SENSOR..Power', function (obj) {
                              log(obj.state.from);
                          }); 
                           
                          
                          O Offline
                          O Offline
                          opöl
                          wrote on last edited by
                          #21

                          @ticaki ,

                          ich habe mal Deinen Tipp umgesetzt. PV-Einspeisung-Power ist ja der Datenpunkt, um den es hier geht. Das Script sieht dann so aus:

                          // Abonniere den Datenpunkt, der die Gesamtleistung misst
                          //Zwischen Sensor und Power liegt noch ein Ordner ohne Name. Daher die 2 ".."
                          on('sonoff.0.Stromzähler.SENSOR..Power', function (obj) {
                              var einspeisung = 0; // Standardwert für die Einspeisung ist 0
                              var gesamtleistung = obj.state.val; // Aktueller Wert der Gesamtleistung
                          
                              // Wenn die Gesamtleistung negativ ist, wird ins Netz eingespeist
                             if (gesamtleistung < 0) {
                                 einspeisung = Math.abs(gesamtleistung); // Einspeisung ist der Betrag der negativen Gesamtleistung
                              }
                          
                          // Schreibe den Wert in den neuen Datenpunkt "Einspeisung"
                          // setState('sonoff.0.Stromzähler.SENSOR.Einspeisung', einspeisung);
                              setState('0_userdata.0.Einspeisung.PV-Einspeisung', einspeisung, true);
                          
                          // Eingespeiste Leistung / Energie berechnen Einheit: Wm (Wattminuten), da 1 Wert / Minute
                          // Hole aktuelle Einspeisung in (W)
                          //const ideinspeisung = '0_userdata.0.Einspeisung.PV-Einspeisung';
                          //var einspeisung = getState(ideinspeisung).val;
                          
                          // Hole alten Zählerstand (Wm)
                          const idenergie = '0_userdata.0.Einspeisung.PV-Einspeisung-Power';
                          var energie = getState(idenergie).val;
                          // Addiere aktuelle Leistung (W * 1 Minute) zur alten eingespeisten Energie (Wm) und schreibe Wert
                          //var energie_neu = 0;
                          var energie_neu = energie + einspeisung;
                              setState('0_userdata.0.Einspeisung.PV-Einspeisung-Power', energie_neu, true);
                          }); 
                          
                          on('0_userdata.0.Einspeisung.PV-Einspeisung-Power', function (obj) {
                              log(obj.state.from);
                          }); 
                          

                          Im Log finde ich alle paar Minuten dieses:

                          javascript.0
                          2023-12-18 20:45:00.468	info	script.js.common.Zählerauswertung.Einspeisung_Zähler: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                          

                          @Codierknecht ,

                          so sehen die Datenpunkte unterhalb Sonoff aus:
                          e1eae752-0a7b-4608-8d51-47f4225c66a1-image.png

                          Du siehst den unbenannten Ordner, der automatisch angelegt wurde, Daher die beiden ".." in meinem Script.

                          Und jetzt @all. Der Knaller:
                          Seit gerade werden die unter 0_userdata.0.Einspeisung.PV-Einspeisung-Power geschriebenen Werte im iobroker dauerhaft angezeigt:
                          16be7319-2d33-4eeb-a84a-01e52dee23e5-image.png

                          Was habe ich gemacht?

                          Den Alias dieses Wertes (Einspeisung-Zählerstand) habe ich mal testweise auf einen kürzeren Namen umgestellt. Grund dafür war, dass auf der Kommandozeile des Raspberry im influx Client ein "select * from Einspeisung-Zählerstand" einen Fehler hervorruft.
                          Der influx Client stolpert offensichtlich über den Bindestrich.

                          Interessanterweise kommt der influx Client Fehler aber auch bei einem "select * from Strom-Zählerstand", also dem Alias des physischen Stromzählers. Der wiederum verhält sich im iobroker völlig normal. Das konnte also nicht der Grund sein, warum die Werte des Einspeisung-Zählerstands im iobroker "verschwinden.

                          Also habe ich den Alias wieder auf den alten Namen "Einspeisung-Zählerstand" geändert und seitdem bleiben die geschriebenen Werte erhalten.

                          Ich kann jetzt nur vermuten, aber es sieht so aus, als ob beim erstmaligen Einrichten des Alias etwas schief gegangen ist.

                          Lesson learned:
                          Keine zu langen Aliase und keine Sonderzeichen benutzen, sonst hat der influx Client Probleme bei der Abfrage der Werte.

                          2nd Lesson learned:
                          Ich werde das Script noch um das Speichern des Eigenverbrauchs erweitern. Das errechnen des Eigenverbrauchs mittels Math in Grafana erscheint nicht zielführend:

                          3af7ca93-b84a-4982-a74c-fd7859614e75-image.png

                          Aber vielleicht hat dazu ja auch noch jemand eine Idee.

                          Vielen Dank für die Anregungen und Eure Unterstützung.
                          Und Sorry für den geringen Ertrag heute ;)

                          Gruß
                          Horst

                          CodierknechtC 1 Reply Last reply
                          0
                          • T Offline
                            T Offline
                            TT-Tom
                            wrote on last edited by
                            #22

                            @opöl

                            Ich habe da einen Verdacht zu deinem Ordner ohne Namen. Im Lesekopf ist doch ein Script, was dir die Werte ausliest. Kannst du das mal zeigen, eventuell liegt da ein Fehler drin.

                            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

                            1 Reply Last reply
                            0
                            • O opöl

                              @ticaki ,

                              ich habe mal Deinen Tipp umgesetzt. PV-Einspeisung-Power ist ja der Datenpunkt, um den es hier geht. Das Script sieht dann so aus:

                              // Abonniere den Datenpunkt, der die Gesamtleistung misst
                              //Zwischen Sensor und Power liegt noch ein Ordner ohne Name. Daher die 2 ".."
                              on('sonoff.0.Stromzähler.SENSOR..Power', function (obj) {
                                  var einspeisung = 0; // Standardwert für die Einspeisung ist 0
                                  var gesamtleistung = obj.state.val; // Aktueller Wert der Gesamtleistung
                              
                                  // Wenn die Gesamtleistung negativ ist, wird ins Netz eingespeist
                                 if (gesamtleistung < 0) {
                                     einspeisung = Math.abs(gesamtleistung); // Einspeisung ist der Betrag der negativen Gesamtleistung
                                  }
                              
                              // Schreibe den Wert in den neuen Datenpunkt "Einspeisung"
                              // setState('sonoff.0.Stromzähler.SENSOR.Einspeisung', einspeisung);
                                  setState('0_userdata.0.Einspeisung.PV-Einspeisung', einspeisung, true);
                              
                              // Eingespeiste Leistung / Energie berechnen Einheit: Wm (Wattminuten), da 1 Wert / Minute
                              // Hole aktuelle Einspeisung in (W)
                              //const ideinspeisung = '0_userdata.0.Einspeisung.PV-Einspeisung';
                              //var einspeisung = getState(ideinspeisung).val;
                              
                              // Hole alten Zählerstand (Wm)
                              const idenergie = '0_userdata.0.Einspeisung.PV-Einspeisung-Power';
                              var energie = getState(idenergie).val;
                              // Addiere aktuelle Leistung (W * 1 Minute) zur alten eingespeisten Energie (Wm) und schreibe Wert
                              //var energie_neu = 0;
                              var energie_neu = energie + einspeisung;
                                  setState('0_userdata.0.Einspeisung.PV-Einspeisung-Power', energie_neu, true);
                              }); 
                              
                              on('0_userdata.0.Einspeisung.PV-Einspeisung-Power', function (obj) {
                                  log(obj.state.from);
                              }); 
                              

                              Im Log finde ich alle paar Minuten dieses:

                              javascript.0
                              2023-12-18 20:45:00.468	info	script.js.common.Zählerauswertung.Einspeisung_Zähler: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              

                              @Codierknecht ,

                              so sehen die Datenpunkte unterhalb Sonoff aus:
                              e1eae752-0a7b-4608-8d51-47f4225c66a1-image.png

                              Du siehst den unbenannten Ordner, der automatisch angelegt wurde, Daher die beiden ".." in meinem Script.

                              Und jetzt @all. Der Knaller:
                              Seit gerade werden die unter 0_userdata.0.Einspeisung.PV-Einspeisung-Power geschriebenen Werte im iobroker dauerhaft angezeigt:
                              16be7319-2d33-4eeb-a84a-01e52dee23e5-image.png

                              Was habe ich gemacht?

                              Den Alias dieses Wertes (Einspeisung-Zählerstand) habe ich mal testweise auf einen kürzeren Namen umgestellt. Grund dafür war, dass auf der Kommandozeile des Raspberry im influx Client ein "select * from Einspeisung-Zählerstand" einen Fehler hervorruft.
                              Der influx Client stolpert offensichtlich über den Bindestrich.

                              Interessanterweise kommt der influx Client Fehler aber auch bei einem "select * from Strom-Zählerstand", also dem Alias des physischen Stromzählers. Der wiederum verhält sich im iobroker völlig normal. Das konnte also nicht der Grund sein, warum die Werte des Einspeisung-Zählerstands im iobroker "verschwinden.

                              Also habe ich den Alias wieder auf den alten Namen "Einspeisung-Zählerstand" geändert und seitdem bleiben die geschriebenen Werte erhalten.

                              Ich kann jetzt nur vermuten, aber es sieht so aus, als ob beim erstmaligen Einrichten des Alias etwas schief gegangen ist.

                              Lesson learned:
                              Keine zu langen Aliase und keine Sonderzeichen benutzen, sonst hat der influx Client Probleme bei der Abfrage der Werte.

                              2nd Lesson learned:
                              Ich werde das Script noch um das Speichern des Eigenverbrauchs erweitern. Das errechnen des Eigenverbrauchs mittels Math in Grafana erscheint nicht zielführend:

                              3af7ca93-b84a-4982-a74c-fd7859614e75-image.png

                              Aber vielleicht hat dazu ja auch noch jemand eine Idee.

                              Vielen Dank für die Anregungen und Eure Unterstützung.
                              Und Sorry für den geringen Ertrag heute ;)

                              Gruß
                              Horst

                              CodierknechtC Offline
                              CodierknechtC Offline
                              Codierknecht
                              Developer Most Active
                              wrote on last edited by
                              #23

                              @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

                              Lesson learned:
                              Keine zu langen Aliase und keine Sonderzeichen benutzen, sonst hat der influx Client Probleme bei der Abfrage der Werte.

                              Sonderzeichen sind NIE eine gute Idee. Nicht für Datenpunkt-ID's, nicht für Variablen und auch nicht für Funktionsnamen ... oder andere Dinge.

                              @tt-tom sagte in Frage zu einem Script und dem genutzten Datenpunkt:

                              Ich habe da einen Verdacht zu deinem Ordner ohne Namen. Im Lesekopf ist doch ein Script, was dir die Werte ausliest. Kannst du das mal zeigen, eventuell liegt da ein Fehler drin.

                              Entweder das, oder die Konfiguration für die MQTT-Topics hängt schief.

                              @opöl
                              Zeig mal Dein SML-Script und die MQTT-Konfiguration des Zählers.

                              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                              HmIP|ZigBee|Tasmota|Unifi
                              Zabbix Certified Specialist
                              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                              O 1 Reply Last reply
                              0
                              • CodierknechtC Codierknecht

                                @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

                                Lesson learned:
                                Keine zu langen Aliase und keine Sonderzeichen benutzen, sonst hat der influx Client Probleme bei der Abfrage der Werte.

                                Sonderzeichen sind NIE eine gute Idee. Nicht für Datenpunkt-ID's, nicht für Variablen und auch nicht für Funktionsnamen ... oder andere Dinge.

                                @tt-tom sagte in Frage zu einem Script und dem genutzten Datenpunkt:

                                Ich habe da einen Verdacht zu deinem Ordner ohne Namen. Im Lesekopf ist doch ein Script, was dir die Werte ausliest. Kannst du das mal zeigen, eventuell liegt da ein Fehler drin.

                                Entweder das, oder die Konfiguration für die MQTT-Topics hängt schief.

                                @opöl
                                Zeig mal Dein SML-Script und die MQTT-Konfiguration des Zählers.

                                O Offline
                                O Offline
                                opöl
                                wrote on last edited by
                                #24

                                @codierknecht,
                                Bitteschön:

                                
                                >D
                                >B
                                =>sensor53 r
                                >M 1
                                +1,3,s,16,9600,
                                1,77070100010800ff@1000,Zählerstand,kWh,Counter,2
                                1,=h<hr/>
                                1,77070100240700ff@1,Leistung_L1,W,Watt_L1,2
                                1,77070100380700ff@1,Leistung_L2,W,Watt_L2,2
                                1,770701004c0700ff@1,Leistung_L3,W,Watt_L3,2
                                1,=h<hr/>
                                1,77070100100700ff@1,Gesamtleistung,W,Power,2
                                1,=h<hr/>
                                # 1,77070100020800ff@1000,Netzeinspeisung,Watt,Einspeisung,0
                                #
                                
                                

                                Die letzte Zeile war ein Test, die Einspeisung zu erfassen, das gibt der Zähler aber wohl nicht her.

                                Und die MQTT Konfig:

                                3ce9dd4d-e85a-4e35-84ec-f760e3a5f797-image.png

                                T 1 Reply Last reply
                                0
                                • O opöl

                                  @codierknecht,
                                  Bitteschön:

                                  
                                  >D
                                  >B
                                  =>sensor53 r
                                  >M 1
                                  +1,3,s,16,9600,
                                  1,77070100010800ff@1000,Zählerstand,kWh,Counter,2
                                  1,=h<hr/>
                                  1,77070100240700ff@1,Leistung_L1,W,Watt_L1,2
                                  1,77070100380700ff@1,Leistung_L2,W,Watt_L2,2
                                  1,770701004c0700ff@1,Leistung_L3,W,Watt_L3,2
                                  1,=h<hr/>
                                  1,77070100100700ff@1,Gesamtleistung,W,Power,2
                                  1,=h<hr/>
                                  # 1,77070100020800ff@1000,Netzeinspeisung,Watt,Einspeisung,0
                                  #
                                  
                                  

                                  Die letzte Zeile war ein Test, die Einspeisung zu erfassen, das gibt der Zähler aber wohl nicht her.

                                  Und die MQTT Konfig:

                                  3ce9dd4d-e85a-4e35-84ec-f760e3a5f797-image.png

                                  T Offline
                                  T Offline
                                  TT-Tom
                                  wrote on last edited by
                                  #25

                                  @opöl
                                  Der Fehler liegt im SML Script. In Zeile 6 muss hinter der 9600 ein Text z.B. Deye600

                                  +1,3,s,16,9600,Deye600
                                  

                                  Weitere Infos findest Du hier

                                  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

                                  O 1 Reply Last reply
                                  0
                                  • T TT-Tom

                                    @opöl
                                    Der Fehler liegt im SML Script. In Zeile 6 muss hinter der 9600 ein Text z.B. Deye600

                                    +1,3,s,16,9600,Deye600
                                    

                                    Weitere Infos findest Du hier

                                    O Offline
                                    O Offline
                                    opöl
                                    wrote on last edited by
                                    #26

                                    @tt-tom ,
                                    habe ich gemacht. Ist aber m.E. nicht zwingend nötig.
                                    Die Daten sind bisher zuverlässig angekommen und auf den unbenamsten Ordner hat das bisher auch keinen Einfluss.
                                    Trotzdem Danke für den Hinweis.

                                    Gruß

                                    T 1 Reply Last reply
                                    0
                                    • O opöl

                                      @tt-tom ,
                                      habe ich gemacht. Ist aber m.E. nicht zwingend nötig.
                                      Die Daten sind bisher zuverlässig angekommen und auf den unbenamsten Ordner hat das bisher auch keinen Einfluss.
                                      Trotzdem Danke für den Hinweis.

                                      Gruß

                                      T Do not disturb
                                      T Do not disturb
                                      ticaki
                                      wrote on last edited by
                                      #27

                                      @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

                                      @tt-tom ,
                                      habe ich gemacht. Ist aber m.E. nicht zwingend nötig.
                                      Die Daten sind bisher zuverlässig angekommen und auf den unbenamsten Ordner hat das bisher auch keinen Einfluss.
                                      Trotzdem Danke für den Hinweis.

                                      Gruß

                                      Das macht keine Probleme bis es dann welche macht :)

                                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                      Spenden

                                      O 1 Reply Last reply
                                      1
                                      • T ticaki

                                        @opöl sagte in Frage zu einem Script und dem genutzten Datenpunkt:

                                        @tt-tom ,
                                        habe ich gemacht. Ist aber m.E. nicht zwingend nötig.
                                        Die Daten sind bisher zuverlässig angekommen und auf den unbenamsten Ordner hat das bisher auch keinen Einfluss.
                                        Trotzdem Danke für den Hinweis.

                                        Gruß

                                        Das macht keine Probleme bis es dann welche macht :)

                                        O Offline
                                        O Offline
                                        opöl
                                        wrote on last edited by
                                        #28

                                        @ticaki ,
                                        da hast Du sicher mehr Erfahrung als ich. Ich bin ja quasi noch Lehrling und nehme solche Tipps gerne an.

                                        Da wir gerade davon sprechen:
                                        Wenn die Namen der Datenpunkte, oder die Ordnerstruktur geändert werden, sind die gesammelten Daten doch sicher weg? Oder kann man den Zugang zu den historischen Daten über den Alias im iobroker sicherstellen?

                                        Ich mache es mal konkret:
                                        Angenommen, ich habe einen Datenpunkt „Diäten?pünkt“ mit dem Alias „Strom“ im iobroker und benenne den in „Datenpunkt“ mit gleichem Alias „Strom“ um, komme ich mit Grafana noch an die alten Daten und kann die Grafen lückenlos fortschreiben?

                                        Gruß

                                        T 1 Reply Last reply
                                        0
                                        • O opöl

                                          @ticaki ,
                                          da hast Du sicher mehr Erfahrung als ich. Ich bin ja quasi noch Lehrling und nehme solche Tipps gerne an.

                                          Da wir gerade davon sprechen:
                                          Wenn die Namen der Datenpunkte, oder die Ordnerstruktur geändert werden, sind die gesammelten Daten doch sicher weg? Oder kann man den Zugang zu den historischen Daten über den Alias im iobroker sicherstellen?

                                          Ich mache es mal konkret:
                                          Angenommen, ich habe einen Datenpunkt „Diäten?pünkt“ mit dem Alias „Strom“ im iobroker und benenne den in „Datenpunkt“ mit gleichem Alias „Strom“ um, komme ich mit Grafana noch an die alten Daten und kann die Grafen lückenlos fortschreiben?

                                          Gruß

                                          T Do not disturb
                                          T Do not disturb
                                          ticaki
                                          wrote on last edited by ticaki
                                          #29

                                          @opöl

                                          Verstehe die Frage nicht wirklich. Datenpunkte dürfen A-Za-z0-9_- enthalten der . ist als Pfadtrennzeichen reserviert. Alles andere kann in speziellen Fällen zu Problemen führen.

                                          Der influxDB Adapter löscht keine Daten, wenn du also Datenpunkte umgenennst, bleiben die alten Daten erhalten.

                                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                          Spenden

                                          O 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          571

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe