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 in Kommaschritten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Stromverbrauch in Kommaschritten

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

      Hallo zusammen,

      ich habe mir via NodeMCU und TCRT5000 einen Ferraris "Stromzähler" gebaut, komme aber bei der Berechnung nicht weiter.

      Mein Ferraris-Zähler hat 96U/kW.
      Bei dieser Berechnung mit 192 Signalen (2 * 96) funktioniert alles einwandfrei (sweot ich es nach 2 Tagen beurteilen kann):
      Bildschirmfoto vom 2022-09-13 09-48-10.png

      Wenn ich jetzt versuche diesen Wert kleiner zu machen (um bspw. alle 10 Minuten den Stromverbrauch zu messen) habe ich nach einem Tag mindestens 1kW weniger angezeigt als auf dem Zähler. Habe ich irgendwo einen Logikfehler?
      Bildschirmfoto vom 2022-09-13 09-50-36.png

      Über eine Antwort würde ich mich freuen.

      Nachtrag: Scheint wohl bei beiden Varianten dieser Fehler aufzutreten...

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

        @planetkeane sagte in Stromverbrauch in Kommaschritten:

        Habe ich irgendwo einen Logikfehler?

        habe nur auf die Schnelle gesehen dass du mit Text statt mit Zahl arbeitest
        statt der grünen 6 musst du eine blaue aus em Bereich Mathematik nehmen

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

          @planetkeane sagte: Mein Ferraris-Zähler hat 96U/kW.

          Dann würde ich es so machen:

          Bild_2022-09-13_131407832.png

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

            @paul53 said in Stromverbrauch in Kommaschritten:

            @planetkeane sagte: Mein Ferraris-Zähler hat 96U/kW.

            Dann würde ich es so machen:

            Bild_2022-09-13_131407832.png

            Das würde zwar gehen (mit 192 Impulsen, da ja zwei Impulse gesendet werden), aber wirklich etwas "anderes" macht es ja nicht

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

              @homoran said in Stromverbrauch in Kommaschritten:

              @planetkeane sagte in Stromverbrauch in Kommaschritten:

              Habe ich irgendwo einen Logikfehler?

              habe nur auf die Schnelle gesehen dass du mit Text statt mit Zahl arbeitest
              statt der grünen 6 musst du eine blaue aus em Bereich Mathematik nehmen

              Stimmt. Diesen Fehler habe ich berichtigt. Daran wird es aber wahrscheinlich nicht liegen

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

                @planetkeane sagte: mit 192 Impulsen, da ja zwei Impulse gesendet werden

                Wirklich? Du triggerst auf "wurde geändert".

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

                  @paul53 said in Stromverbrauch in Kommaschritten:

                  @planetkeane sagte: mit 192 Impulsen, da ja zwei Impulse gesendet werden

                  Wirklich? Du triggerst auf "wurde geändert".

                  Ich lese die Counter aus. Er fängt bei 0 an. Wenn die Ferrarisscheibe eine Umdrehung macht, gibt es zwei Impulse (Silber/Rot). Alle 60 Sekunden schickt die NodeMCU den Counter an iobroker. In 60 Sekunden sind bspw. 3 Umdrehungen, also 6 Impulse. Der Wert ändert sich bei "Total" also von 0 auf 6. Wenn der Wert sich ändert, greift das JavaScript.

                  96U/kW = 192 Impulse
                  3 U = 6 Impulse = 0,03125 kW

                  Hier scheint glaube ich ein Problem bei den Impulsen zu geben. Möglicherweise zählt er nicht alle. Oder mein Zähler funktioniert nicht wie er soll und zählt mehr kW als bei den Umdrehungen angegeben...

                  paul53 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @planetkeane last edited by paul53

                    @planetkeane sagte: Der Wert ändert sich bei "Total" also von 0 auf 6.

                    Es werden in "Total" die Impulse pro Minute empfangen?
                    Dann muss man auf "wurde aktualisiert" triggern, denn die Zahl kann von einer Minute zur nächsten gleich bleiben und man muss den Wert aufaddieren:

                    Bild_2022-09-13_140813417.png

                    Oder zählt "Total" die Impulse hoch und erhält diesen Wert jede Minute? Dann muss man die Differenz zwischen 2 Triggern addieren:

                    Bild_2022-09-13_141658361.png

                    @planetkeane sagte in Stromverbrauch in Kommaschritten:

                    Wenn die Ferrarisscheibe eine Umdrehung macht, gibt es zwei Impulse (Silber/Rot).

                    Wirklich? Sind es nicht die zwei Flanken eines Impulses?
                    Zählt "Total" die Impulse oder die Flanken?

                    1 Reply Last reply Reply Quote 1
                    • paul53
                      paul53 @planetkeane last edited by

                      @planetkeane sagte: Alle 60 Sekunden schickt die NodeMCU den Counter an iobroker.

                      Logge mal in einem Testskript den Wert von "Total" über 10 Minuten und poste die Log-Ausgabe in Code Tags. Dann sehe ich, wie sich "Total" verhält.

                      Bild_2022-09-13_152948706.png

                      1 Reply Last reply Reply Quote 0
                      • planetkeane
                        planetkeane last edited by planetkeane

                        Der Sensor hat 3 Werte
                        Count --> Zählt die Impulse bzw. Flanken (AN ist +1 und AUS +1)
                        Total --> Wieviel hat er insgesamt seit Start gezählt
                        Time --> Unwichtig

                        dc98d38d-3b5c-4aa3-a571-73b31e576dff-grafik.png

                        Alle 60 Sekunden gibt er die Daten an iobroker weiter. Danach fängt "Count" wieder bei 0 an.

                        Total ändert sich, skript geht an, Count wird zur Arbeitsvariable addiert, wenn diese größer 6 ist, wird 0,03125 addiert in den Zähler geschrieben und Arbeitsvariable um 6 gemindert.

                        Arbeitsvariable in History
                        8416a2ff-0e31-4ff6-bdc4-60eacf38df14-grafik.png

                        Total in Histroy
                        50d6e5c8-6d68-445b-93d5-8445a7b40c15-grafik.png

                        Count in Histroy
                        160381c0-836d-42c8-b4fd-d355f3208a93-grafik.png

                        Ich bin nach dem Video von SchimmerMediaHD vorgegangen. Bei ihm scheint dieses Skript zu funktionieren. Vielleicht zählt bei mir der Ferrariszähler falsch, oder die Diode erfasst nicht alle Scheibenbewegungen?

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

                          @planetkeane sagte: Flanken (AN ist +1 und AUS +1)

                          Dann 2 pro Umdrehung, also Division durch 192.

                          @planetkeane sagte in Stromverbrauch in Kommaschritten:

                          Total in Histroy

                          Danke. Dann muss es mit "Total" als Trigger und diesem Blockly funktionieren:

                          Bild_2022-09-13_171219948.png

                          Der Trigger "ist größerer als letztes" blendet einen Rücksprung auf 0 von "Total" aus.

                          @planetkeane sagte in Stromverbrauch in Kommaschritten:

                          Count in Histroy

                          Also liefert "Count" die Zahl der Impulse pro Minute.

                          Mit "Count" als Trigger würde das obere Blockly funktionieren.

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

                            @paul53 So wie ich das sehe, ist in meinem Blocky (erster Post) aber kein Fehler, oder?
                            Ich probiere deinen blocky nachher mal aus, denke aber es wird zum selben Ergebnis führen...
                            heute um 13Uhr den Zähler neu eingestellt und jetzt fast 0,8kW weniger im iobroker

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

                              @planetkeane sagte: ist in meinem Blocky (erster Post) aber kein Fehler, oder?

                              Es wird auf "Total" getriggert, aber "Count" verwendet, was ein Problem sein kann.
                              Außerdem: Wenn Arbeitsvariable >= 192 ist, wird 192 abgezogen, aber der Wert von "Count" nicht addiert. Im Blockly darunter mit 6 passiert der Fehler natürlich öfter.

                              Meine Empfehlung: Nimm folgende Variante, denn diese aktualisiert den Zählerstand jede Minute.

                              Bild_2022-09-13_190709851.png

                              Wichtig: Auf "wurde aktualisiert" triggern!

                              planetkeane 1 Reply Last reply Reply Quote 1
                              • planetkeane
                                planetkeane @paul53 last edited by planetkeane

                                @paul53 Du bist ein Genie! Das hat tatsächlich funktioniert. Sowohl mit deinem Blocky als auch mit der Info, dass ich bei meinem Blocky den Count nicht mehr addiere wenn Arbeitsvariable abgezogen wird. VIELEN DANK!

                                Was ich mir jetzt noch gedacht habe:
                                Wenn aus irgendwelchen Gründen auch immer das MQTT Protokoll den Server nicht erreicht, würde iobroker einige Count Änderungen nicht mitbekommen. Es wäre daher die "klügere" Variante, anstatt "Count" "Total" zu nehmen. So würde er den Zähler auch aufaddieren, wenn mal eine Verbindung für einige Änderungen nicht zustande kommen würde.

                                Mein Problem hierbei ist jedoch: Total fängt bei Neustart wieder von vorne an. Genauso wenn irgendein Wert mal erreicht ist.
                                Beispiel:
                                Total = 100
                                ->Stromausfall<-
                                Total = 0
                                Durch "Falls Objekt ist größer als letztes" würde er doch erst weiterzählen, wenn Total wieder über 100 wäre, oder?

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

                                  @planetkeane sagte Zähler auch aufaddieren, wenn mal eine Verbindung für einige Änderungen nicht zustande kommen würde.

                                  Das stimmt.

                                  @planetkeane sagte in Stromverbrauch in Kommaschritten:

                                  Total fängt bei Neustart wieder von vorne an.

                                  Deshalb bei dieser Version der Trigger auf "ist größer als letztes".

                                  @planetkeane sagte in Stromverbrauch in Kommaschritten:

                                  Durch "Falls Objekt ist größer als letztes" würde er doch erst weiterzählen, wenn Total wieder über 100 wäre, oder?

                                  Nein. Beispiel 100 --> 1 --> 3. Die erste Differenz ist dann 2 (3 - 1). Es können nach dem Reset evtl. 1 oder 2 Impulse verschluckt werden.

                                  planetkeane 1 Reply Last reply Reply Quote 1
                                  • planetkeane
                                    planetkeane @paul53 last edited by

                                    @paul53 Vielen Dank für deine Hilfe! Du hast mir wirklich sehr geholfen 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • planetkeane
                                      planetkeane last edited by

                                      Eine Frage hätte ich noch:
                                      Kann ich mich über Telegram benachrichtigen lassen, wenn Total länger als bspw. 5 Minuten nicht aktualisiert worden ist?
                                      Finde unter Blocky nicht die richtigen Bausteine um dies zu realisieren

                                      G paul53 2 Replies Last reply Reply Quote 0
                                      • G
                                        guergen @planetkeane last edited by

                                        @planetkeane Klar geht das, du startest einen timeout von 5 Minuten und guckst, ob der DP sich in der Zeit ändert, macht er das, setzt du den Timeout zurück, macht er es nicht, sendest du dir ein Telegram.
                                        Mach dir aber einen Telegram-Reminder, sonst bekommst du alle Naselang eine Meldung wenn der DP sich nicht ändert und du es nicht "resetten" kannst.

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

                                          @planetkeane sagte: Telegram benachrichtigen lassen, wenn Total länger als bspw. 5 Minuten nicht aktualisiert worden ist?

                                          Es muss auf "wurde aktualisiert" getriggert werden:

                                          Bild_2022-09-14_103520363.png

                                          1 Reply Last reply Reply Quote 0
                                          • planetkeane
                                            planetkeane last edited by

                                            Nochmals danke 🙂

                                            Ich habe heute morgen gesehen, dass der Zähler wieder eine kleine Abweichung hat.
                                            Zähler ...8,80 kW
                                            iobroker ...8,74 kW

                                            Irgendwie funktioniert das Impulsezählen nicht so richtig bei mir 😕

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            611
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            21
                                            867
                                            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