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. Skripten / Logik
  4. Selector mit variabler Raumbezeichnung

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Selector mit variabler Raumbezeichnung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
22 Beiträge 4 Kommentatoren 2.0k Aufrufe 2 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.
  • H HobbyBastler

    @bahnuhr ich habe das Script jetzt noch mal deutlicher angepasst. Es sieht jetzt so aus

    SelektorUeberAlleRaeume = Array.prototype.slice.apply($('channel[state.id=*.STATE](rooms=\' + TESTRAUM + \')'));
    

    und funktioniert immer noch nicht. Du müsstest mir allerdings mal erklären wofür das ".STATE" steht, ich ging immer davon aus, dass es ein Platzhalter für den tatsächlichen State ist. Aber wenn ich es für dich anpassen sollte, scheint es ja eine andere Funktion zu haben... Welche?
    Die "\" vor und nach der Variablen werden scheinbar automatisch erzeugt beim transkribieren von Blockly in Java. Die kann ich auch leider nicht entfernen... Aber schon plausibel, dass das dann letztlich die Probleme wären, oder?

    H Offline
    H Offline
    HobbyBastler
    schrieb am zuletzt editiert von HobbyBastler
    #7

    @hobbybastler JA, das war das Problem. Weiss zwar noch nicht, wie ich es löse, aber die "\" müssen aus dem Selektor raus! Danke für deine Unterstützung!!!!!

    1 Antwort Letzte Antwort
    0
    • H HobbyBastler

      @bahnuhr ich habe das Script jetzt noch mal deutlicher angepasst. Es sieht jetzt so aus

      SelektorUeberAlleRaeume = Array.prototype.slice.apply($('channel[state.id=*.STATE](rooms=\' + TESTRAUM + \')'));
      

      und funktioniert immer noch nicht. Du müsstest mir allerdings mal erklären wofür das ".STATE" steht, ich ging immer davon aus, dass es ein Platzhalter für den tatsächlichen State ist. Aber wenn ich es für dich anpassen sollte, scheint es ja eine andere Funktion zu haben... Welche?
      Die "\" vor und nach der Variablen werden scheinbar automatisch erzeugt beim transkribieren von Blockly in Java. Die kann ich auch leider nicht entfernen... Aber schon plausibel, dass das dann letztlich die Probleme wären, oder?

      bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #8

      @hobbybastler
      Was willst du denn machen ?
      Hab ich bisher nicht gelesen; oder überlesen.

      Erklärung:
      Mit dem Selektor kannst du DP ermitteln mit denen du dann weiterarbeiten kannst.

      *.STATE
      findet alle DP im DP das Wort STATE drin haben.
      Also alle DP die geschaltet werden können.
      Mit dem \ weiß ich nicht. Kann sein, dass Blockly das rein macht.

      Aber Blockly kann ich nicht.


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      H 1 Antwort Letzte Antwort
      0
      • bahnuhrB bahnuhr

        @hobbybastler
        Was willst du denn machen ?
        Hab ich bisher nicht gelesen; oder überlesen.

        Erklärung:
        Mit dem Selektor kannst du DP ermitteln mit denen du dann weiterarbeiten kannst.

        *.STATE
        findet alle DP im DP das Wort STATE drin haben.
        Also alle DP die geschaltet werden können.
        Mit dem \ weiß ich nicht. Kann sein, dass Blockly das rein macht.

        Aber Blockly kann ich nicht.

        H Offline
        H Offline
        HobbyBastler
        schrieb am zuletzt editiert von HobbyBastler
        #9

        @bahnuhr Der Plan ist folgender:
        ich möchte ein einzelnes Script erstellen, dass prüft, ob in einem Raum die Fenster offen und die Heizung eingeschaltet ist. Der Selektor soll also alle Fenster (functions) aufrufen die im Raum (z.B. Badezimmer) sind. Da ich nun aber nicht für jeden Raum ein eigenes Script erstellen will, soll der Raum dynamisch sein. Also eine Variable, genauso wie in dem Link, den ich anfangs beigefügt hab. Das hat irgendwann auch mal funktionier, aber schon seit einer Weile nicht mehr. Und wenn ich das Blockly(!) jetzt neu erstelle, kommen immer die "\" dazwischen, die das Ganze dann aushebeln. Wüsste also jetzt nur noch gerne, wie ich die weg bekomme... Aber das ist dann ein Blockly-Problem

        paul53P 1 Antwort Letzte Antwort
        0
        • H HobbyBastler

          @bahnuhr Der Plan ist folgender:
          ich möchte ein einzelnes Script erstellen, dass prüft, ob in einem Raum die Fenster offen und die Heizung eingeschaltet ist. Der Selektor soll also alle Fenster (functions) aufrufen die im Raum (z.B. Badezimmer) sind. Da ich nun aber nicht für jeden Raum ein eigenes Script erstellen will, soll der Raum dynamisch sein. Also eine Variable, genauso wie in dem Link, den ich anfangs beigefügt hab. Das hat irgendwann auch mal funktionier, aber schon seit einer Weile nicht mehr. Und wenn ich das Blockly(!) jetzt neu erstelle, kommen immer die "\" dazwischen, die das Ganze dann aushebeln. Wüsste also jetzt nur noch gerne, wie ich die weg bekomme... Aber das ist dann ein Blockly-Problem

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #10

          @hobbybastler sagte: Das hat irgendwann auch mal funktionier, aber schon seit einer Weile nicht mehr.

          Siehe hier.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • H HobbyBastler

            @bahnuhr Danke schon mal für die frühe Antwort :)
            Gut zu wissen, dass es in Java funktioniert. Aber wie "übersetze" ich das für mich in Blockly?
            Wenn ich mein Blockly-Idee in Java übersetze sieht es so aus:

            SelektorUeberAlleRaeume = Array.prototype.slice.apply($('state[id=*](rooms=\' + TESTRAUM + \')'));
            

            Dabei irritieren mich die "" vor und nach der Variable etwas, aber die werden wohl automatisch erzeugt...

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #11

            @hobbybastler sagte: Aber wie "übersetze" ich das für mich in Blockly?

            JS-Funktion mit Ergebnis. Beispiel:

            return $('*(rooms=' + room + ')').toArray();
            

            room ist der Funktionsparameter.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            H 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @hobbybastler sagte: Aber wie "übersetze" ich das für mich in Blockly?

              JS-Funktion mit Ergebnis. Beispiel:

              return $('*(rooms=' + room + ')').toArray();
              

              room ist der Funktionsparameter.

              H Offline
              H Offline
              HobbyBastler
              schrieb am zuletzt editiert von
              #12

              @paul53 DAS ist natürlich ne super Idee. Werd ich gleich mal testen!!!

              H 1 Antwort Letzte Antwort
              0
              • H HobbyBastler

                @paul53 DAS ist natürlich ne super Idee. Werd ich gleich mal testen!!!

                H Offline
                H Offline
                HobbyBastler
                schrieb am zuletzt editiert von HobbyBastler
                #13

                @paul53
                hat funktioniert. Und um die Objekt-ID auch noch variabel zu gestalten, habe ich den Code noch variiert zu

                return $('state[id=' + varState + '](rooms=' + room + ')').toArray();
                

                Damit wende ich das jetzt auf alle Geräte im Script an. HERZLICHEN DANK!!! und einen schönen Feiertag
                Für andere mit dem selben Problem: habe für Blockly nun folgende Funktion erstellt, mit der man flexibel die Objekte, Räume und Funktionen einstellen, wahlweise auch freilassen kann:
                653c4e3b-2275-4e46-8d7a-d2a1c1083c3e-image.png
                mit der JS-Funktion

                return $('state' + 
                    (Objekte ? '[id=' + Objekte + ']' : '') + 
                    (Raum ? '(rooms=' + Raum + ')' : '') + 
                    (Funktion ? '(functions=' + Funktion + ')' : '')
                ).toArray()
                
                T 1 Antwort Letzte Antwort
                0
                • H HobbyBastler

                  @paul53
                  hat funktioniert. Und um die Objekt-ID auch noch variabel zu gestalten, habe ich den Code noch variiert zu

                  return $('state[id=' + varState + '](rooms=' + room + ')').toArray();
                  

                  Damit wende ich das jetzt auf alle Geräte im Script an. HERZLICHEN DANK!!! und einen schönen Feiertag
                  Für andere mit dem selben Problem: habe für Blockly nun folgende Funktion erstellt, mit der man flexibel die Objekte, Räume und Funktionen einstellen, wahlweise auch freilassen kann:
                  653c4e3b-2275-4e46-8d7a-d2a1c1083c3e-image.png
                  mit der JS-Funktion

                  return $('state' + 
                      (Objekte ? '[id=' + Objekte + ']' : '') + 
                      (Raum ? '(rooms=' + Raum + ')' : '') + 
                      (Funktion ? '(functions=' + Funktion + ')' : '')
                  ).toArray()
                  
                  T Offline
                  T Offline
                  TobiB
                  schrieb am zuletzt editiert von
                  #14

                  @hobbybastler

                  Hallo zusammen,

                  ich bin gerade auf diesen Beitrag gestoßen und erhoffe mir, dass ich hier vielleicht den Denkanstoß für mein vorhaben bekomme.

                  Ich möchte in Blockly abbilden, dass wenn Windstärke x m/s erreicht hat, dass alle Rollos in Raum oder Räumen x hochgefahren werden dazu muss der wert 0 in "ID" Position eingetragen werden.

                  Wie weiße ich deiner Funktion die passenden Objekte und Raum zu?

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • T TobiB

                    @hobbybastler

                    Hallo zusammen,

                    ich bin gerade auf diesen Beitrag gestoßen und erhoffe mir, dass ich hier vielleicht den Denkanstoß für mein vorhaben bekomme.

                    Ich möchte in Blockly abbilden, dass wenn Windstärke x m/s erreicht hat, dass alle Rollos in Raum oder Räumen x hochgefahren werden dazu muss der wert 0 in "ID" Position eingetragen werden.

                    Wie weiße ich deiner Funktion die passenden Objekte und Raum zu?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #15

                    @tobib sagte: alle Rollos

                    Welche eindeutige Gemeinsamkeit haben die Rollos (in der ID und/oder im Gewerk)?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    T 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @tobib sagte: alle Rollos

                      Welche eindeutige Gemeinsamkeit haben die Rollos (in der ID und/oder im Gewerk)?

                      T Offline
                      T Offline
                      TobiB
                      schrieb am zuletzt editiert von
                      #16

                      @paul53

                      Ich würde alle Rollos jeweils natürlich einen Raum zuweisen und auch ein Geschoss sowie jedem Rollo die Funktion "Rolladen" damit sollten sie auffindbar sein. Ich bin leider noch relativ neu daher verzeih mir meine Unwissenheit.

                      Da ich noch nicht alle Rollos ausgestattet habe und nicht für jedes neue Rollo die Logik anpassen wollte klang das für mich nach einer dynamischen Lösung.

                      Wenn es eine einfachere Lösung gibt bin ich dafür auch offen.

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • T TobiB

                        @paul53

                        Ich würde alle Rollos jeweils natürlich einen Raum zuweisen und auch ein Geschoss sowie jedem Rollo die Funktion "Rolladen" damit sollten sie auffindbar sein. Ich bin leider noch relativ neu daher verzeih mir meine Unwissenheit.

                        Da ich noch nicht alle Rollos ausgestattet habe und nicht für jedes neue Rollo die Logik anpassen wollte klang das für mich nach einer dynamischen Lösung.

                        Wenn es eine einfachere Lösung gibt bin ich dafür auch offen.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #17

                        @tobib sagte: dynamischen Lösung.

                        Das könnte etwa so aussehen:

                        Blockly_temp.JPG

                        Die Schreibweise im Selektor muss wie in den IDs sein.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        T 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @tobib sagte: dynamischen Lösung.

                          Das könnte etwa so aussehen:

                          Blockly_temp.JPG

                          Die Schreibweise im Selektor muss wie in den IDs sein.

                          T Offline
                          T Offline
                          TobiB
                          schrieb am zuletzt editiert von TobiB
                          #18

                          @paul53

                          Ich habe das eben auch nachgebaut - Danke dafür.

                          Leider löst es noch nicht aus.

                          Hier ist z.B. das Rollo für mein Büro und der Funktion "Rolladen", welche in den Kategorien mit shutters hinterlegt is.

                          0e657295-c299-4573-b996-c53d373c62f7-image.png

                          Ich habe jetzt zum testen das Bad-Licht als Trigger genommen:

                          87bd36f0-947e-473e-84fe-94c2d3088c3b-image.png

                          *EDIT FEHLER GEFUNDEN.

                          Wie kann ich jetzt festlegen, dass ich z.B. nur die Rollos die dem Raum "Erdgeschoss" zugewiesen sind angesteuert werden?

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • T TobiB

                            @paul53

                            Ich habe das eben auch nachgebaut - Danke dafür.

                            Leider löst es noch nicht aus.

                            Hier ist z.B. das Rollo für mein Büro und der Funktion "Rolladen", welche in den Kategorien mit shutters hinterlegt is.

                            0e657295-c299-4573-b996-c53d373c62f7-image.png

                            Ich habe jetzt zum testen das Bad-Licht als Trigger genommen:

                            87bd36f0-947e-473e-84fe-94c2d3088c3b-image.png

                            *EDIT FEHLER GEFUNDEN.

                            Wie kann ich jetzt festlegen, dass ich z.B. nur die Rollos die dem Raum "Erdgeschoss" zugewiesen sind angesteuert werden?

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #19

                            @tobib sagte: nur die Rollos die dem Raum "Erdgeschoss" zugewiesen sind angesteuert werden?

                            Wenn es einen zugewiesenen Raum "enum.rooms.EG" gibt:

                            Blockly_temp.JPG

                            Wenn es alles gleiche Shellys für die Rollos sind, kann auf das Gewerk verzichtet werden:

                            Blockly_temp.JPG

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            T 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @tobib sagte: nur die Rollos die dem Raum "Erdgeschoss" zugewiesen sind angesteuert werden?

                              Wenn es einen zugewiesenen Raum "enum.rooms.EG" gibt:

                              Blockly_temp.JPG

                              Wenn es alles gleiche Shellys für die Rollos sind, kann auf das Gewerk verzichtet werden:

                              Blockly_temp.JPG

                              T Offline
                              T Offline
                              TobiB
                              schrieb am zuletzt editiert von
                              #20

                              @paul53

                              Wow. Danke!

                              Aktuell habe ich noch Shellys verbaut werde aber nach und nach auf HM ändern aber ich denke, dass die vermutlich auch "*Shutter.Position" als ID haben.

                              Wie kriege ich hier noch ein Raum A und Raum B hin oder Raum "Haus" außer Raum "Schlafzimmer" falls es mal einen Verwendungszeck dafür gibt?

                              ae70dd58-88e3-4ee1-a45d-cd0aafad17f9-image.png

                              paul53P 2 Antworten Letzte Antwort
                              0
                              • T TobiB

                                @paul53

                                Wow. Danke!

                                Aktuell habe ich noch Shellys verbaut werde aber nach und nach auf HM ändern aber ich denke, dass die vermutlich auch "*Shutter.Position" als ID haben.

                                Wie kriege ich hier noch ein Raum A und Raum B hin oder Raum "Haus" außer Raum "Schlafzimmer" falls es mal einen Verwendungszeck dafür gibt?

                                ae70dd58-88e3-4ee1-a45d-cd0aafad17f9-image.png

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #21

                                @tobib sagte: auf HM ändern aber ich denke, dass die vermutlich auch "*Shutter.Position" als ID haben.

                                Nein, die haben "*.LEVEL", wenn es sich um eine CCU handelt. Man sollte Alias verwenden, um es einheitlich machen zu könnnen

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                1
                                • T TobiB

                                  @paul53

                                  Wow. Danke!

                                  Aktuell habe ich noch Shellys verbaut werde aber nach und nach auf HM ändern aber ich denke, dass die vermutlich auch "*Shutter.Position" als ID haben.

                                  Wie kriege ich hier noch ein Raum A und Raum B hin oder Raum "Haus" außer Raum "Schlafzimmer" falls es mal einen Verwendungszeck dafür gibt?

                                  ae70dd58-88e3-4ee1-a45d-cd0aafad17f9-image.png

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von paul53
                                  #22

                                  @tobib sagte: Raum A und Raum B hin oder Raum "Haus" außer Raum "Schlafzimmer"

                                  Das geht mit dem Selektor nicht. Wenn aber die Alias-ID den Raum enthält, kann man leicht in der Schleife filtern.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  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

                                  686

                                  Online

                                  32.6k

                                  Benutzer

                                  82.2k

                                  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