Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Stromverbrauch berechnen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Stromverbrauch berechnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Ahnungsbefreit @Mat8 last edited by

      @mat8 Deine Hilfsvariable ist auch keine Variable, sondern ein Datenpunkt (und der ist vermutlich vom falschen Typ). Ersetz das mal gegen eine Variable, die Du im Blockly definierst und kontrollier mal die Datentypen von "Gateway/Zaehler1..." und "Unterzähler". Die sollten auch "number" sein.

      1 Reply Last reply Reply Quote 0
      • K
        Kusi @Asgothian last edited by

        @asgothian sagte in Stromverbrauch berechnen:

        Nutze beim Aktualisieren des Aktuellen Zählerstand in der Berechnung die Variable an Stelle des oben angegebenen "wert von..." Baustein.

        Hat dies irgendweche Vorteile oder Änderungen zur Folge? Evtl. Genauigkeit? Bei mir läuft die Berechnung des Stromverbrauchs über den Datenpunkt, damit der Wert bei einem ioBroker-Neustart nicht weg ist.

        Asgothian 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @Kusi last edited by Asgothian

          @kusi Wenn du das so umsetzt wie ich es geschrieben habe - nein. Du aktualisierst ja weiterhin den Datenpunkt "Hilfsvariable" mit dem geänderten Wert.
          Die im Skript definierte variable dient nur dazu das du keine verschachtelten Lese/Schreiboperationen machen musst.

          A.

          Es sollte in Etwa so aussehen. Bei den Datenpunkten brauchst du etwas Fantasie - da hab ich natürlich nicht die die du nutzt.

          Screenshot 2021-03-16 at 09.49.41.png

          K 1 Reply Last reply Reply Quote 2
          • paul53
            paul53 @Asgothian last edited by

            @asgothian sagte:
            ist nicht sichergestellt das der Baustein den direkt vorher geschriebenen Wert beinhaltet.

            Es ist sogar (nahezu) ausgeschlossen, dass der gerade geschriebene Wert wieder eingelesen wird.

            1 Reply Last reply Reply Quote 0
            • K
              Kusi @Asgothian last edited by

              @asgothian @paul53
              Also verstehe ich richtig, wenn ich einen Wert in einen Datenpunkt schreibe und diesen innert kürzester Zeit wieder auslese, dass es passieren könnte, dass noch nicht der "neue" Wert vom DP gelesen wird?

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Kusi last edited by

                @kusi sagte in Stromverbrauch berechnen:

                dass es passieren könnte,

                Der Schreibvorgang dauert seine Zeit, in der Zeit fragt das Skript aber längst diesen Wert schon wieder ab

                K 1 Reply Last reply Reply Quote 1
                • K
                  Kusi @Homoran last edited by

                  @homoran sagte in Stromverbrauch berechnen:

                  Der Schreibvorgang dauert seine Zeit

                  Das ist gut zu wissen... Dies war mir so nie bewusst. Ich habe Variablen möglichst vermieden, werde diesen aber in Zukunft mehr Aufmerksamkeit schenken.

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @Kusi last edited by

                    @kusi sagte in Stromverbrauch berechnen:

                    Das ist gut zu wissen... Dies war mir so nie bewusst. Ich habe Variablen möglichst vermieden, werde diesen aber in Zukunft mehr Aufmerksamkeit schenken.

                    Es macht Sinn sich dazu Gedanken zu machen.

                    Alle Werte die nur 'lokal' und 'zeitlich begrenzt' von Interesse sind sollten generell als Variablen abgebildet werden, nicht als Datenpunkte.

                    Auch Werte die innerhalb eines Skripts mehrfach gelesen oder geschrieben werden sollten sinnvollerweise im Skript in einer Variablen gehalten und nur selektiv gelesen und geschrieben werden.

                    Datenpunkte sind nur dann Sinnvoll wenn

                    • die Werte extern (also ausserhalb des Skriptes) benötigt werden
                    • sichergestellt werden muss das bei einem Neustart des Skriptes die Werte nicht verloren gehen.

                    In dem Beispiel von Dir ist mir z.Bsp. nicht klar warum "hilfsvariable" ein Datenpunkt ist. Du brechest den Wert im Skript und Nutzt ihn im Skript direkt. Wenn dieser Wert ausserhalb dieses Skriptes nicht benötigt wird sollte eine Variable ausreichen.

                    A.

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Kusi @Asgothian last edited by

                      @asgothian Danke vielmals für deine Erklärung. Dies mit der Hilfsvariable ist nicht von mir, dies war @Mat8.
                      Verbraucht es nicht mehr RAM, wenn mehr Variablen (anstelle Datenpunkte) genutzt werden? Ich habe z.B. das Problem, das mein Raspberry nach rund 3-4 Wochen unter 1 Gb freiem RAM sinkt, obschon ich die 4 Gb Version habe.

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

                        @kusi sagte: Verbraucht es nicht mehr RAM, wenn mehr Variablen (anstelle Datenpunkte) genutzt werden?

                        Nein, es braucht weniger RAM, da Variablen-Operationen viel einfacher sind als Datenpunkt-Operationen.

                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        861
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        7
                        14
                        3703
                        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