Der Ordner /vis.0/myfiles/ war leer, keine Ahnung wo der her kommt.
Habe den Ordner gelöscht, jetzt schaut´s ganz gut aus.
Danke für die Unterstützung!
Der Ordner /vis.0/myfiles/ war leer, keine Ahnung wo der her kommt.
Habe den Ordner gelöscht, jetzt schaut´s ganz gut aus.
Danke für die Unterstützung!
Hier die Infos:
iobroker update:
Iobroker version
3.2.16
nodejs node npm
Hab mir gedacht, bevor ich die Adapter lösche, mach ich mal vorsichtshalber noch eine Sicherung mit Backitup, kann ja nicht schaden. Dabei kommen folgende Meldungen:
Started iobroker ...
[DEBUG] [iobroker] - host.IoBroker 6680 states saved
[DEBUG] [iobroker] - host.IoBroker 7842 objects saved
[ERROR] [iobroker] - /opt/iobroker/node_modules/standard-as-callback/built/index.js:6
throw e;
^
ReplyError: Error ERROR readDir id=vis.0: EACCES: permission denied, scandir '/opt/iobroker/iobroker-data/files/vis.0/myfiles/'
at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12)
at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14)
Emitted 'error' event on ScanStream instance at:
at /opt/iobroker/node_modules/ioredis/built/ScanStream.js:38:22
at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
at /opt/iobroker/node_modules/standard-as-callback/built/index.js:30:51
at processTicksAndRejections (internal/process/task_queues.js:97:5) {
command: {
name: 'scan',
args: [ '0', 'MATCH', 'cfg.f.vis.0$%$myfiles/*', 'COUNT', '250' ]
}
}
[DEBUG] [iobroker] - done
[DEBUG] [clean] - done
[DEBUG] [historyHTML] - new history html values created
[DEBUG] [historyHTML] - done
[DEBUG] [historyJSON] - new history json values created
[DEBUG] [historyJSON] - done
[EXIT] 1
Ich glaub ich hab da ein generelles Problem mit den Rechten...
Das es an irgendwelchen Rechten liegt, hab ich mir schon gedacht, da fehlt mir aber die Erfahrung.
An den Rechten hab ich nichts geändert.
Habe über folgende Befehle und über die Weboberfläche Updates gemacht.
sudo apt update && sudo apt upgrade
iobroker stop
iobroker update
iobroker upgrade self
iobroker start
"iobroker fix" ist ohne Probleme durch gelaufen. Hat sich aber leider nichts verändert, immer noch die gleichen Meldungen.
Systemdata | Bitte Ausfüllen |
---|---|
Hardwaresystem: | Bqeel Mini PC |
Arbeitsspeicher: | 3,8GB |
Festplattenart: | SSD |
Betriebssystem: | Ubuntu als WSL unter Win 10 |
Nodejs-Version: | 12.22.1 |
NPM-Version: | 6.14.12 |
Image genutzt: | Nein |
Hallo!
Seit längerer Zeit wollte ich etwas an meiner VIS ändern. Leider kommt es im VIS-Editor immer zu einem Verbindungsfehler. WEB-Adapter springt auf rot. Folgendes steht im Log:
host.IoBroker 2021-06-05 09:40:25.103 info Restart adapter system.adapter.web.0 because enabled
host.IoBroker 2021-06-05 09:40:25.103 error instance system.adapter.web.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
host.IoBroker 2021-06-05 09:40:25.102 error Caught by controller[0]: at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14)
host.IoBroker 2021-06-05 09:40:25.102 error Caught by controller[0]: at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12)
host.IoBroker 2021-06-05 09:40:25.102 error Caught by controller[0]: ReplyError: Error ERROR readDir id=vis.0: EACCES: permission denied, scandir '/opt/iobroker/iobroker-data/files/vis.0/myfiles/'
web.0 2021-06-05 09:40:24.924 warn (20536) Terminated (UNCAUGHT_EXCEPTION): Without reason
web.0 2021-06-05 09:40:24.923 info (20536) terminating
web.0 2021-06-05 09:40:24.922 info (20536) terminated http server on port 8082
web.0 2021-06-05 09:40:24.906 error (20536) Error ERROR readDir id=vis.0: EACCES: permission denied, scandir '/opt/iobroker/iobroker-data/files/vis.0/myfiles/'
web.0 2021-06-05 09:40:24.906 error at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14)
web.0 2021-06-05 09:40:24.906 error at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12)
web.0 2021-06-05 09:40:24.906 error (20536) ReplyError: Error ERROR readDir id=vis.0: EACCES: permission denied, scandir '/opt/iobroker/iobroker-data/files/vis.0/myfiles/'
web.0 2021-06-05 09:40:24.905 error (20536) uncaught exception: Error ERROR readDir id=vis.0: EACCES: permission denied, scandir '/opt/iobroker/iobroker-data/files/vis.0/myfiles/'
host.IoBroker-Server 2021-06-05 09:40:24.886 warn Objects 127.0.0.1:64052 Error from InMemDB: Error: ERROR readDir id=vis.0: EACCES: permission denied, scandir '/opt/iobroker/iobroker-data/files/vis.0/myfiles/'
Kann mir jemand weiterhelfen? Vielen Dank schon mal!
Hallo!
Letzte Woche habe ich Grafana von 6.? auf 7.3.4 upgedatet.
Seit dem zeigt es mir in der VIS nur noch "localhost hat die Verbindung abgelehnt" an.
Hier ein Auszug aus meinen Einstellungen in Grafana:
Nach so etwas habe ich schon lange gesucht, finde den Adapter echt super!
Bei mir werden die spezifischen Texte für true / false nicht übernommen, mach ich etwas falsch?
Hier das "Ergebnis"
18:55:19.174 error javascript.0 (459) script.js.Test: Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1 val FROM iobroker.ts_number a INNER JOIN iobroker.datapoints b ON a' at line 1
Vielen Dank!
Mit MAX(val) AS val hat´s funktioniert.
TOP 1 will irgendwie nicht so, hier mein Script:
let query = `
SELECT TOP 1 val
FROM iobroker.ts_number a INNER JOIN iobroker.datapoints b ON a.id = b.id
WHERE b.name LIKE "linkeddevices.0.Aussen.Temperatur_Nord"
ORDER BY ts DESC;`
sendTo('sql.0', 'query', query, function (result) {
if (result.error) {
console.error(result.error);
} else {
setState('0_userdata.0.TEST_STRING'/*Test string*/, result.result[0].val, true);
}
})
Die Lösung mit MAX(val) AS val ist aber für mich ausreichend.
Sorry, dass ich schon wieder, bzw. immer noch damit nerve. Komme irgendwie nicht weiter.
Habe den State jetzt geändert, Unterstrich anstelle Leerzeichen.
Mit
log('Rows: ' + JSON.stringify(result.result));
bekomme ich folgendes Ergebnis:
08:08:58.984 info javascript.0 (459) script.js.Test: Rows: [{"MAX(val)":13.7}]
Also müsste doch der erste Teil vom Script passen. (Das war beim State mit Leerzeichen auch schon so)
Mit
setState('0_userdata.0.TEST_STRING'/*Test string*/, result.result[0].val, true);
bekomme ich noch immer noch folgende Meldung:
08:14:22.789 error javascript.0 (459) script.js.Test: setForeignState: undefined is not a valid state value
SELECT TOP 1 und ich werden keine Freunde mehr...
Hab das ganze mal mit SELECT MAX versucht, da bei meiner Anwendung als Betriebsstundenzähler der letzte Wert ja zugleich der höchste Wert ist. Das scheint schon mal besser zu funktionieren.
let query = `
SELECT MAX(val)
FROM iobroker.ts_number a INNER JOIN iobroker.datapoints b ON a.id = b.id
WHERE b.name LIKE "linkeddevices.0.Aussen.Temperatur Nord"
ORDER BY ts DESC;
`
sendTo('sql.0', 'query', query, function (result) {
if (result.error) {
console.error(result.error);
} else {
setState('0_userdata.0.TEST_STRING'/*Test string*/, result.result[0].val, true);
}
})
Nur das mit dem setState wil noch nicht so richtig.
Bekomme folgenden Error:
setForeignState: undefined is not a valid state value
Mir ist aufgefallen, dass wenn ich "result.result" verwende "nur" noch eine Warnung bekomme:
"javascript.0 (459) at Object.cb (script.js.Test:12:10)"
Und der Zeitstempel vom meinem Objekt wird aktualisiert, allerdings kein brauchbaren Wert im Objekt.