Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. [gelöst] json abfragen - Objekte erstellen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] json abfragen - Objekte erstellen

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

      @mickym sagte in json abfragen - Objekte erstellen:

      auch wenn ich dem Globalen Moderator mal widersprechen möchte, alles aus dem Geiste zu löschen,

      ...und dein Pamphlet, was ihn möglicherweise wieder unnötig erschlägt, wollte ich nach dem Leeren des Zwischenspeichers mit ihm erarbeiten, damit es einen höheren Lerneffekt hat, was er ja von uns erbeten hatte

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

        @homoran Ok ich halte mich raus.

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

          @mickym sagte in json abfragen - Objekte erstellen:

          @homoran Ok ich halte mich raus.

          das Schlimme ist ja, dass da bei dir alles richtig ist.
          Nur das ist für Einsteiger zuviel Information auf einmal.

          Man muss selektiv auf mögliche Verständnishürden eingehen können, bevor der nächste Schritt gemacht wird

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

            @homoran Nun jeder hat seine eigenen didaktischen Vorstellungen, wie er einen Zusammenhang glaubt verständlich vermitteln zu können und ich denke ich habe in diversen Threads durchaus gezeigt, dass ich hierbei schon manchem geholfen habe. Wenn Deine Vorgehensweise dann aber die einzig richtige ist, dann will ich mich hier nicht streiten oder auch nicht mehr die Mühe machen, einen Sachverhalt auf meine Weise darzustellen.

            Wie gesagt mach Du es so, wie Du es Dir vorstellst - ich bin hier erst mal raus, außer mir werden konkrete Fragen von @rtwl gestellt.

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

              @mickym sagte in json abfragen - Objekte erstellen:

              Wenn Deine Vorgehensweise dann aber die einzig richtige ist,

              das würde ich niemals behaupten!

              @mickym sagte in json abfragen - Objekte erstellen:

              außer mir werden konkrete Fragen von @rtwl gestellt.

              und genau darauf warte ich. Und ich dachte, das hätte ich auch so dargestellt, dass wir erst abwarten bis @rtwl sich eingelesen hat und dann Fragen stellt.

              1 Reply Last reply Reply Quote 0
              • rtwl
                rtwl last edited by

                zuerst einmal: Danke allen.

                Dein ewig langer Post unter:

                @mickym sagte in json abfragen - Objekte erstellen:

                Fangen wir mal an:

                ...hat mir schon geholfen, und eigentlich nicht erschreckt. Aber das konnte @Homoran natürlich nicht wissen. Ich finde beide Ansätze durchaus interessant und für mich als möglichkeit zum Lernen durchaus okay. Auch wenn ich jetzt noch nicht alles verstehe, werde ich den Beitrag in 1 Woche, 3 Monaten oder einem Jahr erneut lesen und dann "achsooo, das haben die gemeint" sagen.
                Nochmal kurz zu mir: Ich habe ein ausgesprochen gutes Excel wissen, und hab schon die verzweigtesten und verschachtelsten Excel Formeln erstellt. Am logischem denken wirds bei mir nicht scheitern. Auch hab ich aktuell die logiken meiner smarten Wohnung mittels Tasker (Android) erstellt und läuft wie es soll. Aber auch das natürlich mit Unterstützung.
                Demnächst steht der Umzug ins neue Haus an, und dafür hab ich mir den Raspberry mit ioBroker zugelegt, um die Steuerung auf eben diesen umzustellen.

                Da ich von javascript null Ahnung hab, und Blockly optisch mehr zusagt als nodered, würde ich gerne den weg mit Blockly gehen, falls das dann möglich ist.

                Am liebsten hätte ich eigentlich ein "fast" fertiges blockly-skript welches ich dann importieren und studieren kann, um daraus zu lernen.

                Als erste Frage: Welchen Block nimmt man um die json Daten von meiner URL in EINEN Datenpunkt (nennt man das überhaupt so?) zu bekommen. @Homoran Du hast ja im Screenshot die Daten als "Text" eingefügt.

                Vielen Dank schonmal.

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

                  @homoran sagte in json abfragen - Objekte erstellen:

                  Die Aussage:
                  @rtwl sagte in json abfragen - Objekte erstellen:

                  Ich hab es zwar mit dem Adapter "Systeminfo Adapter to get data from systems" geschafft meine json abzufragen

                  sagt mir gar nichts

                  Hier meine bisherige "Lösung" (falls man das so sagen kann) - im Spoiler
                  Falls es doch/euch interessiert 🙂


                  Der Adapter:
                  a749ced7-f97d-4462-bcf6-08441d57926a-image.png

                  Die Einstellungen im Adapter: (zum testen nur 3 Ausgewählte Channels)
                  4ab93c91-25a7-4978-9938-611fbc2a6008-image.png

                  Die Objekte:
                  e268c135-1768-4e8d-b811-3acbf63e6137-image.png

                  Aber das ganze ist weniger Übersichtlich.

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

                    @rtwl Danke für die Klar- und Vorstellung 🙂

                    @rtwl sagte in json abfragen - Objekte erstellen:

                    würde ich gerne den weg mit Blockly gehen, falls das dann möglich ist.

                    möglich ist es, ob es bei deinem Vorgehen beim Einsteigerniveau bleibt, werden wir dann sehen.
                    Was ich als Endziel hatte bekomme ich selber noch nicht hin.

                    @rtwl sagte in json abfragen - Objekte erstellen:

                    Welchen Block nimmt man um die json Daten von meiner URL in EINEN Datenpunkt (nennt man das überhaupt so?) zu bekommen

                    ja, so heisst das.
                    Aber jetzt frage ich mich, warum in nur einen DP?

                    Wenn ich das richtig verstanden hatte wolltest du etwas visualisieren.
                    Da es sich um Temperatur und Feuchte handelt, wahrscheinlich auch irgendwann mal den Verlauf als Grafik.

                    Dann braucht es natürlich (einzelne) Zahlen
                    Bei deinen 12 Sensoren wären das dann 24 DPs vom Typ Zahl

                    @rtwl sagte in json abfragen - Objekte erstellen:

                    Du hast ja im Screenshot die Daten als "Text" eingefügt.

                    weil ich es nur als debug Output ausgegeben hatte

                    EDIT:
                    Ich dachte du hast das JSON als ganzes in EINEM Datenpunkt

                    @rtwl sagte in json abfragen - Objekte erstellen:

                    Aber das ganze ist weniger Übersichtlich.

                    aber anders wird es auf anderem Weg auch nicht
                    Und alles was du brauchst hast du da

                    1 Reply Last reply Reply Quote 0
                    • rtwl
                      rtwl last edited by

                      Mit EINEM Datenpunkt hab ich gemeint, dass ich dann weiter arbeiten kann, bzw lerne wie man quasi Datenpunkte erstellt. Natürlich ist das Ziel immer noch, alle 24 DPs zu erstellen jeweils mit der korrekten Zahl.

                      Warum ich eine neue Lösung suche ist die Warnung im Log: "adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer!"

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

                        @rtwl ich hab da mal was vorbereitet:
                        Klimawerte.png

                        Der Zeitplan fragt jede Minute ab.
                        Zum testen kannst du den request aus dem Trigger (Zeitplan) herauslösen. Dann startet es nur beim Speichern.

                        Die Variable result musst du selber anlegen
                        der debug Baustein ist immer sehr hilfreich und würde dir hoffentlich das Ergebnis im logfenster unter der Arbeitsfläche des Blocklys anzeigen.

                        Wenn du dann unter 0_Userdata.0 in einer sinnvollen Struktur deine(n) Datenpunkt(e) angelegt hast, kannst du den steuere-Block aktivieren und die ID dieses Datrenpunktes dort eintragen. Dann wird das JSON dort hereingeschriebn.

                        Viel Basics!
                        bei Frage - fragen!

                        1 Reply Last reply Reply Quote 1
                        • rtwl
                          rtwl last edited by

                          Vielen Dank, das hab ich schonmal hinbekommen.
                          Nur jetzt mit deinem Abschreck-Beispiel oben in der Schleife keine Variable/Text befüllen, sondern einen Datenpunkt wird nicht möglich sein, oder?
                          Zumindest sehe ich keine Möglichkeit die Datenpunkte als Variable zu definieren, so dass beim Datenpunkt "0_userdata.0.Temperaturwerte.Channel0.temperature" Der letzte Ordner "Channel0" in der Schleife als Variable genommen wird, und ebenso der DP "temperature" oder "humidity".

                          Alle 24 DP ohne schleife zu befüllen, sollte damit möglich sein, aber um es Übersichtlicher zu haben wäre eine Schleife natürlich sinnvoll.

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

                            @rtwl sagte in json abfragen - Objekte erstellen:

                            sondern einen Datenpunkt wird nicht möglich sein, oder?

                            doch, aber dafür wollte ich die chid verwenden, die leider 3x 0 ist

                            da muss ich mir noch was einfallen lassen
                            mit channel(x) müsste es gehen

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

                              @rtwl sagte: Datenpunkt "0_userdata.0.Temperaturwerte.Channel0.temperature"

                              Wenn alle 24 Datenpunkte nach diesem Schema für Channel0 bis Channel11 erstellt wurden, und

                              @rtwl sagte in json abfragen - Objekte erstellen:

                              wäre eine Schleife natürlich sinnvoll.

                              versuche es mal so:

                              Bild_2022-02-12_222632.png

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

                                @homoran

                                Wenn die chid 0 ist, kann man diese Channel´s ignorieren, da gibt es dann keinen Sensor. Es wird auch nie eine Channel geben mit identischer chid. Was aber sein wird ist, dass einmal ein neuer Sensor hinzu kommt, der dann eine leeren Platz einnimmt. Aber wie gesagt, da wird dann eine neue/eigene chid kommen.
                                Theoretisch können sich die chid´s nach Batterie wechsel ändern. Die Werte sollten also nicht fest definiert sein im skript.

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

                                  @paul53 sagte in json abfragen - Objekte erstellen:

                                  versuche es mal so:

                                  ah, ich denke das verstehe ich und sollt ich hinbekommen 👍

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

                                    @rtwl @paul53 hat jetzt das Optimum aus den bisherigen Infos herausgeholt.
                                    die chid wird nicht verwendet.

                                    Frage:
                                    kann/wird sich das Json ändern in

                                    • Länge (anzahl)
                                    • Reihenfolge?
                                    rtwl 1 Reply Last reply Reply Quote 0
                                    • rtwl
                                      rtwl @Homoran last edited by

                                      @homoran
                                      Zuerst dachte ich eh, dass die Antwort von dir kam 🙂
                                      Der Dank geht natürlich an @paul53

                                      Nein, wie es aktuell aussieht wird sich da nichts ändern. Und wenn dann wird die Anzahl der Channels erhöht. Davon geh ich aber nicht aus. Die Reihenfolge wird sich auch nicht ändern.
                                      Die json sieht schon seit einigen Jahren so aus.

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

                                        @rtwl sagte in json abfragen - Objekte erstellen:

                                        Und wenn dann wird die Anzahl der Channels erhöht.

                                        wenn sich diese Anzahl erhöht, und neue Sensoren immer hinten Angehängt werden, musst du nur die anzahl i bis 11 erhöhen

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

                                          @homoran
                                          Jap, das war mir klar 😉 aber danke natürlich.

                                          Wie ihr euch vorstellen könnt, sind die Channel0-11 jeweils Räume/Orte an denen die Sensoren stehen. Jetzt ist es natürlich möglich sich zu merken welcher Channel zu welchem Raum gehört bzw beim späteren implementieren in der VIS kann man da auch den "Schummelzettel" verwenden.
                                          Aber wenn ich mit meiner MS-Excel Hirnhälfte denke, würde ich mir eine Tabelle anlegen und die Channel0-11 in den Raumnamen umwandeln.
                                          Könnte man das auch machen. So in der Art: Wenn i = 2 dann nimm statt "Channel2" das Wort "Wohnzimmer" - Diese Zuordnung/Liste der Channels/Räume müsste man aber wo speichern/abrufen können.

                                          Oder bin ich da schon zu weit und wäre nur nice to have?

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

                                            @rtwl sagte in json abfragen - Objekte erstellen:

                                            Könnte man das auch machen. So in der Art: Wenn i = 2 dann nimm statt "Channel2" das Wort "Wohnzimmer" - Diese Zuordnung/Liste der Channels/Räume müsste man aber wo speichern/abrufen können.

                                            jepp, es geht alles. beliebig komplex

                                            da müsste man mit dem case Befehl Arbeiten.
                                            bin aber schon länger nicht mehr am PC, derxBlock müsste etwas mit Fall heißen. hab ihn aber selber noch nie verwendet.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            773
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            abfragen json objekte
                                            5
                                            51
                                            1512
                                            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