NEWS
Historywerte auf FritzNas speichern
-
Ich verwende im IOBroker fürs Backup die FritzNas. Funktioniert prima.
Jetzt möchte ich Historywerte über 'fs.WriteFile' ebenfalls in der FritzNas speichern.
Das Schreiben bringt Fehler. Vermutlich wegen fehlens der Zugriffsberechtigung.
Mein Problem: Wo gibt man den Usernamen & Passwort an? -
@esp sagte in Historywerte auf FritzNas speichern:
Das Schreiben bringt Fehler.
geheime Fehler?
@esp sagte in Historywerte auf FritzNas speichern:
Vermutlich wegen fehlens der Zugriffsberechtigung.
könnte man vermutlich durch kennen der Fehlermeldung verifizieren.
-
@homoran
anbei der Log-Auszug:
-
Text bitte auch als Text (in CodeTags eingebettet) posten. Mit Screenshots kann man nicht arbeiten.
-
// Histarywerte speichern const objId = '0_userdata.0.Netz.EinspwertStunde'; const csvDateFormat = 'DD.MM.YYYY hh:mm:ss'; //const fileName = `${objId}.csv`; const fileName = `Netz.EinspwertStunde.csv`; const filePath = `http://FritzBox/FritzNas/Sicherungen/${fileName}`; var fs = require('fs'); // Save every monday @ 00:00 //schedule('0 0 * * 1', async () => { const end = new Date().getTime(); const start = end - (60 * 60 * 24 * 2 * 1000); // last 2 days getHistory('history.0', { id: objId, start: start, end: end, aggregate: 'none', timeout: 2000 }, (err, result) => { if (err) { console.error(`Unable to get history of ${objId}: ${err}`); } else if (result) { let csvData = ['timestamp;value']; for (var i = 0; i < result.length; i++) { csvData.push('${formatDate(result[i].ts, csvDateFormat)};${result[i].val}'); log(`${formatDate(result[i].ts, csvDateFormat)};${result[i].val}`); } fs.writeFile(filePath, csvData.join("\n"),"utf8", function(err) { if(err) { return console.log(err); } console.log("The file was saved!"); }) } }); //});
MOD-EDIT: Code in code-tags gesetzt!
-
javascript.0 (814) script.js.common._Hist_SaveAsCsvToFile: {'errno':-2,'code':'ENOENT','syscall':'open','path':'http://FritzBox/FritzNas/Sicherungen/Netz.EinspwertStunde.csv'}
MOD-EDIT: Code in code-tags gesetzt!
-
@esp
Leider konnte mir bis jetzt keiner helfen. Ein neuer Versuch Unterstützung zu bekommen.
Das Script:// Historywerte speichern const objId = '0_userdata.0.Netz.EinspwertStunde'; const csvDateFormat = 'DD.MM.YYYY hh:mm:ss'; //const fileName = 'http:\\\\IOBroker:Iedc3sx2wB@FritzBox\\FritzNas\\SAVE\\Sicherungen\\Netz_EinspwertStunde.csv'; const fileName = '\\\\IOBroker:Iedc3sx2wB@FritzBox\\FritzNas\\SAVE\\Sicherungen\\Netz_EinspwertStunde.csv'; var fs = require('fs'); // Save every monday @ 00:00 //schedule('0 0 * * 1', async () => { const end = new Date().getTime(); const start = end - (60 * 60 * 24 * 2 * 1000); // last 2 days getHistory('history.0', { id: objId, start: start, end: end, aggregate: 'none', timeout: 2000 }, (err, result) => { if (err) { console.error(`Unable to get history of ${objId}: ${err}`); } else if (result) { let csvData = ['timestamp;value']; for (var i = 0; i < result.length; i++) { csvData.push('${formatDate(result[i].ts, csvDateFormat)};${result[i].val}'); } fs.writeFile(fileName, csvData.join("\n"),"utf8", function(err) { if(err) { return console.log(err); } console.log(fileName); console.log(" --> was saved"); }) } }); //});
Das Script läuft, aber es wird keine Datei geschrieben!
11.6.2023, 09:45:00.321 [info ]: javascript.0 (810) Start javascript script.js.common._Hist_SaveAsCsvToFile 11.6.2023, 09:45:00.334 [info ]: javascript.0 (810) script.js.common._Hist_SaveAsCsvToFile: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 11.6.2023, 09:45:00.354 [info ]: javascript.0 (810) script.js.common._Hist_SaveAsCsvToFile: http:\\IOBroker:Iedc3sx2wB@FritzBox\FritzNas\SAVE\Sicherungen\Netz_EinspwertStunde.csv 11.6.2023, 09:45:00.355 [info ]: javascript.0 (810) script.js.common._Hist_SaveAsCsvToFile: --> was saved 11.6.2023, 09:45:02.513 [info ]: javascript.0 (810) Stop script script.js.common._Hist_SaveAsCsvToFile 11.6.2023, 09:49:02.575 [info ]: javascript.0 (810) Start javascript script.js.common._Hist_SaveAsCsvToFile 11.6.2023, 09:49:02.587 [info ]: javascript.0 (810) script.js.common._Hist_SaveAsCsvToFile: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 11.6.2023, 09:49:02.608 [info ]: javascript.0 (810) script.js.common._Hist_SaveAsCsvToFile: \\IOBroker:Iedc3sx2wB@FritzBox\FritzNas\SAVE\Sicherungen\Netz_EinspwertStunde.csv 11.6.2023, 09:49:02.609 [info ]: javascript.0 (810) script.js.common._Hist_SaveAsCsvToFile: --> was saved 11.6.2023, 09:49:03.893 [info ]: javascript.0 (810) Stop script script.js.common._Hist_SaveAsCsvToFile
MOD-EDIT: Code in code-tags gesetzt!
Das Backup auf FritzNas funktioniert.
Brauche dringend Hilfe! -
@esp Nochmals die Bitte, Texte in Codetags hier setzen ... dann fällt das Helfen leichter
-
@esp sagte in Historywerte auf FritzNas speichern:
Das Backup auf FritzNas funktioniert.
Bitte mal den Pfad zur Fritzbox aus dem Backitup-Adapter hier zeigen.
-
@esp sagte in Historywerte auf FritzNas speichern:
Das Backup auf FritzNas funktioniert.
Moin,
wenn ich
BackItUp
richtig verstehe, dann bindest Du ja das Verzeichnis, auf das Du die Backups ablegst inioBroker
ein, alsSMB/NFS
oder so, wieso bindest Du dann nicht auchFritzBox\FritzNas\SAVE\Sicherungen\
nicht alsSMB/NFS
ein und schreibst dann da direkt rein?Dann umgehst Du das
http
usw.
Zudem sollte der Hostname der Fritte nichtFritz.Box
sein?VG
BerndEdit: Rechtschreibfehler korrigiert
-
@dp20eic sagte in Historywerte auf FritzNas speichern:
sollte der Hostname der Fritte nicht Fritz.Box sein?
Genau darauf wollte ich abzielen
-
Hallo,
im 'BACKITUP' verwende ich folgende Einstellungen:
Verbindungstyp: 'CIFS'
Server: 'FritzBox'
Pfad: 'FritzNas/SAVE/Sicherungen/backupDir'
In der 'FritzBox' ist eingetragen
FRITZ!Box-Name: 'FritzBox'
Der Benutzer ist der, der auch im BACKITUP verwendet wird.Was muss ich eintragen, um das Verzeichnis einzubinden?
Grüße aus Franken
Erwin -
@esp und ob Du vll auch mal einen Screenshot zeigen magst ?
@djmarc75 sagte in Historywerte auf FritzNas speichern:
Bitte mal den Pfad zur Fritzbox aus dem Backitup-Adapter hier zeigen.
edit: am Besten einen Screenshot von der ganzen Seite !
-
@esp sagte in Historywerte auf FritzNas speichern:
Was muss ich eintragen, um das Verzeichnis einzubinden?
Moin,
na wie hast Du den das
CIFS
eingerichtet?Wenn Du da nicht weiter trennen möchtest, also mit mehreren
CIFS
Mounts, dann kannst Du das Verzeichnis einfach nur mit diesem Pfad inioBroker
einhängenFritzNas/SAVE/Sicherungen/
Dann sollten alle anderen Verzeichnisse, die innerhalb
Sicherung
zu sehen sein, also auch das VerzeichnisbackupDir
, dann könntest Du Dir ja noch ein Verzeichnishistory
erstellen und dann direkt dort mit Deinem Skript hineinschreiben.Zeig mal die Ausgabe, in Code Tags </>
mount
VG
BerndEdit
@esp sagte in Historywerte auf FritzNas speichern:
Verbindungstyp: 'CIFS'
Ach jetzt, hab ich es glaube ich verstanden, manchmal fällt der Groschen halt einfach nicht
Im
BackitUp
wird das Verzeichnis zur Laufzeit gemountet, dann hilft das nicht, dann musst Du den Mount doch aus Deinem Skript machen, dann bin ich mir auch sicher, dass die Namen nicht wirklich passen, ich habe nichts an meiner Fritz.Box geändert da bekomme ichhttp://fritz.box/nas#/
und wenn ich mit SMB, vom Office PC das einhänge, dann sieht das so aussmb://admin_fritz.box@fritz.box/Mittelerde/
Wenn ich das percifs
mache, auf meinem Office PC, dannsudo mount -t cifs -o username=admin_fritz.box //fritz.box/Mittelerde /mnt/austausch Password for admin_fritz.box@//fritz.box/Mittelerde:
Ergebnis
//fritz.box/Mittelerde on /mnt/austausch type cifs (rw,relatime,vers=3.1.1,cache=strict,username=admin_fritz.box,uid=0,noforceuid,gid=0,noforcegid,addr=2a01:0586:8c92:0001:b2f2:08ff:fe10:2cc0,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=65536,wsize=65536,bsize=1048576,echo_interval=60,actimeo=1,closetimeo=1)
-
@esp sagte in Historywerte auf FritzNas speichern:
Pfad: 'FritzNas/SAVE/Sicherungen/backupDir'
der Pfad im Backitup kann so schonmal nicht korrekt sein da dieser mit einem "/" beginnen muss.
Ebenso glaub ich auch nicht dass "FritzNas" in dem Pfad steht weil FritzNas folgend aussieht und auch nicht geändert werden kann:"fritz.nas"
also z.B.
/fritz.nas/SAVE/Sicherung/backupDir
und "SAVE" ist der Name Deines Laufwerks (Stick oder HDD) welchen Du dafür vergeben hast ??
-
Als 80-jähriger Raspi/IObroker-Neuling bin ich in vielen Dingen noch nicht in die Tiefen vorgedrungen. Mein EnergieManagementSystem habe ich schon gut hinbekommen und das Laden meines E-Auto sowie die Schaltung einiger Steckdosen incl, Visualisierung funktioniert prima.
Zum Thema BACKITUP habe ich Screenshots gemacht (am PC bin ich halt besser drauf). So funktioniert es.
SAVE ist der USB-Speicher (SD-Karte) an der FritzBox, den am PC als Laufwerk mounte.
-
FritzNAS muss mit der Option 'noserverino' sowie smb v 3.1.1. gemountet werden. Jedenfalls aktuelle Versionen von FritzOS.
Und bei Server setz mal die IP ein. Oder fritz.box
Oder hast du den Namen der FritzBox geändert? -
Warum eigentlich so ein Hantier?
Ich verwende im IOBroker fürs Backup die FritzNas. Funktioniert prima.
Jetzt möchte ich Historywerte über 'fs.WriteFile' ebenfalls in der FritzNas speichern.Die History wird doch eh von Backitup gesichert?
-
@thomas-braun sagte in Historywerte auf FritzNas speichern:
Warum eigentlich so ein Hantier?
Ich verwende im IOBroker fürs Backup die FritzNas. Funktioniert prima.
Jetzt möchte ich Historywerte über 'fs.WriteFile' ebenfalls in der FritzNas speichern.Die History wird doch eh von Backitup gesichert?
ich denke er will das History Verzeichnis auf frotz.nas auslagern.
Aber auch das geht nicht per Skript
-
@homoran sagte in Historywerte auf FritzNas speichern:
ich denke er will das History Verzeichnis auf frotz.nas auslagern.
Und dann direkt auf die Fritzbox, nicht auf ein angedocktes USB-Medium?
Würde ich dem Flash-Speicher der Box eh nicht zumuten.