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. Skripten / Logik
  4. [gelöst] Rechenfehler im Script ?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[gelöst] Rechenfehler im Script ?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
17 Beiträge 3 Kommentatoren 1.4k Aufrufe 3 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.
  • H Offline
    H Offline
    helmut1963
    schrieb am zuletzt editiert von helmut1963
    #1

    Hallo,

    mein neues Gaszählerscript soll die 0,1 m³ Impulse vom Gaszähler zählen, Tages- und Summenzähler füllen und ein paar Berechnungen anstellen.
    Zählen funktioniert, nur beim Rechnen hapert es.

    Ermitteln kWh heute:
    GAS_kWh_heute (0,6m³) x 10,661 (>Produkt aus kWh/m³ x Zustandszahl) ergibt lt. Blockly 3,1982999...

    Bei mir wären das eher 4,2644

    Dann Ermitteln € heute:

    Gas_kwh_heute 3,19829999 x 0,0555 (ct/kWh) ergibt laut Blockly > 0,12 €
    Bei mir eher 0,178 €

    Woher kommen diese Abweichungen???

    Jemand eine Idee?

    ![alt text](image url)Fehler Blockly.jpg

    paul53P 1 Antwort Letzte Antwort
    0
    • H helmut1963

      Hallo,

      mein neues Gaszählerscript soll die 0,1 m³ Impulse vom Gaszähler zählen, Tages- und Summenzähler füllen und ein paar Berechnungen anstellen.
      Zählen funktioniert, nur beim Rechnen hapert es.

      Ermitteln kWh heute:
      GAS_kWh_heute (0,6m³) x 10,661 (>Produkt aus kWh/m³ x Zustandszahl) ergibt lt. Blockly 3,1982999...

      Bei mir wären das eher 4,2644

      Dann Ermitteln € heute:

      Gas_kwh_heute 3,19829999 x 0,0555 (ct/kWh) ergibt laut Blockly > 0,12 €
      Bei mir eher 0,178 €

      Woher kommen diese Abweichungen???

      Jemand eine Idee?

      ![alt text](image url)Fehler Blockly.jpg

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @helmut1963
      Die Logs zeigen alte Werte, da "steuere" asynchron arbeitet, d.h. zum Zeitpunkt der Wertabfrage noch nicht fertig ist. Tipp: Verwende Variablen, etwa so:

      Blockly_temp.JPG

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      H 2 Antworten Letzte Antwort
      0
      • paul53P paul53

        @helmut1963
        Die Logs zeigen alte Werte, da "steuere" asynchron arbeitet, d.h. zum Zeitpunkt der Wertabfrage noch nicht fertig ist. Tipp: Verwende Variablen, etwa so:

        Blockly_temp.JPG

        H Offline
        H Offline
        helmut1963
        schrieb am zuletzt editiert von
        #3

        @paul53

        Ah ja, verstanden. Das werde ich heute Abend mal testen.

        Ist halt gerade ne schlechte Jahreszeit sowas zu testen, Ofen springt ja kaum an.....

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @helmut1963
          Die Logs zeigen alte Werte, da "steuere" asynchron arbeitet, d.h. zum Zeitpunkt der Wertabfrage noch nicht fertig ist. Tipp: Verwende Variablen, etwa so:

          Blockly_temp.JPG

          H Offline
          H Offline
          helmut1963
          schrieb am zuletzt editiert von
          #4

          @paul53

          So, habe nun auf Basis Deines Vorschlages alles neu zusammengestrickt.

          Ich glaube nicht dass der blaue Gasvernichter heute noch einmal ans Werk geht, daher gibt es jetzt kein Ergebnis.

          Ist es im Prinzip so, am besten Werte aus Datenpunkten in Variablen zu schaufeln, dann mit Variablen zu rechnen und dann die Datenpunkte wieder mit den Werten in den Variablen zu füttern?
          Oder kann ich mit VIS direkt auf Variablen zugreifen? Ich glaube nicht...

          Gruß, Helmut

          paul53P 1 Antwort Letzte Antwort
          0
          • H helmut1963

            @paul53

            So, habe nun auf Basis Deines Vorschlages alles neu zusammengestrickt.

            Ich glaube nicht dass der blaue Gasvernichter heute noch einmal ans Werk geht, daher gibt es jetzt kein Ergebnis.

            Ist es im Prinzip so, am besten Werte aus Datenpunkten in Variablen zu schaufeln, dann mit Variablen zu rechnen und dann die Datenpunkte wieder mit den Werten in den Variablen zu füttern?
            Oder kann ich mit VIS direkt auf Variablen zugreifen? Ich glaube nicht...

            Gruß, Helmut

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @helmut1963 sagte:

            kann ich mit VIS direkt auf Variablen zugreifen?

            Nein, mit Vis kann man nur auf Datenpunkte zugreifen.

            @helmut1963 sagte in Rechenfehler im Script ?:

            mit Variablen zu rechnen und dann die Datenpunkte wieder mit den Werten in den Variablen zu füttern?

            Das ist die richtige Vorgehensweise.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            H 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @helmut1963 sagte:

              kann ich mit VIS direkt auf Variablen zugreifen?

              Nein, mit Vis kann man nur auf Datenpunkte zugreifen.

              @helmut1963 sagte in Rechenfehler im Script ?:

              mit Variablen zu rechnen und dann die Datenpunkte wieder mit den Werten in den Variablen zu füttern?

              Das ist die richtige Vorgehensweise.

              H Offline
              H Offline
              helmut1963
              schrieb am zuletzt editiert von
              #6

              @paul53

              Hallo, Deine Tips haben geholfen.
              Nun rechnet Blockly korrekt.
              Danke nochmal.

              ![alt text](Gasscript.jpg image url)

              H 1 Antwort Letzte Antwort
              0
              • H helmut1963

                @paul53

                Hallo, Deine Tips haben geholfen.
                Nun rechnet Blockly korrekt.
                Danke nochmal.

                ![alt text](Gasscript.jpg image url)

                H Offline
                H Offline
                helmut1963
                schrieb am zuletzt editiert von
                #7

                @helmut1963

                Stop, Skript nicht beachten, hab noch einen Knoten da drinn, bin noch am experimentieren.....

                paul53P 1 Antwort Letzte Antwort
                0
                • H helmut1963

                  @helmut1963

                  Stop, Skript nicht beachten, hab noch einen Knoten da drinn, bin noch am experimentieren.....

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @helmut1963 sagte:

                  bin noch am experimentieren

                  Reihenfolge beachten: Erst den Wert in die Variable (Gaszähler_Summe, Gas_m³_heute) einlesen und dann nur noch die Variable verwenden, auch für die Debug-Ausgabe. Zwischenergebnisse (Gas_KWH_heute), mit denen weiter gerechnet wird, sollte man erst bei der Ausgabe ("steuere", "Debug") runden.
                  Auch für die Datenpunkte "gestern" können die Variablen-Werte verwendet werden.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  H 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @helmut1963 sagte:

                    bin noch am experimentieren

                    Reihenfolge beachten: Erst den Wert in die Variable (Gaszähler_Summe, Gas_m³_heute) einlesen und dann nur noch die Variable verwenden, auch für die Debug-Ausgabe. Zwischenergebnisse (Gas_KWH_heute), mit denen weiter gerechnet wird, sollte man erst bei der Ausgabe ("steuere", "Debug") runden.
                    Auch für die Datenpunkte "gestern" können die Variablen-Werte verwendet werden.

                    H Offline
                    H Offline
                    helmut1963
                    schrieb am zuletzt editiert von
                    #9

                    @paul53

                    So, ich habe nochmal umgebaut.
                    Datenpunkte bei Eingang 0,1 m³-Impuls in die Variablen schieben, nur mit Variablen rechnen (erhöhen um 0,1, bzw. die Multiplikationen), dann erst bei der Ausgabe zurück in die Datenpunkte runden. Bin gespannt, morgen weiß ich mehr...

                    Gasscript.jpg ![alt text](image url)

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • H helmut1963

                      @paul53

                      So, ich habe nochmal umgebaut.
                      Datenpunkte bei Eingang 0,1 m³-Impuls in die Variablen schieben, nur mit Variablen rechnen (erhöhen um 0,1, bzw. die Multiplikationen), dann erst bei der Ausgabe zurück in die Datenpunkte runden. Bin gespannt, morgen weiß ich mehr...

                      Gasscript.jpg ![alt text](image url)

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      @helmut1963
                      Du liest "Gas_m³_heute" zweimal ein und verwendest so zum Berechnen einen veralteten Wert. Außerdem wird "Gas_KWh_heute" eingelesen, obwohl es ein berechneter Wert aus "Gas_m³_heute" ist. Beides führt zu einem falschen Ergebnis.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      H 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @helmut1963
                        Du liest "Gas_m³_heute" zweimal ein und verwendest so zum Berechnen einen veralteten Wert. Außerdem wird "Gas_KWh_heute" eingelesen, obwohl es ein berechneter Wert aus "Gas_m³_heute" ist. Beides führt zu einem falschen Ergebnis.

                        H Offline
                        H Offline
                        helmut1963
                        schrieb am zuletzt editiert von
                        #11

                        @paul53

                        Ok, verstehe ich zwar nicht so ganz, aber ich greife den Hinweis auf und baue nochmals grundlegend um.

                        Ich versteh es deshalb nicht weil es doch möglich sein sollte einen Datenpunkt auszulesen, den Wert in eine Variable zu schreiben, dort zu rechnen, wieder zurück in den Datenpunkt, danach erneut wieder Datenpunkt auslesen, in eine Variable zu schreiben und dann weiterrechnen...:face_with_rolling_eyes:

                        Aber egal, ich teste und berichte heute Abend....

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • H helmut1963

                          @paul53

                          Ok, verstehe ich zwar nicht so ganz, aber ich greife den Hinweis auf und baue nochmals grundlegend um.

                          Ich versteh es deshalb nicht weil es doch möglich sein sollte einen Datenpunkt auszulesen, den Wert in eine Variable zu schreiben, dort zu rechnen, wieder zurück in den Datenpunkt, danach erneut wieder Datenpunkt auslesen, in eine Variable zu schreiben und dann weiterrechnen...:face_with_rolling_eyes:

                          Aber egal, ich teste und berichte heute Abend....

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #12

                          @helmut1963 sagte:

                          zu rechnen, wieder zurück in den Datenpunkt, danach erneut wieder Datenpunkt auslesen

                          Das funktioniert eben nicht, da "zurück in den Datenpunkt" asynchron arbeitet, also zum Zeitpunkt "wieder einlesen" noch nicht fertig ist.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          H 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @helmut1963 sagte:

                            zu rechnen, wieder zurück in den Datenpunkt, danach erneut wieder Datenpunkt auslesen

                            Das funktioniert eben nicht, da "zurück in den Datenpunkt" asynchron arbeitet, also zum Zeitpunkt "wieder einlesen" noch nicht fertig ist.

                            H Offline
                            H Offline
                            helmut1963
                            schrieb am zuletzt editiert von
                            #13

                            @paul53

                            Ok, das sehe ich jetzt ein. Hab schon strukturell stark umgebaut unter der Prämisse Datenpunkt auslesen (den Trigger sozusagen, alle weiteren Berechnungen nur mit Variablen, zum Schluss erst die Datenpunkte mit den Variablen füllen...

                            Du hattest absolut Recht, an den Testzahlen konnte ich erkennen, das der Tageszähler auf 0,6 stand, aber mit 0,5 weitergerechnet wurde.

                            Ich berichte heute Abend...

                            H 1 Antwort Letzte Antwort
                            0
                            • H helmut1963

                              @paul53

                              Ok, das sehe ich jetzt ein. Hab schon strukturell stark umgebaut unter der Prämisse Datenpunkt auslesen (den Trigger sozusagen, alle weiteren Berechnungen nur mit Variablen, zum Schluss erst die Datenpunkte mit den Variablen füllen...

                              Du hattest absolut Recht, an den Testzahlen konnte ich erkennen, das der Tageszähler auf 0,6 stand, aber mit 0,5 weitergerechnet wurde.

                              Ich berichte heute Abend...

                              H Offline
                              H Offline
                              helmut1963
                              schrieb am zuletzt editiert von
                              #14

                              @helmut1963

                              So, jetzt klappt es aber. Ich hatte schon an mir gezweifelt. Seit heute morgen zwar erst 0,2 m³ aufgelaufen, aber alles weitere wurde korrekt berechnet.
                              Danke nochmals für die Tipps.
                              Im Prinzip kann ich ganz zufrieden sein. Die kleine schwarze Raspi-Schachtel habe ich seit knapp 3 Wochen im Haus, das Funkmodul für Homematic etwas weniger, null Plan von Linux und ioBroker und schon die ganze alte Visu in Vis nachgebildet, mit etlichen neu gestalteten Symbolen, da bei den alten die Durchsichtigkeit auf Nutzung von Blau 255, Grün 0 und Rot 0 basierte.
                              Das war in Vis nicht nutzbar.
                              Ich bin immer noch total begeistert, über die Möglichkeiten, die ioBroker bietet und werde auf jeden Fall mir Javascript aneignen wollen, obwohl ich es nie so mit dem programmieren hatte. Lieber den Lötkolben in der Hand....

                              Gasscript_neu_neu.jpg

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • H helmut1963

                                @helmut1963

                                So, jetzt klappt es aber. Ich hatte schon an mir gezweifelt. Seit heute morgen zwar erst 0,2 m³ aufgelaufen, aber alles weitere wurde korrekt berechnet.
                                Danke nochmals für die Tipps.
                                Im Prinzip kann ich ganz zufrieden sein. Die kleine schwarze Raspi-Schachtel habe ich seit knapp 3 Wochen im Haus, das Funkmodul für Homematic etwas weniger, null Plan von Linux und ioBroker und schon die ganze alte Visu in Vis nachgebildet, mit etlichen neu gestalteten Symbolen, da bei den alten die Durchsichtigkeit auf Nutzung von Blau 255, Grün 0 und Rot 0 basierte.
                                Das war in Vis nicht nutzbar.
                                Ich bin immer noch total begeistert, über die Möglichkeiten, die ioBroker bietet und werde auf jeden Fall mir Javascript aneignen wollen, obwohl ich es nie so mit dem programmieren hatte. Lieber den Lötkolben in der Hand....

                                Gasscript_neu_neu.jpg

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #15

                                @helmut1963 sagte:

                                So, jetzt klappt es aber.

                                Die Datenpunkte haben jetzt die richtigen Werte, die Debug-Ausgaben zeigen aber immer noch alte Werte an.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                H 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @helmut1963 sagte:

                                  So, jetzt klappt es aber.

                                  Die Datenpunkte haben jetzt die richtigen Werte, die Debug-Ausgaben zeigen aber immer noch alte Werte an.

                                  H Offline
                                  H Offline
                                  helmut1963
                                  schrieb am zuletzt editiert von
                                  #16

                                  @paul53

                                  Stimmt. Aber die Debugausgaben nehme ich jetzt eh raus. Die brauche ich ja nicht mehr.

                                  F 1 Antwort Letzte Antwort
                                  0
                                  • H helmut1963

                                    @paul53

                                    Stimmt. Aber die Debugausgaben nehme ich jetzt eh raus. Die brauche ich ja nicht mehr.

                                    F Offline
                                    F Offline
                                    Frank-KNX
                                    schrieb am zuletzt editiert von
                                    #17

                                    @helmut1963

                                    läuft deine Gaszähler-Impuls-Visualisierung nun korrekt ?
                                    Könntest du dein Skript bitte hochladen (oder mir zusenden).

                                    Ich stehe vor dem gleichen Problem und das scheinst du erfolgreich mit Hilfe gelöst zu haben.
                                    Vielen Dank und beste Grüße

                                    FRANK

                                    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

                                    670

                                    Online

                                    32.6k

                                    Benutzer

                                    82.1k

                                    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