Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Rechenfehler im Script ?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Rechenfehler im Script ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @helmut1963 last edited by

      @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 1 Reply Last reply Reply Quote 0
      • H
        helmut1963 @paul53 last edited by

        @paul53

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

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

        H 1 Reply Last reply Reply Quote 0
        • H
          helmut1963 @helmut1963 last edited by

          @helmut1963

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

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @helmut1963 last edited by 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 1 Reply Last reply Reply Quote 0
            • H
              helmut1963 @paul53 last edited by

              @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)

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @helmut1963 last edited by

                @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 1 Reply Last reply Reply Quote 0
                • H
                  helmut1963 @paul53 last edited by

                  @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...🙄

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

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @helmut1963 last edited by 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 1 Reply Last reply Reply Quote 0
                    • H
                      helmut1963 @paul53 last edited by

                      @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 Reply Last reply Reply Quote 0
                      • H
                        helmut1963 @helmut1963 last edited by

                        @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

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @helmut1963 last edited by

                          @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 1 Reply Last reply Reply Quote 0
                          • H
                            helmut1963 @paul53 last edited by

                            @paul53

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

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              Frank-KNX @helmut1963 last edited by

                              @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 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              416
                              Online

                              31.8k
                              Users

                              80.0k
                              Topics

                              1.3m
                              Posts

                              blockly
                              3
                              17
                              993
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo