Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. gehen komplexere Objektinfos in Blockly

    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

    gehen komplexere Objektinfos in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Homoran last edited by

      @homoran hab es jetzt mal auf die umständliche Art des Wertevergleichs versucht
      Screenshot_20221119-223950_Firefox.jpg

      sieht richtig aus, muss es aber nicht sein.
      spätestens bei 2 gleichen Werten und der Suche nach dem zweitkältesten Raum wird das wohl nicht mehr klappen.

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

        @homoran sagte: den zugehörigen Raum herausbekommen

        Bild_2022-11-19_224358167.png

        Inhalt von roomName(id):

        let room = getObject(id, 'rooms').enumNames[0];
        if(typeof room == 'object') room = room.de;
        return room;
        
        Homoran 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Homoran last edited by

          @homoran
          Muss es denn Blockly sein? Da sind die Möglichkeiten ja doch recht beschränkt.
          JS oder TS sind keine Alternative?

          Ich lerne ja gerade erst JS - wäre ja vielleicht 'ne interessante Übung.

          In "meiner Welt" würde ich zunächst an sowas wie eine eigene Listenklasse denken, die nicht nur Temperaturen sondern gleich ganze Objekte hält.
          Die ließe sich dann anhand der Temperaturen innerhalb der Objekte sortieren.
          Der Rest dürfte dann einfach sein: Die ersten n-Elemente der Liste lesen und los ...

          Aber heute nicht mehr 😉

          Die Expähden haben da aber sicher noch ganz andere tollen Ideen 👍

          Gruß
          Bernd

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @paul53 last edited by

            @paul53 Danke!
            wieso habe ich gewusst dass du mit einer js-Funktion kommen wirst 😉

            Das werde ich mir mal näher ansehen und als Grundlage nehmen.
            warum das mit dem minimum Vergleich hab ich noch nicht verstanden.

            paul53 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Codierknecht last edited by Homoran

              @codierknecht sagte in gehen komplexere Objektinfos in Blockly:

              Muss es denn Blockly sein? Da sind die Möglichkeiten ja doch recht beschränkt.

              ja! ich kann kein js. Auch unter Strafandohung nicht. Nachvollziehen ja, selber schreiben nicht!

              auch wenn ich nicht aus deiner Welt kommen hatte ich mir den Rest ähnlich vorgestellt.
              aber zwei listen über i und j iterieren wobei eine umsortiert wird habe ich nicht synchronisiert bekommen.

              Codierknecht 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @Homoran last edited by

                @homoran sagte: das mit dem minimum Vergleich hab ich noch nicht verstanden.

                Die Variable minimum enthält die minimale Temperatur. Sie wird hier in einer Schleife ermittelt.

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @paul53 last edited by Homoran

                  @paul53 das hab ich schon verstanden, aber wo ist der Vorteil zu meinem Versuch mit Minimum der Liste?

                  edit: deine Liste enthält ja nur IDs!

                  paul53 1 Reply Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @Homoran last edited by

                    @homoran sagte in gehen komplexere Objektinfos in Blockly:

                    Auch unter Strafandohung nicht

                    😁 😁 😁 😁 😁

                    Vielleicht ja nicht für das komplette Script.
                    Es würde ja reichen, eine nach Temperatur sortierte Liste der DP zu generieren (in einer JS-Funktion).
                    Mit dieser Liste kann man doch dann in Blockly weiterarbeiten - oder?

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

                      @homoran sagte: wo ist der Vorteil zu meinem Versuch mit Minimum der Liste?

                      Vorteil: In der Schleife lässt sich nebenbei auch die zugehörige ID ermitteln.

                      Homoran 1 Reply Last reply Reply Quote 1
                      • Homoran
                        Homoran Global Moderator Administrators @Codierknecht last edited by

                        @codierknecht sagte in gehen komplexere Objektinfos in Blockly:

                        @homoran sagte in gehen komplexere Objektinfos in Blockly:

                        Auch unter Strafandohung nicht

                        😁 😁 😁 😁 😁

                        Vielleicht ja nicht für das komplette Script.
                        Es würde ja reichen, eine nach Temperatur sortierte Liste der DP zu generieren (in einer JS-Funktion).
                        Mit dieser Liste kann man doch dann in Blockly weiterarbeiten - oder?

                        das scheint @paul53 so vorzuhaben

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @paul53 last edited by

                          @paul53 ja! hab ich dann auch gesehen, zu langsam 😞
                          geht da auch noch der zweitkälteste Raum?
                          gib mir Zeit bis morgen

                          1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @Homoran last edited by Codierknecht

                            @homoran sagte in gehen komplexere Objektinfos in Blockly:

                            auch wenn ich nicht aus deiner Welt kommen hatte ich mir den Rest ähnlich vorgestellt.
                            aber zwei listen über i und j iterieren wobei eine umsortiert wird habe ich nicht synchronisiert bekommen.

                            Mal ein gaaaanz platter Ansatz:
                            Statt nur die Temp. in die Liste zu packen, baut man einen (normierten) string zusammen - nach dem Muster:
                            19.20|73wcb745vb74wv74s
                            21.00|xsck5888z449wvw9h
                            Das sind die Listenelemente. Die kann man prima sortieren und dann von rechts die id rausprömpeln.

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Codierknecht last edited by

                              @codierknecht hatte ich auch schon als json versucht, dann damit aber nicht das Minimum über die Listenfunktion gefunden.

                              Codierknecht 1 Reply Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @Homoran last edited by

                                @homoran
                                Nix JSON - einfacher Text. Das sollte ja trotzdem korrekt sortiert werden.
                                Und dann von rechts x-Zeichen oder ab dem Tennzeichen im string ("|") den Rest.

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @Codierknecht last edited by

                                  @codierknecht klar! gefällt mir.
                                  json geht ja nicht, hier vorne die Zahlen auch als String, alphanumerisch sortieren ist kein Problem.
                                  splitten an der pipe wenn die Zahlen nicht gleiche Zifferzahl haben (in blockly machbar, wenn auch umständlich.

                                  könnte von mir sein die Idee 👍

                                  Codierknecht 1 Reply Last reply Reply Quote 0
                                  • Codierknecht
                                    Codierknecht Developer Most Active @Homoran last edited by

                                    @homoran
                                    Sieht zwar echt krude aus und hat mit "Clean" nix zu tun ... aber das wird ja auch keine Raketensteuerung 😉

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Codierknecht last edited by Homoran

                                      @codierknecht ich sach doch: könnte von mir sein 😂

                                      Codierknecht 1 Reply Last reply Reply Quote 0
                                      • Codierknecht
                                        Codierknecht Developer Most Active @Homoran last edited by

                                        @homoran
                                        Wobei mich wundert, dass JSON nicht funzt.
                                        Wenn z.B. die Liste so aussieht:

                                        '{"temp":19.2,"id":"12345"}', '{"temp":20.1,"id":"23456"}', '{"temp":18.0,"id":"34567"}'
                                        

                                        Dann sollte sich diese Liste doch trotzdem korrekt sortieren lassen.
                                        Das JSON müsste halt komprimiert sein.

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @Codierknecht last edited by Homoran

                                          @codierknecht sagte in gehen komplexere Objektinfos in Blockly:

                                          Dann sollte sich diese Liste doch trotzdem korrekt sortieren lassen.

                                          möglich, aber nicht mit dem listen sortieren Block.

                                          Aber wäre das recht so 😁
                                          Screenshot_20221119-232609_Firefox.jpg

                                          wenn jetzt noch, was ich nicht zu hoffen wage, 19,0 geschrieben würde ist das aufwändige suchen und splitten nach der pipe nicht nötig.
                                          Screenshot_20221119-233454_Firefox.jpg

                                          Codierknecht 2 Replies Last reply Reply Quote 0
                                          • Codierknecht
                                            Codierknecht Developer Most Active @Homoran last edited by

                                            @homoran
                                            Ich würde anstatt der Namen die ID's reinschreiben.
                                            Damit kann man dann wieder alles auslesen was man noch so braucht.
                                            Macht das Steuern dann einfacher.

                                            @homoran sagte in gehen komplexere Objektinfos in Blockly:

                                            wenn jetzt noch, was ich nicht zu hoffen wage, 19,0 geschrieben würde ist das aufwändige suchen und splitten nach der pipe nicht nötig.

                                            Schade, lässt sich auch nicht überlisten 😞
                                            24553aa4-1be2-422e-9d17-95ec057e1474-grafik.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            928
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            28
                                            1297
                                            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