Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Zahl aus json-Objekt m. Blockly auswerten

    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

    [gelöst] Zahl aus json-Objekt m. Blockly auswerten

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

      Hallo zusammen,

      wir interessieren uns dafür, welcher Hubschrauber gerade über uns kreist.
      Ich schreibe mit dem Systeminfoadapter alle 30 sek. die Flugdaten von dump1090-fa in ein Objekt.
      Jetzt würde es mehr Sinn machen nur die Hubschrauber signalisiert zu bekommen, welche im Umkreis von etwa 3-5 km sind.
      Ich habe die Signalstärke mit in das Objekt aufgenommen:

      ["3c5ee1",-19.6,"3e350d",-20.5,"4851ad",-14.6,"45d968",-19.6,"344290",-2.1,"3c5ee7",-14.8,"44083f",-12.2,"406c39",-14.5,"4692d0",-19.7,"3c4826",-13.1,"394a60",-2.5,"780a36",-15,"4ca625",-20.3,"3c6518",-13.3,"485123",-9.3,"3e1679",-2.2,"4249b2",-11.2,"ad3f67",-10.7,"3c6646",-11.7,"3d3d27",-19.9,"3c66b8",-3.8,"424b39",-8.4,"3d0590",-12.1,"a5d4c3",-11.2,"4a05a3",-14.8,"47834b",-13.9,"4853f4",-9.4,"4631cc",-4.5,"71c275",-4.2,"47945c",-2,"3c65d0",-10.1,"43e94f",-2.6,"485870",-14.5,"3c64a1",-13.1,"3c662d",-5.9,"4d21e0",-5.4,"3eb6aa",-14,"485345",-2.2,"3c496d",-14.5,"4b16b9",-7.5,"484161",-15,"484f7e",-10.4,"400d90",-4,"4cafcd",-2,"4855d0",-3.8,"471f2f",-7.7,"300782",-8.6,"78071c",-1.4,"4ac8b5",-3.2,"3c6643",-3.2,"440309",-11.6,"461f6e",-6.9,"3e3afb",-12.5,"42435f",-7.4,"4ac9e1",-2.6,"3c6514",-7.6,"3cc932",-2.7,"4840de",-2.3,"78037b",-3.5,"44056b",-15.7,"406c43",-13.7,"3c5ef9",-5.6,"406f77",-1.9,"4840e0",-2.2,"3c6dd4",-3.4,"461f96",-2.2,"488a63",-2.7,"4074b2",-13.1,"4baa92",-6.8,"3c6517",-16.1,"4ca679",-13,"4ca7a4",-10.1,"4ca8e9",-1.5,"3c56f3",-8.2,"394c18",-12.5,"461f69",-3.2,"3c6594",-1.5,"452068",-3.1,"896192",-14,"4ca6a3",-13.6,"4cacca",-6.3,"3944e5",-4.2,"3eba1c",-3.2,"3c66ad",-2.2,"4b1a3c",-6,"406674",-14.3,"4baa6b",-2.5,"4bb84d",-12.8,"4009db",-14.8,"3c56f1",-1.3,"06a10c",-2.2,"424131",-14.1,"71be12",-6.2,"781103",-15.2,"485085",-14.3,"452086",-13.8,"3c4a31",-15,"3c6dcf",-12.6,"3c5070",-6.3,"400a69",-13.8,"34444e",-14.1,"440582",-4.2,"78076c",-14.2,"4bb181",-15.2,"392ae8",-11.9,"502ce3",-15,"3c66b6",-9.5,"3c6dd0",-8.5,"3e2e94",-14.6,"405a47",-15.1,"406890",-13.7,"461fa8",-15.6]
      

      Mein jetziges Script sieht so aus (ich weiß, dass ich den Intervall durch einen Timeout ersetzen könnte):

      Blockly1.JPG

      Jetzt kommt die Schwierigkeit:
      Wie kann ich die Signalstärke "3c5ee1",-19.6 mit Blockly auswerten?
      also z.B. ist "3c5ee1" ein Hubschrauber und -19.6 die Signalstärke... Jetzt möchte ich jedoch erst ab z.B. -6.0 darauf reagieren...
      Hat jemand einen Tipp für mich?

      VG
      Leif

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

        @capitaenz sagte:

        Jetzt möchte ich jedoch erst ab z.B. -6.0 darauf reagieren...

        So wie es aussieht, enthält das JSON ein Array, in dem eine "ID" mit der zugehörigen Signalstärke abwechselt.
        Das folgende Blockly sollte dann im Log alle IDs ausgeben, deren Signalstärke > -6 ist.

        Blockly_temp.JPG

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

          @paul53

          Daran habe ich noch gar nicht gedacht, erst nach Signalstärke zu sortieren und dann die Flugnummer zu filtern 👍
          Allerdings muss ich zugeben, dass ich trotzdem deine Hilfe gebraucht hätte.
          Ich probiere es aus und werde dann berichten.

          Danke und VG
          Leif

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

            @paul53

            leider scheint da noch ein Kinken drin zu sein:

            error.JPG

            Es muss ja jeder 2. Wert überprüft werden nach ">-6", aber wieso zählst du "i" hoch?

            Kannst du mir da grad noch einmal helfen?

            VG
            Leif

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

              @capitaenz
              Was steht im Javascript-Code in Zeile 15 ?

              Wenn die erzeugte Liste den Bezeichner Hex-Flugnummern hat, muss auch auf diese Liste zugegriffen werden und nicht auf die Variable Liste.

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

                @paul53
                dort steht:

                if (Liste[((i + 1) - 1)] > -6) {
                
                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @capitaenz last edited by paul53

                  @capitaenz sagte:

                  if (Liste[((i + 1) - 1)] > -6) {

                  Richtig wäre

                  if (Hex_Flugnummern[((i + 1) - 1)] > -6) {
                  
                  1 Reply Last reply Reply Quote 0
                  • capitaenz
                    capitaenz last edited by

                    @paul53
                    Danke, jetzt scheint es das zu machen was ich brauche.
                    Sitze jetzt nur am Tablet, probiere morgen weiter.

                    Schönen Abend

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

                      @paul53

                      Hallo Paul,

                      ich muss noch einmal nachfragen:
                      Also ich kann jetzt die Flugnummern eingrenzen, das sehe ich in der Debugausgabe, aber auf welche Variable muss ich jetzt reagieren? Wie kann ich mir anzeigen lassen wohin diese Daten geschrieben werden?
                      Ich nehme an, dass was ich in der Debugausgabe sehe, der Inhalt von "i" ist?
                      Wenn ich jedoch "i" durchsuchen möchte nach z.B. "3ab3cc", bekomme ich einen Fehler angezeigt, welcher sich auf die Zeile mit der Variable "i" bezieht.
                      Wenn ich die "Hex-Flugnummern" durchsuche, greift die Eingrenzung nach dB nicht...

                      VG
                      Leif

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

                        @capitaenz sagte:

                        Wie kann ich mir anzeigen lassen wohin diese Daten geschrieben werden?

                        Die Daten werden noch nirgends geschrieben. Um diesen Teil muss das Programm noch ergänzt werden. Was soll das Ergebnis sein ?

                        @capitaenz sagte in Zahl aus json-Objekt mit Blockly auswerten:

                        Ich nehme an, dass was ich in der Debugausgabe sehe, der Inhalt von "i" ist?

                        Nein, das ist der Inhalt des Arrays an der Stelle, die durch i indiziert wird.

                        @capitaenz sagte in Zahl aus json-Objekt mit Blockly auswerten:

                        durchsuchen möchte nach z.B. "3ab3cc"

                        Dann muss ein Vergleich erfolgen
                        falls in der Liste Hex-Flugnummern nimm das i. Element == "3ab3cc"
                        mache ...

                        Blockly_temp.JPG

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

                          @paul53

                          Hallo Paul,

                          ich muss mich noch einmal bedanken! Es läuft jetzt, jetzt setzte ich mich noch einmal hin, um es auch komplett zu verstehen.
                          Solch eine Hilfe ist nicht selbstverständlich.

                          Hier ein Ausschnitt, vielleicht kann es noch jemand gebrauchen:

                          script_blocky.JPG

                          VG
                          Leif

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

                            @capitaenz sagte:

                            Es läuft jetzt

                            Dann markiere bitte das Thema in der Überschrift als [gelöst].

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            928
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            2
                            12
                            1123
                            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