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. Blockly
  5. Rolle eines Objektes auslesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

Rolle eines Objektes auslesen

Geplant Angeheftet Gesperrt Verschoben Blockly
55 Beiträge 4 Kommentatoren 4.2k Aufrufe 1 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.
  • J JoergH

    @mickym sagte in Rolle eines Objektes auslesen:

    Was willst Du mehr. Und warum Du die neuen Puzzleteile nicht verwenden kannst, habe ich Dir eigentlich auch mehrfach erklärt.
    Du kannst auch functions oder rooms eingeben - das ist alles in dem Screenshot:

    Die States kann ich damit auslesen, aber leider sind die Räume und Funktionen bei den Channels angehängt. Ich bekomme keine Ergebnisse, wenn ich die [EDIT] functions der States abfrage, da dort nichts hinterlegt ist. Wie bekomme ich denn die functions der channel bspw.?

    6e2ad176-3a52-4d70-ac85-4a1984d202d8-grafik.png

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

    @joergh sagte: keine Ergebnisse, wenn ich die States abfrage

    Wie fragst du sie ab?

    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

    J 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @joergh sagte: keine Ergebnisse, wenn ich die States abfrage

      Wie fragst du sie ab?

      J Offline
      J Offline
      JoergH
      schrieb am zuletzt editiert von JoergH
      #31

      @paul53 Habe da alles Mögliche probiert, weiss aber nicht wie...mit [channel.id=hm-rpc.1..1.] geht es jedenfalls nicht...

      [EDIT]

      Ich meinte nicht die States, sondern die functions der states....sorry!

      paul53P 1 Antwort Letzte Antwort
      0
      • J JoergH

        @paul53 Habe da alles Mögliche probiert, weiss aber nicht wie...mit [channel.id=hm-rpc.1..1.] geht es jedenfalls nicht...

        [EDIT]

        Ich meinte nicht die States, sondern die functions der states....sorry!

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

        @joergh sagte: mit [channel.id=hm-rpc.1..1.] geht es jedenfalls nicht...

        Du möchtest das Gewerk im Selektor verwenden? Wie ist die Schreibweise in der Enum-ID? Denn diese ist entscheidend für

        $('hm-rpc.1.*.STATE(functions=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

        J 1 Antwort Letzte Antwort
        1
        • paul53P paul53

          @joergh sagte: mit [channel.id=hm-rpc.1..1.] geht es jedenfalls nicht...

          Du möchtest das Gewerk im Selektor verwenden? Wie ist die Schreibweise in der Enum-ID? Denn diese ist entscheidend für

          $('hm-rpc.1.*.STATE(functions=gewerk)')
          
          J Offline
          J Offline
          JoergH
          schrieb am zuletzt editiert von
          #33

          @paul53 Danke Dir! Jetzt hab ich es hinbekommen!

          paul53P 1 Antwort Letzte Antwort
          0
          • J JoergH

            @paul53 Danke Dir! Jetzt hab ich es hinbekommen!

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

            @joergh sagte: Jetzt hab ich es hinbekommen!

            Möchtest du dann den zugehörigen Raum abfragen, wird eine JS-Funktion mit Ergebnis benötigt.

            id = id.substring(0, id.lastIndexOf('.')); // parentID (Kanal)
            if(existsObject(id)) {
                let room = getObject(id, 'rooms').enumNames[0];
                if(typeof room == 'object') room = room.de;
                return room;
            }
            

            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

            J 2 Antworten Letzte Antwort
            0
            • paul53P paul53

              @joergh sagte: Jetzt hab ich es hinbekommen!

              Möchtest du dann den zugehörigen Raum abfragen, wird eine JS-Funktion mit Ergebnis benötigt.

              id = id.substring(0, id.lastIndexOf('.')); // parentID (Kanal)
              if(existsObject(id)) {
                  let room = getObject(id, 'rooms').enumNames[0];
                  if(typeof room == 'object') room = room.de;
                  return room;
              }
              

              Blockly_temp.JPG

              J Offline
              J Offline
              JoergH
              schrieb am zuletzt editiert von
              #35

              @paul53 Ok. Schade, dass das nicht auch wie mit functions funktioniert. Danke für den Code!

              paul53P 1 Antwort Letzte Antwort
              0
              • J JoergH

                @paul53 Ok. Schade, dass das nicht auch wie mit functions funktioniert. Danke für den Code!

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

                @joergh sagte: Schade, dass das nicht auch wie mit functions funktioniert.

                Die Selektion funktioniert auch mit (rooms=raum). Aber du willst ja nicht nach Räumen selektieren, sondern bei offenem Fenster den zugehörigen Raumnamen, der dem Kanal (parentObject) zugewiesen ist, ausgeben.

                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

                J 2 Antworten Letzte Antwort
                0
                • paul53P paul53

                  @joergh sagte: Schade, dass das nicht auch wie mit functions funktioniert.

                  Die Selektion funktioniert auch mit (rooms=raum). Aber du willst ja nicht nach Räumen selektieren, sondern bei offenem Fenster den zugehörigen Raumnamen, der dem Kanal (parentObject) zugewiesen ist, ausgeben.

                  J Offline
                  J Offline
                  JoergH
                  schrieb am zuletzt editiert von
                  #37

                  @paul53 sagte in Rolle eines Objektes auslesen:

                  @joergh sagte: Schade, dass das nicht auch wie mit functions funktioniert.

                  Die Selektion funktioniert auch mit (rooms=raum). Aber du willst ja nicht nach Räumen selektieren, sondern bei offenem Fenster den zugehörigen Raumnamen, der dem Kanal (parentObject) zugewiesen ist, ausgeben.

                  Genau.

                  1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @joergh sagte: Schade, dass das nicht auch wie mit functions funktioniert.

                    Die Selektion funktioniert auch mit (rooms=raum). Aber du willst ja nicht nach Räumen selektieren, sondern bei offenem Fenster den zugehörigen Raumnamen, der dem Kanal (parentObject) zugewiesen ist, ausgeben.

                    J Offline
                    J Offline
                    JoergH
                    schrieb am zuletzt editiert von
                    #38

                    @paul53
                    Warum wirft er mir hier eine Fehlermeldung "TypeError: Fensterliste_neu.push is not a function" beim Eintragen des Elements als letzten Eintrag in die Liste?

                    Screenshot 2024-11-16 173945.png

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • J JoergH

                      @paul53
                      Warum wirft er mir hier eine Fehlermeldung "TypeError: Fensterliste_neu.push is not a function" beim Eintragen des Elements als letzten Eintrag in die Liste?

                      Screenshot 2024-11-16 173945.png

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

                      @joergh sagte: Eintragen des Elements als letzten Eintrag in die Liste?

                      Ist Fensterliste_neu als leere Liste initialisiert worden?
                      Das sieht recht unstrukturiert aus (z.B. Element enthält eine Datenpunkt-ID).
                      Was möchtest du erreichen?

                      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

                      J 2 Antworten Letzte Antwort
                      0
                      • paul53P paul53

                        @joergh sagte: Eintragen des Elements als letzten Eintrag in die Liste?

                        Ist Fensterliste_neu als leere Liste initialisiert worden?
                        Das sieht recht unstrukturiert aus (z.B. Element enthält eine Datenpunkt-ID).
                        Was möchtest du erreichen?

                        J Offline
                        J Offline
                        JoergH
                        schrieb am zuletzt editiert von JoergH
                        #40

                        @paul53 sagte in Rolle eines Objektes auslesen:

                        @joergh sagte: Eintragen des Elements als letzten Eintrag in die Liste?

                        Ist Fensterliste_neu als leere Liste initialisiert worden?
                        Das sieht recht unstrukturiert aus (z.B. Element enthält eine Datenpunkt-ID).
                        Was möchtest du erreichen?

                        Das ist genau so beabsichtigt. Ich will die IDs in einer Liste abspeichern.
                        Es gibt eine alte Liste und die wird mit der neuen Liste verglichen. Sollten neue IDs aufgetaucht sein, die als "Fenster" deklariert sind, so werden diese zu der alten Liste hinzugefügt und in der "Fensterliste_neu" gespeichert.

                        Anbei der obere Teil

                        5bd5f41a-0c80-4d07-8c7b-a83939b756c5-grafik.png

                        P.S.: In dieser Version ohne initiales Element in der alten Liste wirft er auch noch einen length Fehler aus, aber das ist nicht der Punkt. Ich kann da auch einen sinnlosen Init-Wert einfügen.

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @joergh sagte: Eintragen des Elements als letzten Eintrag in die Liste?

                          Ist Fensterliste_neu als leere Liste initialisiert worden?
                          Das sieht recht unstrukturiert aus (z.B. Element enthält eine Datenpunkt-ID).
                          Was möchtest du erreichen?

                          J Offline
                          J Offline
                          JoergH
                          schrieb am zuletzt editiert von
                          #41

                          @paul53 sagte in Rolle eines Objektes auslesen:

                          @joergh sagte: Eintragen des Elements als letzten Eintrag in die Liste?

                          Ist Fensterliste_neu als leere Liste initialisiert worden?
                          Das sieht recht unstrukturiert aus (z.B. Element enthält eine Datenpunkt-ID).
                          Was möchtest du erreichen?

                          Hat sich erledigt. Auf einmal geht es...

                          1 Antwort Letzte Antwort
                          0
                          • J JoergH

                            @paul53 sagte in Rolle eines Objektes auslesen:

                            @joergh sagte: Eintragen des Elements als letzten Eintrag in die Liste?

                            Ist Fensterliste_neu als leere Liste initialisiert worden?
                            Das sieht recht unstrukturiert aus (z.B. Element enthält eine Datenpunkt-ID).
                            Was möchtest du erreichen?

                            Das ist genau so beabsichtigt. Ich will die IDs in einer Liste abspeichern.
                            Es gibt eine alte Liste und die wird mit der neuen Liste verglichen. Sollten neue IDs aufgetaucht sein, die als "Fenster" deklariert sind, so werden diese zu der alten Liste hinzugefügt und in der "Fensterliste_neu" gespeichert.

                            Anbei der obere Teil

                            5bd5f41a-0c80-4d07-8c7b-a83939b756c5-grafik.png

                            P.S.: In dieser Version ohne initiales Element in der alten Liste wirft er auch noch einen length Fehler aus, aber das ist nicht der Punkt. Ich kann da auch einen sinnlosen Init-Wert einfügen.

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

                            @joergh sagte: Sollten neue IDs aufgetaucht sein, die als "Fenster" deklariert sind, so werden diese zu der alten Liste hinzugefügt und in der "Fensterliste_neu" gespeichert.

                            Wozu soll das gut sein? Bei Skriptstart werden alle Fenster erfasst - auch neue.

                            Vorschlag zur Erfassung offener Fenster und deren Räume:

                            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

                            J 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @joergh sagte: Sollten neue IDs aufgetaucht sein, die als "Fenster" deklariert sind, so werden diese zu der alten Liste hinzugefügt und in der "Fensterliste_neu" gespeichert.

                              Wozu soll das gut sein? Bei Skriptstart werden alle Fenster erfasst - auch neue.

                              Vorschlag zur Erfassung offener Fenster und deren Räume:

                              Blockly_temp.JPG

                              J Offline
                              J Offline
                              JoergH
                              schrieb am zuletzt editiert von
                              #43

                              @paul53 Das ist der Anfang einer Logik und nicht das Ende. Erstmal muss das funktionieren und das tut es jetzt auch. Ich will die Liste der IDs speichern und wenn ein neuer Sensor dazu kommt, dann soll er den mit aufnehmen. So verhindere ich, dass wenn die Funktionen mal wieder verschwinden er nicht mehr weiß was ein Fenstersensor ist. Das fällt mir nämlich immer erst dann auf, wenn ich irgendwann keine Ansage mehr bekomme welches Fenster gerade offen ist. Dazu speichere ich mir die Räume und nutze das anstatt der direkt ausgelesenen Werte, die immer wieder mal weg sind.

                              Danke ansonsten für die Hilfe.

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @joergh sagte: Jetzt hab ich es hinbekommen!

                                Möchtest du dann den zugehörigen Raum abfragen, wird eine JS-Funktion mit Ergebnis benötigt.

                                id = id.substring(0, id.lastIndexOf('.')); // parentID (Kanal)
                                if(existsObject(id)) {
                                    let room = getObject(id, 'rooms').enumNames[0];
                                    if(typeof room == 'object') room = room.de;
                                    return room;
                                }
                                

                                Blockly_temp.JPG

                                J Offline
                                J Offline
                                JoergH
                                schrieb am zuletzt editiert von
                                #44

                                @paul53 sagte in Rolle eines Objektes auslesen:

                                @joergh sagte: Jetzt hab ich es hinbekommen!

                                Möchtest du dann den zugehörigen Raum abfragen, wird eine JS-Funktion mit Ergebnis benötigt.

                                id = id.substring(0, id.lastIndexOf('.')); // parentID (Kanal)
                                if(existsObject(id)) {
                                    let room = getObject(id, 'rooms').enumNames[0];
                                    if(typeof room == 'object') room = room.de;
                                    return room;
                                }
                                

                                Blockly_temp.JPG

                                Welches Format muss denn die id haben?
                                Wenn ich ihm die DP-ID gebe, findet er nichts...

                                c5219416-af69-48fa-ba8f-3c9533eae559-grafik.png

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • J JoergH

                                  @paul53 Das ist der Anfang einer Logik und nicht das Ende. Erstmal muss das funktionieren und das tut es jetzt auch. Ich will die Liste der IDs speichern und wenn ein neuer Sensor dazu kommt, dann soll er den mit aufnehmen. So verhindere ich, dass wenn die Funktionen mal wieder verschwinden er nicht mehr weiß was ein Fenstersensor ist. Das fällt mir nämlich immer erst dann auf, wenn ich irgendwann keine Ansage mehr bekomme welches Fenster gerade offen ist. Dazu speichere ich mir die Räume und nutze das anstatt der direkt ausgelesenen Werte, die immer wieder mal weg sind.

                                  Danke ansonsten für die Hilfe.

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

                                  @joergh sagte: wenn ein neuer Sensor dazu kommt

                                  Dann müssen "hm-rpc.1" und "hm-rega.0" neu gestartet werden und anschließend die Javascript-Instanz. Und alles ist gut.

                                  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

                                  J 1 Antwort Letzte Antwort
                                  0
                                  • J JoergH

                                    @paul53 sagte in Rolle eines Objektes auslesen:

                                    @joergh sagte: Jetzt hab ich es hinbekommen!

                                    Möchtest du dann den zugehörigen Raum abfragen, wird eine JS-Funktion mit Ergebnis benötigt.

                                    id = id.substring(0, id.lastIndexOf('.')); // parentID (Kanal)
                                    if(existsObject(id)) {
                                        let room = getObject(id, 'rooms').enumNames[0];
                                        if(typeof room == 'object') room = room.de;
                                        return room;
                                    }
                                    

                                    Blockly_temp.JPG

                                    Welches Format muss denn die id haben?
                                    Wenn ich ihm die DP-ID gebe, findet er nichts...

                                    c5219416-af69-48fa-ba8f-3c9533eae559-grafik.png

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

                                    @joergh sagte in Rolle eines Objektes auslesen:

                                    Wenn ich ihm die DP-ID gebe, findet er nichts...

                                    Bei mir funktioniert es.

                                    hm-rpc_Wohnzimmer.JPG

                                    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

                                    J 2 Antworten Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @joergh sagte: wenn ein neuer Sensor dazu kommt

                                      Dann müssen "hm-rpc.1" und "hm-rega.0" neu gestartet werden und anschließend die Javascript-Instanz. Und alles ist gut.

                                      J Offline
                                      J Offline
                                      JoergH
                                      schrieb am zuletzt editiert von JoergH
                                      #47

                                      Disregard

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @joergh sagte in Rolle eines Objektes auslesen:

                                        Wenn ich ihm die DP-ID gebe, findet er nichts...

                                        Bei mir funktioniert es.

                                        hm-rpc_Wohnzimmer.JPG

                                        Blockly_temp.JPG

                                        J Offline
                                        J Offline
                                        JoergH
                                        schrieb am zuletzt editiert von
                                        #48

                                        @paul53 Danke, man muss das Skript auch starten und nicht nur speichern, dann geht's :face_palm:

                                        1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @joergh sagte in Rolle eines Objektes auslesen:

                                          Wenn ich ihm die DP-ID gebe, findet er nichts...

                                          Bei mir funktioniert es.

                                          hm-rpc_Wohnzimmer.JPG

                                          Blockly_temp.JPG

                                          J Offline
                                          J Offline
                                          JoergH
                                          schrieb am zuletzt editiert von
                                          #49

                                          @paul53 Wenn ich in einem Skript Trigger starte, das Skript selbst dann stoppe oder neustarte, werden dann die erzeugten Trigger auch gestoppt?

                                          paul53P 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

                                          617

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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