Dies ist der "

Software Teil

" aus der Serie Analogen Stromzähler auslesen und per Blockly Verarbeiten.

Hier zeige ich euch wie Ihr folgende Daten in euren IoBroker als Variablen mit Blockly verarbeiten könnt.

Folgende Sachen werden wir nun in 4 Teilen realisieren:

 

Moment -Verbrauch:

Eigentlich ist es eine feine Sache um seinen Ruhestrom im Durchschnitt zu messen, wer kennt es nicht? Der Stromverbrauch ist einfach zu hoch, doch was tun ?
Dieses Script erstellt eine Arbeitsvariable die dann den Durchschnittsverbrauch in Wh anzeigt. Somit ist es möglich die Daten zu speichern und später auszuwerten.

Im IoBroker könnt Ihr das ganz einfach über Float machen

Welche Punkte müssen wir nun erstellen?

Geht dazu bitte in eurem IoBroker und legt folgende Punkte manuell an:

Zeit Variable in IoBroker
iOBroker Zeitvariable

Legt eine Variable mit dem Namen „Zeit“ an, diese wird benötigt um die Berechnung in sec zu Speichern.

Art: Zahl
Minimaler Wert: 0
Maximaler Wert : 9999999999999

 

Anschließend auf Speichern Klicken.

Nun erstellt Ihr euch ein Script mit Blockly, zu finden im IoBroker unter Scripte.


Bitte benutzt die „Gruppen“ Funktion, es dient euer Übersicht und Änderungen sind schneller erledigt.

Nachdem Ihr eine Gruppe zum Beispiel: Stromzähler angelegt habt geht es nun weiter mit dem Script.

 

Die Variable die gemessen werden soll, das ist die Switch-Variable die von eurem Strom Zähler kommt ( Zähler / Switch etc. )

Trigger -> Objekt ID
( Ist eure Variable die vom Strom Zähler kommt )

 

  • -> wurde geändert
  • -> anerkannt ist egal
  • -> Mathematisch ( 1 + 1 Feld ) Einfügen
  • -> System : aktualisiere mit Wert ( hier eure gerade erstellte Variable „Zeit“ )
  • -> Trigger -> ( Einfaches Feld : Objekt ID Wählen ) -> Zeitstempel auswählen
  • -> Minus ( – )
  • -> Trigger -> ( Einfaches Feld : Objekt ID Wählen ) -> vorheriger Zeitstempel

Somit haben wir eine Zeitberechnung in Sekunden. 

 

Wir benötigen jetzt noch die Variable „Moment“ die uns den aktuellen Durchschnittsverbrauch anzeigt.

IoBroker Momentvariable

Legt eine Variable mit dem Namen „momemt“ an, diese wird benötigt um den Durchschnitt einer Umdrehung zu berechnen.
Art: Zahl
Maßeinheit: Wh ( Watt -Stunden )
Minimaler Wert: 0
Maximaler Wert : 9999999999999

 

Anschließend auf Speichern Klicken.

Nun erstellt Ihr euch ein Script mit Blockly, zu finden im IoBroker unter Scripte.

Geht in den zuvor erstellen Ordner zum Beispiel: Stromzähler

Erstellt dort ein Script -> Blockly mit folgenden Angaben:

  • -> Trigger -> Objekt ID ( Beispiel Switch s.o )
  • -> wurde geändert
  • -> anerkannt ist egal
  • -> Mathematisch 3 x  ( 1 + 1 Feld ) Einfügen
  • -> System : aktualisiere mit Wert ( hier eure gerade erstellte Variable „moment“ )
  • -> 1te. Mathematisches Feld „x“ 2te. In die erste Öffnung ( Das Feld mit 3600 ) „/“
  • -> System -> Wert von Objekt ID auswählen ( Hier die Variable Zeit )
  • -> Hier kommt es nun an wie viel Umdrehungen eine kWh bei euren Zähler entsprechen, bei mir sind es 75 Umdrehen = 1 kWh.
    ( Wert kann Unterschiedlich sein, bitte prüfen )

Bei 75 Umdrehungen ist es folgende Rechnung: 1000 / 75 = 13,33~
Wert bitte anpassen ( 1000 / X = Y~ )
13,33~ bzw Y entsprichen eine Umdrehung in Wh.

Die Ganze Rechnung = 13,33~ ( Y ~ ) * 3600 / Zeit * 1000 = Wh ( Durchschnitt )
Das ganze sollte dann so aussehen:

Berechnung Moment

 

 

Somit haben wir im IoBroker einen Moment -Verbrauch mit dem wir Arbeiten können.

Möglichkeiten wären:

Es per Float ausgeben ( Grafisch darstellen )
Einer Datenbank übergeben ( Um es zum Beispiel auf einem Display auszugeben )
Scripte Starten wenn ein Wert Überschritten wird
Telegramm Nachricht

Es gibt unzählige Anwendungen und Sachen die man damit machen kann 🙂

 

*der Moment -Verbrauch ist eher als Durchschnittsverbrauch von der letzten bis zur aktuellen Umdrehung anzusehen.

Kleiner Sicherheitshinweis: 
Bitte stellt eure Daten die Ihr Speichert keinen Dritten zur Verfügung, man könnte Rückschlüsse ziehen, wann wer zu Hause ist ( Einbruch etc ) 

Geht Rücksichtsvoll mit solchen Daten um.

 

Hier geht es bald weiter mit Teil 2:                                Stunden -Verbrauch in kWh

 

 

22 Replies to “Analogen Stromzähler auslesen und per Blockly Verarbeiten – Teil1 Moment Verbrauch”

  1. Hallo,

    Vielen Dank für diese Anleitung. Ich hab die aktuell Firmware von espeasy einen tcrt5000
    der auf dem Zähler sitzt und ich bin mir hier unsicher was ich als Zahl vom Puls Count abnehmen soll. Aktuell erscheint mir mein verbracht zu hoch. Die Zählerkonstante hab ich angepasst.

    So ganz nachvollziehen was das Skript und die variable machen kann ich leider auch nicht…

    Kannst du mir da evtl noch etwas weiterhelfen?

    Danke

  2. Hallo

    PulseCounter ist so eine Sache, ich würde den TRCT5000 auf Switch umstellen, ist wesentlich genauer, und er sendet bei jeden HIGH ein Signal, im IoBroker erscheint dann 0 oder 1.
    Dieses Script ist auch für die Switch Methode!

    Dieses Triggerst Du, und zählst dann Deinen Counter hoch.

    Wo hapert es denn genau?

    Gerne kannst Du mir Dein Script mal zukommen lassen:

    p.vens-cappell@online.de

    Ich schaue es mir gerne an.

    Wenn Dir der Verbrauch zu hoch vorkommt, prüfe mal was der Sensor so an der Scheibe macht.

    Also wirklich hinstellen und zu schauen ob er vielleicht flackert, die Scheibe unrund ist etc pp.
    Meist hilft das schon.

    1. Hi, danke für deine schnelle Antwort.
      Ich hab zudem noch eine Antwort im Schimmermedi Forum Erstellt.

      Ich setzte deine Lösungen um und melde mich bei dir,

      vielen Dank

          1. Kannst es auch über diesen machen, solange er bei jeder roten Markierung einen neuen Status per MQTT sendet.
            Diesen Status musst Du Triggern ( Abfragen bei Änderung ) und das Script dementsprechend anpassen.

            Wenn Du Switch wählst, muss folgendes gewählt werden:
            „Push Button Active HIGH“

            So sendet er eine 0 und eine 1 wenn der rote Streifen erkannt wurde.

            Diese fragst Du ab und zählst eine Variable solange hoch bis Dein Zählerwert erreicht wurde ( 75 / 150 je nach Zähler ) und Arbeitest dann meine Anleitung ab.

            So:
            https://www.techdroid.de/wp-content/uploads/2019/03/bild.png

            Wenn der Wert Dir zu hoch erscheint, musst Du mal den Sensor direkt an der Scheibe beobachten.

  3. Danke für die Anleitung, hab lange einen Laufzeit timer gesucht und bin hier fündig geworden. 🙂
    Ich habe jedoch Tage damit zugebracht, heraus zu finden weshalb der Timer ab ca 5 min nur noch Qautsch schreibt und sich mehr oder weniger verabschiedet, nach ein paar Stunden Laufzeit standen dann nur noch ein zwei Minuten drin. Ich hab erst die Prellziet des Schalters im Verdacht gehabt. Dann habe ich mich gefragt woher er die Zeit nimmt. Diese kam vom web.0 Adapter und dessen integrierten socket.io.
    Ich weis nicht weshalb, aber nach dem umschalten auf externe socket.io Instanz hat der Timer vernünftig gezählt.

  4. Hallo Pascal
    erst einmal vielen Dank für die Anleitung.
    In den Scripten tauchen die Variablen
    „Umdrehungen“ und „aktuelle_woche“ auf. In den Beschreibungen zu den Scripten finde ich keine Aufforderung diese anzulegen. Ich denke aber, dass ich diese erstellen muss? Oder ist das nicht nötig?

    MfG
    Marc

  5. Hallo Marc,

    Du hast vollkommen Recht, die Variablen hab ich vergessen in der Beschreibung.

    Die Variable Umdrehungen wird benötigt um das High Signal vom Stromzähler zu zählen.
    Sprich: Wenn der rote Balken erkannt wird, wird die Variable „Switch“ geändert, und die Variable „Umdrehung“ erhält +1.
    Diese wird dann hoch gezählt ( bei mir bis 75 ) anschließend bei erreichen von 75 wird die Variable kWh +1 erhöht und „Umdrehungen“ wieder auf 0 gesetzt.

    aktuelle_woche ist die gesamt Statistik für die Woche, diese wird parallel mit hochgezählt und einmal die Woche zurück gesetzt.

    Beides kannst Du als Zahl anlegen.

    Grüße

  6. Hallo Pascal,
    ich bekomme das Script nicht 100%ig zum laufen. Ich habe es dir mal auf deine e-Mail Adresse geschickt. Würdest du es dir bitte einmal anschauen?

    MfG Marc

  7. Erhält man hier bei deiner Rechnung nicht Wattsekunden und keine Wh?

    Wenn ich bspw. 120sec für eine Umdrehung benötige und rechne:

    (1/75 kWh) / 120s = 0,00011111111 kWh/s
    das ganze * 1000 * 3600 = 400 Wattsekunden

    Das sind doch keine Wh? Oder täusche ich mich? 400 Wattstunden wäre doch recht viel, oder nicht?

    Bin aber selbst etwas unsicher hier – jedoch rechnest du meines Erachtens nach gleich.

  8. Hallo Tobi,

    Bei 400 Wattstunden sind es 0,4 Kw/h

    ( 1 kW * 1 h = 1 kWh. Eine Glühbirne mit 100 Watt benötigt demnach innerhalb einer Stunden: 100 W * 1h = 100 Wh (Wattstunden), also 1 kWh in 10 Stunden. )

    Bei 400 Wattsekunden wären es ja nur 0,04Kw/h.

    Grüße

    1. Hey Pascal,

      danke für deine schnelle & freundliche Rückmeldung. Ich muss da nochmal nachhaken und möchte dazu betonen, dass es nicht besserwisserisch gemeint ist, sondern, weil ich nicht so Recht auf einen grünen Zweig mit deiner Rechnung komme O:-)

      Das würde ja nach deiner Antwort bedeuten, dass ich nach einer Umdrehung von 75 bereits 0,4 kWh in 120s im Schnitt verbrauche. Da wäre ich ja nach der dritten Umdrehung schon über 1 kWh, was etwas seltsam ist, wenn diese erst nach 75 Umdrehungen erreicht sein sollte, oder nicht?

      Oder wo liegt hier mein Denkfehler? 🙂

    2. Ergänzend zu meinem letzten Kommentar:

      Meine Rechnung:
      400 Ws = 0.00011111111111111 kWh
      0.00011111111111111 kWh * 120s * 75 Umdrehungen = 1 kWh
      Würde sich der Zähler in der gleichen Geschwindigkeit mit 400 Ws weiterdrehen, so käme man am Ende auf 1 kWh nach 75 Umdrehungen.

      Bei deiner Rechnung kann ich das irgendwie nicht korrekt zurückrechnen.
      Wenn das 400Wh wären, die er in 120s im Schnitt verbraucht, dann wäre die Rückrechnung:
      400Wh = 0,4 kWh
      0,4 kWh * 120s * 75 Umdrehungen = 3600 kWh

      Oder wo vertue ich mich?

      1. Hey Tobi,

        Du darfst Die Variable Zeit nie aus dem Auge/Sinn lassen, mag vielleicht ein wenig verwirrend sein, aber wenn Du so rechnen möchtest erhältst Du:

        120 x 0,4 = 48 kw/h ( Bei einem konstanten Verbrauch )
        In einer Stunde dreht sich der Zähler dann :
        3600 / 120 = 30 mal.
        Heißt der Balken ist 30 mal in einer Stunde vorne dann an der Scheibe vorbei gefahren.

        Also hast Du in der einen Stunde einen Verbrauch von 12 Kw/h ( 30 x 0,4 ) ausgehend bei einem konstanten Verbrauch.

        Die Rechnung kannst Du dann noch weiter runter brechen:

        12 / 2 ( Halbe Stunde ) = 6 Kw/h in 30 Minuten
        12 / 4 ( 15 Minuten Takt ) = 3 kw/h in 15 Minuten
        12 / 60 ( 1 Minuten Takt ) = 0,2 kw/h in einer Minute
        0,2 x 0,0166667 = 0,0033334 Kw/h in einer Sekunde.

        Hoffe bin jetzt nicht selbst verwirrt xD

        Grüße

        1. Hey Pascal,

          danke, dass du das „durchdiskutieren“ zulässt und die Kommentare nicht einfach unveröffentlicht lässt.

          Ich bin mir ja selbst nicht sicher, muss aber zugeben, dass ich noch nicht so Recht überzeugt bin 😀
          Und zwar kommst du bei deinem Herunterrechnen ja korrekterweise am Ende z.B. auf 0,0033334 kWh in der Sekunde. Das kann meines Erachtens aber nicht stimmen, denn erinnern wir uns zurück (auch in deiner Rechnung), so wissen wir ja bereits was in der Sekunde verbraucht wird. Nämlich in deiner Rechnung 0,4 kWh (erste Zeile deiner Berechnung). Diese nimmst du ja mit korrekter Grundannahme mal 120 Sekunden.
          Dann rechnest du es ja fort, wogegen ich erstmal nichts sagen kann.
          Nur dann widerspricht dir deine eigene Rückrechnung, wenn hinterher ein anderer Verbrauchswert pro Sekunde herauskommt, oder täusche ich mich?

          Ich greife deine Rechnung auf und starte mit 400Ws anstatt mit 400Wh. Dann geht es auf.

          120 x 400Ws = 120 x 0.00011111111111111 kWh = 0,013333333 kWh ( Bei einem konstanten Verbrauch )
          In einer Stunde dreht sich der Zähler weiterhin :
          3600 / 120 = 30 mal.
          Heißt der Balken ist 30 mal in einer Stunde vorne dann an der Scheibe vorbei gefahren.
          (diese Rechnung muss ich nicht anpassen, da sie ja nur Zeitabhängig ist und hier auch die Realität darstellt an welcher sich unsere Berechnung messen muss)

          Also hast Du in der einen Stunde einen Verbrauch von 0,4 kWh ( 30 x 0,013333333 ) ausgehend bei einem konstanten Verbrauch.

          Die Rechnung kannst Du dann noch weiter runter brechen:

          0,4 / 2 ( Halbe Stunde ) = 0,2 kWh in 30 Minuten
          0,4 / 4 ( 15 Minuten Takt ) = 0,05 kWh in 15 Minuten
          0,4 / 60 ( 1 Minuten Takt ) = 0,006666667 kWh in einer Minute
          0,006666667 / 60 = 0,000111111 kWh in einer Sekunde.
          => der Wert von dem wir anfangs ausgegangen sind und welcher mit unseren 30 Umdrehungen passt. 0,000111111 kWh sind umgerechnet 400 Ws.

          Ich rechne schon seit 2 Tagen herum und mein Kopf explodiert bald 😀 Aber so passt das doch?

        2. Schade, dass du meinen letzten Kommentar nicht veröffentlichst 😉
          Dadurch bleibt dein Statement natürlich das letzte. Richtiger wird es dadurch auch nicht…

          1. Hmm, gar nicht gesehen.
            Entschuldige, zuviel Spam. Muss mir da mal was überlegen.

            Ich denke Du solltest es mal testen.
            Er errechnet Dir dann genau den Verbrauch.
            Einfach mal testen und vergleichen.

            Man denkt vielleicht auch zu kompliziert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.