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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter "smartmeter"

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

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

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

Adapter "smartmeter"

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
3.6k Beiträge 280 Kommentatoren 2.4m Aufrufe 161 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.
  • apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #114

    0.2.5 auf GitHub … ich hab mal das Speichermanagement vereinfacht an einer Stelle ... wenn es immer noch passiert muss ich weiter schauen 🙂

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      simpixo
      schrieb am zuletzt editiert von
      #115

      @apollon77:

      0.2.5 auf GitHub … ich hab mal das Speichermanagement vereinfacht an einer Stelle ... wenn es immer noch passiert muss ich weiter schauen 🙂 `

      Hab den Adapter aktualisiert und werde jetzt beobachten! Werde denke ich morgen schon mehr wissen

      Gruß

      Adrian

      Gesendet von iPad mit Tapatalk Pro

      1 Antwort Letzte Antwort
      0
      • apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #116

        Ich hatte wieder SIGABRTs 😞 Also nächste Runde 🙂

        Lasse es jetzt mal im Vollen debug laufen und das Log spammen … vllt sieht man ja so noch irgendwas z.B. wo er das problem hat.

        Ansonsten muss ich fürchte nochmal in die SML-Library reinschauen ob nicht da was im argen ist

        Wenigstens ins der neustart-mechanismus von iobroker stabil sodass effektiv maximal ein Wert fehlt ... nur das im Log ist blöd 😉

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        1 Antwort Letzte Antwort
        0
        • R Offline
          R Offline
          ralalla
          schrieb am zuletzt editiert von
          #117

          So sieht dann z.B. der Verlauf des aktuellen Bezuges aus.

          1110_unbenannt.jpg

          Mit dem Skript rechne ich, wie vorgeschlagen, die Verbräuche aus.

          Fehler beim auslesen mit dem Kopf von Udo gibt es bisher keine, lese alle 10 Sekunden.

          ioBroker auf Intel NUC mit Proxmox / PiVCCU auf Pi3

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #118

            @ralalla:

            Fehler beim auslesen mit dem Kopf von Udo gibt es bisher keine, lese alle 10 Sekunden. `

            Auch im Log hast Du kein SIGABRT oder SIGSEGV mit Adapter-Neustarts? Was für System und was node-Version?

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              simpixo
              schrieb am zuletzt editiert von
              #119

              Also ich hatte seit gestern auch keinen einzigen Ausfall [emoji848]

              Komisch ist das schon und ich lese alle 0 Sekunden! Vielleicht liegt es ja nicht am Adapter sondern an anderen Einflüssen

              Gruß

              Adrian

              Gesendet von iPhone mit Tapatalk Pro

              1 Antwort Letzte Antwort
              0
              • apollon77A Offline
                apollon77A Offline
                apollon77
                schrieb am zuletzt editiert von
                #120

                Super zu wissen! Danke

                Ich hab gerade mit der Library und zeug einen test laufen und da stürzt er auch nicht ab … versuche das später malauf meinem cubietruck und als letzte Idee hab ich die Nachricht an sich im Verdacht ... vllt passt da dann und wann mal was nicht vom lesen her. Das ist die letzte idee.

                Bitte weiter beobachten und berichten !

                Danke. Kriegen wir schon noch stabil 🙂

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                1 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  chemieka
                  schrieb am zuletzt editiert von
                  #121

                  So nun isses so weit in bin auch dabei.

                  Wir ihr sehen könnt kommen Daten rein und ich konnte auch einen Chart des aktuellen Verbrauchs anstellen.

                  Eine Frage bleibt mir aber. Das Ding sollte einen Monats und Tagesverbrauch ausspucken können, dort reicht mir die Zahl.

                  Schaut aber nicht so aus als kommen die Zahlen rein.

                  Dazu eine Idee hier in der Runde?

                  1867_strom.jpg
                  1867_strom1.jpg

                  Ich kann mir mit der Taschenlampe allerdings des Tagesverbrauch und auch den 30 Tageverbrauch anschauen. Bekommt man die Daten dort ausgelesen?

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    simpixo
                    schrieb am zuletzt editiert von
                    #122

                    @apollon77:

                    Super zu wissen! Danke

                    Ich hab gerade mit der Library und zeug einen test laufen und da stürzt er auch nicht ab … versuche das später malauf meinem cubietruck und als letzte Idee hab ich die Nachricht an sich im Verdacht ... vllt passt da dann und wann mal was nicht vom lesen her. Das ist die letzte idee.

                    Bitte weiter beobachten und berichten !

                    Danke. Kriegen wir schon noch stabil 🙂 `

                    Zu früh gefreut…. [emoji30]

                    ~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201702 ... b33277.jpg">https://uploads.tapatalk-cdn.com/20170207/40e0e9e45a18dbe9b1bd010b75b33277.jpg</link_text>" />

                    Jetzt kam leider wieder der SIGSEGV Fehler [emoji24][emoji30]~~

                    1 Antwort Letzte Antwort
                    0
                    • apollon77A Offline
                      apollon77A Offline
                      apollon77
                      schrieb am zuletzt editiert von
                      #123

                      @chemieka:

                      Ich kann mir mit der Taschenlampe allerdings des Tagesverbrauch und auch den 30 Tageverbrauch anschauen. Bekommt man die Daten dort ausgelesen? `

                      Naja … alles was rauskommt, kommt in ioBroker rein. Bedeutet (und das haben schon mehrere andere verifiziert) das diese Daten wohl über die IR-Schnittstelle nicht ausgegeben werden.

                      Aber ioBroker wäre ja nicht ioBroker wenn man das nicht skripten könnte. Sie weitere oben im Thread sind coole JavaScriptchen die genau diese Dinge tun :-)) Also: workaround ist oben 🙂

                      @simpixo: Ich hab heute auf meinem Arbeitsrechner den ganzen Tag die Library mit nem simulierten Serialport und so laufen gehabt und alles war perfekt und nichts ist gecrasht. Aber naja wir schauen mal weiter.

                      Am Ende ist aber wie oben geschrieben: Ausser hier und da ein "nerviger Logeintrag irgendwie ja alles super ... oder ?! 😉

                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                      1 Antwort Letzte Antwort
                      0
                      • a200A Offline
                        a200A Offline
                        a200
                        schrieb am zuletzt editiert von
                        #124

                        @chemieka schau dir mal mein Script weiter oben. Damit werden datenpunkte für Stunde Tag Woche und Monat erzeugt.

                        IoBroker auf QNAP TS-451, Raspi und NUC

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          simpixo
                          schrieb am zuletzt editiert von
                          #125

                          @apollon77:

                          @chemieka:

                          Ich kann mir mit der Taschenlampe allerdings des Tagesverbrauch und auch den 30 Tageverbrauch anschauen. Bekommt man die Daten dort ausgelesen? `

                          Naja … alles was rauskommt, kommt in ioBroker rein. Bedeutet (und das haben schon mehrere andere verifiziert) das diese Daten wohl über die IR-Schnittstelle nicht ausgegeben werden.

                          Aber ioBroker wäre ja nicht ioBroker wenn man das nicht skripten könnte. Sie weitere oben im Thread sind coole JavaScriptchen die genau diese Dinge tun :-)) Also: workaround ist oben 🙂

                          @simpixo: Ich hab heute auf meinem Arbeitsrechner den ganzen Tag die Library mit nem simulierten Serialport und so laufen gehabt und alles war perfekt und nichts ist gecrasht. Aber naja wir schauen mal weiter.

                          Am Ende ist aber wie oben geschrieben: Ausser hier und da ein "nerviger Logeintrag irgendwie ja alles super ... oder ?! 😉 `

                          Ja klar ist alles super, ist halt nur ein klitzekleines kosmetisches Problem [emoji6]

                          Das wird mich auch nicht dran hindern den Adapter zu benutzen!!! Ist genau das was ich schon die ganze Zeit haben wollte! Jetzt muss ich nur noch was für den Gaszähler was finden

                          Ich werde mal dann einfach das Intervall einfach höher setzen und dann läuft dieser ohne Probleme durch!

                          Gesendet von iPhone mit Tapatalk Pro

                          1 Antwort Letzte Antwort
                          0
                          • C Offline
                            C Offline
                            chemieka
                            schrieb am zuletzt editiert von
                            #126

                            @a200:

                            @chemieka schau dir mal mein Script weiter oben. Damit werden datenpunkte für Stunde Tag Woche und Monat erzeugt. `

                            Das wären dann aber recherische Werte die aus den Momentanwert kommen. Also nicht aus dem Gerät?

                            Natürlich sehr Schade wenn das so ist. Kannst du kurz schreiben was ich mit dem Script genau machen muss, ich bin bis jetzt mit so etwas nicht in Berührung gekommen. Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen?

                            1 Antwort Letzte Antwort
                            0
                            • a200A Offline
                              a200A Offline
                              a200
                              schrieb am zuletzt editiert von
                              #127

                              @chemieka:

                              @a200:

                              @chemieka schau dir mal mein Script weiter oben. Damit werden datenpunkte für Stunde Tag Woche und Monat erzeugt. `

                              Das wären dann aber recherische Werte die aus den Momentanwert kommen. Also nicht aus dem Gerät?

                              Natürlich sehr Schade wenn das so ist. Kannst du kurz schreiben was ich mit dem Script genau machen muss, ich bin bis jetzt mit so etwas nicht in Berührung gekommen. Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen? `

                              @chemieka:

                              Damit die Daten dann auch representativ sind wie oft müsste ich auslesen lassen? `

                              • Für stündliche Statistik - 1 x pro Stunde
                              Für tägliche Statistik - 1 x pro Tag
                              
                              Für wöchentliche Statistik - 1 x pro Woche
                              
                              Für monatliche Statistik - 1 x pro Monat 
                              

                              🙂

                              Also nach meinen Informationen, kannst du zwar durch das Blinken verschiedene Werte abrufen, diese werden aber ausschließlich im Display angezeigt und nicht als Datenpaket gesendet.

                              Jetzt mal zum meinem Skript. Ich erklär das am Beispiel des Tageswertes.

                              Jeden Tag um 23:59 (Man könnte das auch auf die Spitze treiben und es um 23:59:59 starten) wird der aktueller Gesamtverbrauch in den Datenpunkt "javascript.0.Stromzähler.Hager.tmp.Total-d" gespeichert. Diesen Wert speichere ich persönlich noch in der DB. Muss aber nicht sein. Der Wert Gleichzeitig wird die Differenz zwischen den letzten und dem aktuellen Eintrag in diesem Datenpunkt berechnet. Gesamt(aktuell) - Gesamt(letztens) = Tagesverbrauch. Dieser Tagesverbrauch, als relativer Wert, wird in den Datenpunkt "javascript.0.Stromzähler.Hager.Day" gespeichert.

                              Das ist Alles. Im ".Total-d" habe ich den absoluten Wert des Zählers am Ende jeden Tages. Was mir auch erlaubt nachträglich Berechnungen durchzuführen).

                              Im ".Day" habe ich den relativen Verbrauchswert am Ende jeden Tages. Woraus ich eine Tagesverbrauchskurve erstellen kann.

                              Das Gleich wird von meinem Skript stündlich, täglich, wöchentlich und monatlich gemacht. Die Datenmenge, die in der DB gespeichert werden ist dann entsprechend mehr oder weniger hoch, allerdings übersichtlich.

                              • minütlich: 525600 pro Jahr
                              stündlich: 8760 pro Jahr
                              
                              täglich: 365 pro Jahr
                              
                              wöchentlich: 52 pro Jahr
                              
                              monatlich 12 pro Jahr. 
                              

                              Da ich zusätzlich den Gesamtverbrauch (Wert aus smartmeter) minütlich speichere, bin ich in der Lage mittels SQL auch Andere Punkte zu berechnen. Was aber, wenn man auf die minütliche Auswertung verzichtet, nicht machen muss.

                              Melde dich, falls du noch weitere Fragen an mich hast

                              Aktuelle Version:

                              ! ````
                              // NEU - Zählerstand vom Anfang der akt. Stunde wird ermittelt
                              //
                              ! var cronH = "0 * * * *";
                              var cronD = "59 23 * * *";
                              var cronW = "0 0 * * 1";
                              var cronM = "0 0 1 * ";
                              ! var idHAGTotH = "javascript.0.Stromzähler.Hager.tmp.Total-h";
                              var idHAGTotD = "javascript.0.Stromzähler.Hager.tmp.Total-d";
                              var idHAGTotW = "javascript.0.Stromzähler.Hager.tmp.Total-w";
                              var idHAGTotM = "javascript.0.Stromzähler.Hager.tmp.Total-m";
                              var idHAGTotal = "smartmeter.0.1-0:1_8_0
                              255.value"; /Stromverbrauch insgesammt/
                              var idHAGZielH = "javascript.0.Stromzähler.Hager.Hour";
                              var idHAGZielD = "javascript.0.Stromzähler.Hager.Day";
                              var idHAGZielW = "javascript.0.Stromzähler.Hager.Week";
                              var idHAGZielM = "javascript.0.Stromzähler.Hager.Month";
                              var debug = false;
                              ! var DPArray = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM];
                              var DPUnit = "kWh";
                              ! DPArray.forEach(function(wert, index, array) {
                              var DPType = wert.split(".");
                              var DPDescr = "Power consumption of " + (DPType[DPType.length - 1]);

                              if(index > 3) DPUnit = "Wh";
                              createState(wert, 0, {
                                  name: DPDescr,
                                  desc: DPDescr,
                                  type: 'number',
                                  unit: DPUnit,
                                  role: 'value'
                              });
                              

                              });

                              ! function haupt (VorId, ZielId) {
                              var nVorwert = getState(VorId).val;
                              var nAktuell = getState(idHAGTotal).val;
                              var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
                              setState(ZielId, nDiff, true);
                              if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
                              var shandler = on ({id: ZielId, change: 'any'}, function(data) {
                              setState(VorId, (nAktuell*10)/10, true);
                              unsubscribe(shandler);
                              });
                              }
                              ! // regelmässige Wiederholungen
                              // -----------------------------------------------------------------------------
                              ! schedule(cronH, function () {
                              haupt(idHAGTotH, idHAGZielH);
                              });
                              schedule(cronD, function () {
                              haupt(idHAGTotD, idHAGZielD);
                              });
                              schedule(cronW, function () {
                              haupt(idHAGTotW, idHAGZielW);
                              });
                              schedule(cronM, function () {
                              haupt(idHAGTotM, idHAGZielM);
                              });
                              ! ````

                              Viel Spaß,

                              a200.

                              IoBroker auf QNAP TS-451, Raspi und NUC

                              1 Antwort Letzte Antwort
                              0
                              • C Offline
                                C Offline
                                chemieka
                                schrieb am zuletzt editiert von
                                #128

                                Ok das hört sich gut an. Auf welche Zeit hast du im Adapter gestellt?

                                Meinst du, du kannst mir erklären wo ich das Skript einfügen muss und wie ich es in Betrieb bekomme?

                                Würde dann heute Abend versuchen wollen das Skript in Betrieb zu bekommen.

                                Wäre dir wirklich sehr dankbar.

                                Ach und einen zweiten Zählen für meine WP sollte kein Problem sein denke ich mal oder?

                                1 Antwort Letzte Antwort
                                0
                                • apollon77A Offline
                                  apollon77A Offline
                                  apollon77
                                  schrieb am zuletzt editiert von
                                  #129

                                  @chemieka:

                                  Ach und einen zweiten Zählen für meine WP sollte kein Problem sein denke ich mal oder? `

                                  Ich habe auch 2 Zähler. Nur dann - wenn Du beides z.B. per USB dran hast - solltest Du den Devices zusätzlich eindeutigen namen geben z.B. anhandf der USB-Chip Seriennnummer oder so, weil es sonst bei einem Reboot vorkommen kann das sich die ttyUSBx-Namen "tauschen" und dann hast Du Zahlenchaos 🙂

                                  Wie das für deinen lesekopf und System geht must du rausfinden. Bei Udo's Kopf steht das auf der weiter oben verlinkten Seite für Linux

                                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                  1 Antwort Letzte Antwort
                                  0
                                  • R Offline
                                    R Offline
                                    ralalla
                                    schrieb am zuletzt editiert von
                                    #130

                                    Du musst den Javascript Adapter installieren.

                                    Dann hast du im iobroker.Admin einen neuen Reiter Namens Skripte.

                                    Dort legst du unter common ein neues Skript an und fügst den Code ein.

                                    In der Zeile 13 musst du noch deinen Datenpunkt (also wo der Zählwert her kommt) anpassen.

                                    (ggf. Zeilen 9 - 17 anpassen vom Namen her, muss spätestens beim 2. Skript gemacht werden weil ja dafür neue Datenpunkte gebraucht werden).

                                    Dann speichern und das Skript starten.

                                    Wenn im Log kein Fehler erscheint sollten die Objekte angelegt werden und nach 2 Stunden der erste Stundenwert zu sehen sein.

                                    Dran denken die Objekte dann zu speichern.

                                    ioBroker auf Intel NUC mit Proxmox / PiVCCU auf Pi3

                                    1 Antwort Letzte Antwort
                                    0
                                    • a200A Offline
                                      a200A Offline
                                      a200
                                      schrieb am zuletzt editiert von
                                      #131

                                      @chemieka:

                                      Ok das hört sich gut an. Auf welche Zeit hast du im Adapter gestellt?

                                      Meinst du, du kannst mir erklären wo ich das Skript einfügen muss und wie ich es in Betrieb bekomme?

                                      Würde dann heute Abend versuchen wollen das Skript in Betrieb zu bekommen.

                                      Wäre dir wirklich sehr dankbar. `
                                      Kein Thema.

                                      1. (Falls noch nicht geschehen) javascript Adapter aktivieren

                                      2. (Falls noch nicht geschehen) In der oberen Leiste auf den Bleistift klicken und über Show Javascript-Tab aktivieren

                                      3. Neues Skript erstellen (oben links neues Blatt-Icon) und auf Typ (oben rechts) Javascript ändern.

                                      4. Per cut & paste mein Skript reinkopieren. Namen Vergeben, Speichern.

                                      5. In dem Tab "Objects" gehen und die Stelle finden wo dein smartmeter den Gesamtwert schreibt sollte in etwa so aussehen: "smartmeter.0.1-0:1_8_0*255.value"

                                      6. Falls der Wert bei dir von meinem abweicht, dann die Zeile:

                                      var idHAGTotal      = "smartmeter.0.1-0:1_8_0*255.value"; 
                                      

                                      anpassen.

                                      7. Im Tab "Javascript" auf den "play"-Button klicken - Damit wird das Skript aktiv.

                                      Das wars. Zur nächsten vollen Stunde sollten die Datenpunkte unter "javascript.0.Stromzähler.Hager" angelegt werden. Da ein Sinnvoller Wert erst ab den Zweiten Aufruf erzeugt werden kann, wird der korrekter Wert deines Stundenverbrauchs erst nach der nächsten vollen Stunde geschrieben.

                                      Falls du Fragen hast, dann weißt du, wo du mich erreichen kannst! ;D

                                      ! ````
                                      // Datenpunkte für die Auswertung des Stromverbrauchs

                                      var cronH = "0 * * * *";
                                      var cronD = "59 23 * * *";
                                      var cronW = "0 0 * * 1";
                                      var cronM = "0 0 1 * *";

                                      ! var idHAGTotH = "javascript.0.Stromzähler.Hager.tmp.Total-h";
                                      var idHAGTotD = "javascript.0.Stromzähler.Hager.tmp.Total-d";
                                      var idHAGTotW = "javascript.0.Stromzähler.Hager.tmp.Total-w";
                                      var idHAGTotM = "javascript.0.Stromzähler.Hager.tmp.Total-m";
                                      var idHAGTotal = "smartmeter.0.1-0:1_8_0*255.value"; /Stromverbrauch insgesammt/
                                      var idHAGZielH = "javascript.0.Stromzähler.Hager.Hour";
                                      var idHAGZielD = "javascript.0.Stromzähler.Hager.Day";
                                      var idHAGZielW = "javascript.0.Stromzähler.Hager.Week";
                                      var idHAGZielM = "javascript.0.Stromzähler.Hager.Month";
                                      var debug = false;
                                      ! var DPArray = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM];
                                      var DPUnit = "kWh";
                                      ! DPArray.forEach(function(wert, index, array) {
                                      var DPType = wert.split(".");
                                      var DPDescr = "Power consumption of " + (DPType[DPType.length - 1]);

                                      if(index > 3) DPUnit = "Wh";
                                      createState(wert, 0, {
                                          name: DPDescr,
                                          desc: DPDescr,
                                          type: 'number',
                                          unit: DPUnit,
                                          role: 'value'
                                      });
                                      

                                      });

                                      ! function haupt (VorId, ZielId) {
                                      var nVorwert = getState(VorId).val;
                                      var nAktuell = getState(idHAGTotal).val;
                                      var nDiff = ((nAktuell * 10) - (nVorwert * 10)) * 100;
                                      if(nVorwert > 0) setState(ZielId, nDiff, true); // keinen Wert berechnen, wenn der Vorwert 0 ist.
                                      if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
                                      var shandler = on ({id: ZielId, change: 'any'}, function(data) {
                                      setState(VorId, (nAktuell*10)/10, true);
                                      unsubscribe(shandler);
                                      });
                                      }
                                      ! // regelmässige Wiederholungen
                                      // -----------------------------------------------------------------------------
                                      ! schedule(cronH, function () {
                                      haupt(idHAGTotH, idHAGZielH);
                                      });
                                      schedule(cronD, function () {
                                      haupt(idHAGTotD, idHAGZielD);
                                      });
                                      schedule(cronW, function () {
                                      haupt(idHAGTotW, idHAGZielW);
                                      });
                                      schedule(cronM, function () {
                                      haupt(idHAGTotM, idHAGZielM);
                                      });

                                      IoBroker auf QNAP TS-451, Raspi und NUC

                                      1 Antwort Letzte Antwort
                                      0
                                      • a200A Offline
                                        a200A Offline
                                        a200
                                        schrieb am zuletzt editiert von
                                        #132

                                        @ralalla:

                                        Du musst den Javascript Adapter installieren.

                                        Dann hast du im iobroker.Admin einen neuen Reiter Namens Skripte.

                                        Dort legst du unter common ein neues Skript an und fügst den Code ein.

                                        In der Zeile 13 musst du noch deinen Datenpunkt (also wo der Zählwert her kommt) anpassen.

                                        (ggf. Zeilen 9 - 17 anpassen vom Namen her, muss spätestens beim 2. Skript gemacht werden weil ja dafür neue Datenpunkte gebraucht werden).

                                        Dann speichern und das Skript starten.

                                        Wenn im Log kein Fehler erscheint sollten die Objekte angelegt werden und nach 2 Stunden der erste Stundenwert zu sehen sein.

                                        Dran denken die Objekte dann zu speichern. `

                                        ganz genau. Läuft das Skript bei dir?

                                        Ich habe oben noch was kleines geändert:````
                                        if(nVorwert > 0) setState(ZielId, nDiff, true); // keinen Wert berechnen, wenn der Vorwert 0 ist.

                                        IoBroker auf QNAP TS-451, Raspi und NUC

                                        1 Antwort Letzte Antwort
                                        0
                                        • apollon77A Offline
                                          apollon77A Offline
                                          apollon77
                                          schrieb am zuletzt editiert von
                                          #133

                                          Ansonsten zu den SIGSECV bzw SIGABRT … ich hab bei mir auch mal weiter getestet und scheinbar haut es beim Speichermanagement in node da irgendwas durcheinander. Ich tippe auf den Garbage-Collecter der beim Freigeben komische Dinge tut. Werde heute Abend mal mit node 7 testen ob es da auch kaputt geht.

                                          Bei mir passiert es meistens mitten im Lesen von Daten.

                                          Interessanterweise tritt es auf meinem Mac mit nem simulierten seriellen Port und getrenntem Senderprozess nicht auf, sondern nur im "Live-Umfeld" mit dem seriellen Lesekopf dran.

                                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          729

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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