NEWS
Export/import
-
Hi zusammen!
Hab gestern auch ein update gemäß 1sten post durchgeführt und seitdem will der javascript-adapter nicht mehr so richtig.
bei folgendem Script:
! ````
/* System Homematic Servicemeldungen
Skript erstellt Variablen Service.Homematic.*
http://forum.iobroker.org/viewtopic.php?f=21&t=914#p9153
! erstellt: 03.08.2015 von paul53 - angepasst von pix
abgeändert: 30.06.2016 von PrinzEisenherz1
/
! // Service Meldungen
! createState('Servicemeldungen.Homematic.Anzahl', 0, {"name": "Homematic Servicemeldungen Anzahl"}); // Anzahl der Service-Alarme
createState('Servicemeldungen.Homematic.Text', "", {"name": "Homematic Servicemeldungen Text"}); // Service-Alarme, als Variable unter Javascript.0 anlegen
! var SelectorUNREACH = $('channel[state.id=.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 === true) { // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt
text = text + id + ",
"; // Zu String hinzufügen
++anzahl; // Zählt die Anzahl der Service-Alarme
}
}SelectorUNREACH.each(function (id, i) {
count(id);
});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 = "kein Service-Alarm";
}
setState("Servicemeldungen.Homematic.Text", text); // Schreibt die IDs der Datenpunkte mit Service Meldung
setState("Servicemeldungen.Homematic.Anzahl", anzahl); // Schreibt die aktuelle Anzahl der Service Meldungen
}
! SelectorUNREACH.on(function(obj) { // bei Zustandänderung *.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("/5 * * * *", function () {
countService();
});
! // Ausführung bei Scriptstart
countService();bekomme ich folgende Fehler im Log: >! ```` javascript-0 2016-07-08 08:20:25.057 error at script.js.ServicemeldungenCCU:74:1 javascript-0 2016-07-08 08:20:25.057 error at countService (script.js.ServicemeldungenCCU:31:20) javascript-0 2016-07-08 08:20:25.057 error at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1104:33) javascript-0 2016-07-08 08:20:25.057 error at script.js.ServicemeldungenCCU:32:7 javascript-0 2016-07-08 08:20:25.057 error at count (script.js.ServicemeldungenCCU:24:32) javascript-0 2016-07-08 08:20:25.057 error script.js.ServicemeldungenCCU: TypeError: Cannot read property 'val' of null javascript-0 2016-07-08 08:20:24.967 warn State "hm-rpc.1.CUX4000002.0.UNREACH" not found host-raspberrypi 2016-07-08 08:15:00.702 error instance system.adapter.javascript.0 terminated with code 0 (OK) host-raspberrypi 2016-07-08 08:00:00.384 error instance system.adapter.javascript.0 terminated with code 0 (OK) host-raspberrypi 2016-07-08 07:45:03.188 error instance system.adapter.javascript.0 terminated with code 6 (uncaught exception) TypeError: 2016-07-08 07:45:01.156 error at Timer.listOnTimeout (timers.js:92:15) TypeError: 2016-07-08 07:45:01.156 error at null._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:415:11) TypeError: 2016-07-08 07:45:01.156 error at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:145:10) TypeError: 2016-07-08 07:45:01.156 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1369:34) TypeError: 2016-07-08 07:45:01.156 error at Object. (script.js.Servicemeldung-UNREACH:46:4) TypeError: 2016-07-08 07:45:01.156 error at countUNREACH (script.js.Servicemeldung-UNREACH:21:25) TypeError: 2016-07-08 07:45:01.156 error at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1104:33) TypeError: 2016-07-08 07:45:01.156 error at script.js.Servicemeldung-UNREACH:22:34 TypeError: 2016-07-08 07:45:01.156 error Cannot read property 'val' of null uncaught 2016-07-08 07:45:01.091 error exception: Cannot read property 'val' of null javascript-0 2016-07-08 07:45:00.994 warn State "hm-rpc.1.CUX4000002.0.UNREACH" not found host-raspberrypi 2016-07-08 07:30:03.279 error instance system.adapter.javascript.0 terminated with code 6 (uncaught exception) TypeError: 2016-07-08 07:30:00.974 error at Timer.listOnTimeout (timers.js:92:15) TypeError: 2016-07-08 07:30:00.974 error at null._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:415:11) TypeError: 2016-07-08 07:30:00.974 error at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:145:10) TypeError: 2016-07-08 07:30:00.974 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1369:34) TypeError: 2016-07-08 07:30:00.974 error at Object. (script.js.Servicemeldung-UNREACH:46:4) TypeError: 2016-07-08 07:30:00.974 error at countUNREACH (script.js.Servicemeldung-UNREACH:21:25) TypeError: 2016-07-08 07:30:00.974 error at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1104:33) TypeError: 2016-07-08 07:30:00.974 error at script.js.Servicemeldung-UNREACH:22:34 TypeError: 2016-07-08 07:30:00.974 error Cannot read property 'val' of null uncaught 2016-07-08 07:30:00.926 error exception: Cannot read property 'val' of null javascript-0 2016-07-08 07:30:00.827 warn State "hm-rpc.1.CUX4000002.0.UNREACH" not found host-raspberrypi 2016-07-08 07:15:01.482 error instance system.adapter.javascript.0 terminated with code 0 (OK) host-raspberrypi 2016-07-08 07:00:01.765 error instance system.adapter.javascript.0 terminated with code 0 (OK) host-raspberrypi 2016-07-08 06:45:00.609 error instance system.adapter.javascript.0 terminated with code 0 (OK) host-raspberrypi 2016-07-08 06:30:01.207 error instance system.adapter.javascript.0 terminated with code 0 (OK)
Desweiteren wird alle 15min der Adapter gestoppt
Im 15min Rythmus läuft folgendes Script:
! ````
createState('zählen_UNREACH.moeglicheUNREACH', 0); // wenn benötigt: Anzahl der vorhandenen LOWBAT
createState('zählen_UNREACH.anzahlUNREACH', 0); // wenn benötigt: Anzahl der vorhandenen LOWBAT
createState('zählen_UNREACH.textUNREACH', " "); // Anzahl LOWBAT, die an sind als Variable unter Javascript.0 anlegen
! var cacheSelector = $('channel[state.id=.UNREACH]');
! var cacheSelectorUNREACH = $('channel[state.id=.UNREACH]');
! function countUNREACH(obj) {
// Setzt die Zähler vor dem Durchlauf aller Elemente *.UNREACH auf 0
var moeglicheUNREACH = 0;
var anzahlUNREACH = 0;
var textUNREACH = [];
! if (obj) {
// log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val); // Info im Log, welcher Zustand sich geändert hat
} else {
// log('Ausgelöst bei Timer');
}cacheSelectorUNREACH.each(function (id, i) { // Schleife für jedes gefundenen Element *.LOWBAT
var status = getState(id).val; // Zustand *.UNREACH abfragen (jedes Element)
var obj = getObject(id);
if (status === true) { // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt
textUNREACH.push(obj.common.name); // Zu Array hinzufügen
}
// log("Geräte Nr. " + i + ": " + getObject(id).common.name + ": " + status);
++anzahlUNREACH; // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
});// Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon LOWBAT zutreffend) ausgegeben
// log("Text: " + textUNREACH);
// log("Anzahl Geräte: " + moeglicheUNREACH + " davon UNREACH erkannt: " + anzahlUNREACH);! // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
setState("zählen_UNREACH.textUNREACH", textUNREACH.join(',
')); // Schreibt die aktuelle Namen der Geräte mit LOWBAT Meldung
setState("zählen_UNREACH.anzahlUNREACH", textUNREACH.length); // Schreibt die aktuelle Anzahl der Geräte im System
setState("zählen_UNREACH.moeglicheUNREACH", moeglicheUNREACH); // Schreibt die aktuelle Anzahl der vorhandene Geräte
}
! cacheSelectorUNREACH.on(function(obj) { // bei Zustandänderung . UNREACH in allen Gewerken
countUNREACH(obj);
});
schedule("/15 * * * *", function () { //oder!! soll entweder ausgelöst werden alle 10 Minuten
// log("===>Will be triggered every 60 minutes - UNREACH!");
countUNREACH();
});Hat jemand n ähnliches Problem? Gruß Johnny
-
hast du Zustand "hm-rpc.1.CUX4000002.0.UNREACH" ?
Ändere Count:
function count(id) { if (!getState(id)) return; var status = getState(id).val; // Zustand abfragen (jedes Element) if (status === true) { // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt text = text + id + ", "; // Zu String hinzufügen ++anzahl; // Zählt die Anzahl der Service-Alarme } }
-
Hier mal n Screen von CUX4000002.0.UNREACH
Ich hab die Änderung im Script mal eingepflegt.
Die Fehlermeldungen vom Javascript-Adapter sind weg
Wieso bekomme ich im Log folgende Meldung obwohl das Objekt vorhanden ist?
javascript-0 2016-07-08 12:55:00.680 warn State "hm-rpc.1.CUX4000002.0.UNREACH" not found
Gruß
Johnny
-
Hier mal n Screen von CUX4000002.0.UNREACH
filename="unreach.png" index="0">~~Ich hab die Änderung im Script mal eingepflegt.
Die Fehlermeldungen vom Javascript-Adapter sind weg
Wieso bekomme ich im Log folgende Meldung obwohl das Objekt vorhanden ist?
javascript-0 2016-07-08 12:55:00.680 warn State "hm-rpc.1.CUX4000002.0.UNREACH" not found
Gruß
Johnny `
Objekt ist da, aber Zustand vom Objekt wurde nie beschrieben und existiert nicht. -
Hi Bluefox,
@pix:Die xportierte Datei wird bei einfach mit dem Namen "unknown" gespeichert. `
bei mir, auf dem Mac, wird auch nur eine Datei "Unkonwn" erzeugt.Will ich diese dann importieren, kommt die Fehlermeldung "Invalid Dateiextension" (egal ob per Drag & Drop oder File-Dialog).
Benenne ich die Datei in Unknown.json (oder auch sonstwie) um, hilft das auch nichts - gleiche Fehlermeldung.
Wo hänge ich fest?
****EDIT
Fehler gefunden:
Safari speichert die Datei ohne die Endung.zip ab … und ich hatte mit .json probiert.
Mit Chrome wird eine Datei mit dem Namen "2016-07-14-main.zip" erzeugt ...****
Danke und Gruß,
Eric
-
Ich habe für einen bevorstehenden Umzug auf den cubietruck auch mal exportiert.
In dem zip von vis habe ich "Views" und "Views defekt" (oder so)
Letzterer ist deutlich kleiner. Enthält 'abe beide meinen Startscreen wenn ich es so auf die Schnelle richtig gesehen habe.
Was bedeutet die defekt.json?
Gruß
Rainer
-
Ich habe für einen bevorstehenden Umzug auf den cubietruck auch mal exportiert.
In dem zip von vis habe ich "Views" und "Views defekt" (oder so)
Letzterer ist deutlich kleiner. Enthält 'abe beide meinen Startscreen wenn ich es so auf die Schnelle richtig gesehen habe.
Was bedeutet die defekt.json?
Gruß
Rainer `
Hallo Rainer,schick mir die Datei.
Weiss ich nicht was defekt.json heisst.
P.S. Danke für deine Antworten im Forum und deine Mühe. Ich kann dann wirklich die Entwicklung mit deiner Hilfe genießen.
-
Hier erstmal ein Screenshot des Inhalts:
Danke für deine Antworten im Forum und deine Mühe. Ich kann dann wirklich die Entwicklung mit deiner Hilfe genießen. `
Dann ist es wenigstens für etwas gutGruß
Rainer
-
Hier erstmal ein Screenshot des Inhalts:
filename="IMG_20160719_225133_123.jpg" index="0">~~Danke für deine Antworten im Forum und deine Mühe. Ich kann dann wirklich die Entwicklung mit deiner Hilfe genießen. `
Dann ist es wenigstens für etwas gutGruß
Rainer `
Es ist interessant was für ein Datum hat "defekt.json" -
Datum von heute.