Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Datenpunkt für einen Zähler

    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

    Datenpunkt für einen Zähler

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Naturfreund @DGR last edited by

      @dgr
      Du kannst auch mit Variablen arbeiten. Dann brauchst du gar keinen Datenpunkt anlegen.

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

        @DGR
        bitte lesen und befolgen
        https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

        1 Reply Last reply Reply Quote 0
        • D
          DGR @DGR last edited by

          @dgr
          Das war leider ein Denkfehler von mir. Es geht so zumindest nicht an den Stellen, wo ich die Daten brauche. Ich will die aktuellen Daten ja über Influx lesen aus ioBroker und dann in Grafana darstellen. Also brauche ich die Verbindung ioBroker - InfluxDB2.
          Was mir in dem Zusammenhang nicht klar ist, ist der Unterschied in ioBroker-Scripte-Blockly zwischen "steuere" und "aktualisiere". In beiden Fällen werden neue Daten geschrieben. Ob das für mein Problem relevant ist, weiß ich nicht. Ich suche noch immer nach einer Möglichkeit, eine Verbindung von einem Datenpunkt zu Influx herzustellen, ohne den Datenpunkt laufend mit neuen Daten zu füllen. Mich interessiert nur der jeweils letzte/aktuelle Wert.
          Wie bereits oben beschrieben hatte ich es auch Variablen getestet. Das läuft solange gut, bis das Script mal gestoppt/neu gestartet wird. Dann wird die Variable nicht vom alten Stand weiter gezählt, sondern beginnt wieder bei 1 (oder 0).
          Beispiel für den Hintergrund der ganzen Aktion:
          Ich lese über einen Fototransistor an einem ESP8266-Controller die blinkende LED am Stromzähler aus. Dort entsprechen 500 Lichtimpulse 1 kWh, also zähle ich 50 Impulse und erhöhe dann den Zählerstand im ioBroker um 0,1 kWh. Dann wird der Zähler wieder auf 0 gestellt. Mit der Zeit entstehen hier viele Daten mit Werten immer 1 bis 50, von denen ich ja nur den aktuellen Wert brauche.

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

            @dgr
            Der Unterschied zwischen "Aktualisiere" und "Steuere" ist hier gut erklärt:
            https://forum.iobroker.net/topic/61876/bestätigt-acknowledged-flag-bedeutung-ein-mysterium

            Influx und andere DB-Adapter sind darauf ausgelegt, Daten für die Historie anzulegen.
            Mit Deinem Ansinnen bist Du da falsch aufgehoben bzw. Du loggst den falschen Datenpunkt.
            Deinen Zähler mit den Impulsen zu loggen macht da keinen Sinn.
            Ich mache das mit meinem alten Drehstromzähler ähnlich (siehe unten) - dort entsprechen 96 Umdrehungen 1 kWh.
            Geloggt wird in der DB nicht der Impuls-DP, sondern mein Tagesverbrauch.
            Mit der Variablen funktioniert das aber auch - auch nach einem Neustart. Du muss beim Start des Scriptes halt den aktuellen Stand aus dem DP lesen und dann damit weiterarbeiten.

            0e3f5e14-22d2-4316-a625-81b64ed51283-image.png

            D 2 Replies Last reply Reply Quote 1
            • D
              DGR @Codierknecht last edited by

              @codierknecht
              OK., vielen Dank für den Hinweis. Das werde ich mal so umbauen und testen.

              1 Reply Last reply Reply Quote 0
              • K
                klassisch Most Active @DGR last edited by klassisch

                @dgr sagte in Datenpunkt für einen Zähler:

                Ich lese über einen Fototransistor an einem ESP8266-Controller die blinkende LED am Stromzähler aus. Dort entsprechen 500 Lichtimpulse 1 kWh, also zähle ich 50 Impulse und erhöhe dann den Zählerstand im ioBroker um 0,1 kWh. Dann wird der Zähler wieder auf 0 gestellt. Mit der Zeit entstehen hier viele Daten mit Werten immer 1 bis 50, von denen ich ja nur den aktuellen Wert brauche.

                Kann man so machen, halte ich aber für suboptimal.
                Ich würde den ESP kumulieren lassen und z.B. alle Minute die Daten an ioBroker senden.

                Du willst ja eine Konstistenz zwischen abgelesenem Zählerwert und iobroker Wert ohne ständig manuell eingreifen zu müssen.
                ioBroker braucht ab und an updates und auch das OS des ioBroker tragenden Rechners braucht das.
                Da können schon einige Minuten Auszeit entstehen. Bei Deiner Methode verliert dann der ioBroker Impulse wodurch die Zähler auseinanderlaufen.

                D 2 Replies Last reply Reply Quote 0
                • D
                  DGR @klassisch last edited by

                  @klassisch
                  Da hast du wohl recht. Schaue ich mir am Wochenende mal an.

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

                    @codierknecht
                    Die Nutzung der Variablen habe ich da wo es geht so umgestellt. Das klappt so jetzt auch nach Unterbrechung/Neustart des Scripts.
                    Danke.

                    1 Reply Last reply Reply Quote 0
                    • D
                      DGR @klassisch last edited by

                      @klassisch
                      Das mit dem Kumulieren auf dem ESP stellt sich bei mir als schwierig heraus. Ich habe den ESP mit ESP Easy geflasht. Da kann man auch über "Internal Pullup" aufsummieren und nach einer vorzugebenden Zeit den Wert senden lassen. Hier habe ich aber keine Möglichkeit nach einem erreichten Wert zu senden (habe ich zumindest nicht gefunden).
                      Vielleicht müßte ich Python flashen statt ESP Easy und dann ein entsprechendes Script erstellen.
                      Das könnte für den Stromzähler was bringen. Ich erhalte allerdings auch den aktuellen Stand des Gaszählers. Das läuft nicht über einen ESP, sondern es wird lediglich ein Reed-Kontakt eingesetzt, der Änderungen über Zigbee sendet. Somit habe ich da keine entsprechende Möglichkeit. Das alles ist nicht so problematisch, da beide Zähler nur wenige Meter entfernt sind. Da würde sich der Aufwand für den Stromzähler nicht lohnen - bis auf die Freude beim Basteln.

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        klassisch Most Active @DGR last edited by

                        @dgr Bin nicht sicher, ob wir aneinander vorbei reden.
                        a6d05e26-4586-4b82-a607-f08018c947ec-grafik.png
                        ESPEasy hat den "Generic Pulse counter". Davon ist "Total" wichtig.

                        Wenn man dort auf "Edit" drückt, kann man das Sendeintervall einstellen.
                        dc8ec922-2137-43a9-8e5a-a0c6ec3adc6d-grafik.png

                        Dann sendet der ESP z.B. jede Minute die Gesamtzahl der Impulse, die er in diesem Power Zyklus summiert hat. Unabhängig davon, ob sich was geändert hat oder nicht.

                        Auf ioBroker Seite habe ich noch eine Logik, die erkennt, wenn die ESP-Summe plötzlich kleiner wurde. Dann hat der nämlich rebootet. ioBroker berechnet dann einen neuen Offset Wert, womit auch der Reset des ESP neutralisiert oder mindestens mitigiert wird.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        792
                        Online

                        31.9k
                        Users

                        80.3k
                        Topics

                        1.3m
                        Posts

                        7
                        17
                        603
                        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