Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Mehrere Fehlermeldungen Komma separiert ausgeben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mehrere Fehlermeldungen Komma separiert ausgeben

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      michihorn last edited by

      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

      1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        903
        Online

        31.9k
        Users

        80.2k
        Topics

        1.3m
        Posts

        javascript
        2
        2
        161
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo