seit etwa 1 Woche habe ich ständig Fehlfunktionen, meine Blockly Scripte werden nicht mehr ausgeführt, z.B. Fingerprint -> gibt gerade rote Karte, diverse andere Blockly Funktionen.
Meines Wissens habe ich in letzter Zeit nur den iQontrol installiert, denke nicht das es damit zusammenhngt.
Man sieht zwischendurch ständig die Sanduhr in der Admin Oberfläche, sowie in VIS, kommt alles nach einer Zeit zurück, im SQL Adapter sehe Aufzeichnungen wie Temperatur usw. gut aus, also können die Ausfälle nicht sehr lang sein.
Ich habe einige Fehlermeldungen in IObroker, und im Javascript 1, die Funktionen liegen aber alle in Adapter 0, Unwichtige Dinge habe ich im Adapter 1.
Die Fehlermeldungen selbst kann ich nicht deuten, hier ein kleiner Auszug, das wiederholt sich dann, kann jemand mir einen Tipp geben wo das Problem liegt?
host.Home-ioBroker 2019-05-23 19:06:00.007 warn instance system.adapter.yr.0 already running with pid 38264
host.Home-ioBroker 2019-05-23 19:00:11.128 info instance system.adapter.ical.1 terminated with code 0 (OK)
host.Home-ioBroker 2019-05-23 19:00:10.645 info instance system.adapter.ical.0 terminated with code 0 (OK)
host.Home-ioBroker 2019-05-23 19:00:00.021 info instance system.adapter.ical.1 started with pid 45008
host.Home-ioBroker 2019-05-23 19:00:00.021 info instance system.adapter.ical.0 started with pid 1264
host.Home-ioBroker 2019-05-23 18:30:35.364 info instance system.adapter.ical.1 terminated with code 0 (OK)
host.Home-ioBroker 2019-05-23 18:30:12.042 info instance system.adapter.ical.0 terminated with code 0 (OK)
host.Home-ioBroker 2019-05-23 18:30:00.030 info instance system.adapter.ical.0 started with pid 33760
host.Home-ioBroker 2019-05-23 18:30:00.014 info instance system.adapter.ical.1 started with pid 9376
javascript.1 2019-05-23 19:00:00.004 error at ontimeout (timers.js:436:11)
javascript.1 2019-05-23 19:00:00.004 error at Timeout._onTimeout (C:\iobroker\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
javascript.1 2019-05-23 19:00:00.004 error at C:\iobroker\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
javascript.1 2019-05-23 19:00:00.004 error at Job.invoke (C:\iobroker\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
javascript.1 2019-05-23 19:00:00.004 error at Job.nodeSchedule.scheduleJob [as job] (C:\iobroker\node_modules\iobroker.javascript\lib\sandbox.js:1181:34)
javascript.1 2019-05-23 19:00:00.004 error at Object.<anonymous> (script.js.Allgemein.Servicemeldungen:102:5)
javascript.1 2019-05-23 19:00:00.004 error at countService (script.js.Allgemein.Servicemeldungen:51:21)
javascript.1 2019-05-23 19:00:00.004 error at Object.result.each (C:\iobroker\node_modules\iobroker.javascript\lib\sandbox.js:771:29)
javascript.1 2019-05-23 19:00:00.004 error at script.js.Allgemein.Servicemeldungen:52:9
javascript.1 2019-05-23 19:00:00.004 error at count (script.js.Allgemein.Servicemeldungen:45:31)
javascript.1 2019-05-23 19:00:00.004 error Error in callback: TypeError: Cannot read property 'split' of undefined
javascript.1 2019-05-23 18:45:00.009 error at ontimeout (timers.js:436:11)
javascript.1 2019-05-23 18:45:00.009 error at Timeout._onTimeout (C:\iobroker\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
javascript.1 2019-05-23 18:45:00.009 error at C:\iobroker\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
javascript.1 2019-05-23 18:45:00.009 error at Job.invoke (C:\iobroker\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
javascript.1 2019-05-23 18:45:00.009 error at Job.nodeSchedule.scheduleJob [as job] (C:\iobroker\node_modules\iobroker.javascript\lib\sandbox.js:1181:34)
javascript.1 2019-05-23 18:45:00.009 error at Object.<anonymous> (script.js.Allgemein.Servicemeldungen:102:5)
javascript.1 2019-05-23 18:45:00.009 error at countService (script.js.Allgemein.Servicemeldungen:51:21)
javascript.1 2019-05-23 18:45:00.009 error at Object.result.each (C:\iobroker\node_modules\iobroker.javascript\lib\sandbox.js:771:29)
javascript.1 2019-05-23 18:45:00.009 error at script.js.Allgemein.Servicemeldungen:52:9
javascript.1 2019-05-23 18:45:00.009 error at count (script.js.Allgemein.Servicemeldungen:45:31)
javascript.1 2019-05-23 18:45:00.009 error Error in callback: TypeError: Cannot read property 'split' of undefined
javascript.1 2019-05-23 18:30:00.015 error at ontimeout (timers.js:436:11)
javascript.1 2019-05-23 18:30:00.015 error at Timeout._onTimeout (C:\iobroker\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
javascript.1 2019-05-23 18:30:00.015 error at C:\iobroker\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
Weiter wollte ich meine Installation mal ein wenig aufräumen, z.B. Adapter deinstallieren.
dann kommen Meldungen das es nicht installiert ist:
iobroker 2019-05-23 19:09:46.143 info npm uninstall iobroker.samsung --silent --save --prefix "C:/iobroker" (System call)
iobroker 2019-05-23 19:09:40.668 info host.Home-ioBroker no instances of adapter samsung found
iobroker 2019-05-23 19:09:40.574 info Delete adapter "samsung"
iobroker 2019-05-23 19:09:38.421 info del samsung
wird aber als installiert angezeigt.
Folgende Installation:
IoBroker auf Windows 7 in einer VM
Die Anzahl der Adapter kann aber nicht stimmen. Ich hoffe jemand hat einen Tipp für mich.
@paul53
das hat ein gelbes Pause Zeichen ?
Inhalt ist so wie aus dem Forum:
/* System Homematic Servicemeldungen
Skript erstellt Variablen Service.Homematic.*
http://forum.iobroker.org/viewtopic.php?f=21&t=914#p9153
erstellt: 04.08.2015 von paul53
angepasst von pix
05.10.2015 STICKY UNREACH wird jetzt auf true gesetzt und damit gelöscht http://forum.iobroker.org/viewtopic.php?f=21&t=914&p=9200&hilit=sticky#p9173
04.02.2016 Instanz Variable
*/
instanz = 'javascript.1.';
// Service Meldungen
createState('Servicemeldungen.Homematic.Anzahl', 0, {
name: 'Homematic Servicemeldungen Anzahl',
desc: 'Zahl der Homematic Servicemeldungen',
type: 'number'
});
createState('Servicemeldungen.Homematic.Text', "", {
name: 'Homematic Servicemeldungen Text',
desc: 'Liste der Geräte, die Servicemeldungen produzieren',
type: 'string'
});
var idAnzahl = instanz + 'Servicemeldungen.Homematic.Anzahl',
idText = instanz + 'Servicemeldungen.Homematic.Text';
var SelectorUNREACH = $('channel[state.id=*.UNREACH]');
var SelectorSTICKY_UNREACH = $('channel[state.id=*.STICKY_UNREACH]');
var SelectorLOWBAT = $('channel[state.id=*.LOWBAT]');
var SelectorCONFIG_PENDING = $('channel[state.id=*.CONFIG_PENDING]');
function countService(obj) {
var anzahl = 0;
var text = "";
function count(id) {
var status = getState(id).val; // Zustand abfragen (jedes Element)
if (status) { // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt
var temptext = getObject(id).common.name;
var Geraet = temptext.split(':');
text = text + Geraet[0] + " ==> ";
temptext = Geraet[1];
Geraet = temptext.split('.');
text = text + Geraet[1] + "<br>";
++anzahl; // Zählt die Anzahl der Service-Alarme
}
}
SelectorUNREACH.each(function (id, i) {
count(id);
});
SelectorSTICKY_UNREACH.each(function (id, i) {
var status = getState(id).val; // Zustand abfragen (jedes Element)
if (status) { // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt
log('STICKY_UNREACH Meldung: ' + id + ' wurde auf <true> gesetzt. Das Homematic Gerät ist wieder uneingeschränkt erreichbar.');
setState(id, false); // STICKY_UNREACH werden gelöscht
}
});
SelectorLOWBAT.each(function (id, i) {
count(id);
});
SelectorCONFIG_PENDING.each(function (id, i) {
count(id);
});
// Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon Service zutreffend) ausgegeben
log("Homematic-Servicemeldungen: " + text);
log("Anzahl Homematic-Servicemeldungen: " + anzahl);
// die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert
if (!anzahl) {
text = "keine Servicemeldungen";
}
setState(idText, text); // Schreibt die IDs der Datenpunkte mit Service Meldung
setState(idAnzahl, anzahl); // Schreibt die aktuelle Anzahl der Service Meldungen
}
SelectorUNREACH.on(function(obj) { // bei Zustandänderung *.UNREACH in allen Gewerken
countService(obj);
});
SelectorSTICKY_UNREACH.on(function(obj) { // bei Zustandänderung *.STICKY_UNREACH in allen Gewerken
countService(obj);
});
SelectorLOWBAT.on(function(obj) { // bei Zustandänderung *.LOWBAT in allen Gewerken
countService(obj);
});
SelectorCONFIG_PENDING.on(function(obj) { // bei Zustandänderung *.CONFIG_PENDING in allen Gewerken
countService(obj);
});
// alternative Abfrage jede Minute
schedule("*/15 * * * *", function () {
countService();
});
// Ausführung bei Scriptstart
countService();
log(temptext);
Danach kommt folgender LOG, das Script wird angehalten und steht auf Pause, das kann doch dann meine eigentlichen Probleme gar nicht verursachen, oder, wenn das Script angehalten ist?
19:59:06.306 info javascript.1 Stop script script.js.Allgemein.Servicemeldungen
19:59:08.911 info javascript.1 Start javascript script.js.Allgemein.Servicemeldungen
19:59:08.911 info javascript.1 script.js.Allgemein.Servicemeldungen: Badezimmer Fenster:0.UNREACH
19:59:08.911 info javascript.1 script.js.Allgemein.Servicemeldungen: UNREACH
19:59:08.911 error javascript.1 script.js.Allgemein.Servicemeldungen: script.js.Allgemein.Servicemeldungen:46
19:59:08.911 error javascript.1 at count (script.js.Allgemein.Servicemeldungen:46:31)
19:59:08.911 error javascript.1 at script.js.Allgemein.Servicemeldungen:53:9
19:59:08.911 error javascript.1 at countService (script.js.Allgemein.Servicemeldungen:52:21)
19:59:08.911 error javascript.1 at script.js.Allgemein.Servicemeldungen:107:1
@paul53 kann es sein das dieses mit den Homematic Fenterdrehgriff Kontakten zusammenhängt?
Da musste ich vor kurzen einen ablernen und neu anlernen, ich vermute das es dann vielleicht in iobroker noch drin steckt? Wenn ich etwas in der CCU ändere, werden ja nur zusätzliche Sachen automatisch zugefügt, aber keine Datenpunkte gelöscht, oder?
Kann den das mein allgemeines Problem sein, was passiert den da, das Script wird doch automatisch pausiert, aber die Probleme sind weiterhin da.
Das ist eines meiner ersten Skripte gewesen. Damals gab es noch kein iQontrol. Nur HomeMatic hatte Datenpunkte mit UNREACH am Ende. Deshalb erweitere den Selektor um hm-rpc. vor dem Sternchen:
var SelectorUNREACH = $('channel[state.id=hm-rpc.*.UNREACH]');
@paul53 super, vielen Dank, das läuft jetzt ohne Probleme durch.
Aber nochmal, kann das meine Probleme verursacht haben da dieses Script ja auf Pause stand?
Obwohl was dafür spricht, ist ja das ich das Gefühl hatte das es mit testen von iQontrol zusammenhängt. Aber verstehe es nicht, da das Script ja pausiert. Was passiert den durch diesen Fehler, die wichtigen Funktionen waren ja eigentlich im Javascript 0.
Immer zuerst den js-controller und dann den admin updazen. `
Deswegen hatte ich heute auch wieder ein weißes Bild.
Man updatet automatisch alles was an Adaptern aufleuchtet und denkt nicht daran, erst den Host zu updaten. Das muss irgendwie anders gelöst werden. Das ist eine Falle, in die jedesmal auch erfahrene User stolpern und die Anfänger total abschreckt.
Dies war die Lösung!
Warum dies nicht über die Admin Oberfläche geht/erkannt wird....
Auf jeden Fall lief hier der Update Prozess nicht korrekt durch. Vielleicht auch weil doch eine "ältere" node Version geupdatet wurde.
habe das script upgedatet - ist kein muss zum update - habe kleine eigene datenbank eingebaut, damit nicht jedesmal koordinaten in adress-umwndlung gemacht werden müssen - jetzt holt das script einmalig die adresse beim start - somit weniger verbindungen
alle settings sollten wieder reinkopiert werden können, da nur im script geändert wurde.