Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Einem Objekt zugeordneten Raum identifizieren?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Einem Objekt zugeordneten Raum identifizieren?

    This topic has been deleted. Only users with topic management privileges can see it.
    • w00dst0ck
      w00dst0ck last edited by

      Wenn ich ein Objekt überwache, kann ich im weiteren Verlauf auf diverse Parameter vom Objekt (siehe Screenshot) zugreifen.

      Weiß jemand, wie ich in Blockly den zugeordneten Raum eines Objekts auslesen kann?

      2a31385a-b3ec-4a69-b51c-87424b90ba1a-image.png

      D paul53 2 Replies Last reply Reply Quote 0
      • D
        Diggewuff @w00dst0ck last edited by

        @w00dst0ck
        Das versuche ich auch grade herauszufinden. Hast du es hinbekommen?

        1 Reply Last reply Reply Quote 0
        • C
          CruziX last edited by CruziX

          Ich glaube nicht, dass es an dieser Stelle so einfach ist. Es gibt einige Werte die in den Datenpunkt selber gespeichert werden und auf die zugegriffen werden kann, z.B. Der Name, die Geräte ID, der Wert etc.
          Die Aufzählungen (Räume und Funktionen) wiederum werden nicht im Datenpunkt abgelegt, sondern sind selbst Datenpunkte mit dem Präfix enums. oder enum. (bin mir gerade nicht sicher) dann die Funktion (.rooms, oder .functions) und dann der Name (z.B. .Wohnzimmer).
          In diesen Datenpunkten ist dann eine Liste der zugehörigen Datenpunkte.

          Hast du also einen Datenpunkt alias.0.Licht.Wohnzimmerlicht.An und der ist dem Raum Wohnzimmer zugeordnet, dann hat der Datenpunkt enums.rooms.Wohnzimmer in seiner Liste den Datenpunk alias.0.Licht.Wohnzimmerlicht.An stehen.
          Theroretisch müsstest du also alle Aufzählungslisten durchlaufen und nach deiner ID suchen um zu wissen in welchem Raum dieser ist.
          Der kann ja auch in mehreren Räumen sein.

          Kannst halt eine JS Function im Blockly einbinden welche die Datenpunkt ID annimmt und dann nach den zugeordneten Listen schaut und diese zurückgibt

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @w00dst0ck last edited by paul53

            @w00dst0ck sagte :

            wie ich in Blockly den zugeordneten Raum eines Objekts auslesen kann?

            Das geht nur mit einer Javascript-Funktion mit Ergebnis:

            let room = getObject(id, 'rooms').enumNames[0];
            if(typeof room == 'object') return room.de;
            return room;
            

            Getestet mit diesem Blockly:

            Blockly_temp.JPG

            C D w00dst0ck 3 Replies Last reply Reply Quote 1
            • C
              CruziX @paul53 last edited by

              @paul53 Oh, sehr cool, wusste gar nicht, dass sowas auch direkt mit getObject geht

              1 Reply Last reply Reply Quote 0
              • D
                Diggewuff @paul53 last edited by

                @paul53
                Für die JS Anfänger unter uns, kannst du kurz erklären was die zweite Zeile deiner Funktion macht?

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Diggewuff last edited by paul53

                  @Diggewuff sagte:

                  was die zweite Zeile deiner Funktion macht?

                  Der Raum-Name kann in einer Sprache vorliegen (als String), aber auch mehrsprachig als Objekt mit den Eigenschaften en, de, ru, ...

                      "name": {
                        "en": "Kitchen",
                        "de": "Küche",
                        "ru": "Кухня",
                        "pt": "Cozinha",
                        "nl": "Keuken",
                        "fr": "Cuisine",
                        "it": "Cucina",
                        "es": "Cocina",
                        "pl": "Kuchnia",
                        "zh-cn": "厨房"
                      },
                  
                  1 Reply Last reply Reply Quote 0
                  • w00dst0ck
                    w00dst0ck @paul53 last edited by w00dst0ck

                    @paul53 Besten Dank!

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    869
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    blockly
                    4
                    8
                    1424
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo