NEWS
UNSOLVED error : Datei auf Netzlaufwerk öffnen
-
@fastfoot sagte in error : Datei auf Netzlaufwerk öffnen:
@bahnuhr sagte in error : Datei auf Netzlaufwerk öffnen:
klappt bei mir nicht.
Da ist kein Beispiel mit Z: dabei. Wie gesagt, intern wird auf / geprüft, um den Pfad zu bestimmen, alle Versuche mit \ werden da fehlschlagen!
sowas:
workbook.xlsx.readFile("z:/computer/Pool/Messungen.xlsm")
Ergebnis: Error: File not found: z:/computer/Pool/Messungen.xlsm -
@liv-in-sky sagte in error : Datei auf Netzlaufwerk öffnen:
hat der andere server eigentlich den richtigen user account - ich weiß nicht ob windows iobroker einen eigenen user hat - wenn ja muss der auch rechte haben, um das verzeichnis zu lesen
Und wie finde ich das jetzt raus?
Habe in win nur 1 Benutzer (mich selber). Und der hat Admin rechte.
Auf der synology ebenfalls nur 1 Nutzer. -
wenn ich auf z:\ eigenschaften klicke kommt:
Ich müsste doch alles dürfen, oder ?
-
@bahnuhr evtl unter dienste bei iobroker
-
@liv-in-sky sagte in error : Datei auf Netzlaufwerk öffnen:
@bahnuhr evtl unter dienste bei iobroker
Unter dienste ???
wo soll da etwas stehen ? -
@bahnuhr sagte in error : Datei auf Netzlaufwerk öffnen:
sowas:
workbook.xlsx.readFile("z:/computer/Pool/Messungen.xlsm")
Ergebnis: Error: File not found: z:/computer/Pool/Messungen.xlsmes ist doch eigentlich nicht sooo schwer da fehlt jetzt der Doppel-Slash hinter Z://
Folgendes funktioniert hierconst Excel = require('exceljs'); const workbook = new Excel.Workbook(); workbook .xlsx .readFile('X://unix-data/sample1.xlsx') .then(() => { console.log('data was read'); }) .catch((err) => { console.log("err", err); });
-
@fastfoot sagte in error : Datei auf Netzlaufwerk öffnen:
es ist doch eigentlich nicht sooo schwer da fehlt jetzt der Doppel-Slash hinter Z://
Doch ist ist schwer wenn man nicht genau weiß was gemeint ist.
Eingegeben hab ich:
workbook.xlsx.readFile("z://computer/Pool/Messungen.xlsm")Ergebnis:
Error: File not found: z://computer/Pool/Messungen.xlsmBei mir klappt dies nicht. Aber trotzdem danke.
Und mit deinem Script:
const Excel = require('exceljs'); const workbook = new Excel.Workbook(); workbook .xlsx .readFile('z://computer/Pool/Messungen.xlsm') .then(() => { console.log('data was read'); }) .catch((err) => { console.log("err", err); });
kommt im log: err
-
@bahnuhr
Keine Ahnung obs daran liegt, ist mir nur aufgefallen.xlsx
ist doch nicht gleich.xlsm
-
@FredF sagte in error : Datei auf Netzlaufwerk öffnen:
@bahnuhr
Keine Ahnung obs daran liegt, ist mir nur aufgefallen.xlsx
ist doch nicht gleich.xlsm
xlsm heißt es sind makros enthalten
-
Laut Code in
exceljs
wird einfach die in Node.js enthaltene Methode genutzt, um den Pfad zu prüfen und die Datei zu lesen. Das dürfte also kein ioBroker-Problem sein. Es kann höchstens sein, dass der verwendete User keine Zugriffsberechtigung hat.@bahnuhr Kannst du außerhalb ioBroker in einem einfachen Skript auf die Datei zugreifen?
// Dateiname: test.js const path = "//192.168.243.5/computer/Pool/Messungen.xlsm"; const fs = require("fs"); try { fs.accessSync(path, fs.constants.R_OK | fs.constants.W_OK); console.log('can read/write'); } catch (err) { console.error('no access!'); }
Hierzu cmd ausführen und in den enthaltenen Ordner wechseln, das Skript per
node test.js
ausführen. -
@AlCalzone sagte in error : Datei auf Netzlaufwerk öffnen:
Laut Code in
exceljs
wird einfach die in Node.js enthaltene Methode genutzt, um den Pfad zu prüfen und die Datei zu lesen. Das dürfte also kein ioBroker-Problem sein. Es kann höchstens sein, dass der verwendete User keine Zugriffsberechtigung hat.Hierzu cmd ausführen und in den enthaltenen Ordner wechseln, das Skript per
node test.js
ausführen.nicht vergessen fs zu definieren, klappt bei mir zumindest nicht ohne. Hatte auch nicht erwähnt, dass ich mein exceljs-Skript auch nur unter node getestet hatte, iobroker ist hier unter win10 nicht installiert
const fs = require('fs');
-
@fastfoot sagte in error : Datei auf Netzlaufwerk öffnen:
nicht vergessen fs zu definieren
äh ja richtig - Skript ist angepasst.
-
@AlCalzone sagte in error : Datei auf Netzlaufwerk öffnen:
Laut Code in
exceljs
wird einfach die in Node.js enthaltene Methode genutzt, um den Pfad zu prüfen und die Datei zu lesen. Das dürfte also kein ioBroker-Problem sein. Es kann höchstens sein, dass der verwendete User keine Zugriffsberechtigung hat.@bahnuhr Kannst du außerhalb ioBroker in einem einfachen Skript auf die Datei zugreifen?
// Dateiname: test.js const path = "//192.168.243.5/computer/Pool/Messungen.xlsm"; const fs = require("fs"); try { fs.accessSync(path, fs.constants.R_OK | fs.constants.W_OK); console.log('can read/write'); } catch (err) { console.error('no access!'); }
Hierzu cmd ausführen und in den enthaltenen Ordner wechseln, das Skript per
node test.js
ausführen.dies scheint zu klappen.
Also doch ein iob Problem ??? -
Und das gleiche als test Script in iob.
Dies klappt nicht !
-
@bahnuhr Interessant, dann ist es wohl ein Berechtigungsproblem des Users, unter dem ioBroker läuft. Der benötigt auch Zugriff aufs Laufwerk.
-
@AlCalzone sagte in error : Datei auf Netzlaufwerk öffnen:
@bahnuhr Interessant, dann ist es wohl ein Berechtigungsproblem des Users, unter dem ioBroker läuft. Der benötigt auch Zugriff aufs Laufwerk.
Ja, und was mach ich da jetzt.
Habe stabilo... version installiert.
Und dann per direkt kontakt zu stabilo.. (per gotomeeting) alles upgedatet auf die aktuellen versionen (admin, npm js.controller, etc.).
-
@bahnuhr je nachdem wie oft du das file brauchst - kopiere es dir doch auf den iobroker server
hier ein kleiner batch:
filename: copy-file.cmd
inhalt:if not exist W:\NUL net use W: \\192.168.178.27\Daten /PERSISTENT:NO >nul copy d:\test\ff.xls w:\ /Y net use W: /delete
auf dem iobroker server brauchst du einen share der daten heißt und der user rechte hat (zur not der user "Jeder")
auf dem server mit dem excel machst du dir eine "aufgabe/task", die/der je nach zeitlichen wunsch läuftoder @AlCalzone hat noch eine andere lösung für das problem
-
@liv-in-sky sagte in error : Datei auf Netzlaufwerk öffnen:
@AlCalzone hat noch eine andere lösung für das problem
Danke dir. So etwas ähnliches hab ich mir schon gebastelt.
Aber es kann doch nicht sein, dass iob nicht auf das netzlaufwerk kommt.
Muss doch irgendwie möglich sein. -
@bahnuhr sagte in error : Datei auf Netzlaufwerk öffnen:
Aber es kann doch nicht sein, dass iob nicht auf das netzlaufwerk kommt.
Muss doch irgendwie möglich sein.hast du denn einmal die Rechte für Z: geprüft? Kommt das von einem NAS? Dort gibt es ja normalerweise eine Rechteverwaltung
-
z: ist eine synology
Und eigentlich hab ich überall admin rechte.
Wie sieht man denn den Benutzer in iob.
Oder anders:
Welcher Benutzer muss ich in der synology eintragen damit iob auf z: zugreifen kann ?