Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. blockly eleganter machen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    blockly eleganter machen

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

      @Ahnungsbefreit

      ich finde dieses "GetObjectbyID" nicht.
      Die JS Funktion habe ich am Anfang des Blockly eingefügt.

      Bildschirmfoto 2021-01-04 um 13.23.45.png

      kannst mir noch ein schubs geben, Danke

      A 1 Reply Last reply Reply Quote 0
      • A
        Ahnungsbefreit @dos1973 last edited by Ahnungsbefreit

        @dos1973 Das ist eine selbst definierte JavaScript-Funktion wie oben beschrieben:

        6a64bf93-d834-4f91-a926-84152c259a5a-image.png

        Bei "etwas tun" kommt "GetObjectbyID" rein, dann auf das Zahnrad klicken und einen Parameter namens "id" definieren ("Variable x" nach rechts auf Parameter ziehen und "x" in "id" umbenennen). Dann auf "..." klicken und statt dem vorgegeben "return" folgenden Text einsetzen:

        return getObject(id);
        
        A 1 Reply Last reply Reply Quote 1
        • A
          Ahnungsbefreit @Ahnungsbefreit last edited by

          @dos1973 Die JavaScript Funktion selbst kann irgendwo im selben Script stehen

          D 1 Reply Last reply Reply Quote 0
          • D
            dos1973 @Ahnungsbefreit last edited by

            @Ahnungsbefreit
            ok hab's gefunden

            A 1 Reply Last reply Reply Quote 0
            • A
              Ahnungsbefreit @dos1973 last edited by

              @dos1973 @David-G berichtet mal bitte, ob das bei Euch so klappt, damit ich das ggf korrigieren kann. Und immer fleissig "upvoten" 🙂

              @dos1973 Und den Beitrag dann im Betreff um "[Gelöst]" ergänzen. Dazu deinen ursprünglichen ersten Beitrag ganz oben noch mal editieren...

              D 1 Reply Last reply Reply Quote 0
              • D
                dos1973 @Ahnungsbefreit last edited by dos1973

                @Ahnungsbefreit
                soweit bin ich noch lange nicht... bei mir läuft noch nix 😉
                ich hab stunden verbraucht und verstehe es einfach nicht... 😞

                A 1 Reply Last reply Reply Quote 0
                • A
                  Ahnungsbefreit @dos1973 last edited by

                  @dos1973 Was versucht Du jetzt zu machen? Für Shelly anpassen? Wenn ja, dann poste doch bitte mal den Namen eines Objektes, das Du abfragen willst hier, damit ich die Struktur sehen kann

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    dos1973 @Ahnungsbefreit last edited by dos1973

                    @Ahnungsbefreit
                    hier mal ein json download

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

                      @Ahnungsbefreit

                      ich komme mit dem variablen Teil nicht klar. angefangen bei ParentID
                      bis runter zum common. name

                      ich weiß nicht was in dem Fall Variablen sind, was feste definition sind, und komm mit dem debug auch nicht wirklich klar ...

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Ahnungsbefreit @dos1973 last edited by

                        @dos1973 Hast Du mal mein Script importiert? Dann wird das doch alles automatisch richtig gesetzt. Siehe oben "Spoiler"

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          dos1973 @Ahnungsbefreit last edited by

                          @Ahnungsbefreit

                          ja, für Homematik klappt es, aber ich brauche die Shellys und schaffe es nicht es umzubauen/ nachzubauen.

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Ahnungsbefreit @dos1973 last edited by

                            @dos1973 Statt des JSON poste doch bitte nur mal den Namen/die ID des Datenpunktes eines Shellys, den Du auf Erreichbarkeit prüfen willst

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              dos1973 @Ahnungsbefreit last edited by

                              @Ahnungsbefreit

                              shelly.0.SHSW-25#E563E8#1.online
                              
                              A 1 Reply Last reply Reply Quote 0
                              • A
                                Ahnungsbefreit @dos1973 last edited by Ahnungsbefreit

                                @dos1973 said in blockly eleganter machen:

                                shelly.0.SHSW-25#E563E8#1.online

                                ok, dann ist der "ID vom Selektor..." Eintrag

                                shelly.0.*.online
                                

                                und bei "setze ParentID" im "Text i suche letztes Auftreten des Begriffs ".online"

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  dos1973 @Ahnungsbefreit last edited by

                                  @Ahnungsbefreit

                                  es geht, aber ich verstehe es leider immer noch nicht...

                                  Bildschirmfoto 2021-01-04 um 14.40.31.png

                                  ich verstehe nicht wie wir das ".online" da abziehen, bzw. warum wir das abziehen müssen, damit es funktioniert?

                                  common.name
                                  wo kommt das her, wie kann ich das nachvollziehen?

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    Ahnungsbefreit @dos1973 last edited by

                                    @dos1973 In meinem Beispiel oben:
                                    1d56ce9d-cca0-4467-846f-0549a200004d-image.png

                                    frage ich den Wert des Objektes

                                    hm-rpc.1.<irgendeineserienummer>.0.UNREACH
                                    

                                    ab. Der Name steht aber "2 Etagen höher" beim Gerät

                                    hm-rpc.1.<irgendeineserienummer>
                                    
                                    

                                    im Feld "common.name" (siehe gelbe Markierung oben rechts).

                                    Nachlesbar z.B. hier: Doku

                                    Wird's jetzt klarer?

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      dos1973 @Ahnungsbefreit last edited by

                                      @Ahnungsbefreit
                                      ok, zum common.name muss ich mal diese Doku lesen...

                                      aber das abschneiden verstehe ich immer noch nicht.

                                      Bildschirmfoto 2021-01-04 um 15.03.01.png

                                      für jeden i.... selector...*shelly

                                      kommt doch als Ergebnis alle Shelly mit dem gesamten String
                                      shelly.0.SHSW-25#00B00D#1.online

                                      jetzt schneide ich das online von "shelly.0.SHSW-25#00B00D#1.online"
                                      ab.

                                      ich nächsten Abschnitt such ich ob dieser Wert, mit online
                                      shelly.0.SHSW-25#00B00D#1.online = True ist

                                      Falls Wert von i ist true

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        Ahnungsbefreit @dos1973 last edited by Ahnungsbefreit

                                        @dos1973 Versteh die Frage nicht so ganz aber die Idee ist

                                        • mit "shelly.0.SHSW-25#00B00D#1.online" haben wir die ID des Objektes, das wir abfragen wollen und

                                        • und dem "common.name" von "shelly.0.SHSW-25#00B00D#1" den Namen für die Ausgabe

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          dos1973 @Ahnungsbefreit last edited by

                                          @Ahnungsbefreit

                                          ja, ist kompliziert zu beschrieben 😉 Danke für deine Geduld und Mühe!!

                                          die ID's haben wir über den Selektor erhalten

                                          • shelly.0.SHSW-25#00B00D#1.online
                                          • ...

                                          warum schneide ich dann das .online ab?

                                          im nächsten Step frage ich doch genau diesen Wert (mit .online) wieder ab

                                          • shelly.0.SHSW-25#00B00D#1.online = True/false
                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            Ahnungsbefreit @dos1973 last edited by Ahnungsbefreit

                                            @dos1973 Wir merken uns die "abgeschnittene" Version doch nur für die Abfrage des Namens über "common.name", wir brauchen also beides, Namen und die ID des "online" Objekts.

                                            Wenn bei Dir der Name auch direkt über "common.name" von "shelly.0.SHSW-25#00B00D#1.online" korrekt (also so, wie er in der Textliste bzw. im JSON erscheinen soll) rauskommt, dann kannst Du das Abschneiden weglassen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            716
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            5
                                            72
                                            4483
                                            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