Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. User Data setzt blockly beim start auf 0.

    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

    User Data setzt blockly beim start auf 0.

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      galosche last edited by

      Hier mein Script.
      Sicher gibt es für mein Vorhaben eine bessere Lösung, im Prinzip funktioniert sie aber.
      Der Script soll mir einfach einen Summenzähler der PV-Module generieren.
      Der Script funktioniert auch. Nur wenn ich eine Änderung vornehme oder den Scrip neu starte beginnt das ganze wieder bei 0. Wo ist da mein Denkfehler?

      Danke
      Armin
      blockly_kw_pv.png

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @galosche last edited by

        @galosche
        Beim Neustart eines Scriptes verlieren alle Variablen ihren Inhalt.
        Um den persistent zu kriegen, benötigst Du einen (oder mehrere) eigene(n) Datenpunkt(e).

        G 1 Reply Last reply Reply Quote 0
        • G
          galosche @Codierknecht last edited by

          @codierknecht
          Der PV_KW_D ist ein Datenpunkt.
          Habe jetzt im Modbus Protokol SolarEnergyToday und Total gefunden, somit brauche ich es nicht mehr, aber interessieren würde es mich schon.
          user_data.png

          Codierknecht 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @galosche last edited by

            @galosche
            Aber Zeit_1 und zeit_2 sind beim Start des Scriptes 0. (Warum werden die eigentlich unterschiedlich geschrieben?).
            Damit werden die beiden "Falls" Blöcke nicht ausgeführt und PV_KW_D wird mit 0 beschrieben.

            G 1 Reply Last reply Reply Quote 0
            • G
              galosche @Codierknecht last edited by

              @codierknecht
              Richtig. Aber am Anfang setze ich summe_d auf PV_KW_D.
              Für zeit_1 und Zeit_2 gibt es keinen Grund 🙂

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

                @galosche sagte: Für zeit_1 und Zeit_2 gibt es keinen Grund

                Doch, da damit eine Differenz gebildet wird. Der Vergleich "Zeit_x != 0" liefert true, wenn die Variable undefined ist. Prüfe die Variable ohne den Vergleich.
                Besser: Lass die Prüfung weg und initialisiere die Variablen außerhalb des Triggers mit "Letzte Änderung" der Datenpunkte.

                Codierknecht 2 Replies Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @paul53 last edited by

                  @paul53 sagte in User Data setzt blockly beim start auf 0.:

                  wenn die Variable undefined ist

                  Hatte ich schon mal erwähnt, dass ich untypisierte Sprachen (gelinde ausgedrückt) "grenzwertig" finde 😉

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

                    @codierknecht sagte: Hatte ich schon mal erwähnt, dass

                    Ja, hast Du mehrmals.

                    1 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @paul53 last edited by

                      @paul53 sagte in User Data setzt blockly beim start auf 0.:

                      wenn die Variable undefined ist

                      Ich hätte zumindest erwartet, dass es kracht wenn man "undefined" von einem Zeitstempel abziehen möchte.
                      Offensichtlich nicht ... es kommt lediglich zu einem "NaN".
                      Ich verzweifle nochmal an dem Konzept 😞

                      d8838af7-e86e-4f2b-8bc4-aeb8f5506ecb-image.png

                      Homoran G 2 Replies Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Codierknecht last edited by

                        @codierknecht sagte in User Data setzt blockly beim start auf 0.:

                        es kommt lediglich zu einem "NaN".

                        hätte @galosche das mit einem debug-Baustein anzeigen lassen, wäre es sofort klar gewesen

                        1 Reply Last reply Reply Quote 0
                        • G
                          galosche @Codierknecht last edited by

                          @codierknecht
                          Ich bin noch am lernen, Debug Baustein kenne ich noch nicht.
                          Habe es aber jetzt verstanden.
                          Das ganze sieht jetzt so aus, brauche auch die summe_d nicht mehr und schreibe direkt auf PV_KW_D.
                          summe_ok.png

                          Homoran G 2 Replies Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @galosche last edited by

                            @galosche sagte in User Data setzt blockly beim start auf 0.:

                            , brauche auch die summe_d nicht mehr und schreibe direkt auf PV_KW_D.

                            wenn du den Wert relativ schnell wiederverwenden willst, solltest du bei Variablen bleiben.
                            Das Schreiben dauerteine Weile, so dass du beim "sofortigen" Wiedereinlesen des Wertes aus drm Datenpunkt, noch den alten Wert bekommen wirst.

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

                              @galosche
                              Danke vergessen !

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

                                @homoran sagte: Das Schreiben dauerteine Weile

                                Aber nicht bis zum nächsten Trigger. Das kann @galosche so lassen, denn er macht kein "Wiedereinlesen".

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

                                  @paul53
                                  Bin ja mal gespannt wie die Werte vom Modbus und vom gerechneten Morgen übereinstimmen.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  1.0k
                                  Online

                                  31.8k
                                  Users

                                  80.0k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  15
                                  588
                                  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