Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Visualisierung
  4. Mehrere Rollos gleichzeitig steuern mit Jarvis

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    398

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Mehrere Rollos gleichzeitig steuern mit Jarvis

Geplant Angeheftet Gesperrt Verschoben Visualisierung
25 Beiträge 3 Kommentatoren 2.4k Aufrufe 4 Watching
  • Ä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.
  • SLang77S SLang77

    @mcu

    Hi, und vielen Dank für den Hilfe-Versuch. Leider komme ich erst heute wieder dazu hier weiter zu machen.
    Leider blicke ich nicht wie man einer Gruppe irgendetwas hinzufügen könnte.
    Ich hänge mal ein Screenshot an.
    Ich habe eine Gruppe "Alle Rollos" erstellt. Ich sehe nirgendwo eine Möglichkeit dieser Gruppe etwas hinzuzufügen.

    Jarvis2.jpg

    M Online
    M Online
    MCU
    schrieb am zuletzt editiert von
    #5

    @slang77 Und schon mal dort BlindLevelAction ausgewählt?
    1d4118bd-a31a-4bee-8758-9edc5d560831-image.png

    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

    SLang77S 1 Antwort Letzte Antwort
    0
    • H Hansi1234

      @mcu sorry kurzes Offtopic. Du verweist immer auf die Jarvis Sammeltreads. Ich finde diese mehr als unübersichtlich, weil schon sehr viel geschrieben wurde. Deine Dokus dazu sind sehr hilfreich, aber da muss man auch erstmals wieder suchen.
      Wenn ich etwas für Iobroker suche, benutze ich immer noch Google. Komme mit der Boardsuche nicht so klar.
      Ich denke das wurde schon einmal angesprochen. Vielleicht könnte man für Jarvis eine extra Rubrik machen und dort neue Beiträge eröffnen bei Hilfesuche. Das wäre vermutlich am einfachsten zu finden

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von MCU
      #6

      @hansi1234 Verweise deswegen auf die Threads, damit ich möglichst schnell antworten kann. Dort bekomme ich eine Nachricht, wenn etwas Neues kommt. Bei neuen Threads nicht. Suche nach jarvis, dass mach ich vielleicht einmal in der Woche.
      Weiterhin ist es für den Entwickler einfacher sich auf die vorhandenen Threads zu konzentrieren.
      Falls man in der Hilfe etwas nicht finden kann, dann bitte im Thread fragen. Sobald ich es sehe und Zeit habe, werde ich versuchen darauf zu antworten.

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      1 Antwort Letzte Antwort
      1
      • M MCU

        @slang77 Und schon mal dort BlindLevelAction ausgewählt?
        1d4118bd-a31a-4bee-8758-9edc5d560831-image.png

        SLang77S Offline
        SLang77S Offline
        SLang77
        schrieb am zuletzt editiert von
        #7

        @mcu

        Hi,

        Ich hänge nochmal ein Bild an.
        BlindLevelAction kann dort nicht ausgewählt werden.
        Ich verstehe auch absolut nicht was das eigentlich bedeuten soll. Heißt dass das alle Rollos die als TriggerElement BlindLevelAction haben in der Gruppe sind, wenn diese das als Group Element auch hat???
        Wenn das so wäre, frage ich mich was denn passiert wenn ich mehrere unterschiedliche Gruppen hätte. Mit Blind LevelAction lege ich doch nur fest wie die Knöpfe aussehen sollen... Sorry, bin verwirrt. Ich würde mich freuen, da du dich ja scheinbar sehr gut auskennst, wenn du mir etwas genauere Hinweise geben könntest. Ich bin Anfänger, fande bisher das meiste relativ selbsterklärend, hier erkenne ich aber gerade überhaupt keinen Zusammenhang.
        Was ich auch nicht schnalle: Bei dem Wohnzimmer Rollo steht "Use in Actions" und Show State". Ich habe absolut keine Ahnung wie das "Use in Actions" da hingekommen ist. Bei allen anderen steht "Show State"

        Jarvis3.jpg

        M 1 Antwort Letzte Antwort
        0
        • SLang77S SLang77

          @mcu

          Hi,

          Ich hänge nochmal ein Bild an.
          BlindLevelAction kann dort nicht ausgewählt werden.
          Ich verstehe auch absolut nicht was das eigentlich bedeuten soll. Heißt dass das alle Rollos die als TriggerElement BlindLevelAction haben in der Gruppe sind, wenn diese das als Group Element auch hat???
          Wenn das so wäre, frage ich mich was denn passiert wenn ich mehrere unterschiedliche Gruppen hätte. Mit Blind LevelAction lege ich doch nur fest wie die Knöpfe aussehen sollen... Sorry, bin verwirrt. Ich würde mich freuen, da du dich ja scheinbar sehr gut auskennst, wenn du mir etwas genauere Hinweise geben könntest. Ich bin Anfänger, fande bisher das meiste relativ selbsterklärend, hier erkenne ich aber gerade überhaupt keinen Zusammenhang.
          Was ich auch nicht schnalle: Bei dem Wohnzimmer Rollo steht "Use in Actions" und Show State". Ich habe absolut keine Ahnung wie das "Use in Actions" da hingekommen ist. Bei allen anderen steht "Show State"

          Jarvis3.jpg

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von MCU
          #8

          @slang77 Gruppe zieht nur bis zum nächsten divider. Deswegen haben die anderen darunter kein "Use in Actions".
          Das scheint noch ein offener Punkt zu sein, dass man nicht alle Rollos auf einmal schalten kann??

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          SLang77S 1 Antwort Letzte Antwort
          0
          • M MCU

            @slang77 Gruppe zieht nur bis zum nächsten divider. Deswegen haben die anderen darunter kein "Use in Actions".
            Das scheint noch ein offener Punkt zu sein, dass man nicht alle Rollos auf einmal schalten kann??

            SLang77S Offline
            SLang77S Offline
            SLang77
            schrieb am zuletzt editiert von
            #9

            @mcu

            Okay, verstehe welche Geräte zu welcher Gruppe gehören. Dennoch finde ich keine Möglichkeit die Geräte die zu der Gruppe gehören zu schalten. Es passiert einfach gar nichts.
            Die Anzeige wechselt zwar zwischen anschalten und ausschalten. Aber weder wird der Shelly geschaltet noch fährt irgendetwas...

            M 1 Antwort Letzte Antwort
            0
            • SLang77S SLang77

              @mcu

              Okay, verstehe welche Geräte zu welcher Gruppe gehören. Dennoch finde ich keine Möglichkeit die Geräte die zu der Gruppe gehören zu schalten. Es passiert einfach gar nichts.
              Die Anzeige wechselt zwar zwischen anschalten und ausschalten. Aber weder wird der Shelly geschaltet noch fährt irgendetwas...

              M Online
              M Online
              MCU
              schrieb am zuletzt editiert von MCU
              #10

              @slang77 Versuch mal die ButtonAction. Geht auch nicht.

              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

              SLang77S 1 Antwort Letzte Antwort
              0
              • M MCU

                @slang77 Versuch mal die ButtonAction. Geht auch nicht.

                SLang77S Offline
                SLang77S Offline
                SLang77
                schrieb am zuletzt editiert von
                #11

                @mcu

                Es kist vollkommen egal was man da wählt. Es gibt keine Reaktion

                M 1 Antwort Letzte Antwort
                0
                • SLang77S SLang77

                  @mcu

                  Es kist vollkommen egal was man da wählt. Es gibt keine Reaktion

                  M Online
                  M Online
                  MCU
                  schrieb am zuletzt editiert von
                  #12

                  @slang77 Ist noch nicht bearbeitet:
                  https://github.com/Zefau/ioBroker.jarvis/issues/1416

                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  SLang77S 1 Antwort Letzte Antwort
                  0
                  • M MCU

                    @slang77 Ist noch nicht bearbeitet:
                    https://github.com/Zefau/ioBroker.jarvis/issues/1416

                    SLang77S Offline
                    SLang77S Offline
                    SLang77
                    schrieb am zuletzt editiert von
                    #13

                    @mcu

                    Ah okay,

                    Wäre es denn auch möglich Geräte in solchen Gruppen auf bestimmte Level zu fahren? Also einen bestimmten % Wert. Beim BodyElement kann man ja LevelBody wählen...

                    M 1 Antwort Letzte Antwort
                    0
                    • SLang77S SLang77

                      @mcu

                      Ah okay,

                      Wäre es denn auch möglich Geräte in solchen Gruppen auf bestimmte Level zu fahren? Also einen bestimmten % Wert. Beim BodyElement kann man ja LevelBody wählen...

                      M Online
                      M Online
                      MCU
                      schrieb am zuletzt editiert von MCU
                      #14

                      @slang77 So nicht. Man kann aber eine DropDownListe definieren und mit einem Script das entsprechend lösen.
                      Wie lautet die ID um eine Prozentzahl angeben zu können?

                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                      SLang77S 1 Antwort Letzte Antwort
                      0
                      • M MCU

                        @slang77 So nicht. Man kann aber eine DropDownListe definieren und mit einem Script das entsprechend lösen.
                        Wie lautet die ID um eine Prozentzahl angeben zu können?

                        SLang77S Offline
                        SLang77S Offline
                        SLang77
                        schrieb am zuletzt editiert von
                        #15

                        @mcu

                        ID?

                        M 1 Antwort Letzte Antwort
                        0
                        • SLang77S SLang77

                          @mcu

                          ID?

                          M Online
                          M Online
                          MCU
                          schrieb am zuletzt editiert von
                          #16

                          @slang77 ? shelly.0.xy.prozente?

                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                          SLang77S 1 Antwort Letzte Antwort
                          0
                          • M MCU

                            @slang77 ? shelly.0.xy.prozente?

                            SLang77S Offline
                            SLang77S Offline
                            SLang77
                            schrieb am zuletzt editiert von
                            #17

                            @mcu

                            Ach so

                            shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position

                            und

                            shelly.0.SHSW-25#40F5202D4C66#1.Shutter.Position

                            M 1 Antwort Letzte Antwort
                            0
                            • SLang77S SLang77

                              @mcu

                              Ach so

                              shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position

                              und

                              shelly.0.SHSW-25#40F5202D4C66#1.Shutter.Position

                              M Online
                              M Online
                              MCU
                              schrieb am zuletzt editiert von MCU
                              #18

                              @slang77 Wertebereich von 0 bis 100?
                              0 = auf, 100 = zu?

                              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              SLang77S 1 Antwort Letzte Antwort
                              0
                              • M MCU

                                @slang77 Wertebereich von 0 bis 100?
                                0 = auf, 100 = zu?

                                SLang77S Offline
                                SLang77S Offline
                                SLang77
                                schrieb am zuletzt editiert von
                                #19

                                @mcu

                                genau. 0 geschlossen. 100% voll geöffnet

                                M 1 Antwort Letzte Antwort
                                0
                                • SLang77S SLang77

                                  @mcu

                                  genau. 0 geschlossen. 100% voll geöffnet

                                  M Online
                                  M Online
                                  MCU
                                  schrieb am zuletzt editiert von MCU
                                  #20

                                  @slang77 Noch andere Shutter? Auf dem Bild sind es 3?

                                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                  SLang77S 1 Antwort Letzte Antwort
                                  0
                                  • M MCU

                                    @slang77 Noch andere Shutter? Auf dem Bild sind es 3?

                                    SLang77S Offline
                                    SLang77S Offline
                                    SLang77
                                    schrieb am zuletzt editiert von
                                    #21

                                    @mcu

                                    Also ich würde ja wenn verschiedene Gruppen bilden.

                                    Der gesamte Sonnenschutz wäre praktisch alle Rollos:

                                    Schlafzimmer:
                                    shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position
                                    Wohnzimmer
                                    shelly.0.SHSW-25#40F5202D4C66#1.Shutter.Position
                                    OG
                                    shelly.0.SHSW-25#483FDA76428D#1.Shutter.Position
                                    Büro
                                    shelly.0.SHSW-25#40F5202D26F0#1.Shutter.Position
                                    Bad
                                    shelly.0.SHSW-25#40F520266FB2#1.Shutter.Position
                                    HWR
                                    shelly.0.SHSW-25#40F52020F1A7#1.Shutter.Position
                                    Esszimmer links
                                    shelly.0.SHSW-25#40F52020E5EB#1.Shutter.Position
                                    Esszimmer rechts
                                    shelly.0.SHSW-25#40F52027A30A#1.Shutter.Position

                                    Das wäre erstmal interessant, wenn m,an morgens aus dem haus geht und weiß, die Sonne wird den tag über knallen, mit einem Knopfdruck alle Rollos auf einen bestimmten Wert Fahren kann.

                                    Später würde ich natürlich gerne Die Rollos nach Himmelsrichtung fahren können. Also alle Süd Rollos Sonnenschutz, alle Ost / West usw...

                                    Interessant wäre auch Bestimmte Rollos morgens, wenn die nicht sowieso automatisch hochfahren auf Knopfdruck hochfahren zu lassen. Daher rürt die ursprüngliche Frage nach den Gruppen.

                                    Also zum Beispiel:
                                    Schlafzimmer:
                                    shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position
                                    Wohnzimmer
                                    shelly.0.SHSW-25#40F5202D4C66#1.Shutter.Position
                                    OG
                                    shelly.0.SHSW-25#483FDA76428D#1.Shutter.Position
                                    Büro
                                    shelly.0.SHSW-25#40F5202D26F0#1.Shutter.Position
                                    Bad
                                    shelly.0.SHSW-25#40F520266FB2#1.Shutter.Position
                                    HWR
                                    shelly.0.SHSW-25#40F52020F1A7#1.Shutter.Position

                                    morgens auf Knopfdruck alle hochzufahren...

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • SLang77S SLang77

                                      @mcu

                                      Also ich würde ja wenn verschiedene Gruppen bilden.

                                      Der gesamte Sonnenschutz wäre praktisch alle Rollos:

                                      Schlafzimmer:
                                      shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position
                                      Wohnzimmer
                                      shelly.0.SHSW-25#40F5202D4C66#1.Shutter.Position
                                      OG
                                      shelly.0.SHSW-25#483FDA76428D#1.Shutter.Position
                                      Büro
                                      shelly.0.SHSW-25#40F5202D26F0#1.Shutter.Position
                                      Bad
                                      shelly.0.SHSW-25#40F520266FB2#1.Shutter.Position
                                      HWR
                                      shelly.0.SHSW-25#40F52020F1A7#1.Shutter.Position
                                      Esszimmer links
                                      shelly.0.SHSW-25#40F52020E5EB#1.Shutter.Position
                                      Esszimmer rechts
                                      shelly.0.SHSW-25#40F52027A30A#1.Shutter.Position

                                      Das wäre erstmal interessant, wenn m,an morgens aus dem haus geht und weiß, die Sonne wird den tag über knallen, mit einem Knopfdruck alle Rollos auf einen bestimmten Wert Fahren kann.

                                      Später würde ich natürlich gerne Die Rollos nach Himmelsrichtung fahren können. Also alle Süd Rollos Sonnenschutz, alle Ost / West usw...

                                      Interessant wäre auch Bestimmte Rollos morgens, wenn die nicht sowieso automatisch hochfahren auf Knopfdruck hochfahren zu lassen. Daher rürt die ursprüngliche Frage nach den Gruppen.

                                      Also zum Beispiel:
                                      Schlafzimmer:
                                      shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position
                                      Wohnzimmer
                                      shelly.0.SHSW-25#40F5202D4C66#1.Shutter.Position
                                      OG
                                      shelly.0.SHSW-25#483FDA76428D#1.Shutter.Position
                                      Büro
                                      shelly.0.SHSW-25#40F5202D26F0#1.Shutter.Position
                                      Bad
                                      shelly.0.SHSW-25#40F520266FB2#1.Shutter.Position
                                      HWR
                                      shelly.0.SHSW-25#40F52020F1A7#1.Shutter.Position

                                      morgens auf Knopfdruck alle hochzufahren...

                                      M Online
                                      M Online
                                      MCU
                                      schrieb am zuletzt editiert von MCU
                                      #22

                                      @slang77 Hier mal ein Programm, mit dem man es machen könnte:

                                      // ***************************
                                      // ShutterPosition v1.0.0
                                      // Copyright MCU
                                      // ***************************
                                      
                                      let shutterDP = '0_userdata.0.jarvis.shutter';
                                      let shutterArrayDP = shutterDP + '.shutterArray';
                                      let shutterArrayTimeDP = shutterDP + '.shutterTimeArray'; //[{"time":"07:28","direction":"Westen","position":50}]
                                      let shutterPositionDP = shutterDP + '.position';
                                      let shutterDirectionDP = shutterDP + '.direction';
                                      
                                      createStateAsync(shutterArrayDP, {read: true, write: true, name: 'Array der Jalousien / Rollos' , type: "string", role: "", def: JSON.stringify([]) });
                                      createStateAsync(shutterArrayTimeDP, {read: true, write: true, name: 'Zeit-Array der Jalousien / Rollos' , type: "string", role: "", def: JSON.stringify([]) });
                                      createStateAsync(shutterDirectionDP, {read: true, write: true, name: 'Himmelsrichtung (Norden,Westen,Osten,Süden,All)' , type: "string", role: "", def: "All",
                                                                      states:{"All":"All","Norden":"Norden","Westen":"Westen","Osten":"Osten","Süden":"Süden"}  });
                                      createStateAsync(shutterPositionDP, {read: true, write: true, name: 'Position die angefahren werden soll' , type: "number", role: "", def: 0 });
                                      
                                      // Shelly automatisch einlesen in Array?
                                      //[{"direction":"Westen","id":"shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position"}]
                                      
                                      schedule("*/2 * * * *", function () { //Alle 2 Minuten prüfen 
                                          // shutterArrTime prüfen, ob etwas gemacht werden soll
                                          let shutterTimeArr = getState(shutterArrayTimeDP).val;
                                          shutterTimeArr = JSON.parse(shutterTimeArr);
                                          let nowTime = formatDate(new Date().getTime(),'hh:mm');
                                          // log(nowTime);
                                          for (let x=0;x<shutterTimeArr.length;x++){
                                              if (shutterTimeArr[x].time == nowTime){
                                                  let shutterArray = getState(shutterArrayDP).val;
                                                  shutterArray = JSON.parse(shutterArray);
                                                  // log(shutterArray);
                                                  for (let i=0;i<shutterArray.length;i++){
                                                      if (shutterTimeArr[x].direction != undefined || shutterTimeArr[x].direction != null ){
                                                          if (shutterTimeArr[x].direction == shutterArray[i].direction || shutterTimeArr[x].direction == 'All'){
                                                              log(shutterArray[i].id +' wird gesetzt auf '+ shutterTimeArr[x].position);
                                                              setStateAsync(shutterArray[i].id,shutterTimeArr[x].position,false);
                                                          }
                                                      }else{
                                                          if (shutterTimeArr[x].id != undefined || shutterTimeArr[x].id != null){
                                                              if (shutterTimeArr[x].id == shutterArray[i].id){
                                                                  log(shutterArray[i].id + ' wird gesetzt auf ' + shutterTimeArr[x].position);
                                                                  setStateAsync(shutterArray[i].id,shutterTimeArr[x].position,false);
                                                              }
                                                          }
                                                      }
                                                  }
                                              }
                                          }
                                      });
                                      
                                      
                                      on({id: shutterPositionDP, change: "any"}, function (obj) {
                                          let value = obj.state.val;
                                          let direction = getState(shutterDirectionDP).val;
                                          let shutterArray = getState(shutterArrayDP).val;
                                          shutterArray = JSON.parse(shutterArray);
                                          log(shutterArray);
                                          for (let i=0;i<shutterArray.length;i++){
                                              if (direction == shutterArray[i].direction || direction == 'All'){
                                                  log(shutterArray[i].id +' wird gesetzt auf '+ value);
                                                  setStateAsync(shutterArray[i].id,value,false);
                                              }
                                          }
                                      });
                                      

                                      8b48fc21-3efa-4793-980e-215753a6e3e1-image.png

                                      shutterArray hat den Aufbau:
                                      Mögliche direction: Norden, Westen, Osten, Süden

                                      [{"direction":"Westen","id":"shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position"},{"direction":"Osten","id":"shelly.0.SHSW-25#40F5202D26F0#1.Shutter.Position"}]
                                      

                                      shutterTimeArray hat den Aufbau:
                                      entweder id oder direction

                                      [{"time":"11:08","id":"shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position","position":80}, {"time":"11:10","direction":"Westen","position":70}]
                                      

                                      Zeit momentan im 2 Minuten Abstand

                                      Die Datenpunkte direction und position legt man dann in jarvis an. Dort kann man dann die Direction auswählen (DropDown) und die Position angeben (Mit LevelBody oder als DropDown)
                                      direction-DropDown:

                                      {"All":"Alle Rollos","Norden":"Nord","Westen":"West","Osten":"Ost","Süden":"Süd"}
                                      

                                      position-DropDown:

                                      {"10":"10","20":"20","30":"30","40":"40","50":"50","60":"60","70":"70","80":"80","90":"90","100":"100"}
                                      

                                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                      SLang77S 1 Antwort Letzte Antwort
                                      0
                                      • M MCU

                                        @slang77 Hier mal ein Programm, mit dem man es machen könnte:

                                        // ***************************
                                        // ShutterPosition v1.0.0
                                        // Copyright MCU
                                        // ***************************
                                        
                                        let shutterDP = '0_userdata.0.jarvis.shutter';
                                        let shutterArrayDP = shutterDP + '.shutterArray';
                                        let shutterArrayTimeDP = shutterDP + '.shutterTimeArray'; //[{"time":"07:28","direction":"Westen","position":50}]
                                        let shutterPositionDP = shutterDP + '.position';
                                        let shutterDirectionDP = shutterDP + '.direction';
                                        
                                        createStateAsync(shutterArrayDP, {read: true, write: true, name: 'Array der Jalousien / Rollos' , type: "string", role: "", def: JSON.stringify([]) });
                                        createStateAsync(shutterArrayTimeDP, {read: true, write: true, name: 'Zeit-Array der Jalousien / Rollos' , type: "string", role: "", def: JSON.stringify([]) });
                                        createStateAsync(shutterDirectionDP, {read: true, write: true, name: 'Himmelsrichtung (Norden,Westen,Osten,Süden,All)' , type: "string", role: "", def: "All",
                                                                        states:{"All":"All","Norden":"Norden","Westen":"Westen","Osten":"Osten","Süden":"Süden"}  });
                                        createStateAsync(shutterPositionDP, {read: true, write: true, name: 'Position die angefahren werden soll' , type: "number", role: "", def: 0 });
                                        
                                        // Shelly automatisch einlesen in Array?
                                        //[{"direction":"Westen","id":"shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position"}]
                                        
                                        schedule("*/2 * * * *", function () { //Alle 2 Minuten prüfen 
                                            // shutterArrTime prüfen, ob etwas gemacht werden soll
                                            let shutterTimeArr = getState(shutterArrayTimeDP).val;
                                            shutterTimeArr = JSON.parse(shutterTimeArr);
                                            let nowTime = formatDate(new Date().getTime(),'hh:mm');
                                            // log(nowTime);
                                            for (let x=0;x<shutterTimeArr.length;x++){
                                                if (shutterTimeArr[x].time == nowTime){
                                                    let shutterArray = getState(shutterArrayDP).val;
                                                    shutterArray = JSON.parse(shutterArray);
                                                    // log(shutterArray);
                                                    for (let i=0;i<shutterArray.length;i++){
                                                        if (shutterTimeArr[x].direction != undefined || shutterTimeArr[x].direction != null ){
                                                            if (shutterTimeArr[x].direction == shutterArray[i].direction || shutterTimeArr[x].direction == 'All'){
                                                                log(shutterArray[i].id +' wird gesetzt auf '+ shutterTimeArr[x].position);
                                                                setStateAsync(shutterArray[i].id,shutterTimeArr[x].position,false);
                                                            }
                                                        }else{
                                                            if (shutterTimeArr[x].id != undefined || shutterTimeArr[x].id != null){
                                                                if (shutterTimeArr[x].id == shutterArray[i].id){
                                                                    log(shutterArray[i].id + ' wird gesetzt auf ' + shutterTimeArr[x].position);
                                                                    setStateAsync(shutterArray[i].id,shutterTimeArr[x].position,false);
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        });
                                        
                                        
                                        on({id: shutterPositionDP, change: "any"}, function (obj) {
                                            let value = obj.state.val;
                                            let direction = getState(shutterDirectionDP).val;
                                            let shutterArray = getState(shutterArrayDP).val;
                                            shutterArray = JSON.parse(shutterArray);
                                            log(shutterArray);
                                            for (let i=0;i<shutterArray.length;i++){
                                                if (direction == shutterArray[i].direction || direction == 'All'){
                                                    log(shutterArray[i].id +' wird gesetzt auf '+ value);
                                                    setStateAsync(shutterArray[i].id,value,false);
                                                }
                                            }
                                        });
                                        

                                        8b48fc21-3efa-4793-980e-215753a6e3e1-image.png

                                        shutterArray hat den Aufbau:
                                        Mögliche direction: Norden, Westen, Osten, Süden

                                        [{"direction":"Westen","id":"shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position"},{"direction":"Osten","id":"shelly.0.SHSW-25#40F5202D26F0#1.Shutter.Position"}]
                                        

                                        shutterTimeArray hat den Aufbau:
                                        entweder id oder direction

                                        [{"time":"11:08","id":"shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position","position":80}, {"time":"11:10","direction":"Westen","position":70}]
                                        

                                        Zeit momentan im 2 Minuten Abstand

                                        Die Datenpunkte direction und position legt man dann in jarvis an. Dort kann man dann die Direction auswählen (DropDown) und die Position angeben (Mit LevelBody oder als DropDown)
                                        direction-DropDown:

                                        {"All":"Alle Rollos","Norden":"Nord","Westen":"West","Osten":"Ost","Süden":"Süd"}
                                        

                                        position-DropDown:

                                        {"10":"10","20":"20","30":"30","40":"40","50":"50","60":"60","70":"70","80":"80","90":"90","100":"100"}
                                        
                                        SLang77S Offline
                                        SLang77S Offline
                                        SLang77
                                        schrieb am zuletzt editiert von
                                        #23

                                        @mcu

                                        Hi, Vielen vielen Dank schonmal. Das war bestimmt viel Arbeit!
                                        Ich habe aber tatsächlich absolut keine Ahnung was ich machen muss...

                                        Das JavaScript ShutterPosition 1.0.0 habe ich kopiert und als shutterPosition_mcu.js gespeichert. Muss das jetzt importiert werden?

                                        Die anderen JSs (shutterArray) und shutterTimeArray... keine Ahnung? Importieren?

                                        In ShutterArray steht jetzt das Rollo Schlafzimmer für Westen drin. Dieses ist aber im Süden. Muss ich das Script erweitern, um die fehlenden Rollos? Was passiert wenn mehrere Rollos in einer direction liegen?

                                        Also praktisch so:

                                        Süd:
                                        Schlafzimmer:
                                        shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position
                                        Wohnzimmer
                                        shelly.0.SHSW-25#40F5202D4C66#1.Shutter.Position

                                        West:
                                        OG
                                        shelly.0.SHSW-25#483FDA76428D#1.Shutter.Position
                                        Esszimmer links
                                        shelly.0.SHSW-25#40F52020E5EB#1.Shutter.Position
                                        Esszimmer rechts
                                        shelly.0.SHSW-25#40F52027A30A#1.Shutter.Position

                                        Ost:
                                        Büro
                                        shelly.0.SHSW-25#40F5202D26F0#1.Shutter.Position
                                        Bad
                                        shelly.0.SHSW-25#40F520266FB2#1.Shutter.Position
                                        HWR
                                        shelly.0.SHSW-25#40F52020F1A7#1.Shutter.Position

                                        Im Bereich Objekte in ioBroker müssen dann in Jarvis die Datenpunkte position und direction erstellt werden?

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • SLang77S SLang77

                                          @mcu

                                          Hi, Vielen vielen Dank schonmal. Das war bestimmt viel Arbeit!
                                          Ich habe aber tatsächlich absolut keine Ahnung was ich machen muss...

                                          Das JavaScript ShutterPosition 1.0.0 habe ich kopiert und als shutterPosition_mcu.js gespeichert. Muss das jetzt importiert werden?

                                          Die anderen JSs (shutterArray) und shutterTimeArray... keine Ahnung? Importieren?

                                          In ShutterArray steht jetzt das Rollo Schlafzimmer für Westen drin. Dieses ist aber im Süden. Muss ich das Script erweitern, um die fehlenden Rollos? Was passiert wenn mehrere Rollos in einer direction liegen?

                                          Also praktisch so:

                                          Süd:
                                          Schlafzimmer:
                                          shelly.0.SHSW-25#483FDA8275E7#1.Shutter.Position
                                          Wohnzimmer
                                          shelly.0.SHSW-25#40F5202D4C66#1.Shutter.Position

                                          West:
                                          OG
                                          shelly.0.SHSW-25#483FDA76428D#1.Shutter.Position
                                          Esszimmer links
                                          shelly.0.SHSW-25#40F52020E5EB#1.Shutter.Position
                                          Esszimmer rechts
                                          shelly.0.SHSW-25#40F52027A30A#1.Shutter.Position

                                          Ost:
                                          Büro
                                          shelly.0.SHSW-25#40F5202D26F0#1.Shutter.Position
                                          Bad
                                          shelly.0.SHSW-25#40F520266FB2#1.Shutter.Position
                                          HWR
                                          shelly.0.SHSW-25#40F52020F1A7#1.Shutter.Position

                                          Im Bereich Objekte in ioBroker müssen dann in Jarvis die Datenpunkte position und direction erstellt werden?

                                          M Online
                                          M Online
                                          MCU
                                          schrieb am zuletzt editiert von
                                          #24

                                          @slang77 Bin gerade unterwegs. Melde mich später.

                                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                          M 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          537

                                          Online

                                          32.7k

                                          Benutzer

                                          82.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          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