NEWS
Lösung zur Wertspeicherung
-
Moin,
Ich möchte nun mein Zählerwerte für:
- sourceanalytix.0.0_userdata__0__Eigenverbrauch.currentYear.delivered.01_currentDay
- sourceanalytix.0.alias__0__Strom_Haus__MT681#1_Total_in.currentYear.consumed.01_currentDay
- sourceanalytix.0.alias__0__Strom_Haus__MT681#1_Total_out.currentYear.delivered.01_currentDay
- sourceanalytix.0.alias__0__Strom_Haus__MT681#2_Total_in.currentYear.consumed.01_currentDay
- sourceanalytix.0.alias__0__Strom_Haus__MT681#2_Total_out.currentYear.delivered.01_currentDay
und noch paar andere Werte für die Wochen/Monate in eine Excel Liste schreiben um die Zahlenwerte zu haben.
Was wäre Sinnvoll? Speichern der Listen auf dem NAS, Speichern auf nem PI? oder?
Ich hab zwar die InfluxDB auch installiert, da krieg ich aber nur Diagramme und ich möchte aber die Täglichen Werte einzeln haben.
Mir reicht es einmal am Tag um 23.59 Uhr wegzuschreiben um den Tageswert zu haben.Wie realisiere ich das Skript am besten, oder gibts etwas vorgefertigtes, was nicht allzu kompliziert ist auf meine bedürfnisse anzupassen. Ich kenn mich mit den ganzen Programmiersprachen noch ned wirklich aus.
Oder geht das Evtl. direkt aus dem Sourceanalytics Adapter direkt?
Grüße und Danke schon mal.
-
@accuface Vielleicht zweischrittig.
Erst als CSV aus der influx absaugen nach diesem Rezept
https://stackoverflow.com/questions/50770966/influxdb-data-table-be-downloaded-as-csv-file
Dann das CSV nach Excel importieren
Vielleicht findet sich hier auch noch etwas
https://forum.iobroker.net/topic/64358/werte-der-influxdb-als-excel-ausleiten
-
@martinp said in Lösung zur Wertspeicherung:
@accuface Vielleicht zweischrittig.
Erst als CSV aus der influx absaugen nach diesem Rezept
https://stackoverflow.com/questions/50770966/influxdb-data-table-be-downloaded-as-csv-file
Dann das CSV nach Excel importieren
Vielleicht findet sich hier auch noch etwas
https://forum.iobroker.net/topic/64358/werte-der-influxdb-als-excel-ausleiten
danke schon mal, schau ich mir an.
EDIT:
Was ich vergessen habe zu schreiben, ich hab nicht alle werte in der InfluxDB. müsste die also direkt aus dem DP holen.
-
-
@bahnuhr said in Lösung zur Wertspeicherung:
@accuface
oder gleich nach Exceldirekt in excel wäre mir fast lieber, dann würden direkt alle werte importiert und nicht über den "Umweg" der Influxdb, auch wenn die genau dafür gedacht ist.
Ich müsste eh erst eine Liste anlegen und Irgendwo speichern
die Frage ist nun noch, wo die Tabelle speichern? da mein NAS schon einige Jahre auf dem Buckel hat und nicht das schnellste ist, würde mich das Arbeiten/auswerten mit der Liste nur unnötig nerven. Zum einfach wegspeichern wäre es wohl ok.
Andere Idee: wäre für die Daten nicht auch eine mysql DB (auf nem Raspi) möglich? -
@martinp said in Lösung zur Wertspeicherung:
@accuface Vielleicht zweischrittig.
Erst als CSV aus der influx absaugen nach diesem Rezept
https://stackoverflow.com/questions/50770966/influxdb-data-table-be-downloaded-as-csv-file
Dann das CSV nach Excel importieren
Vielleicht findet sich hier auch noch etwas
https://forum.iobroker.net/topic/64358/werte-der-influxdb-als-excel-ausleiten
Ich hab mir jetzt beides angesehen, theoretisch das wqas ich suche, aber Praktisch sollte es täglich um 23.59 Uhr automatisch der Tageswert in eine Liste geschrieben werden. So wie ich dass sehe geht dass aus Influx2 nicht.
@bahnuhr said in Lösung zur Wertspeicherung:
@accuface
oder gleich nach ExcelDas hört sich stark nach dem an was ich benötige. Das Problem ist jetzt nur, ich hab nicht wirklich Plan wo ich was und wie Eintragen muss.
Muss aber auch gestehen dass ich aktuell nicht wirklich die Zeit finde um damit mal zu Testen und mehrere Stunden dran zu bleiben.
Ich scheitere schon an der installation von Exceljs.... über den github hab ich mir
npm install exceljs
geholt und über den Expertenmodus -> Benutzerdefiniert versucht zu installieren.
über github und npm ist der adapter nicht zu finden.Ergebniss:
-
Nachdem sich dieser Adapter "NPM install exceljs" im iob nicht installieren lässt, hab ich versucht die Zeile in der Javascript instanz unter zusätzliche NPM module einzufügen. Nach dem Speichern hatte ich die einzelmodule mit "NPM" "install" und "exceljs".
Kann ja nicht richtig sein, also hab ich ausser Exceljs die anderen beiden gelöscht.Dass es so nicht funktionieren kann, ist mir ja fast klar.....aber ich hab ja auch keine Ahnung und über Google komm ich immer wieder auf diesen Thread:
https://forum.iobroker.net/topic/48272/werte-aus-smartmeter-adapter-in-excel-exportieren/2?_=1710272189115
Allerdings steig ich da auch nicht durch.Aus Verzweiflung hab ich auf dem Raspberry wo der iob läuft im Terminal den Befehl
npm install exceljs
ausgeführt. zu meiner überraschung ist da sogar irgendwas installiert worden.... supi, nun muss es ja funktionieren.
Auf dem Laptop (zum testen) dann eine Liste angelegt, den link zur Liste kopiert und in das JS eingefügt, Script gestartet:Wo gibts ne Schritt für Schritt Anleitung? Ich Check das alles sonst nicht anders.
Danke
-
@accuface
Dies ist ausreichend.@accuface sagte in Lösung zur Wertspeicherung:
npm install exceljs
Dies war falsch.
Weiterhin findet er die file nicht.
Lege diese mal unter /opt/iobroker.... -
@accuface Ich hab da mal ein fertigen NodeRed Flow mit entwickelt, wenn Du Interesse hast. Dieser schreibt in eine CSV Datei.
Oder hier: https://forum.iobroker.net/topic/74480/energieverbrauch-in-datei-speichern?_=1734205267154
-
csv geht natürlich auch per Script.
https://forum.iobroker.net/topic/73421/mehrere-objektwerte-in-csv-schreiben-gelöst/2
-
Danke für die Links, hab mir alles angesehen und versucht zu verstehen und nachzuvollziehen.
Umso mehr ich lese umso weniger blick ich durch.
@bahnuhr said in Lösung zur Wertspeicherung:
Lege diese mal unter /opt/iobroker....
Wo ist dass? ich hab keine Ahnung.
auf meinem NAS? auf meinem Laptop, im iobroker....wenn ja, wie komm ich da hin.Ich bin mit den Bruchstücken überfordert, da ich nicht weiß was und wo das ist.
Ich würde ja gern einfach mal irgendwas testen, aber an irgendeinem punkt, alleine vom durchlesen wird mir schwindelig. wenn dann noch sowas steht wie.... einfach in die Datei schreiben...... ja schon, aber wo ist die datei, wie kommt man dahin.
Sorry wenn ich euch nerve, aber ich kann halt als anfänger der bei 0 steht, mit solchen angaben nix anfangen.
Ich fasse mal zusammen was ich möchte:
Die täglichen Werte meiner Zähler um kurz vor Mitternacht in eine Liste schreiben, ob excel oder CSV ist mir egal solange ich diese öffnen kann und die Werte sehe.
Die liste sollte von meinem Laptop (übers Netzwerk?) erreichbar sein. da der Laptop keine 24/7 läuft, müsste es wohl das NAS (synology) oder einer meiner PI's sein.
Mittlerweile ist es mir auch egal ob mit Blockly, JS, Node oder sonst was, es sollte einfach und verständlich sein, so dass ich auch verstehe was ich da tue.
Was hab ich?
Ich hab die Zählerwerte über ein ESP mit tasmota ausgelesen im Source Analytics stehen.Die Liste sollte alle relevanten Daten bekommen:
Datum, Uhrzeit, Name des Wertes (um ihn zuzuordnen), und den Wert natürlich. -
@accuface Nun ja - ich habe nicht Node gemeint, sondern NodeRed und Dir die Links zu den bestehenden Flows geschickt. Weiß aber nicht, ob Du Dich überhaupt auf dieses geniale Produkt einlassen willst.
Das Problem ist, dass NodeRed an sich erstmal nur in ein lokalen Pfad schreiben kann, der allerdings auf ein entferntes Verzeichnis gemountet sein dkann.
Wenn Du mit NodeRed anfangen willst, dann musst Du Dir im iobroker den Adapter installieren, da sonst NodeRed nicht auf Deine Datenpunkte zugreifen kann. Damit ist es auf jeden Fall eine Maschine die 24*7 läuft. NodeRed kann auch nur auf das lokale Dateisystem zugreifen. Wenn musst Du dieses dann freigeben für Dein Laptop oder von mir aus auch auf Deinem NAS über dass Du von der iob Maschine, als auch vom Laptop zugreifen kannst. Solange das aber mit den Rechten nicht hinhaut - kann ich da auch wenig helfen. Ich habs mal bei mir auf dem Windowsrechner gemacht, das geht prinzipiell - aber das wird erst mal eine Rumprobiererei bis das mit den Rechten stimmt.
Wie gesagt, wenn Du das lieber mit Deinen bisherigen Mitteln, wie Blockly oder JS und mit Node JS Bibliotheken machen willst, dann bin ich raus, da können Dir andere besser helfen bzw. ich habe einfach keine Lust mehr Programmcode zu schreiben bzw. Puzzleteilchen zu suchen.
Ich würde Dir in jedem Fall das Schreiben in CSV Dateien empfehlen, da Du dann im Excel einfach auf Aktualisieren gehen kannst und in diesem Fall die CSV nur ergänzt wird.
Ich habe gerade mal so eine Excel Node probiert, die direkt Excel Dateien schreiben kann, allerdings nur jedes Mal neu.
Das halte ich jedoch für weniger optimal. Also entscheide Dich halt, welche Lösung Du bevorzugst.
Im Moment gibt es hier im Forum sicher mehr Entwickler, die Dich mit Javascript oder Blockly unterstützen - andererseits kannst Du ja, wenn Dir NodeRed gefällt, dies auch in Zukunft für andere Aufgaben einsetzen. -
@mickym said in Lösung zur Wertspeicherung:
,Das halte ich jedoch für weniger optimal. Also entscheide Dich halt, welche Lösung Du bevorzugst.
Ich hatte mir heute ein paar Anleitungen und Videos angesehen zu NodeRed.
Voller eifer hab ich mich dann vorhin hingesetzt und wollte eine einfache Hello World eingabe machen, also ein inject node mit hello world beschrieben, ein Debug node als Ausgabe, beide miteinander verbunden, deploy und….. ja nix und, der flow wurde deaktiviert… warum auch immer.Hab frustriert den Laptop ausgeschaltet und bin ins Bett. Noch nicht mal nach Anleitung krieg ich sowas gebacken.
Verstehst du jetzt was ich meine? Ich bin zu blöd für programmierzeug.
Grüsse
-
-
@accuface Ein flow wird nicht einfach deaktiviert und ist ja richtig wie Du anfängst. Ich bin ja gerne bereit, dass mit Dir zusammen zu machen, aber bisschen Geduld mit Dir selbst solltest Du schon mitbringen.
Nun schau erst mal, ob der Adapter läuft und ggf. was @Homoran sagt, ob was im Log steht. Mach halt Screenshots dann sieht man auch was ggf. passiert.
Wichtig ist auch, dass man nicht irgendwelche uralt Videos zu Rate zieht - es kann sein, dass ggf. bestimmte Dinge, die vor 5 Jahren funktioniert haben, heute nicht mehr funktionieren.
-
@mickym said in Lösung zur Wertspeicherung:
@accuface Ein flow wird nicht einfach deaktiviert und ist ja richtig wie Du anfängst. Ich bin ja gerne bereit, dass mit Dir zusammen zu machen, aber bisschen Geduld mit Dir selbst solltest Du schon mitbringen.
Geduld ist nicht so meine Stärke, bzw. wollte ich ab Januar die Werte aufzeichnen und sehe halt dass ich das nicht hinkriege bis dahin. Da hab ich halt leider meinen eigenen Kopf.
Nun schau erst mal, ob der Adapter läuft und ggf. was @Homoran sagt, ob was im Log steht. Mach halt Screenshots dann sieht man auch was ggf. passiert.
NodeRed läuft ja soweit, denke ich. Ich hab ihn ja schon benutzt. Ich werde dass ganze heute abend nochmal angehen und dann screens machen.
Hatte einfach gestern keinen Bock mehr.Wichtig ist auch, dass man nicht irgendwelche uralt Videos zu Rate zieht - es kann sein, dass ggf. bestimmte Dinge, die vor 5 Jahren funktioniert haben, heute nicht mehr funktionieren.
Was ich mir angesehen hatte war von 2022, also noch nicht soooo alt.
-
@mickym said in Lösung zur Wertspeicherung:
@accuface Ein flow wird nicht einfach deaktiviert und ist ja richtig wie Du anfängst. Ich bin ja gerne bereit, dass mit Dir zusammen zu machen, aber bisschen Geduld mit Dir selbst solltest Du schon mitbringen.
So, heute nochmal versucht und heute ging es. Keine Ahnung was dass gestern war. Wahrscheinlich zu lange gearbeitet, zu spät und müde, oder einfach beides.
Also der Node Red Adapter ist ja im iob installiert.
hab mir die Flow's aus deinem obigen Post angesehen, checke aber nicht wie die einzelnen Notes beschrieben werden müssen.
Ich hatte spasshalber mal einen Datenpunkt vom Täglichen Eigenverbruch in ein leeres Feld gezogen. theoretisch, wenn ich es richtig verstanden habe, sollte er sich da den Value holen, ist aber nicht passiert.
Naja, morgen ist auch noch ein Abend. mus um halb 4 aus der Kiste.
Grüße
-
@accuface Nein - die iobroker-IN Node schickt eine Nachricht, wenn der Datenpunkt triggert und das ist auch sinnvoll, weil man dann nicht pullen muss.
Aber bevor Du das machst, solltest Du erst einmal ein Verzeichnis anlegen auf das der iobroker Zugriff hat und auf das Du dann mit Deinem Laptop zugreifen kannst.
-
also ich hab auf dem NAS einen User iobroker (da werden schon iob Backups gesichert) Ich hab mittlerweile Drive auf dem NAS laufen und ein Drive Verzeichnis mit einer Excel tabelle.
wie man ein Verzeichnis auf dem iobroker Raspberry erstellet weiss ich nicht, bzw. hab es im Terminal versucht, bekam aber die meldung dass der zugriff verwehrt wurde. keine Ahnung, kenn ich mich nicht aus mit und wenn ich über google danach suche wie man ein Verzeichnis anlegt kommen immer nur Installationsvideos.
hier auf dem NAS
-
@accuface Also das ist das A und O - das musst Du selbst checken - insbesondere mit Deinem NAS. Ich würde Dir eine eigene Freigabe empfehlen, die Du auf dem Raspberry mountest .
Melde Dich auf dem Terminal in Deinem Raspberry an.
Dann erstellst Du am besten ein Homeverzeichnis für den Benutzer iobroker. Wenn Du als pi angemeldet bist, dann gibst Du ein:
cd /home sudo mkdir iobroker sudo chown iobroker:iobroker /home/iobroker
anschließend überprüfst Du den Inhalt Deines Homeverzeichnisses mit:
ls -la
Das Homeverzeichnis sollte dann so aussehen (plus das Homeverzeichnis anderer Benutzer zum Beispiel pi):
$ ls -la insgesamt 20 drwxr-xr-x 5 root root 4096 13. Apr 2024 . drwxr-xr-x 20 root root 4096 28. Nov 15:03 .. drwxr-xr-x 14 iobroker iobroker 4096 16. Okt 13:31 iobroker
Anschließend gibst Du noch den Verweis in die Benutzerverwaltung ein mit:
sudo usermod -d /home/iobroker iobroker
Wenn das erfolgreich war, kannst Du das mit folgendem Befehl überprüfen:
cat /etc/passwd
unter der Zeile des iobrokers sollte nun das Homeverzeichnis eingetragen sein:
iobroker:x:1002:1002::/home/iobroker:/usr/sbin/nologin
Nun testest Du als user iobroker. Dazu wechselst Du Deine Identität.
sudo -su iobroker
mit
whoami
solltest Du nun der Benutzer iobroker sein.
Mit
cd ~
wechselst Du nun Homeverzeichnis und schaust ob Du eine Datei anlegen und lesen kannst.
nano test.txt
dann schreibst Du was da rein. Verlässt mit Strg + X und bestätigst die Änderungen mit J. Anschließend schaust mit
cat nano.txt
ob alles richtig abgespeichert wurde.
Dann erstellst Du Dir ein Verzeichnis nas in iobrokers Homedirectory:
mkdir nas
Nun musst Du in dieses Verzeichnis nas Deine Freigabe des NAS mounten. Das musst Du aber selbst wissen, weil ich keine Ahnung habe, ob das Samba (Windows Freigaben ) oder nfs Freigaben sind.
Wenn das geklappt hat, dann solltest du die Dateien, die Du unter dem User iobroker im Verzeichnis nas erstellst automatisch auf dem NAS sehen und darauf mit Deinem Laptop zugreifen können.
Auch das mounten sollte mit dem Benutzer iobroker funktionieren.Wenn das alles funktioniert, dann sprechen wir uns wieder.
Zur Rückkehr zum User pi einfach exit eingeben.