Genau so ging es, besten Dank. Habe auf die aktuelle Node-Version aktualisiert und dann die Updates weiter gemacht und alles wieder gut!
DANKE !
Genau so ging es, besten Dank. Habe auf die aktuelle Node-Version aktualisiert und dann die Updates weiter gemacht und alles wieder gut!
DANKE !
Guten Abend,
in meiner leichtsinnigen Idee am Samstagabend wollte ich mein ioBroker updaten, da ich auch neue Adapter installieren wollte.
So weit kam es aber gar nicht....
Ich habe zuerst die js-Version aktualisiert über iobroker uprade und dann iobroker upgrade self. Das war alles fein und nach einem Neustart auch gut.
Sooo dann dachte ich "puh die ganzen Adapter kann man dann auch mal updaten" und los ging es mit iobroker upgrade und nach und nach wurden alle Adapter abgefragt und ich habe es bestätigt. Alles ohne Fehler.
Ein Aufruf von iobroker update zeigte auch, dass nun alles auf dem aktuellen Stand ist.
Also iobroker wieder gestartet und bei Schritt 5 ("----- Step 5 of 5: ioBroker startup -----") kam dann das böse erwachen
Error: Cannot find module '@iobroker/types'
Und das für iobroker.hm-rega und iobroker.web ...
In Komplettansicht die Log:
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.hm-rega/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.hm-rega/main.js'
]
}
/bin/sh: 1: hcitool: not found
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.web/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.web/main.js'
]
}
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.hm-rega/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.hm-rega/main.js'
]
}
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.web/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.web/main.js'
]
}
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.web/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.web/main.js'
]
}
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.hm-rega/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.hm-rega/main.js'
]
}
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.web/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.web/main.js'
]
}
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.hm-rega/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.hm-rega/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.hm-rega/main.js'
]
}
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module '@iobroker/types'
Require stack:
- /opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js
- /opt/iobroker/node_modules/iobroker.web/main.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js:21:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/iobroker/node_modules/iobroker.web/node_modules/@iobroker/adapter-core/build/index.js',
'/opt/iobroker/node_modules/iobroker.web/main.js'
]
}
Kann mir jemand weiterhelfen?
Bin euch schon jetzt sehr dankbar für jeden Hinweis / Rat !
Beste Grüße
PS: ioBroker läuft im Docker-Container mit Image buanet/iobroker:v6.1.0
Hallöchen an alle,
so langsam geht mein Umstieg von noch ccu.io und DashUI auf ioBroker mit VIS weiter und es ist leider doch einiges an Arbeit, weil zahlreiche Funktionen und Widgets nicht mehr vorhanden sind.
Aber nungut - zum Problem des Tages
Ich würde gerne wieder aktuell eingeschaltete Lichter gem. meiner HM-Devices im Haus als Liste angezeigt bekommen.
Dafür habe ich durch das Forum auch schon ein entsprechendes JS Script gefunden (hier) und darin nen Fehler in Z. 99 und 104 (überflüssiges ')); am Zeilenanfang) auch schon herausgenommen.
Aber leider meldet er mir immer Fehler, die sich mir nicht erschließen.
Hier der Code:
/* Status Zahl Lichter
{1}
zählt die Lichter in allen Räumen und meldet die Eingeschalteten namentlich
Daten kommen vom Gewerk "Licht"
*/
const logging = true;
const idAnzahlEin = 'javascript.0.Status.Lichter.Anzahl_ein',
idAnzahl = 'javascript.0.Status.Lichter.Anzahl',
idText = 'javascript.0.Status.Lichter.Text',
idRaum = 'javascript.0.Status.Lichter.Raum', // <---- NEU
idAnsage = 'javascript.0.Status.Lichter.Ansage';
// Ab hier nix mehr ändern
createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
type: 'number',
name: 'Anzahl aller Lichter',
min: 0,
def: 0,
role: 'value'
});
createState(idAnzahlEin, { // Anzahl der Lichter, die auf sind als Variable unter Javascript.0 anlegen
type: 'number',
name: 'Anzahl der eingeschalteten Lichter',
min: 0,
def: 0,
role: 'value'
});
createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
type: 'string',
name: 'Eingeschaltete Lichter',
desc: 'Namen der eingeschalteten Lichter',
def: ' ',
role: 'value'
});
createState(idAnsage, {
type: 'string',
name: 'Eingeschaltete Lichter (Ansage)',
desc: 'Namen der eingeschalteten Lichter (für Ansage aufbereitet)',
def: ' ',
role: 'value'
});
createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
type: 'string',
name: 'Räume mit eingeschalteten Lichter',
desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
def: ' ',
role: 'value'
});
// HM Schalter, HM Dimmer und Hue Schalter im Gewerk Licht
const hmSTATE = $('channel[state.id=*.STATE](functions=Licht)');
const hmLEVEL = $('channel[state.id=*.LEVEL](functions=Licht)');
const hueon = $('state[id=*.on](functions=Licht)[role=switch.light]');
var anzahlLichterAn,
anzahlLichter,
textLichterAn,
textRaum;
function checkLicht(id, vorn, hinten) {
var name = getObject(id).common.name;
var devicename = name.substring(vorn, name.indexOf(hinten)); //Zeichen vorn, State hinten aus Text entfernen
var raum = getObject(id, "rooms").enumNames[0];
if (getState(id).val) { // wenn Zustand != false / 0, dann wird die Anzahl der Lichter hochgezählt
++anzahlLichterAn;
textLichterAn.push(devicename); // Zu Array hinzufügen
if(textRaum.indexOf(raum) == -1) textRaum.push(raum); // zu Array hinzu, wenn noch nicht vorhanden
}
++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
}
function checkDevices() {
// Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Licht auf 0
anzahlLichterAn = 0;
anzahlLichter = 0;
textLichterAn = [];
textRaum = [];
hmSTATE.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Licht
checkLicht(id, 0, '.STATE');
});
hueon.each(function(id, i) { // Schleife für jedes gefundenen Element *.on im Gewerk Licht
checkLicht(id, 6, '.on');
});
hmLEVEL.each(function(id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
checkLicht(id, 0, '.LEVEL');
});
// Array mit Lichternamen sortieren
textLichterAn.sort();
textRaum.sort(); // <---- NEU
// Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
if (logging) log("Text: " + textLichterAn);
if (logging) log("Anzahl Lichter: " + anzahlLichter + " # davon Lichter an: " + anzahlLichterAn);
// die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
//setState(idText, textLichterAn.join(',
// Schreibt die aktuelle Namen der eingeschalteten Lichter
setState(idText, textLichterAn.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
// setState(idRaum, textRaum.join(',
// Räume, in denen Licht brennt // <---- NEU
setState(idRaum, textRaum.join(', ')); // Räume, in denen Licht brennt // <---- NEU
}
// Trigger
hmSTATE.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Licht
if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
checkDevices();
});
hueon.on(function(obj) { // bei Zustandänderung *.on von HUE Lampen im Gewerk Licht
if (logging) log('Auslösende HUE: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
checkDevices();
});
hmLEVEL.on(function(obj) { // bei Zustandänderung *.LEVEL im Gewerk Licht
if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
checkDevices();
});
{1}
// Skriptstart
setTimeout(function() {
if (logging) log('Auslöser Skriptstart');
checkDevices();
}, 500);
{1}
// Aufbereitung für Ansage
function strip_tags(data) {
var rueckgabe = data.replace(/( |<([^>]+)>)/ig, " ");
return (rueckgabe);
}
{1}
on(idText, function(obj) {
var text = obj.state.val;
text = (getState(idAnzahl).val > 0) ? 'Lichter eingeschaltet: ' + strip_tags(text) : 'Alle Lichter sind ausgeschaltet';
setState(idAnsage, text);
});
{1}
Und ich bekomme folgende Fehler:
14:41:27.130 error javascript.0 (2788) at checkLicht (script.js.Lichter:63:27)
14:41:27.130 error javascript.0 (2788) at script.js.Lichter:80:6
14:41:27.131 error javascript.0 (2788) at checkDevices (script.js.Lichter:79:13)
14:41:27.131 error javascript.0 (2788) at Object.<anonymous> (script.js.Lichter:124:5)
Kann mir jemand weiterhelfen?
Ich bin nicht sonderlich bewandert in JS, aber bislang hat es zum verstehen und anpassen immer gereicht
Viele Grüße und Dank im Voraus
Ah, vielen Dank. Das war ein sehr guter Hinweis. Also zumindest geht der Import darüber nun und ich habe keinen Renderfehler mehr.
Allerdings muss ich wohl alle Pfade entsprechend vorher anpassen, da sonst keinerlei Bilder etc. angezeigt werden und auch von meinen Widget geht fast nix Aber Dunja, immerhin hat man eine Orientierung und muss net aus dem nix heraus alles neu machen.
Wie kann ich denn das Projekt aktiv aufrufen? Wenn ich normal vis aufrufe, dann ist immer nur das "main"-Projekt aktiv und ich komme nicht in meine anderen Projekte, die ich importiert habe. Also nicht im edit, sondern einfach zum Testen und nutzen.
Viele Grüße und Dank
Ja, sieht so aus!
Habe gerade in der Sicherung nachgesehen und da ist die Datei noch drin (222kb)
Habe darin auch 12 views gefunden. Wenn ich eine Importiere kommt allerdings danach diese Meldung:
"Cannot render view EG. Invalid settings"
Gibt es irgendwie die Möglichkeit, dass man sehen kann, was da nicht gerendert werden kann, sodass man es beheben kann?
Besten Dank schonmal!
Wie meinst du?
Ich habe schon über die Suche mir einige Sachen angesehen, aber leider nix passendes gefunden, was nicht auf die Nutzung der regulären Export-Funktion im noch funktionieren DashUI hinausläuft.
Hallo an alle,
nach langer Zeit will ich nun auch mal wieder für meine Haus Automation eine passende Visualisierung haben, um das ganze auf Tablett und Handy ansehen und steuern zu können. Früher habe ich mit DashUI schon sehr sehr viel visualisiert und verwendet, aber nach einem Update auf die CCU3 irgendwie nicht mehr genutzt.
Nun soll das ganze wiederbelebt werden und ich würde natürlich gerne meine alten Visualisierung und alles, was darin schon war, weiter verwenden beziehungsweise darauf aufbauen. Mir ist klar, dass ich alle Geräte neu verknüpfen müsste, aber immerhin wäre ansonsten schon viel Arbeit erledigt.
Gibt es eine Möglichkeit die alten Ansichten zu importieren? Ich habe es nicht mehr laufen, so dass ich es dort nicht über die integrierte Funktion exportieren kann, sondern ich habe lediglich eine Sicherung auf Dateiebene.
Vielen Dank im Voraus
lmeier