Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Brauche Hilfe um ein json abzurufen und auszuwerten

    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

    Brauche Hilfe um ein json abzurufen und auszuwerten

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

      @paul53 ich habe wieder zu komliziert (nämlich umgekehrt) gedacht und mit Falls nicht undefined versucht

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

        @Homoran sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

        Mit dem JSONata kann man das UrsprungsJSON also filtern und dann nur noch mit den Datensätzen, die für mich relevant wären weiterarbeiten?

        Genau, habe den Ausdruck extra formatiert, einfach die Daten, welche du brauchst anhängen und dann hast du nur die Daten welche du brauchst, lan, lon und Höhe sind ja schon drin.. Den Rest machst du wie von Paul gezeigt

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

          @fastfoot
          @paul53

          DANKE!

          das muss ich jetzt erst einmal verdauen

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

            @Homoran sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

            das muss ich jetzt erst einmal verdauen

            vor einer Woche konnte ich jsonata gerade mal buchstabieren, jetzt gehts schon recht flott 🙂 Genau so wird es dir auch gehen mit deinem Projekt. Viel Erfolg.

            PS: Die Daten die du ziehst sind kostenpflichtig?

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

              @fastfoot sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

              Die Daten die du ziehst sind kostenpflichtig?

              Nö, ich fange sie mit einem DVB-T Receiver an einem RasPi selber ab

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

                @fastfoot sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                Spielen mit den Ausdrücken auf https://try.jsonata.org/

                Habe ich jetzt ein wenig gemacht.
                Das erträumte Ergebnis war ernüchternd 😉

                Habe dann sogar das Unmögliche getan und die Doku gelesen. Aber auch dort keinen korrekten Hinweis auf meinen Wunsch erhalten:

                kann man in dem expression bereits z.B. (Wohnort - x) < lat > (Wohnort +x) filtern?
                Habe dazu nichts gefunden, resp. bekam nur ERROR

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

                  @Homoran sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                  kann man in dem expression bereits z.B. (Wohnort - x) < lat > (Wohnort +x) filtern?
                  Habe dazu nichts gefunden, resp. bekam nur ERROR

                  Du kannst im Filter(alles zwischen den eckigen Klammern) folgendes eingeben

                  aircraft[lat >50 and lat < 52].{
                      "flight":flight,
                      "lat":lat,
                      "lon":lon,
                      "alt_baro":alt_baro 
                  }
                  

                  probiere das mal mit fixen Werten zuerst, später kannst du ja Variablen einfügen. Hier habe ich den Filter für die Flugnummer entfernt, weil ich denke dass lat und lon eh nur da sind wenn eine Flugnummer existiert. denke daran dass du einen Punkt statt Komma in der Angabe benutzt, also zB lat > 50.0400776

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

                    @fastfoot werde ich testen - danke!

                    @fastfoot sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                    probiere das mal mit fixen Werten zuerst, später kannst du ja Variablen einfügen.

                    genau das hatte ich vor, zumal ich nicht weiß wie ich an die Geokoordinaten aus der Systemsteuerung komme

                    @fastfoot sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                    dass lat und lon eh nur da sind wenn eine Flugnummer existiert.

                    nicht mal dann.
                    Wenn der Empfang schlecht ist heisst es:

                    Total Aircraft: 7
                    With Positions: 4
                    

                    Die 7 haben ihr Kennzeichen aber nicht alle eine aktuelle Position.
                    Die Daten werden jede Sekunde aktualisiert

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

                      @Homoran solange du noch entwickelst, würde ich die Aktualisierungsrate nicht so niedrig setzen, damit du nicht durcheinander kommst. der letzte Filter bringt nur Daten wenn Positionsdaten da sind, könntest auch noch die Höhe einbeziehen. Ich würde mir ein JSON in eine Variable schreiben und mit diesen Daten hantieren bis das Ergebnis stimmt, dann erst würde ich live Daten auf mein Programm loslassen

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

                        @fastfoot
                        Habe jetzt dem JSONata noch die maximale Höhe mitgegeben da laufe ich in das nächste für mich nicht nachvollziehbare Problem:
                        es kommt wieder undefined 😞

                        17:07:00.047	info	javascript.0 (13728) script.js.Fliegenklatsche: undefined
                        17:07:15.012	info	javascript.0 (13728) script.js.Fliegenklatsche: undefined
                        

                        das json ist im Moment leer

                        Außerdem erscheint immer mal wieder ein parser Error (IMHO vom debug), den ich auch nicht verstehe

                        parser_error.png

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

                          @fastfoot sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                          würde ich die Aktualisierungsrate nicht so niedrig setzen

                          damit meinte ich die Aktualisierung des jsons auf dem RasPi
                          sobald dort 1 Sekunde keine Daten vom Flieger empfangen werden zählt ein Zähler hoch und nach 60 Sekunden ist er aus der Liste raus, vorher ggf. schcon die Positionsdaten.

                          ich habe den Trigger abgeschaltet und rufe das json manuell auf
                          Aber ich muss es ja auch im real-Life Betrieb testen - siehe letzter post 😉

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

                            @Homoran Du musst das Ergebnis prüfen: Falls erg dann action. Wenn keine Daten da sind ist das Ergebnis undefined. Den Filter nicht zu eng setzen, während der Entwicklung!
                            flight3.PNG

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

                              @fastfoot sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                              Falls erg dann action

                              Jepp, danke

                              Bin ja schon am finetuning der Rohdaten 😉
                              ich ändere immer wieder den Range um nichts leeres zu bekommen. Aber auch das muss ich abfangen.

                              Aus dem Parser Error werde ich nicht schlau. Hier mal alle Daten, vielleicht etwas unübersichtlich:
                              HUMMEL4_parser.png

                              Der Schraubenhuber flog eben direkt über unser Haus 😉
                              Screen der Karte, der Live-Daten und des js-logs

                              Hier das zeitgleiche json

                              { "now" : 1603552640.8,
                                "messages" : 1850340,
                                "aircraft" : [
                                  {"hex":"3df744","flight":"HUMMEL4 ","alt_baro":800,"alt_geom":900,"gs":133.7,"track":332.9,"baro_rate":-128,"squawk":"4426","emergency":"none","category":"A7","lat":50.900574,"lon":6.983445,"nic":9,"rc":75,"seen_pos":0.1,"version":2,"nic_baro":1,"nac_p":10,"nac_v":2,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":453,"seen":0.1,"rssi":-16.2},
                                  {"hex":"3c66ea","flight":"DLH3U   ","alt_baro":21875,"alt_geom":22450,"gs":402.4,"ias":271,"tas":376,"mach":0.612,"track":94.7,"track_rate":0.00,"roll":-0.2,"mag_heading":94.6,"baro_rate":-1856,"geom_rate":-1856,"squawk":"5245","emergency":"none","category":"A3","nav_qnh":1012.8,"nav_altitude_mcp":11008,"lat":50.328555,"lon":7.004230,"nic":8,"rc":186,"seen_pos":14.4,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":351,"seen":12.8,"rssi":-22.1},
                                  {"hex":"461e16","flight":"FIN3EF  ","alt_baro":40000,"alt_geom":40350,"gs":409.6,"ias":233,"tas":432,"mach":0.772,"track":226.7,"track_rate":0.00,"roll":0.0,"mag_heading":229.6,"baro_rate":64,"geom_rate":32,"squawk":"1000","category":"A3","nav_qnh":1013.6,"nav_altitude_mcp":40000,"nav_altitude_fms":40000,"nav_modes":["autopilot","vnav","tcas"],"lat":50.716599,"lon":7.030730,"nic":8,"rc":186,"seen_pos":2.0,"version":2,"nic_baro":1,"nac_p":10,"nac_v":2,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":2888,"seen":1.5,"rssi":-19.9},
                                  {"hex":"4400d0","alt_baro":21825,"alt_geom":22300,"gs":401.2,"ias":284,"mach":0.632,"track":116.5,"mag_heading":104.2,"baro_rate":1984,"geom_rate":1984,"squawk":"5333","version":2,"nac_v":2,"sil_type":"perhour","mlat":[],"tisb":[],"messages":74,"seen":19.3,"rssi":-22.4},
                                  {"hex":"ac45d5","alt_baro":14950,"alt_geom":15250,"gs":362.1,"ias":313,"tas":392,"mach":0.620,"track":238.0,"roll":-0.4,"mag_heading":235.7,"baro_rate":-2624,"geom_rate":-3072,"squawk":"7702","category":"A5","nav_qnh":1012.8,"nav_altitude_mcp":11008,"nav_heading":237.7,"lat":50.936016,"lon":6.497955,"nic":8,"rc":186,"seen_pos":48.4,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":711,"seen":42.3,"rssi":-21.2},
                                  {"hex":"406a59","version":0,"sil_type":"unknown","mlat":[],"tisb":[],"messages":45,"seen":221.6,"rssi":-23.3},
                                  {"hex":"4072c8","category":"A3","version":2,"sil_type":"perhour","mlat":[],"tisb":[],"messages":3337,"seen":71.3,"rssi":-22.5},
                                  {"hex":"407797","flight":"EZY21DC ","alt_baro":38000,"alt_geom":38400,"gs":381.5,"ias":244,"tas":434,"mach":0.772,"track":289.8,"track_rate":0.03,"roll":-0.4,"mag_heading":286.2,"baro_rate":0,"geom_rate":-32,"squawk":"6604","category":"A3","nav_qnh":1013.6,"nav_altitude_mcp":38016,"nav_heading":0.0,"lat":51.126088,"lon":6.040497,"nic":8,"rc":186,"seen_pos":0.2,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","mlat":[],"tisb":[],"messages":8064,"seen":0.2,"rssi":-20.7}
                                ]
                              }
                              

                              Warum mag der die Hummel nicht?

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

                                @Homoran sagte:

                                wie ich an die Geokoordinaten aus der Systemsteuerung komme

                                Wenn die Koordinaten in der Javascript-Instanz eingetragen sind:

                                Blockly_temp.JPG

                                Inhalt der Funktion getNative(id):

                                return getObject(id).native;
                                
                                1 Reply Last reply Reply Quote 1
                                • F
                                  fastfoot @Homoran last edited by

                                  @Homoran sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                                  Warum mag der die Hummel nicht?

                                  Normalerweise bekommst du ein Array mit Flügen zurück, die dann geparst werden können. Wenn du nur einen Flug hast, werden dessen Daten wohl schon aufgelöst, also Hummel4 ist kein Obkekt sondern bereits der Wert(sorry, bin nicht gut im Erklären, das ist eher @paul53 sein Ding)

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

                                    @fastfoot sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                                    Wenn du nur einen Flug hast, werden dessen Daten wohl schon aufgelöst, also Hummel4 ist kein Obkekt sondern bereits der Wert

                                    Ja, so in der Art sieht es aus

                                    @fastfoot sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                                    sorry, bin nicht gut im Erklären

                                    für mich reicht's

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

                                      @Homoran sagte in Brauche Hilfe um ein json abzurufen und auszuwerten:

                                      Ja, so in der Art sieht es aus

                                      Probiere mal hinter die letzte geschweifte Klammer eckige Klammern zu setzen, das forciert das Erstellen eines Array. Er meldet aber trotzdem mehr als ein Element, das verstehe ich nicht 😞 Er liefert neben dem Objekt noch zweimal true

                                      [{'flight':'HUMMEL4 ','lat':50.900574,'lon':6.983445,'alt_baro':800}]
                                      
                                      aircraft[
                                          flight.$contains(/./) and
                                          lat >50.78 and 
                                          lat < 51.08 and 
                                          alt_baro < 900
                                          ].{
                                          "flight":flight,
                                          "lat":lat,
                                          "lon":lon,
                                          "alt_baro":alt_baro 
                                      }[]
                                      
                                      

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <variables>
                                         <variable id="17xfL.e+0-6.cfxoIMob">json</variable>
                                         <variable id="j^BFzJQ/hdkEzTTe!.l_">expr</variable>
                                         <variable id=":s3D=Sg#cp3Ghx(ZTDdl">erg</variable>
                                         <variable id="C^O=/ydi(ot$dj2/M!HS">i</variable>
                                       </variables>
                                       <block type="variables_set" id="=Zan`!z6BJv/lt5yvcAk" x="88" y="13">
                                         <field name="VAR" id="17xfL.e+0-6.cfxoIMob">json</field>
                                         <value name="VALUE">
                                           <block type="convert_json2object" id="E8Vj:2;B#0VMQjtiI7vF">
                                             <value name="VALUE">
                                               <block type="text" id="N@UB[t{awydMGpb|}Ebx">
                                                 <field name="TEXT">{ "now" : 1603545549.7,   "messages" : 1678929,   "aircraft" : [     {"hex":"3c4d8f","flight":"ABR1540 ","alt_baro":34075,"ias":263,"mach":0.764,"mag_heading":54.8,"baro_rate":64,"geom_rate":32,"version":0,"nac_p":0,"sil":0,"sil_type":"unknown","mlat":[],"tisb":[],"messages":29,"seen":3.5,"rssi":-23.2},     {"hex":"3e3f1f","alt_baro":11075,"version":0,"nac_p":8,"sil":2,"sil_type":"unknown","mlat":[],"tisb":[],"messages":8,"seen":2.4,"rssi":-22.9},     {"hex":"3c56f3","flight":"EWG53N  ","alt_baro":18725,"alt_geom":19150,"gs":354.9,"ias":288,"tas":376,"mach":0.612,"track":221.7,"track_rate":0.06,"roll":-0.4,"mag_heading":223.1,"baro_rate":2048,"geom_rate":2016,"squawk":"4132","emergency":"none","category":"A3","nav_qnh":1012.8,"nav_altitude_mcp":24000,"lat":51.072507,"lon":6.167068,"nic":8,"rc":186,"seen_pos":38.8,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":148,"seen":3.8,"rssi":-23.1},     {"hex":"484160","flight":"KLM1631 ","alt_baro":41000,"alt_geom":41125,"gs":443.6,"ias":226,"tas":436,"mach":0.768,"track":159.7,"track_rate":-0.03,"roll":-0.4,"mag_heading":163.7,"baro_rate":64,"geom_rate":0,"squawk":"1000","category":"A0","nav_qnh":1013.2,"nav_altitude_mcp":41008,"lat":50.771453,"lon":6.746521,"nic":7,"rc":371,"seen_pos":3.4,"version":0,"nac_p":7,"nac_v":0,"sil":2,"sil_type":"unknown","mlat":[],"tisb":[],"messages":2832,"seen":2.6,"rssi":-20.3},     {"hex":"3ddc04","mlat":[],"tisb":[],"messages":52,"seen":101.5,"rssi":-19.9},     {"hex":"440395","flight":"EJU93MQ ","alt_baro":38000,"alt_geom":38425,"gs":414.3,"ias":242,"tas":432,"mach":0.764,"track":241.8,"track_rate":-0.03,"roll":0.4,"mag_heading":245.6,"baro_rate":0,"geom_rate":-32,"squawk":"1136","emergency":"none","category":"A3","nav_qnh":1013.6,"nav_altitude_mcp":38016,"lat":50.905655,"lon":7.165090,"nic":8,"rc":186,"seen_pos":1.2,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":653,"seen":0.5,"rssi":-20.2},     {"hex":"4070e2","version":2,"sil_type":"perhour","mlat":[],"tisb":[],"messages":219,"seen":64.5,"rssi":-23.4},     {"hex":"48548d","flight":"KLM73C  ","alt_baro":23600,"alt_geom":37350,"gs":451.2,"ias":233,"tas":414,"mach":0.724,"track":149.1,"track_rate":0.00,"roll":0.2,"mag_heading":149.9,"baro_rate":0,"geom_rate":-32,"squawk":"3177","emergency":"none","category":"A3","nav_qnh":1013.6,"nav_altitude_mcp":37024,"nav_altitude_fms":37008,"nav_modes":["autopilot","althold","tcas"],"lat":50.463464,"lon":7.402261,"nic":8,"rc":186,"seen_pos":45.5,"version":2,"nic_baro":1,"nac_p":10,"nac_v":2,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":3056,"seen":3.8,"rssi":-24.7},     {"hex":"aa9300","flight":"UAL2777 ","alt_baro":29825,"alt_geom":30275,"gs":475.0,"ias":321,"tas":488,"mach":0.828,"track":317.6,"roll":0.2,"mag_heading":314.3,"baro_rate":1408,"geom_rate":1376,"squawk":"0635","emergency":"none","category":"A5","nav_qnh":1012.8,"nav_altitude_mcp":34016,"nav_heading":314.3,"lat":50.999313,"lon":6.929255,"nic":8,"rc":186,"seen_pos":43.6,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":2082,"seen":1.5,"rssi":-22.9},     {"hex":"40697c","version":0,"sil_type":"unknown","mlat":[],"tisb":[],"messages":123,"seen":184.6,"rssi":-21.9},     {"hex":"3c0ca5","category":"A3","version":2,"sil_type":"perhour","mlat":[],"tisb":[],"messages":514,"seen":90.3,"rssi":-23.4},     {"hex":"3d11d6","mlat":[],"tisb":[],"messages":1345,"seen":165.9,"rssi":-23.0},     {"hex":"3ded08","mlat":[],"tisb":[],"messages":2819,"seen":171.5,"rssi":-22.5}   ] }</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="k/n^+L}X+kdj)JFN?)pb">
                                             <field name="VAR" id="17xfL.e+0-6.cfxoIMob">json</field>
                                             <value name="VALUE">
                                               <block type="convert_json2object" id="X6ehI@w+w2WmkF4Ntt,(">
                                                 <value name="VALUE">
                                                   <block type="text" id="@Ax=.ZO~Aa^H+wAw4Bb!">
                                                     <field name="TEXT">{ "now" : 1603552640.8,   "messages" : 1850340,   "aircraft" : [     {"hex":"3df744","flight":"HUMMEL4 ","alt_baro":800,"alt_geom":900,"gs":133.7,"track":332.9,"baro_rate":-128,"squawk":"4426","emergency":"none","category":"A7","lat":50.900574,"lon":6.983445,"nic":9,"rc":75,"seen_pos":0.1,"version":2,"nic_baro":1,"nac_p":10,"nac_v":2,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":453,"seen":0.1,"rssi":-16.2},     {"hex":"3c66ea","flight":"DLH3U   ","alt_baro":21875,"alt_geom":22450,"gs":402.4,"ias":271,"tas":376,"mach":0.612,"track":94.7,"track_rate":0.00,"roll":-0.2,"mag_heading":94.6,"baro_rate":-1856,"geom_rate":-1856,"squawk":"5245","emergency":"none","category":"A3","nav_qnh":1012.8,"nav_altitude_mcp":11008,"lat":50.328555,"lon":7.004230,"nic":8,"rc":186,"seen_pos":14.4,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":351,"seen":12.8,"rssi":-22.1},     {"hex":"461e16","flight":"FIN3EF  ","alt_baro":40000,"alt_geom":40350,"gs":409.6,"ias":233,"tas":432,"mach":0.772,"track":226.7,"track_rate":0.00,"roll":0.0,"mag_heading":229.6,"baro_rate":64,"geom_rate":32,"squawk":"1000","category":"A3","nav_qnh":1013.6,"nav_altitude_mcp":40000,"nav_altitude_fms":40000,"nav_modes":["autopilot","vnav","tcas"],"lat":50.716599,"lon":7.030730,"nic":8,"rc":186,"seen_pos":2.0,"version":2,"nic_baro":1,"nac_p":10,"nac_v":2,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":2888,"seen":1.5,"rssi":-19.9},     {"hex":"4400d0","alt_baro":21825,"alt_geom":22300,"gs":401.2,"ias":284,"mach":0.632,"track":116.5,"mag_heading":104.2,"baro_rate":1984,"geom_rate":1984,"squawk":"5333","version":2,"nac_v":2,"sil_type":"perhour","mlat":[],"tisb":[],"messages":74,"seen":19.3,"rssi":-22.4},     {"hex":"ac45d5","alt_baro":14950,"alt_geom":15250,"gs":362.1,"ias":313,"tas":392,"mach":0.620,"track":238.0,"roll":-0.4,"mag_heading":235.7,"baro_rate":-2624,"geom_rate":-3072,"squawk":"7702","category":"A5","nav_qnh":1012.8,"nav_altitude_mcp":11008,"nav_heading":237.7,"lat":50.936016,"lon":6.497955,"nic":8,"rc":186,"seen_pos":48.4,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","gva":2,"sda":2,"mlat":[],"tisb":[],"messages":711,"seen":42.3,"rssi":-21.2},     {"hex":"406a59","version":0,"sil_type":"unknown","mlat":[],"tisb":[],"messages":45,"seen":221.6,"rssi":-23.3},     {"hex":"4072c8","category":"A3","version":2,"sil_type":"perhour","mlat":[],"tisb":[],"messages":3337,"seen":71.3,"rssi":-22.5},     {"hex":"407797","flight":"EZY21DC ","alt_baro":38000,"alt_geom":38400,"gs":381.5,"ias":244,"tas":434,"mach":0.772,"track":289.8,"track_rate":0.03,"roll":-0.4,"mag_heading":286.2,"baro_rate":0,"geom_rate":-32,"squawk":"6604","category":"A3","nav_qnh":1013.6,"nav_altitude_mcp":38016,"nav_heading":0.0,"lat":51.126088,"lon":6.040497,"nic":8,"rc":186,"seen_pos":0.2,"version":2,"nic_baro":1,"nac_p":9,"nac_v":1,"sil":3,"sil_type":"perhour","mlat":[],"tisb":[],"messages":8064,"seen":0.2,"rssi":-20.7}   ] }</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="v)o8[|Cl)9TMCZ?w57EJ">
                                                 <field name="VAR" id="j^BFzJQ/hdkEzTTe!.l_">expr</field>
                                                 <value name="VALUE">
                                                   <block type="text" id="${+RanyDz#59vb@V6dYO">
                                                     <field name="TEXT">aircraft[     lat &gt;50.78 and      lat &lt; 51.08 and      alt_baro &lt; 1000     ].{     "flight":flight,     "lat":lat,     "lon":lon,     "alt_baro":alt_baro  }[]</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="lhH4rQ~:glMfw._JOlPP">
                                                     <field name="VAR" id=":s3D=Sg#cp3Ghx(ZTDdl">erg</field>
                                                     <value name="VALUE">
                                                       <block type="convert_jsonata" id="Bbs|KtZ,ky,}7I(4UNjg">
                                                         <value name="EXPRESSION">
                                                           <shadow type="text" id="#II]/P^EG`5X%vq7p`JW">
                                                             <field name="TEXT">*</field>
                                                           </shadow>
                                                           <block type="variables_get" id=")J|PZuc2d!`ZYHpT`E;V">
                                                             <field name="VAR" id="j^BFzJQ/hdkEzTTe!.l_">expr</field>
                                                           </block>
                                                         </value>
                                                         <value name="TARGET">
                                                           <block type="variables_get" id="mRA`B%EA,A^9Ag+Po%ju">
                                                             <field name="VAR" id="17xfL.e+0-6.cfxoIMob">json</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="controls_if" id="_YdP)#=i2B#A*bbt9(FJ">
                                                         <value name="IF0">
                                                           <block type="variables_get" id="Ww@AV!LH.n^M@eb0a%{k">
                                                             <field name="VAR" id=":s3D=Sg#cp3Ghx(ZTDdl">erg</field>
                                                           </block>
                                                         </value>
                                                         <statement name="DO0">
                                                           <block type="debug" id=".5NIWaw#TszdX-_~e3Z$">
                                                             <field name="Severity">log</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id="cW^.=02N.@Toj9XyG|.8">
                                                                 <field name="TEXT">test</field>
                                                               </shadow>
                                                               <block type="variables_get" id="igi?fBev!HhzimQ]m5rv">
                                                                 <field name="VAR" id=":s3D=Sg#cp3Ghx(ZTDdl">erg</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="controls_forEach" id="!5,(BmoX)#tFNNW0nmd!">
                                                                 <field name="VAR" id="C^O=/ydi(ot$dj2/M!HS">i</field>
                                                                 <value name="LIST">
                                                                   <block type="variables_get" id="}~mt$C+aq,DQex(mJrCL">
                                                                     <field name="VAR" id=":s3D=Sg#cp3Ghx(ZTDdl">erg</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="DO">
                                                                   <block type="controls_if" id="[6n[w2Fe0n!~BKYCh~w#">
                                                                     <value name="IF0">
                                                                       <block type="variables_get" id="uDiKTPb.Oaf;Qrr.t;PY">
                                                                         <field name="VAR" id="C^O=/ydi(ot$dj2/M!HS">i</field>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="debug" id=",yzRaj^wBGOm)FuXLE%~" inline="true" disabled="true">
                                                                         <field name="Severity">log</field>
                                                                         <value name="TEXT">
                                                                           <shadow type="text" id="7?iQ#CzTP0U+]T[-b=]L">
                                                                             <field name="TEXT">test</field>
                                                                           </shadow>
                                                                           <block type="variables_get" id="rE8-pu:p|-:2Dae0Qv,|">
                                                                             <field name="VAR" id="C^O=/ydi(ot$dj2/M!HS">i</field>
                                                                           </block>
                                                                         </value>
                                                                         <next>
                                                                           <block type="debug" id="%/D(|w$!p%VRD?LI:bHb" inline="true">
                                                                             <field name="Severity">log</field>
                                                                             <value name="TEXT">
                                                                               <shadow type="text" id="A%qyXK/pF4-P+4Sf@edo">
                                                                                 <field name="TEXT">test</field>
                                                                               </shadow>
                                                                               <block type="get_attr" id="O;^U$CxOpO#O8}SUt6c7">
                                                                                 <value name="PATH">
                                                                                   <shadow type="text" id="2(aoz`T2Jfz.2TuDe|Iu">
                                                                                     <field name="TEXT">flight</field>
                                                                                   </shadow>
                                                                                 </value>
                                                                                 <value name="OBJECT">
                                                                                   <block type="variables_get" id="^u|[||1Uh=x;S.,^CB`m">
                                                                                     <field name="VAR" id="C^O=/ydi(ot$dj2/M!HS">i</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <next>
                                                                               <block type="debug" id="9}rn4L5TBOn!8d%8}E.w" inline="true">
                                                                                 <field name="Severity">log</field>
                                                                                 <value name="TEXT">
                                                                                   <shadow type="text">
                                                                                     <field name="TEXT">test</field>
                                                                                   </shadow>
                                                                                   <block type="get_attr" id="n#F4D9:*.oV6?yfEj25E">
                                                                                     <value name="PATH">
                                                                                       <shadow type="text" id="LVq5v19VoKSm-UK)W@fO">
                                                                                         <field name="TEXT">lat</field>
                                                                                       </shadow>
                                                                                     </value>
                                                                                     <value name="OBJECT">
                                                                                       <block type="variables_get" id="SP,FXso4|/L}DlxTu{O6">
                                                                                         <field name="VAR" id="C^O=/ydi(ot$dj2/M!HS">i</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <next>
                                                                                   <block type="debug" id=".bg8w!-4#3x..B@,NW(j" inline="true">
                                                                                     <field name="Severity">log</field>
                                                                                     <value name="TEXT">
                                                                                       <shadow type="text">
                                                                                         <field name="TEXT">test</field>
                                                                                       </shadow>
                                                                                       <block type="get_attr" id=":GzM=9^:2?r*M||slBBF">
                                                                                         <value name="PATH">
                                                                                           <shadow type="text" id="LRZyLEu){,I)g[V(dhMW">
                                                                                             <field name="TEXT">lon</field>
                                                                                           </shadow>
                                                                                         </value>
                                                                                         <value name="OBJECT">
                                                                                           <block type="variables_get" id="/UraS|Fc?ctIvD-DAI]/">
                                                                                             <field name="VAR" id="C^O=/ydi(ot$dj2/M!HS">i</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <next>
                                                                                       <block type="debug" id=";UJZV:%dh/?f[U[BT.}G" inline="true">
                                                                                         <field name="Severity">log</field>
                                                                                         <value name="TEXT">
                                                                                           <shadow type="text">
                                                                                             <field name="TEXT">test</field>
                                                                                           </shadow>
                                                                                           <block type="get_attr" id="4B/VA^,2r?4/PYO*J`gr">
                                                                                             <value name="PATH">
                                                                                               <shadow type="text" id="`QF}d=G_9]6gU7/tt{gv">
                                                                                                 <field name="TEXT">alt_baro</field>
                                                                                               </shadow>
                                                                                             </value>
                                                                                             <value name="OBJECT">
                                                                                               <block type="variables_get" id="zh|}0+2O0]C9p^Sq~p$T">
                                                                                                 <field name="VAR" id="C^O=/ydi(ot$dj2/M!HS">i</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </next>
                                                                                   </block>
                                                                                 </next>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </statement>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                      </xml>
                                      

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

                                        @fastfoot bin da auch dran,

                                        wollte über length_of abfangen, klappt aber nicht.
                                        length_of_.png

                                        bei nur noch einem Flugzeug springt er nicht in den sonst_falls, bei mehr als einem läuft es richtig

                                        EDIT:
                                        läuft!
                                        habe das SONST_FALLS gegen ein SONST getauscht.

                                        Beim ersten Versuch damit hatte ich noch das falsch Objekt, nämlich i angegeben

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

                                          @paul53
                                          @fastfoot

                                          Euch beiden erst mal vielen Dank.
                                          Habe heute viel gelernt. Hoffentlich war das nicht zuviel und setzt sich noch 😉

                                          Habe jetzt nur noch ein Problem.
                                          Ich habe jetzt die erste Abfrage nach der Kennung weggelassen und wollte auch Flieger erfassen, deren Kennung ich nicht habe.
                                          Dieser Fall sollte abgefangen werden und mit "unbekannt" erstezt werden.
                                          Das klappt auch bei nur einem Flieger, bei mehreren Fliegern weitestgehend auch, jedoch wird IMMER zum Schluss ein weiterer Eintrag ohne jegliche Daten erstellt.

                                          zuviele_i.png

                                          Hier im Beispiel ist die Länge des Arrays 3, es gibt jedoch 4 Einträge.
                                          Die ersten 3 sind in Ordnung (im 3. lag keine Flugnummer vor und wurde korrekt mit "unbekannt" ersetzt)

                                          Wo kommt diese letzte Zeile noch her?
                                          Bevor ich sie mit unlauteren Mitteln abfange, was ohne weiteres gehen würde, würde ich es gerne verstehen.

                                          Außerdem hätte ich gerne i im debug angezeigt, bekomme bei 1-3 nur ein [object][object] und in der ominösen 4. Zeile ein true undefined
                                          ich dachte i wäre eine Zahl

                                          Danke

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

                                            @Homoran sagte:

                                            ich dachte i wäre eine Zahl

                                            Nein, das ist bei einer for-Schleife (Zählschleife) so, aber nicht bei for in Schleifen. Bei Arrays sollte man besser die Zählschleifen verwenden.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            404
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            53
                                            2362
                                            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