NEWS
Mehrere Fehlermeldungen Komma separiert ausgeben
-
Hallo ich habe 5 IP Kameras laufen. Ich möchte gerne mittels PING (CCU2) ermitteln, welche Kamera(s) nicht erreichbar sind.
Anbei mein Grundscript:schedule("*/1 * * * *", function () { createState('Störung.Kamera'); var Garage= getState('hm-rpc.1.CUX2803001.5.STATE').val var Strasse= getState('hm-rpc.1.CUX2803001.9.STATE').val var Vorne= getState('hm-rpc.1.CUX2803001.8.STATE').val var Garten= getState('hm-rpc.1.CUX2803001.4.STATE').val var WG= getState('hm-rpc.1.CUX2803001.7.STATE').val var idKamera = '6'; var camfail = ""; if (Garage == false) idKamera = '1'; else if (Strasse == false) idKamera = '2'; else if (Vorne == false) idKamera = '3'; else if (Garten == false) idKamera = '4'; else{if (WG == false) idKamera = '5'; }; var kamera = ['Garage','Strasse','Vorne','Garten','WG','keine Störung']; setState('javascript.0.Störung.Kamera', kamera[idKamera]); log(kamera[idKamera]); camfail = kamera[idKamera]; if (idKamera < '6') {camfail = kamera[idKamera]; camfail = camfail + ", " + kamera[idKamera]}; log("LOG 2: " + camfail); });An Zeile 20 Strauchel ich. Habe mal mit LOG geübt, bekomme aber immer zweimal die Meldung keine Störung.
Also jede Störung darf nur einmal erscheinen.
Michael -
Zum einen solltest du deine idKamera als Zahl definieren und nicht als String, also überall '' entfernen: zB.
var idKamera = 6;
In #16 definierst du dann ein Array, allerdings fangen Arrays nicht bei "1" an, sondern bei "0". Du vergibst bspw. für "Garage" die ID 1, dass entspricht aber in deinem Array dann "Strasse".
kamera[0] = Garage
kamera[1] = Strasse
...
kamera[5] = keine Störung...und dein Anfangs Problem bekommst du so nicht gelöst. Du wirst immer nur genau eine Kamera als Fehlermeldung erhalten, und zwar die mit der höchsten Nummer. Sollte also bspw. 1 +5 ausgefallen sein, wird dir nur die "5" angezeigt.
Da würde es sich zB. anbieten die fehlerhaften IDs in ein separates Array zu schreiben (man könnte auch dein kamera-Array um eine Ebene erweitern). Das kann man dann mittels for abgrasen und deine Komma separierte Liste erstellen.
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