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 foundGru
ß
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 foundGru
ß
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 gut 
Gru
ß
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 gut 
Gru
ß
Rainer `
Es ist interessant was f
ü
r ein Datum hat "defekt.json" -
Datum von heute.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden