NEWS
UNSOLVED error : Datei auf Netzlaufwerk öffnen
-
@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 ? -
@bahnuhr sagte in error : Datei auf Netzlaufwerk öffnen:
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 ?ich würde JEDER oder Gastzugriff erlauben nehmen. Hier unter Linux ist der Benutzer iobroker, ich denke das ist unter Win nicht anders
-
@bahnuhr sagte in error : Datei auf Netzlaufwerk öffnen:
Wie sieht man denn den Benutzer in iob.
Kann ich dir gerade nicht sagen. Vielleicht in den Windows-Diensten (
services.msc
) beim passenden Eintrag? -
@AlCalzone sagte in error : Datei auf Netzlaufwerk öffnen:
services.msc
Da finde ich nichts was mich weiterbringt (glaub ich zumindest).
Auf der 2.Tab ist folgendes:
Änderung an diesen Einstellungen hab ich nicht vorgenommen.
Fazit bisher:
Per Laufwerk verbinden kann ich im Win Explorer auf z:\ (synology Laufwerk) einwandfrei zugreifen.
Per Excel Makro VBA kann ich ebenfalls auf z:\ zugreifen.
Per node (test.js) von alcalzone kann ich in cmd ebenfalls auf z:\ zugreifen.
Diesen code eingefügt in Script in iob; dann klappt der zugriff nicht.Also bitte nochmal die Frage:
Was stört hier?
Wie sind die Benutzerdaten von iob die ich in synology eintragen muss?
Oder ist es ein ganz anderes Problem: wieder einmal das Zusammenspiel: win und iob ?!?!?!?mfg
Dieter