Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Rolle eines Objektes auslesen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    12
    1
    124

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

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

Rolle eines Objektes auslesen

Scheduled Pinned Locked Moved Blockly
55 Posts 4 Posters 4.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by
    #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 Reply Last reply
    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
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by
        #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 Reply Last reply
        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
          wrote on last edited by 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 Replies Last reply
          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
            wrote on last edited by JoergH
            #47

            Disregard

            1 Reply Last reply
            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
              wrote on last edited by
              #48

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

              1 Reply Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                0
                • J JoergH

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

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #50

                  @joergh sagte: Skript selbst dann stoppe oder neustarte, werden dann die erzeugten Trigger auch gestoppt?

                  Bei Skriptstop werden die Trigger im Skript gelöscht und bei Skriptstart neu erzeugt.

                  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 Reply Last reply
                  0
                  • paul53P paul53

                    @joergh sagte: Skript selbst dann stoppe oder neustarte, werden dann die erzeugten Trigger auch gestoppt?

                    Bei Skriptstop werden die Trigger im Skript gelöscht und bei Skriptstart neu erzeugt.

                    J Offline
                    J Offline
                    JoergH
                    wrote on last edited by
                    #51

                    @paul53 Ich meine die, die ich nicht vorher fest programmiert habe, sondern die ich durch das Programm anlegen lasse, z.B. durch Aufruf einer Funktion, in die ich das packe...?

                    fb9430f9-ea68-4c49-9631-2ab59d4ad198-grafik.png

                    Werden die auch mit gestoppt?

                    paul53P 1 Reply Last reply
                    0
                    • J JoergH

                      @paul53 Ich meine die, die ich nicht vorher fest programmiert habe, sondern die ich durch das Programm anlegen lasse, z.B. durch Aufruf einer Funktion, in die ich das packe...?

                      fb9430f9-ea68-4c49-9631-2ab59d4ad198-grafik.png

                      Werden die auch mit gestoppt?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #52

                      @joergh sagte: Werden die auch mit gestoppt?

                      Gestoppt werden alle Trigger.
                      Wenn ein Trigger innerhalb einer Funktion erzeugt wird (weshalb eigentlich?), muss die Funktion bei Skriptstart aufgerufen werden, um dann den Trigger zu erzeugen.

                      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 Reply Last reply
                      0
                      • J Offline
                        J Offline
                        JoergH
                        wrote on last edited by
                        #53

                        @paul53
                        Danke erneut für die Auskunft.

                        Weitere Frage: Bisher ist es, soweit ich weiß, nicht möglich mehrere Cronjobs mit variablen Namen automatisiert zu starten und zu beenden, korrekt?

                        Die Idee ist, wenn ein Fenster geöffnet wird, für jedes, einen dazugehörigen Cronjob mit einer regelmäßigen Aktion zu starten, also z.B. nach X Minuten eine Erinnerung zu senden.
                        Da ich in den Blockly Bausteinen wie z.B. "Intervall" oder Cronjob nur fixe Namen vergeben kann und keine variablen, würde beim zweiten Fenster ein Intervall mit dem gleichen Namen gestartet, was dazu führt, dass man sie nicht mehr korrekt beenden kann oder gibt es hier inzwischen andere Möglichkeiten?

                        paul53P 1 Reply Last reply
                        0
                        • J JoergH

                          @paul53
                          Danke erneut für die Auskunft.

                          Weitere Frage: Bisher ist es, soweit ich weiß, nicht möglich mehrere Cronjobs mit variablen Namen automatisiert zu starten und zu beenden, korrekt?

                          Die Idee ist, wenn ein Fenster geöffnet wird, für jedes, einen dazugehörigen Cronjob mit einer regelmäßigen Aktion zu starten, also z.B. nach X Minuten eine Erinnerung zu senden.
                          Da ich in den Blockly Bausteinen wie z.B. "Intervall" oder Cronjob nur fixe Namen vergeben kann und keine variablen, würde beim zweiten Fenster ein Intervall mit dem gleichen Namen gestartet, was dazu führt, dass man sie nicht mehr korrekt beenden kann oder gibt es hier inzwischen andere Möglichkeiten?

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #54

                          @joergh sagte: "Intervall" oder Cronjob nur fixe Namen vergeben kann

                          Ja, das ist eine Einschränkung von Blockly. In Javascript kann man ein Array für die Timer-Variablen verwenden.

                          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 Reply Last reply
                          0
                          • paul53P paul53

                            @joergh sagte: "Intervall" oder Cronjob nur fixe Namen vergeben kann

                            Ja, das ist eine Einschränkung von Blockly. In Javascript kann man ein Array für die Timer-Variablen verwenden.

                            J Offline
                            J Offline
                            JoergH
                            wrote on last edited by
                            #55

                            @paul53

                            Dachte ich mir...dann muss ich mich da wohl mal dran versuchen. Wenn ich von Blockly aus den Namen übergeben könnte beim starten und beenden, würde das ja auch reichen...morgen geht's weiter...

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            582

                            Online

                            32.7k

                            Users

                            82.4k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe