Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Array

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    906

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.5k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.9k

Array

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 2 Kommentatoren 890 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Offline
    B Offline
    Biele
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • blauholstenB Offline
      blauholstenB Offline
      blauholsten
      Developer
      schrieb am zuletzt editiert von
      #2

      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]
      

      Entwickler vom: - Viessman Adapter
      - Alarm Adapter

      1 Antwort Letzte Antwort
      0
      • B Offline
        B Offline
        Biele
        schrieb am zuletzt editiert von
        #3

        Super vielen Dank

        Ich teste Mal .

        Gibt es noch ein syntax Handbuch ?

        Vielen Dank

        1 Antwort Letzte Antwort
        0
        • blauholstenB Offline
          blauholstenB Offline
          blauholsten
          Developer
          schrieb am zuletzt editiert von
          #4

          @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.

          Entwickler vom: - Viessman Adapter
          - Alarm Adapter

          1 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            Biele
            schrieb am zuletzt editiert von
            #5

            Hallo ,

            naja ich habe beruflich bin ich Roboter-Prozessoptimierter.

            Warum eigentlich let und nicht var ?

            Grüße

            1 Antwort Letzte Antwort
            0

            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
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            444

            Online

            33.0k

            Benutzer

            83.5k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2026
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe