Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Doppelter Channel mit setObject

    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

    Doppelter Channel mit setObject

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

      Hallo,
      ich möchte das ausgelesene FritzBox Log in eine IP-Struktur legen. Es funktioniert nicht so wie ich es dachte.
      Es soll pro IP ein Channel angelegt werden. Die eine IP wird aber doppelt angelegt. Weiterhin soll es bei Neuanlage in der Beschreibung TEST schreiben und bei vorhandener Beschreibung (IDName) soll er den Namen reinschreiben. Dies macht es auch nur teilweise. Es wird auch ein vorhandener Name (IDName) wieder durch ein TEST überschreiben! Warum?
      Script ist im Spoiler. @paul53 bitte mal drüber schauen. Was mach ich da falsch?

      9e448518-b12d-41c9-bf57-6ab45f28da46-image.png

      //Daten in eine Struktur packen
          //IP-Strukturaufbau
          //192_168_178_1     fritz.box
          //      Datum       2020.10.02
          //      Zeit        13:12:00
          //      usw.
          if (LOG_JSON.IP == undefined){
              console.log("Keine IP-Adresse vorhanden für die Zuordnung!");
              console.log(AUSGABE_STR);
              
          }
          else {
              if (existsObject('javascript.0.HAUS.FRITZBOX.Log-IP')) {
              }
              else {
                  let obj = {};
                  obj.type = 'device';
                  obj.common = {};
                  obj.common.name = "LOG nach IP sortiert";
                  obj.native = {};    
                  setObject('javascript.0.HAUS.FRITZBOX.Log-IP', obj);
              }
              State_Name = String(LOG_JSON.IP).replace('.','_');
              State_Name = State_Name.replace('.','_');
              State_Name = State_Name.replace('.','_');
              
              State_Name = 'javascript.0.HAUS.FRITZBOX.Log-IP.' + State_Name;
              
              if (existsObject(State_Name)) {
                  
                  let obj = getObject(State_Name);
                  if (LOG_JSON.WLAN_IDNAME != undefined){
                      obj.common.name = String(LOG_JSON.WLAN_IDNAME);
                  }
                  setObject(State_Name, obj, function (err) {
                      if (err) log('Cannot write object: ' + err);
                      });
                  
              }
              else {
                  let obj = {};
                  obj.type = 'channel';
                  obj.common = {};
                  obj.common.name = "TEST";
                  obj.native = {};    
                  setObject(State_Name, obj);
                  
              }
              //setState("javascript.0.HAUS.FRITZBOX.Log-IP." + String(LOG_JSON.IP));
          }
      

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @MCU last edited by paul53

        @MCU sagte:

        Was mach ich da falsch?

        Keine Ahnung, denn ich sehe nur einen Teil des Scripts. Wird dieser Teil in einer Schleife aufgerufen ? Dann könnte es sein, dass mit

        if (existsObject(State_Name))
        

        ein Objekt geprüft wird, dessen Erzeugung noch nicht abgeschlossen ist.

        M 1 Reply Last reply Reply Quote 0
        • M
          MCU @paul53 last edited by

          @paul53 Ja es läuft in einer Schleife, geht quasi jede FritzBox-LOG-Zeile durch.

          M 1 Reply Last reply Reply Quote 0
          • M
            MCU @MCU last edited by

            @MCU Wie kann man denn so etwas abfangen?

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

            Support us

            ioBroker
            Community Adapters
            Donate

            967
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            javascript
            2
            4
            220
            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