Navigation

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

    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

    Array

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

      Hallo Zusammen,

      kann mir Jemand helfen bin noch ein NOOB.

      Hab ein Problem mit meinem Array geht das so nicht wie ich geschrieben hab?

      Gruß und Danke```
      `//Rolladen Steuerung
      //Auswerten von Sonnenstand,Automatik,Tag,Nacht,Schatten, Frost und Rolladen_LEVEL
      //******************************
      // Erdgeschoss
      //******************************
      //[0]=HWR/WC
      //[1]=DIELE
      //[2]=BÜRO
      //[3]=KÜCHE
      //[4]=LINKES FENSTER WOHNZIMMER
      //[5]=TERRASSENTÜR WOHNZIMMER
      //[6]=RECHTES FENSTER WOHNZIMMER
      //[7]=KLEINES FENSTER WOHNZIMMER
      //[8]=BAD
      //[9]=ELTERN
      //[10]=LINA
      //[11]=MARIE

      // Zuweisen Rollo ID
      String[] rollo = new String[11];
      rollo[0] = '("hm-rpc.1.MEQ18521.3.LEVEL").val)';
      rollo[1] = '("hm-rpc.1.MEQ18528.3.LEVEL").val)';
      rollo[2] = '("hm-rpc.1.MEQ18532.3.LEVEL").val)';
      rollo[3] = '("hm-rpc.1.MEQ18535.3.LEVEL").val)';
      rollo[4] = '("hm-rpc.1.MEQ18551.3.LEVEL").val)';
      rollo[5] = '("hm-rpc.1.MEQ18527.3.LEVEL").val)';
      rollo[6] = '("hm-rpc.1.MEQ18520.3.LEVEL").val)';
      rollo[7] = '("hm-rpc.1.MEQ18514.3.LEVEL").val)';
      rollo[8] = '("hm-rpc.1.MEQ18595.3.LEVEL").val)';
      rollo[9] = '("hm-rpc.1.MEQ18509.3.LEVEL").val)';
      rollo[10] = '("hm-rpc.1.MEQ18525.3.LEVEL").val)';
      rollo[11] = '("hm-rpc.1.MEQ1851.3.LEVEL").val)';

      // Festlegen Azimut für Beschattung
      var (min_azimut = new int[11]);
      min_azimut[0] = 30;
      min_azimut[1] = 30;
      min_azimut[2] = 30;
      min_azimut[3] = 83;
      min_azimut[4] = 165;
      min_azimut[5] = 167;
      min_azimut[6] = 165;
      min_azimut[7] = 250;
      min_azimut[8] = 250;
      min_azimut[9] = 82;
      min_azimut[10] = 83;
      min_azimut[11] = 250;

      int[] max_azimut = new int[10];
      max_azimut[0] = 150;
      max_azimut[1] = 150;
      max_azimut[2] = 150;
      max_azimut[3] = 250;
      max_azimut[4] = 330;
      max_azimut[5] = 330;
      max_azimut[6] = 330;
      max_azimut[7] = 359;
      max_azimut[8] = 359;
      max_azimut[9] = 250;
      max_azimut[10] = 251;
      max_azimut[11] = 359;
      //Level für Beschattung festlegen
      int[] schatten = new int[11];
      schatten[0] = 20;
      schatten[1] = 50;
      schatten[2] = 20;
      schatten[3] = 20;
      schatten[4] = 20;
      schatten[5] = 50;
      schatten[6] = 20;
      schatten[7] = 20;
      schatten[8] = 20;
      schatten[9] = 20;
      schatten[10] = 20;
      schatten[11] = 20;
      //Level Nacht Tag und Frost definieren
      var nacht=0;
      var tag=100;
      var tag_frost=95;
      // Festlegen Automatik für Fenster
      // einlesen über auto[0] = '"hm-rpc.1.IEQ057xxxx.3.State"'; möglich
      boolean[] auto = new boolean[10];
      auto[0] = true;
      auto[1] = true;
      auto[2] = true;
      auto[3] = true;
      auto[4] = true;
      auto[5] = true;
      auto[6] = true;
      auto[7] = true;
      auto[8] = true;
      auto[9] = true;
      auto[10] = false;
      auto[11]= true;

      //******************************
      //Variablen von Homematic
      //******************************
      var aussen_temp=null;
      var sonne_elevation=null;
      var sonnen_azimut=null;
      var rollo_nacht=null;
      var rollo_schatten=null;
      var rollo_auto=null;
      var rollo_auto_tag=null;
      var temp_rollo_level=null;
      //******************************
      //Rollo Steuern
      //******************************
      "schedule({* * * * *}", function () {
      for (int i = 0; i < rollo.lenght; i++){
      if (rollo_schatten==true && min_azimut[i]>sonne_azimut && max_azimut[i]<sonne_azimut &&/rollo_nacht="=false" rollo_auto="=true" rollo_auto_tag="=true){" var/temp_rollo_level="(rollo[i],val);" if/(temp_rollo_level="">schatten[i] && auto[i]==true){
      setState(rollo[i],schatten[i]);
      }
      }
      if (rollo_nacht==true && rollo_auto==true && rollo_auto_tag==true){
      var temp_rollo_level=(rollo[i],val);
      if (temp_rollo_level>nacht && auto[i]==true){
      setState(rollo[i],nacht);
      }
      }
      if (rollo_nacht==false && rollo_schatten==false && rollo_auto==true && rollo_auto_tag==true){
      if (auto[i]==true && aussen_temp>2){
      setState(rollo[i],tag);
      } else if (auto[i]==true && aussen_temp<2){
      setState(rollo[i],tag_frost);
      }
      }
      }
      });</sonne_azimut>` [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]

      1 Reply Last reply Reply Quote 0
      • blauholsten
        blauholsten Developer last edited by

        Auf die schnelle habe ich es mal verändert.

        `//Rolladen Steuerung
        //Auswerten von Sonnenstand,Automatik,Tag,Nacht,Schatten, Frost und Rolladen_LEVEL
        //******************************
        // Erdgeschoss 
        //******************************
        //[0]=HWR/WC
        //[1]=DIELE
        //[2]=BÜRO
        //[3]=KÜCHE
        //[4]=LINKES FENSTER WOHNZIMMER
        //[5]=TERRASSENTÜR WOHNZIMMER
        //[6]=RECHTES FENSTER WOHNZIMMER
        //[7]=KLEINES FENSTER WOHNZIMMER
        //[8]=BAD
        //[9]=ELTERN
        //[10]=LINA
        //[11]=MARIE
        
        // Zuweisen Rollo ID
        let rollo = [];
        rollo[0] = "hm-rpc.1.MEQ18521.3.LEVEL";
        rollo[1] = "hm-rpc.1.MEQ18528.3.LEVEL";
        rollo[2] = "hm-rpc.1.MEQ18532.3.LEVEL";
        rollo[3] = "hm-rpc.1.MEQ18535.3.LEVEL";
        rollo[4] = "hm-rpc.1.MEQ18551.3.LEVEL";
        rollo[5] = "hm-rpc.1.MEQ18527.3.LEVEL";
        rollo[6] = "hm-rpc.1.MEQ18520.3.LEVEL";
        rollo[7] = "hm-rpc.1.MEQ18514.3.LEVEL";
        rollo[8] = "hm-rpc.1.MEQ18595.3.LEVEL";
        rollo[9] =  "hm-rpc.1.MEQ18509.3.LEVEL";
        rollo[10] =  "hm-rpc.1.MEQ18525.3.LEVEL";
        rollo[11] =  "hm-rpc.1.MEQ1851.3.LEVEL";
        
        // Festlegen Azimut für Beschattung
        let min_azimut = [];
        min_azimut[0] = 30;
        min_azimut[1] = 30;
        min_azimut[2] = 30;
        min_azimut[3] = 83;
        min_azimut[4] = 165;
        min_azimut[5] = 167;
        min_azimut[6] = 165;
        min_azimut[7] = 250;
        min_azimut[8] = 250;
        min_azimut[9] = 82;
        min_azimut[10] = 83;
        min_azimut[11] = 250;
        
        let max_azimut = [];
        max_azimut[0] = 150;
        max_azimut[1] = 150;
        max_azimut[2] = 150;
        max_azimut[3] = 250;
        max_azimut[4] = 330;
        max_azimut[5] = 330;
        max_azimut[6] = 330;
        max_azimut[7] = 359;
        max_azimut[8] = 359;
        max_azimut[9] = 250;
        max_azimut[10] = 251;
        max_azimut[11] = 359;
        //Level für Beschattung festlegen
        let schatten = [];
        schatten[0] = 20;
        schatten[1] = 50;
        schatten[2] = 20;
        schatten[3] = 20;
        schatten[4] = 20;
        schatten[5] = 50;
        schatten[6] = 20;
        schatten[7] = 20;
        schatten[8] = 20;
        schatten[9] = 20;
        schatten[10] = 20;
        schatten[11] = 20;
        //Level Nacht Tag und Frost definieren 
        let nacht=0;
        let tag=100;
        let tag_frost=95;
        // Festlegen Automatik für Fenster
        // einlesen über auto[0] = '"hm-rpc.1.IEQ057xxxx.3.State"'; möglich
        let auto = [];
        auto[0] = true;
        auto[1] = true;
        auto[2] = true;
        auto[3] = true;
        auto[4] = true;
        auto[5] = true;
        auto[6] = true;
        auto[7] = true;
        auto[8] = true;
        auto[9] = true;
        auto[10] = false;
        auto[11]= true;
        
        //******************************
        //Variablen von Homematic
        //******************************
        let aussen_temp=null;
        let sonne_elevation=null;
        let sonnen_azimut=null;
        let rollo_nacht=null;
        let rollo_schatten=null;
        let rollo_auto=null;
        let rollo_auto_tag=null;
        let temp_rollo_level=null;
        //******************************
        //Rollo Steuern
        //******************************
        schedule("* * * * *", function () {
                       for (let i = 0; i < rollo.lenght; i++){ 
                                      if (rollo_schatten===true && min_azimut[i]>sonne_azimut && max_azimut[i]<sonne_azimut &&/rollo_nacht="==false" rollo_auto="==true" rollo_auto_tag="==true){" let/temp_rollo_level="getState(rollo[i]).val;" if/(temp_rollo_level="">schatten[i] && auto[i]===true){
                                                                   setState(rollo[i],schatten[i]);
                                                    }
                                      }
                                      if (rollo_nacht===true && rollo_auto===true && rollo_auto_tag===true){
                                                    let temp_rollo_level=getState(rollo[i]).val;
                                                    if (temp_rollo_level>nacht && auto[i]===true){
                                                                   setState(rollo[i],nacht);
                                                    }
                                      }
                                      if (rollo_nacht===false && rollo_schatten===false && rollo_auto===true && rollo_auto_tag===true){
                                                    if (auto[i]===true && aussen_temp>2){
                                                                   setState(rollo[i],tag);
                                                    } else if (auto[i]===true && aussen_temp<2){
                                                                   setState(rollo[i],tag_frost);
                                                    }
                                      }
                       }
        });</sonne_azimut>` 
        
        Ohne Garantie, was alles in dem schedule passiert.[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
        
        1 Reply Last reply Reply Quote 0
        • B
          Biele last edited by

          Super vielen Dank

          Ich teste Mal .

          Gibt es noch ein syntax Handbuch ?

          Vielen Dank

          1 Reply Last reply Reply Quote 0
          • blauholsten
            blauholsten Developer last edited by

            @Biele:

            Super vielen Dank

            Ich teste Mal .

            Gibt es noch ein syntax Handbuch ?

            Vielen Dank `

            Hi,

            Anscheinend kommst du ja von einer anderen programmier Sprache? Das hier ist klassisch Javascript. Es gibt hier bzw. Auf der iobroker Seite , einen tollen Leitfaden zum Thema JS.

            1 Reply Last reply Reply Quote 0
            • B
              Biele last edited by

              Hallo ,

              naja ich habe beruflich bin ich Roboter-Prozessoptimierter.

              Warum eigentlich let und nicht var ?

              Grüße

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

              Support us

              ioBroker
              Community Adapters
              Donate

              744
              Online

              31.7k
              Users

              79.9k
              Topics

              1.3m
              Posts

              2
              5
              516
              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