NEWS
UNSOLVED error : Datei auf Netzlaufwerk öffnen
-
Wäre es denn möglich, dass ein admin dies mal nachvollzieht ?
Auf einem win Rechner; wo ganz normal ein netzlaufwerk als Buchstabe z: eingebunden ist.
Und dann Zugriff auf eine Datei.
-
@bahnuhr sagte in error : Datei auf Netzlaufwerk öffnen:
\Synology\Computer\Pool\Messungen.xlsm
\\\\Synology\\Computer\\\Pool\\\Messungen.xlsm
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
-
@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!
-
@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