Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Energieverbrauch in Datei speichern?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Energieverbrauch in Datei speichern?

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

      @mickym

      Hallo, danke, aber ich verstehe nur Bahnhof helfe mir mal auf die Sprünge muss dann mal per Videos anschauenbolded text

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Butalive23 last edited by

        @butalive23 Na sag doch einfach, was Du konkret machen willst und dann können wir es doch gemeinsam machen

        B 1 Reply Last reply Reply Quote 0
        • B
          Butalive23 @mickym last edited by

          @mickym Hallo Mick nach dem mein Editor geht, könnten wir ja einen Versuch machen, was für Daten brauchst den noch?

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Butalive23 last edited by

            @butalive23 Ich bin jetzt erst mal nur noch ca. 10 Minuten da. Aber beschreib, wo die Daten (Datenpunkte liegen), wie die Datei aussehen soll. Wie oft wird da geschrieben, wie lange soll die Datei werden, soll die Datei jeden Tag/Woche etc. neu geschrieben werden.

            Du musst doch eine Vorstellung haben, wie genau das Prozedere aussehen soll, nur dann kann man es doch entsprechend umsetzen.

            B 1 Reply Last reply Reply Quote 0
            • B
              Butalive23 @mickym last edited by

              @mickym Danke es eilt nicht.Also, wie gesagt, ich bin Anfänger und habe das Talent mich nicht richtig ausdrücken zu können, ich versuche es mal. Ich habe zur Zeit 17 Schellys im Iobroker per Script eingebunden(https://www.kreyenborg.koeln/shelly-verbrauchs-historie-fuer-tag-woche-monat-jahr/). Ich möchte nun, dass die Werte täglich zur gleichen Zeit pro Gerät fortlaufend in eine Datei geschrieben (nicht überschrieben) im odt oder csv Format auf meinen NAS geschrieben und gespeichert werden. Der Hintergrund ist, dass ich das füher mit meinen Gosund zwischen Steckern auch so gemacht habe. Es wurde mir auch reichen, wenn nur der tägliche Wert geschrieben wird, den Rest könnte man auch über die Tabellenkalkulation machen. Zurzeit habe ich auch noch keine VIS, aber das ist ein anderes Thema. Danke

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Butalive23 last edited by

                @butalive23 Ja OK - ich habe zwar zwischenzeitlich auch ein Node-Red Flow gemacht, der Dir die Zählerstände abliest - aber gut, dann hast Du ja Datenpunkte.

                Dann lässt Du die halt in eine Datei schreiben. Da die Datenpunkte ja zu unterschiedlichen Zeiten triggern - solltest Du vielleicht die Dateien nach Zeit erstellen und dafür die Spalten nach Geräten.
                Grundsätzlich kann NodeRed nur ins lokale Dateisystem schreiben. Wenn Du also auf ein NAS ausserhalb des Systems schreiben willst, musst die Netzlaufwerke vorher in entsprechende Ordner mounten. Ich empfehle Dir Dateien in das home Verzeichnis des Benutzers iobroker zu schreiben.

                1 Reply Last reply Reply Quote 0
                • B
                  Butalive23 last edited by

                  Hallo danke für Dir schon mal.
                  Die Datenpunkte stehen in den Objekten, oder?
                  Mit den unterschiedlichen Zeiten ist mir noch nicht klar, gut finde ich aber das nur eine Datei für alles erstellt wird und meine Geräte in Spalten angezeigt werden, dass erleichtert es mir es verstehe ich das richtig? Oder meinst Du das, für jedes Gerät eine Datei erstellt wird und Spalten für Tag, Woche, Monat und Jahr angezeigt werden. Auf jeden Fall möchte ich die Auswertung nicht unnötig verkomplizieren.
                  Der Speicherort spielt eigentlich keine Rolle, wollte damit sagen, dass dies bei den alten Geräten so bisher gemacht wurde, der Raspi ist ja auch eine Art NAS.
                  Kommt das nicht auf das Gleiche raus, wenn die Zählerstände in den Objekten abgelesen werden?

                  1 Reply Last reply Reply Quote 0
                  • B
                    Butalive23 last edited by

                    Ich hoffe, Du kannst auch anderen damit anderen Usern helfen, nicht nur solch einen Statistik Narren wie mich.

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Butalive23 last edited by mickym

                      @butalive23

                      Im Prinzip habe ich das ganze hier schon mal gemacht: https://forum.iobroker.net/topic/73421/mehrere-objektwerte-in-csv-schreiben-gelöst

                      Wenn Du nicht jetzt die Luxusversion willst und nicht lange überprüfen willst, ob eine Datei bereits existiert oder nicht dann brauchst Du keine zusätzlichen Nodes wie in dem Thread den ich gerade gepostet habe.

                      Wie gesagt ich kenne das Skript von Kreyenborg nicht und habe dafür erst ein eigenen NodeRed Flow gemacht, der wahrscheinlich das gleiche wie dieses Skript macht - aber halt nicht mit Javascript Code.

                      Dieses Javascript erzeugt ja einen Datenpunkt - gestern, der wahrscheinlich dann einen gesamten Tagesverbrauch enthält.

                      7b6cef89-76db-42a5-bb50-b6ef1804eaed-image.png

                      Diesen würde ich halt dann zum triggern nehmen.

                      Momentan erzeugt mein Node-Red Flow aktuell zu beliebigen Zeitpunkten auch Verbrauchsdaten anhand der Standardzählerstände.

                      d4900fa9-fe8d-436c-892a-5322554b97c2-image.png

                      Jedenfalls auch mit der Kreyenborg version hast Du ja mit dem Datenpunkt "gestern" einen vollständigen Tagesverbrauch.

                      Diesen lässt Du triggern über eine iobroker-In Node und setzt anschließend ein topic - der beschreibt, um was es sich für ein Gerät handelt.

                      Um das Ganze im Detail zu erklären:

                      Du gehst allso in Deinen Kreyenborg Datenpunkten auf den Datenpunkt gestern und kopierst aus der 1. Spalte über das Kopieren Icon den Pfad in die Zwischenablage:
                      50bf54fa-d3ad-405b-b8dd-f9bfee58204d-image.png

                      Dann ziehst Du Dir eine iobroker-IN Node in Dein Floweditor und kopierst den Pfad des Topics aus Deinem Kreyenborg datenpunkt in das Topic.

                      Alternativ kannst Du das topic auch durch das Klicken auf die 3 Punkte neben dem Topic auswählen:
                      87ff8405-df92-4813-8fd4-081452268d2a-image.png

                      Jedenfalls steht dann im topic oben das Feld:

                      Damit die Datei nicht ungeplant erzeugt wird, sagst Du dass nur Änderungen triggern sollen und der Datenpunkt beim Neustart des Node-Red Adapter neu eingelesen wird. .

                      Ich mach das mal bei mir für stündlich, um es Dir zu Testzwecken zu zeigen.

                      b65e8f21-e9d2-4957-95e0-b9156e9abd26-image.png

                      Den Rest kannst Du so lassen.

                      Nun setzen wir das topic so, wie wir die Spalte dann in der CSV Datei haben wollen.

                      Also um bei dem Kreyenborg Beispiel zu bleiben:

                      b2958cd7-cab6-4f1b-9a4c-144809d5093c-image.png

                      handelt es sich wohl um einen Katzenbrunnen und dieses werden wir dann als Spaltenüberschrift benutzen und somit als topic. Dieses topic setzen wir in einer Change Node

                      adbce948-d3e7-495a-b69f-09256956613b-image.png

                      Das machst Du mit allen anderen Geräten, die Du in die Datei schreiben willst genauso.

                      Anschließend fasst Du das ganze Zusammen - definierst die Spaltenüberschriften nochmal und fügst das Datum ein, wann die Zeile geschrieben wurde.

                      8a80b436-882a-43ce-bf53-e5e1d66ec87f-image.png

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active last edited by

                        So zum Abschluss jetzt hier mal eine vereinfachte Form des Flows, den ich aus dem anderen Thread referenziert habe:

                        b49988e0-34ed-4c56-963e-1dbbcbcba741-image.png

                        Man importiert die CSV Datei am Besten in ein leeres Excelsheet.

                        75fd125c-6c98-48b4-b589-520e5ebe189d-image.png

                        Hier der Flow zum Import:

                        [{"id":"0fd963e0ffd0d7df","type":"ioBroker in","z":"289f539dcc33814e","name":"0_userdata.0.Test.FritzBox4440.Verbrauch.stündlich","attrname":"payload","topic":"0_userdata.0.Test.FritzBox4440.Verbrauch.stündlich","payloadType":"value","onlyack":"","func":"rbe-preinitvalue","gap":"","fireOnStart":"false","outFormat":"MQTT","x":230,"y":5100,"wires":[["037f33f93df21f90"]]},{"id":"037f33f93df21f90","type":"change","z":"289f539dcc33814e","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"FritzBox 4440","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":5100,"wires":[["6461bb798c5b5405"]]},{"id":"9230f6bf5e533d70","type":"ioBroker in","z":"289f539dcc33814e","name":"0_userdata.0.Test.FritzBo7590.Verbrauch.stündlich","attrname":"payload","topic":"0_userdata.0.Test.FritzBox7590.Verbrauch.stündlich","payloadType":"value","onlyack":"","func":"rbe-preinitvalue","gap":"","fireOnStart":"false","outFormat":"MQTT","x":230,"y":5160,"wires":[["2ef87c9fae2c9c8a"]]},{"id":"2ef87c9fae2c9c8a","type":"change","z":"289f539dcc33814e","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"FritzBox 7590","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":5160,"wires":[["6461bb798c5b5405"]]},{"id":"6ce7ad66b88615ed","type":"join","z":"289f539dcc33814e","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":910,"y":5120,"wires":[["a7bd772dd40b23e8"]]},{"id":"6461bb798c5b5405","type":"change","z":"289f539dcc33814e","name":"Zahlen  Komma","rules":[{"t":"set","p":"payload","pt":"msg","to":"$formatNumber(payload, \"0,####\", {'decimal-separator':',', 'grouping-separator':'.'} )\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":5120,"wires":[["6ce7ad66b88615ed"]]},{"id":"81f4eb101e660bac","type":"debug","z":"289f539dcc33814e","name":"Test","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1430,"y":5080,"wires":[]},{"id":"a7bd772dd40b23e8","type":"change","z":"289f539dcc33814e","name":"","rules":[{"t":"set","p":"columns","pt":"msg","to":"\"Datum & Uhrzeit,\" & ($keys(payload)~>$join(\",\"))","tot":"jsonata"},{"t":"set","p":"payload[\"Datum & Uhrzeit\"]","pt":"msg","to":"$moment().locale(\"de\").tz('Europe/Berlin').format('DD.MM.YYYY HH:mm:ss')","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1090,"y":5120,"wires":[["d42c2b9e5c40b488"]]},{"id":"d42c2b9e5c40b488","type":"csv","z":"289f539dcc33814e","name":"","sep":"\\t","hdrin":"","hdrout":"once","multi":"one","ret":"\\r\\n","temp":"","skip":"0","strings":true,"include_empty_strings":"","include_null_values":"","x":1270,"y":5120,"wires":[["81f4eb101e660bac","55efda56ca28136a"]]},{"id":"31969226023e3e83","type":"file","z":"289f539dcc33814e","name":"","filename":"filename","filenameType":"msg","appendNewline":false,"createDir":false,"overwriteFile":"false","encoding":"none","x":1640,"y":5120,"wires":[[]]},{"id":"55efda56ca28136a","type":"change","z":"289f539dcc33814e","name":"","rules":[{"t":"set","p":"filename","pt":"msg","to":"/home/iobroker/MWDesktop/NodeRed.csv","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1450,"y":5120,"wires":[["31969226023e3e83"]]},{"id":"f49158ee4ecf2fb8","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"reset","v":"true","vt":"bool"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"reset","x":1110,"y":5160,"wires":[["d42c2b9e5c40b488"]]},{"id":"bc72d75a5873b3e2","type":"inject","z":"289f539dcc33814e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":1280,"y":5180,"wires":[["55efda56ca28136a"]]}]
                        

                        1 Reply Last reply Reply Quote 0
                        • B
                          Butalive23 @Butalive23 last edited by

                          @butalive23 Hallo, ich bin überwältigt, ich habe es bis jetzt nicht fassen, über eure Hilfe, ein Spitzenforum hier.
                          Das Script war das Einzige, was ich damals gefunden habe. Natürlich bin ich offen für Alternativen, was mir ein Bekannter in meinen Iobroker eingepflegt, deswegen habe ich auch keine Ahnung. Klar beschäftige ich mich damit, aber ich werde das nicht umsetzen können( Ewiger Pessimist). Ich danke Euch.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          1.0k
                          Online

                          31.7k
                          Users

                          79.7k
                          Topics

                          1.3m
                          Posts

                          2
                          15
                          520
                          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