Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Auslesen und Filtern der autobahn.api von bund.dev

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Auslesen und Filtern der autobahn.api von bund.dev

Scheduled Pinned Locked Moved Skripten / Logik
30 Posts 6 Posters 2.5k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G gutgut30

    Hi zusammen,

    ich möchte Staumeldungen aus der Bund-Autobahn API auslesen, auf einen Geo-Koordinatenbereich begrenzen und die Meldungen in ioBroker als Datenpunkte speichern. Ziel ist die Ausgabe der Meldungen, die für mich relevant sind, in Jarvis.

    Leider stehe ich völlig auf dem Schlauch wie ich das Thema angehen muss.

    Das JSON bekommen ich aus der API raus.
    Ich kann auch auf einzelne Elemente des JSON zugreifen.
    Ich bekomme auch einen Filter gesetzt, der mir Ergebnisse filtert.

    Mir ist aber völlig unklar wie ich daraus wieder eine sinnvolle Liste bekommen die ich in Datenpunkte schreiben kann wie z. B.

    0_userdata.0.TrafficTest.Test.1.ID
    0_userdata.0.TrafficTest.Test.1.Title
    0_userdata.0.TrafficTest.Test.1.Delay

    0_userdata.0.TrafficTest.Test.2.ID
    0_userdata.0.TrafficTest.Test..Title
    0_userdata.0.TrafficTest.Test.2.Delay

    usw.

    Aktuell bekomme ich nur eine Liste gefilterter Geodaten aus dem Service. Ab da stoße ich ab meine Grenzen die Werte zusammenzuschrauben 😞

    Mag mir evtl. jemand auf die Sprünge helfen?

    API ist frei verfügbar:
    https://verkehr.autobahn.de/o/autobahn/A7/services/warning

    Mein Blockly schaut aktuell so aus:
    c3ae6bfb-b44c-4325-b5ba-f02671389250-image.png
    Das JavaScript zum Filtern (geht sicher auch in Blockly):

    let coordinates = x;
    
    // Filtere die Koordinaten
    let filteredCoordinates = coordinates.filter(coordinate => {
      // Extrahiere den Breitengrad
      let latitude = parseFloat(coordinate.split(',')[0]);
      
      // Filtere nach Koordinaten
      return (latitude > 51.0 && latitude < 54.0);
    });
    
    return filteredCoordinates
    
    

    Wenn jemand einen Tipp hat... Ich hab das Gefühl etwas planlos umherzuklicken.

    Danke & Grüße

    HomoranH Do not disturb
    HomoranH Do not disturb
    Homoran
    Global Moderator Administrators
    wrote on last edited by
    #2

    @gutgut30 ich weiss zwar selber nicht wie, aber das dürfte ein typischer Fall für JSONATA sein

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Reply Last reply
    1
    • G gutgut30

      Hi zusammen,

      ich möchte Staumeldungen aus der Bund-Autobahn API auslesen, auf einen Geo-Koordinatenbereich begrenzen und die Meldungen in ioBroker als Datenpunkte speichern. Ziel ist die Ausgabe der Meldungen, die für mich relevant sind, in Jarvis.

      Leider stehe ich völlig auf dem Schlauch wie ich das Thema angehen muss.

      Das JSON bekommen ich aus der API raus.
      Ich kann auch auf einzelne Elemente des JSON zugreifen.
      Ich bekomme auch einen Filter gesetzt, der mir Ergebnisse filtert.

      Mir ist aber völlig unklar wie ich daraus wieder eine sinnvolle Liste bekommen die ich in Datenpunkte schreiben kann wie z. B.

      0_userdata.0.TrafficTest.Test.1.ID
      0_userdata.0.TrafficTest.Test.1.Title
      0_userdata.0.TrafficTest.Test.1.Delay

      0_userdata.0.TrafficTest.Test.2.ID
      0_userdata.0.TrafficTest.Test..Title
      0_userdata.0.TrafficTest.Test.2.Delay

      usw.

      Aktuell bekomme ich nur eine Liste gefilterter Geodaten aus dem Service. Ab da stoße ich ab meine Grenzen die Werte zusammenzuschrauben 😞

      Mag mir evtl. jemand auf die Sprünge helfen?

      API ist frei verfügbar:
      https://verkehr.autobahn.de/o/autobahn/A7/services/warning

      Mein Blockly schaut aktuell so aus:
      c3ae6bfb-b44c-4325-b5ba-f02671389250-image.png
      Das JavaScript zum Filtern (geht sicher auch in Blockly):

      let coordinates = x;
      
      // Filtere die Koordinaten
      let filteredCoordinates = coordinates.filter(coordinate => {
        // Extrahiere den Breitengrad
        let latitude = parseFloat(coordinate.split(',')[0]);
        
        // Filtere nach Koordinaten
        return (latitude > 51.0 && latitude < 54.0);
      });
      
      return filteredCoordinates
      
      

      Wenn jemand einen Tipp hat... Ich hab das Gefühl etwas planlos umherzuklicken.

      Danke & Grüße

      mickymM Online
      mickymM Online
      mickym
      Most Active
      wrote on last edited by mickym
      #3

      @gutgut30 Du musst halt wissen, was Du willst. Das was als Daten rauskommt würde ich erst mal formatieren, damit Du weisst was Du willst und dann nutzt Du halt den JSONATA Exerciser.

      {
        "warning": [
          {
            "identifier": "undefined--vi-zus.2024-07-04_10-30-00-000.f_408.de0",
            "icon": "101",
            "isBlocked": "false",
            "future": false,
            "extent": "50.430193462903084,9.74320522858274,50.44325008739079,9.742445378612615",
            "point": "50.430193462903084,9.74320522858274",
            "startLcPosition": "119",
            "display_type": "WARNING",
            "subtitle": " Würzburg -> Fulda",
            "title": "A7 | Uttrichshausen - Steinborntal",
            "startTimestamp": "2024-07-04T10:30:00+02:00",
            "coordinate": {
              "lat": 50.430193462903084,
              "long": 9.74320522858274
            },
            "description": [
              "Beginn: 04.07.24 um 10:30 Uhr",
              "Ende: 31.03.25 um 09:00 Uhr",
              "",
              "Zusammengesetzte Verkehrsinformation, von 04.07.2024, 10:30, bis 31.03.2025, 09:00",
              "A7: Würzburg -> Fulda, zwischen 1.4 km hinter Uttrichshausen und 1.2 km vor Steinborntal",
              "",
              "A7 Würzburg - Fulda zwischen Raststätte Uttrichshausen Ost und Rastplatz Riederberg in beiden Richtungen Bauarbeiten, geänderte Verkehrsführung, vorübergehende Begrenzung der Fahrbahnbreite auf 3,25 m, Standstreifen gesperrt, bis 31.03.2025 09:00 Uhr"
            ],
            "routeRecommendation": [],
            "footer": [],
            "lorryParkingFeatureIcons": [],
            "geometry": {
              "type": "LineString",
              "coordinates": [
                [
                  9.743205229,
                  50.430193463
                ],
                [
                  9.7432188,
                  50.430219401
                ],
                [
                  9.7436614,
                  50.431244701
                ],
                [
                  9.7439945,
                  50.432200501
                ],
                [
                  9.7442829,
                  50.433200901
                ],
                [
                  9.7443348,
                  50.433423501
                ],
                [
                  9.7444231,
                  50.433803101
                ],
                [
                  9.7444709,
                  50.434197001
                ],
                [
                  9.7445706,
                  50.434783201
                ],
                [
                  9.7446091,
                  50.435166601
                ],
                [
                  9.7446516,
                  50.435695901
                ],
                [
                  9.74464,
                  50.435961701
                ],
                [
                  9.7446438,
                  50.436458701
                ],
                [
                  9.7446245,
                  50.436957601
                ],
                [
                  9.7445792,
                  50.437544901
                ],
                [
                  9.744503,
                  50.438044301
                ],
                [
                  9.744446,
                  50.438409201
                ],
                [
                  9.7443193,
                  50.438959701
                ],
                [
                  9.7442058,
                  50.439392201
                ],
                [
                  9.7440923,
                  50.439743001
                ],
                [
                  9.7440321,
                  50.439959801
                ],
                [
                  9.7436357,
                  50.441030901
                ],
                [
                  9.7432743,
                  50.441788701
                ],
                [
                  9.7429334,
                  50.442449701
                ],
                [
                  9.7425476,
                  50.443101301
                ],
                [
                  9.742445379,
                  50.443250087
                ]
              ]
            }
          },
          {
            "identifier": "undefined--vi-zus.2024-07-04_10-30-00-000.f_407.de0",
            "icon": "101",
            "isBlocked": "false",
            "future": false,
            "extent": "50.426909019570566,9.740974975782759,50.39708850210967,9.731261203752828",
            "point": "50.426909019570566,9.740974975782759",
            "startLcPosition": "120",
            "display_type": "WARNING",
            "subtitle": " Fulda -> Würzburg",
            "title": "A7 | Lohmühle - Am Forsthaus",
            "startTimestamp": "2024-07-04T10:30:00+02:00",
            "coordinate": {
              "lat": 50.426909019570566,
              "long": 9.740974975782759
            },
            "description": [
              "Beginn: 04.07.24 um 10:30 Uhr",
              "Ende: 31.03.25 um 09:00 Uhr",
              "",
              "Zusammengesetzte Verkehrsinformation, von 04.07.2024, 10:30, bis 31.03.2025, 09:00",
              "A7: Fulda -> Würzburg, zwischen 1.1 km hinter Lohmühle und 1.5 km vor Am Forsthaus",
              "",
              "A7 Würzburg - Fulda zwischen Raststätte Uttrichshausen Ost und Rastplatz Riederberg in beiden Richtungen Bauarbeiten, geänderte Verkehrsführung, vorübergehende Begrenzung der Fahrbahnbreite auf 3,25 m, Standstreifen gesperrt, bis 31.03.2025 09:00 Uhr"
            ],
            "routeRecommendation": [],
            "footer": [],
            "lorryParkingFeatureIcons": [],
            "geometry": {
              "type": "LineString",
              "coordinates": [
                [
                  9.740974976,
                  50.42690902
                ],
                [
                  9.7399004,
                  50.425386801
                ],
                [
                  9.7385381,
                  50.423505301
                ],
                [
                  9.7383614,
                  50.423238101
                ],
                [
                  9.7373185,
                  50.421630001
                ],
                [
                  9.7369947,
                  50.421121801
                ],
                [
                  9.736329,
                  50.419990601
                ],
                [
                  9.7357006,
                  50.418856701
                ],
                [
                  9.7352888,
                  50.418051001
                ],
                [
                  9.7343077,
                  50.416059501
                ],
                [
                  9.7340828,
                  50.415486501
                ],
                [
                  9.7337451,
                  50.414704801
                ],
                [
                  9.7335599,
                  50.414255901
                ],
                [
                  9.733129,
                  50.413155601
                ],
                [
                  9.7327372,
                  50.412049301
                ],
                [
                  9.7323845,
                  50.410937701
                ],
                [
                  9.7320713,
                  50.409821301
                ],
                [
                  9.7317976,
                  50.408700601
                ],
                [
                  9.7315636,
                  50.407576301
                ],
                [
                  9.7313694,
                  50.406448801
                ],
                [
                  9.7311736,
                  50.405239901
                ],
                [
                  9.7310372,
                  50.404164701
                ],
                [
                  9.7309992,
                  50.403747101
                ],
                [
                  9.7309503,
                  50.403173501
                ],
                [
                  9.7309137,
                  50.402671301
                ],
                [
                  9.7309031,
                  50.402092101
                ],
                [
                  9.7309003,
                  50.401505801
                ],
                [
                  9.7309231,
                  50.400880001
                ],
                [
                  9.7309476,
                  50.400198601
                ],
                [
                  9.7309891,
                  50.399642101
                ],
                [
                  9.7310835,
                  50.398456001
                ],
                [
                  9.7311481,
                  50.397865901
                ],
                [
                  9.7312311,
                  50.397276701
                ],
                [
                  9.731261204,
                  50.397088502
                ]
              ]
            }
          },
          {
            "identifier": "undefined--vi-zus.2024-07-04_10-30-00-000.f_405.de0",
            "icon": "101",
            "isBlocked": "false",
            "future": false,
            "extent": "50.44533979901027,9.7405639528305,50.44218133975253,9.742885140125773",
            "point": "50.44533979901027,9.7405639528305",
            "startLcPosition": "121",
            "display_type": "WARNING",
            "subtitle": " Fulda -> Würzburg",
            "title": "A7 | Steinborntal - Lohmühle",
            "startTimestamp": "2024-07-04T10:30:00+02:00",
            "coordinate": {
              "lat": 50.44533979901027,
              "long": 9.7405639528305
            },
            "description": [
              "Beginn: 04.07.24 um 10:30 Uhr",
              "Ende: 31.03.25 um 09:00 Uhr",
              "",
              "Zusammengesetzte Verkehrsinformation, von 04.07.2024, 10:30, bis 31.03.2025, 09:00",
              "A7: Fulda -> Würzburg, zwischen 0.9 km hinter Steinborntal und 0.6 km vor Lohmühle",
              "",
              "A7 Würzburg - Fulda zwischen Raststätte Uttrichshausen Ost und Rastplatz Riederberg in beiden Richtungen Bauarbeiten, geänderte Verkehrsführung, vorübergehende Begrenzung der Fahrbahnbreite auf 3,25 m, Standstreifen gesperrt, bis 31.03.2025 09:00 Uhr"
            ],
            "routeRecommendation": [],
            "footer": [],
            "lorryParkingFeatureIcons": [],
            "geometry": {
              "type": "LineString",
              "coordinates": [
                [
                  9.740563953,
                  50.445339799
                ],
                [
                  9.7406975,
                  50.445201401
                ],
                [
                  9.7413367,
                  50.444438501
                ],
                [
                  9.7416578,
                  50.444025901
                ],
                [
                  9.7419736,
                  50.443642501
                ],
                [
                  9.7423763,
                  50.443062501
                ],
                [
                  9.7427658,
                  50.442410401
                ],
                [
                  9.74288514,
                  50.44218134
                ]
              ]
            }
          },
          {
            "identifier": "undefined--vi-avl.2025-03-17_17-51-44-000.f.de0",
            "icon": "101",
            "isBlocked": "false",
            "future": false,
            "extent": "54.307949291678234,9.752586500286746,54.31283698496485,9.748347609991129",
            "point": "54.307949291678234,9.752586500286746",
            "startLcPosition": "295",
            "display_type": "WARNING",
            "subtitle": " Hamburg -> Flensburg",
            "title": "A7 | Rendsburg - Rade",
            "startTimestamp": "2025-03-17T17:51:44+01:00",
            "delayTimeValue": "0",
            "abnormalTrafficType": "SLOW_TRAFFIC",
            "averageSpeed": "42.5",
            "coordinate": {
              "lat": 54.307949291678234,
              "long": 9.752586500286746
            },
            "description": [
              "Beginn: 17.03.25 um 17:51 Uhr",
              "Ende: 17.03.25 um 18:04 Uhr",
              "",
              "Angespannte Verkehrslage, von 17.03.2025, 17:51, bis 17.03.2025, 18:04",
              "A7: Hamburg -> Flensburg, zwischen 0.3 km hinter AK Rendsburg und 1.7 km vor Rade",
              "",
              "Langsamer Verkehr",
              "Reisezeitverlust: 0 Minuten",
              "Durchschnittsgeschwindigkeit: 42 km/h"
            ],
            "routeRecommendation": [],
            "footer": [],
            "lorryParkingFeatureIcons": [],
            "geometry": {
              "type": "LineString",
              "coordinates": [
                [
                  9.7525865,
                  54.307949292
                ],
                [
                  9.7517719,
                  54.308933801
                ],
                [
                  9.7514076,
                  54.309374001
                ],
                [
                  9.750667,
                  54.310234101
                ],
                [
                  9.7501756,
                  54.310797801
                ],
                [
                  9.7497862,
                  54.311241701
                ],
                [
                  9.7488531,
                  54.312280601
                ],
                [
                  9.7484066,
                  54.312773901
                ],
                [
                  9.74834761,
                  54.312836985
                ]
              ]
            }
          }
        ]
      }
      

      Delay finde ich gar nicht. Aber eigene Objekte zu erstellen ist mit JSONATA einfach.
      Ah ja jetzt sehe ich es - ist aber nicht in jeder Warnung vorhanden

      [
        {
          "ID": "undefined--vi-zus.2024-07-04_10-30-00-000.f_408.de0",
          "Titel": "A7 | Uttrichshausen - Steinborntal"
        },
        {
          "ID": "undefined--vi-zus.2024-07-04_10-30-00-000.f_407.de0",
          "Titel": "A7 | Lohmühle - Am Forsthaus"
        },
        {
          "ID": "undefined--vi-zus.2024-07-04_10-30-00-000.f_405.de0",
          "Titel": "A7 | Steinborntal - Lohmühle"
        },
        {
          "ID": "undefined--vi-avl.2025-03-17_17-51-44-000.f.de0",
          "Titel": "A7 | Rendsburg - Rade",
          "Verzögerung": "0",
          "Durchschnittsgeschwindigkeit": "42.5"
        }
      ]
      

      siehe: https://try.jsonata.org/1vymVEapr

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Reply Last reply
      0
      • G gutgut30

        Hi zusammen,

        ich möchte Staumeldungen aus der Bund-Autobahn API auslesen, auf einen Geo-Koordinatenbereich begrenzen und die Meldungen in ioBroker als Datenpunkte speichern. Ziel ist die Ausgabe der Meldungen, die für mich relevant sind, in Jarvis.

        Leider stehe ich völlig auf dem Schlauch wie ich das Thema angehen muss.

        Das JSON bekommen ich aus der API raus.
        Ich kann auch auf einzelne Elemente des JSON zugreifen.
        Ich bekomme auch einen Filter gesetzt, der mir Ergebnisse filtert.

        Mir ist aber völlig unklar wie ich daraus wieder eine sinnvolle Liste bekommen die ich in Datenpunkte schreiben kann wie z. B.

        0_userdata.0.TrafficTest.Test.1.ID
        0_userdata.0.TrafficTest.Test.1.Title
        0_userdata.0.TrafficTest.Test.1.Delay

        0_userdata.0.TrafficTest.Test.2.ID
        0_userdata.0.TrafficTest.Test..Title
        0_userdata.0.TrafficTest.Test.2.Delay

        usw.

        Aktuell bekomme ich nur eine Liste gefilterter Geodaten aus dem Service. Ab da stoße ich ab meine Grenzen die Werte zusammenzuschrauben 😞

        Mag mir evtl. jemand auf die Sprünge helfen?

        API ist frei verfügbar:
        https://verkehr.autobahn.de/o/autobahn/A7/services/warning

        Mein Blockly schaut aktuell so aus:
        c3ae6bfb-b44c-4325-b5ba-f02671389250-image.png
        Das JavaScript zum Filtern (geht sicher auch in Blockly):

        let coordinates = x;
        
        // Filtere die Koordinaten
        let filteredCoordinates = coordinates.filter(coordinate => {
          // Extrahiere den Breitengrad
          let latitude = parseFloat(coordinate.split(',')[0]);
          
          // Filtere nach Koordinaten
          return (latitude > 51.0 && latitude < 54.0);
        });
        
        return filteredCoordinates
        
        

        Wenn jemand einen Tipp hat... Ich hab das Gefühl etwas planlos umherzuklicken.

        Danke & Grüße

        mickymM Online
        mickymM Online
        mickym
        Most Active
        wrote on last edited by mickym
        #4

        @gutgut30 Und für das Filtern nun wieder Javascript Code zu verwenden, ist ja wohl alles andere als sinnvoll.

        Um Breitengrad zwischen 2 Werten zu filtern - warum nimmt man da nicht die Filterfunktion in JSONATA.

        warning[coordinate.lat > 51.0 and coordinate.lat < 54.4].{"ID": identifier, "Titel":title,
        "Verzögerung": delayTimeValue,
        "Durchschnittsgeschwindigkeit" : averageSpeed}
        

        Mit den paar Zeilen bekommt man doch alles was man braucht?

        9dba76ae-36e2-4467-a7ed-20fc8a08f2da-image.png

        Hier wieder zum selbst ausprobieren:

        https://try.jsonata.org/UANWNXNZ2

        Und wenn Du das auch bei einem Objekt als Liste brauchst, machst einfach noch eckige KLammern dahinter.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Reply Last reply
        0
        • mickymM Online
          mickymM Online
          mickym
          Most Active
          wrote on last edited by
          #5

          @gutgut30 sagte in Auslesen und Filtern der autobahn.api von bund.dev:

          https://verkehr.autobahn.de/o/autobahn/A7/services/warning

          Ich mach Dir noch ein fertiges Blockly - nervig ist nur, dass die Blockly Freunde bei dem JSONATA Baustein, dass sequence nicht wegmachen. Aber nachdem ich kein Puzzlefreund bin, werde ich kein Issue erstellen.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Reply Last reply
          0
          • mickymM Online
            mickymM Online
            mickym
            Most Active
            wrote on last edited by mickym
            #6

            Leider wird das Puzzeln mit Blockly und JSONATA immer schlechter, da irgendwelche misteriösen Elemente angehängt werden.

            wie in dem folgenden Beispiel:

            , sequence: true, keepSingleton: true 
            

            Wie gesagt, ich werde dafür kein Issue aufmachen, da ich kein Puzzlefreund bin. (Kurze Anmerkung: Mit NodeRed passiert das natürlich nicht. 😉 )

            Ansonsten haben ich mal alles was ich vorher geschrieben habe, nun in einem Blockly zusammengefasst und mit folgendem Ergebnis:

            f5124538-c404-49bd-9a9e-18b8ad9b3ccc-image.png

            Hier das Blockly:

            cae1cb1f-705e-4020-af19-704a48eb6cf4-image.png

            Und hier der Import:

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="TsBWRSFXNh.A;/$0K0mK">warnungen</variable>
               <variable id="PEWpo@6nj.!gL.DKxpGw">i</variable>
             </variables>
             <block type="http_get" id="WNF0PxnI%5I!By$;Sq^y" x="13" y="63">
               <field name="TIMEOUT">2000</field>
               <field name="UNIT">ms</field>
               <field name="TYPE">text</field>
               <value name="URL">
                 <shadow type="text" id="5j:K6sEa1}$M/k`]70~1">
                   <field name="TEXT">https://verkehr.autobahn.de/o/autobahn/A7/services/warning</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="debug" id="|fceUm1}aZ*#lwG,1t$m">
                   <field name="Severity">info</field>
                   <value name="TEXT">
                     <shadow type="text" id="792AN-7:=Cs,}TA!Q11O">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="http_response" id="ivR0J@e:Zy[5o+ejJN^u">
                       <field name="ATTR">response.data</field>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="Ab2/(#O*qo4Pj(g,!(xF">
                       <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                       <value name="VALUE">
                         <block type="convert_jsonata" id="_jm2wcowL)JLsC/#k=z6">
                           <value name="EXPRESSION">
                             <shadow type="text" id="ek?H*3)F@m}ZKAsF[[x4">
                               <field name="TEXT">$.warning[coordinate.lat &gt; 51.0 and coordinate.lat &lt; 54.4].{"ID": identifier, "Titel":title, "Verzögerung": delayTimeValue, "Durchschnittsgeschwindigkeit" : averageSpeed}[]</field>
                             </shadow>
                           </value>
                           <value name="TARGET">
                             <block type="convert_json2object" id="Hm_)^fdB}Tf_/v,oE)(B">
                               <value name="VALUE">
                                 <block type="http_response" id="+KJZvgLtv~7tfx2u_x63">
                                   <field name="ATTR">response.data</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="*E8ew))nH|z`!Gv6gT{*">
                           <field name="Severity">info</field>
                           <value name="TEXT">
                             <shadow type="text" id="oFgboHKTM0Oi[rB!j=uU">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="variables_get" id="Xs8`_!{I,h;gI=pJ0Uwx">
                               <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                             </block>
                           </value>
                           <next>
                             <block type="controls_forEach" id="fE-DHy9I{GB7-*D6$GYw">
                               <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                               <value name="LIST">
                                 <block type="variables_get" id=".y#wc$+*04%h)Fv2w5t)">
                                   <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                                 </block>
                               </value>
                               <statement name="DO">
                                 <block type="debug" id="_})eC/@G50j=0OKk;Dj#" disabled="true">
                                   <field name="Severity">info</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="AZ{G?D1T%f!(bdE/4gcs">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="convert_type" id="}fW)o3qHcsDC1T=oj?F^">
                                       <value name="ITEM">
                                         <block type="variables_get" id="N}Zom@ceA_FDn)-sQY{U">
                                           <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="controls_if" id="o|eOWN8QQGkE!!Sjr=1F">
                                       <value name="IF0">
                                         <block type="logic_compare" id="SABD$XR@d+)vHKiEp!bB">
                                           <field name="OP">EQ</field>
                                           <value name="A">
                                             <block type="convert_type" id="8:T@0dCjA#[gAV0@t,55">
                                               <value name="ITEM">
                                                 <block type="variables_get" id="z(k$^p}x*d^G2AA,YlaU">
                                                   <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="text" id="(.PcuXe/2D(g{4VyQxwl">
                                               <field name="TEXT">object</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="debug" id="c`j|nx22r)IroE3^fPrz">
                                           <field name="Severity">info</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="f2#nKs-jsRx/N`r[b|[%">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="text_join" id="E0b(7D~-We{y/3LWha5J">
                                               <mutation items="2"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="4$Y_F{(lFTZ%O+#~3_)(">
                                                   <field name="TEXT">Stauwarnung: </field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="get_attr" id="982)AD+-!Wb5x0=B,NBb">
                                                   <value name="PATH">
                                                     <shadow type="text" id="2zaA6h$dZvL^Z66.4XdI">
                                                       <field name="TEXT">Titel</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="OBJECT">
                                                     <shadow type="get_object" id="T2v-Q4/t~Dh7`c+0ofSv">
                                                       <field name="OID">Object ID</field>
                                                     </shadow>
                                                     <block type="variables_get" id="mOHsU=[BU$$e]i~)6#?1">
                                                       <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="debug" id="9MY6f{-Z3|k_DH|eOv;`">
                                               <field name="Severity">info</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="f2#nKs-jsRx/N`r[b|[%">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="text_join" id="jfTuOQJJQnB@POsc/M=H">
                                                   <mutation items="3"></mutation>
                                                   <value name="ADD0">
                                                     <block type="text" id="$DXPfX%0kd/u_3pO{wdn">
                                                       <field name="TEXT">Verzögerung: </field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="get_attr" id="1|wQ8pQFDnM;jELCxz)h">
                                                       <value name="PATH">
                                                         <shadow type="text" id="7tIRBg6`lmIM(E,C6CT/">
                                                           <field name="TEXT">Verzögerung</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="OBJECT">
                                                         <shadow type="get_object" id="1,prQ43WO@)tG|ag^NNk">
                                                           <field name="OID">Object ID</field>
                                                         </shadow>
                                                         <block type="variables_get" id="@)=vd/n}BHhXpa]wNFYz">
                                                           <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="ADD2">
                                                     <block type="text" id="3D+.q7*Y0S[+3_5^$M-}">
                                                       <field name="TEXT"> min.</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
            </xml>
            

            Wie gesagt die Typprüfung ist wegen der komischen Elemente, die Blockly oder der der JS Adapter an das Array anhängt erforderlich.

            Der JSONATA Ausdruck inklusive der Filterung lautet wie folgt:

            $.warning[coordinate.lat > 51.0 and coordinate.lat < 54.4].{"ID": identifier, "Titel":title, "Verzögerung": delayTimeValue, "Durchschnittsgeschwindigkeit" : averageSpeed}[]
            

            Will man den Breitengrad auch noch filtern, dann halt diesen mit eckigen Klammern auch noch in den Filterausdruck aufnehmen.

            Und das alles OHNE auch nur EINE Zeile Javascript Code schreiben zu müssen. Kurz und kompakt.
            Und ich hoffe, dass das wieder mal ein Beispiel ist, dass es wert ist sich mit JSONATA zu beschäftigen und wieviel Code schreiben, man sich damit spart.

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            mickymM G 2 Replies Last reply
            0
            • mickymM mickym

              Leider wird das Puzzeln mit Blockly und JSONATA immer schlechter, da irgendwelche misteriösen Elemente angehängt werden.

              wie in dem folgenden Beispiel:

              , sequence: true, keepSingleton: true 
              

              Wie gesagt, ich werde dafür kein Issue aufmachen, da ich kein Puzzlefreund bin. (Kurze Anmerkung: Mit NodeRed passiert das natürlich nicht. 😉 )

              Ansonsten haben ich mal alles was ich vorher geschrieben habe, nun in einem Blockly zusammengefasst und mit folgendem Ergebnis:

              f5124538-c404-49bd-9a9e-18b8ad9b3ccc-image.png

              Hier das Blockly:

              cae1cb1f-705e-4020-af19-704a48eb6cf4-image.png

              Und hier der Import:

              <xml xmlns="https://developers.google.com/blockly/xml">
               <variables>
                 <variable id="TsBWRSFXNh.A;/$0K0mK">warnungen</variable>
                 <variable id="PEWpo@6nj.!gL.DKxpGw">i</variable>
               </variables>
               <block type="http_get" id="WNF0PxnI%5I!By$;Sq^y" x="13" y="63">
                 <field name="TIMEOUT">2000</field>
                 <field name="UNIT">ms</field>
                 <field name="TYPE">text</field>
                 <value name="URL">
                   <shadow type="text" id="5j:K6sEa1}$M/k`]70~1">
                     <field name="TEXT">https://verkehr.autobahn.de/o/autobahn/A7/services/warning</field>
                   </shadow>
                 </value>
                 <statement name="STATEMENT">
                   <block type="debug" id="|fceUm1}aZ*#lwG,1t$m">
                     <field name="Severity">info</field>
                     <value name="TEXT">
                       <shadow type="text" id="792AN-7:=Cs,}TA!Q11O">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="http_response" id="ivR0J@e:Zy[5o+ejJN^u">
                         <field name="ATTR">response.data</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="Ab2/(#O*qo4Pj(g,!(xF">
                         <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                         <value name="VALUE">
                           <block type="convert_jsonata" id="_jm2wcowL)JLsC/#k=z6">
                             <value name="EXPRESSION">
                               <shadow type="text" id="ek?H*3)F@m}ZKAsF[[x4">
                                 <field name="TEXT">$.warning[coordinate.lat &gt; 51.0 and coordinate.lat &lt; 54.4].{"ID": identifier, "Titel":title, "Verzögerung": delayTimeValue, "Durchschnittsgeschwindigkeit" : averageSpeed}[]</field>
                               </shadow>
                             </value>
                             <value name="TARGET">
                               <block type="convert_json2object" id="Hm_)^fdB}Tf_/v,oE)(B">
                                 <value name="VALUE">
                                   <block type="http_response" id="+KJZvgLtv~7tfx2u_x63">
                                     <field name="ATTR">response.data</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="*E8ew))nH|z`!Gv6gT{*">
                             <field name="Severity">info</field>
                             <value name="TEXT">
                               <shadow type="text" id="oFgboHKTM0Oi[rB!j=uU">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="variables_get" id="Xs8`_!{I,h;gI=pJ0Uwx">
                                 <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                               </block>
                             </value>
                             <next>
                               <block type="controls_forEach" id="fE-DHy9I{GB7-*D6$GYw">
                                 <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                 <value name="LIST">
                                   <block type="variables_get" id=".y#wc$+*04%h)Fv2w5t)">
                                     <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                                   </block>
                                 </value>
                                 <statement name="DO">
                                   <block type="debug" id="_})eC/@G50j=0OKk;Dj#" disabled="true">
                                     <field name="Severity">info</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="AZ{G?D1T%f!(bdE/4gcs">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="convert_type" id="}fW)o3qHcsDC1T=oj?F^">
                                         <value name="ITEM">
                                           <block type="variables_get" id="N}Zom@ceA_FDn)-sQY{U">
                                             <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="controls_if" id="o|eOWN8QQGkE!!Sjr=1F">
                                         <value name="IF0">
                                           <block type="logic_compare" id="SABD$XR@d+)vHKiEp!bB">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="convert_type" id="8:T@0dCjA#[gAV0@t,55">
                                                 <value name="ITEM">
                                                   <block type="variables_get" id="z(k$^p}x*d^G2AA,YlaU">
                                                     <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="(.PcuXe/2D(g{4VyQxwl">
                                                 <field name="TEXT">object</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="debug" id="c`j|nx22r)IroE3^fPrz">
                                             <field name="Severity">info</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="f2#nKs-jsRx/N`r[b|[%">
                                                 <field name="TEXT">test</field>
                                               </shadow>
                                               <block type="text_join" id="E0b(7D~-We{y/3LWha5J">
                                                 <mutation items="2"></mutation>
                                                 <value name="ADD0">
                                                   <block type="text" id="4$Y_F{(lFTZ%O+#~3_)(">
                                                     <field name="TEXT">Stauwarnung: </field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="get_attr" id="982)AD+-!Wb5x0=B,NBb">
                                                     <value name="PATH">
                                                       <shadow type="text" id="2zaA6h$dZvL^Z66.4XdI">
                                                         <field name="TEXT">Titel</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="OBJECT">
                                                       <shadow type="get_object" id="T2v-Q4/t~Dh7`c+0ofSv">
                                                         <field name="OID">Object ID</field>
                                                       </shadow>
                                                       <block type="variables_get" id="mOHsU=[BU$$e]i~)6#?1">
                                                         <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="debug" id="9MY6f{-Z3|k_DH|eOv;`">
                                                 <field name="Severity">info</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="f2#nKs-jsRx/N`r[b|[%">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="text_join" id="jfTuOQJJQnB@POsc/M=H">
                                                     <mutation items="3"></mutation>
                                                     <value name="ADD0">
                                                       <block type="text" id="$DXPfX%0kd/u_3pO{wdn">
                                                         <field name="TEXT">Verzögerung: </field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD1">
                                                       <block type="get_attr" id="1|wQ8pQFDnM;jELCxz)h">
                                                         <value name="PATH">
                                                           <shadow type="text" id="7tIRBg6`lmIM(E,C6CT/">
                                                             <field name="TEXT">Verzögerung</field>
                                                           </shadow>
                                                         </value>
                                                         <value name="OBJECT">
                                                           <shadow type="get_object" id="1,prQ43WO@)tG|ag^NNk">
                                                             <field name="OID">Object ID</field>
                                                           </shadow>
                                                           <block type="variables_get" id="@)=vd/n}BHhXpa]wNFYz">
                                                             <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="ADD2">
                                                       <block type="text" id="3D+.q7*Y0S[+3_5^$M-}">
                                                         <field name="TEXT"> min.</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
              </xml>
              

              Wie gesagt die Typprüfung ist wegen der komischen Elemente, die Blockly oder der der JS Adapter an das Array anhängt erforderlich.

              Der JSONATA Ausdruck inklusive der Filterung lautet wie folgt:

              $.warning[coordinate.lat > 51.0 and coordinate.lat < 54.4].{"ID": identifier, "Titel":title, "Verzögerung": delayTimeValue, "Durchschnittsgeschwindigkeit" : averageSpeed}[]
              

              Will man den Breitengrad auch noch filtern, dann halt diesen mit eckigen Klammern auch noch in den Filterausdruck aufnehmen.

              Und das alles OHNE auch nur EINE Zeile Javascript Code schreiben zu müssen. Kurz und kompakt.
              Und ich hoffe, dass das wieder mal ein Beispiel ist, dass es wert ist sich mit JSONATA zu beschäftigen und wieviel Code schreiben, man sich damit spart.

              mickymM Online
              mickymM Online
              mickym
              Most Active
              wrote on last edited by mickym
              #7

              @mickym sagte in Auslesen und Filtern der autobahn.api von bund.dev:

              $.warning[coordinate.lat > 51.0 and coordinate.lat < 54.4].{"ID": identifier, "Titel":title, "Verzögerung": delayTimeValue, "Durchschnittsgeschwindigkeit" : averageSpeed}[]

              Will man den Breitengrad auch noch filtern, dann halt diesen mit eckigen Klammern auch noch in den Filterausdruck aufnehmen.

              Hier noch zur Übersicht die Variante, um nach Längen- und Breitengrad zu filtern und übersichtlicher geschrieben:

              $.warning[(coordinate.lat > 51.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{
                  "ID": identifier, "Titel":title,
                  "Verzögerung": delayTimeValue,
                  "Durchschnittsgeschwindigkeit" : averageSpeed}[]
              

              Und hier zum Testen: https://try.jsonata.org/Ib1WHb2eD

              Wenn man will, dass nur Einträge kommen, bei den auch eine Verzögerung auftaucht oder andere Kriterien, dann einfach in den Filter aufnehmen:

              $.warning[(coordinate.lat > 41.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)
              and delayTimeValue].{
                  "ID": identifier, "Titel":title,
                  "Verzögerung": delayTimeValue,
                  "Durchschnittsgeschwindigkeit" : averageSpeed}[]
              

              Hier werden dann nur die Einträge genommen, bei den eine Verzögerung angegeben ist.

              https://try.jsonata.org/aMukuTjlf

              Übrigens wenn man die Werte nicht als Strings, sondern gleich als Zahlen braucht, dann kann man diese auch gleich in Zahlen mittels JSONATA umwandeln.

              aace6734-601b-4db5-be0d-01f96f2ad0fa-image.png

              $.warning[(coordinate.lat > 41.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)
              and delayTimeValue].{
                  "ID": identifier, "Titel":title,
                  "Verzögerung": $number(delayTimeValue),
                  "Durchschnittsgeschwindigkeit" : $number(averageSpeed)}[]
              

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              1 Reply Last reply
              0
              • mickymM mickym

                Leider wird das Puzzeln mit Blockly und JSONATA immer schlechter, da irgendwelche misteriösen Elemente angehängt werden.

                wie in dem folgenden Beispiel:

                , sequence: true, keepSingleton: true 
                

                Wie gesagt, ich werde dafür kein Issue aufmachen, da ich kein Puzzlefreund bin. (Kurze Anmerkung: Mit NodeRed passiert das natürlich nicht. 😉 )

                Ansonsten haben ich mal alles was ich vorher geschrieben habe, nun in einem Blockly zusammengefasst und mit folgendem Ergebnis:

                f5124538-c404-49bd-9a9e-18b8ad9b3ccc-image.png

                Hier das Blockly:

                cae1cb1f-705e-4020-af19-704a48eb6cf4-image.png

                Und hier der Import:

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="TsBWRSFXNh.A;/$0K0mK">warnungen</variable>
                   <variable id="PEWpo@6nj.!gL.DKxpGw">i</variable>
                 </variables>
                 <block type="http_get" id="WNF0PxnI%5I!By$;Sq^y" x="13" y="63">
                   <field name="TIMEOUT">2000</field>
                   <field name="UNIT">ms</field>
                   <field name="TYPE">text</field>
                   <value name="URL">
                     <shadow type="text" id="5j:K6sEa1}$M/k`]70~1">
                       <field name="TEXT">https://verkehr.autobahn.de/o/autobahn/A7/services/warning</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="debug" id="|fceUm1}aZ*#lwG,1t$m">
                       <field name="Severity">info</field>
                       <value name="TEXT">
                         <shadow type="text" id="792AN-7:=Cs,}TA!Q11O">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="http_response" id="ivR0J@e:Zy[5o+ejJN^u">
                           <field name="ATTR">response.data</field>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id="Ab2/(#O*qo4Pj(g,!(xF">
                           <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                           <value name="VALUE">
                             <block type="convert_jsonata" id="_jm2wcowL)JLsC/#k=z6">
                               <value name="EXPRESSION">
                                 <shadow type="text" id="ek?H*3)F@m}ZKAsF[[x4">
                                   <field name="TEXT">$.warning[coordinate.lat &gt; 51.0 and coordinate.lat &lt; 54.4].{"ID": identifier, "Titel":title, "Verzögerung": delayTimeValue, "Durchschnittsgeschwindigkeit" : averageSpeed}[]</field>
                                 </shadow>
                               </value>
                               <value name="TARGET">
                                 <block type="convert_json2object" id="Hm_)^fdB}Tf_/v,oE)(B">
                                   <value name="VALUE">
                                     <block type="http_response" id="+KJZvgLtv~7tfx2u_x63">
                                       <field name="ATTR">response.data</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="*E8ew))nH|z`!Gv6gT{*">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="oFgboHKTM0Oi[rB!j=uU">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="Xs8`_!{I,h;gI=pJ0Uwx">
                                   <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="controls_forEach" id="fE-DHy9I{GB7-*D6$GYw">
                                   <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                   <value name="LIST">
                                     <block type="variables_get" id=".y#wc$+*04%h)Fv2w5t)">
                                       <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungen</field>
                                     </block>
                                   </value>
                                   <statement name="DO">
                                     <block type="debug" id="_})eC/@G50j=0OKk;Dj#" disabled="true">
                                       <field name="Severity">info</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="AZ{G?D1T%f!(bdE/4gcs">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="convert_type" id="}fW)o3qHcsDC1T=oj?F^">
                                           <value name="ITEM">
                                             <block type="variables_get" id="N}Zom@ceA_FDn)-sQY{U">
                                               <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="controls_if" id="o|eOWN8QQGkE!!Sjr=1F">
                                           <value name="IF0">
                                             <block type="logic_compare" id="SABD$XR@d+)vHKiEp!bB">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="convert_type" id="8:T@0dCjA#[gAV0@t,55">
                                                   <value name="ITEM">
                                                     <block type="variables_get" id="z(k$^p}x*d^G2AA,YlaU">
                                                       <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="text" id="(.PcuXe/2D(g{4VyQxwl">
                                                   <field name="TEXT">object</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="debug" id="c`j|nx22r)IroE3^fPrz">
                                               <field name="Severity">info</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="f2#nKs-jsRx/N`r[b|[%">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="text_join" id="E0b(7D~-We{y/3LWha5J">
                                                   <mutation items="2"></mutation>
                                                   <value name="ADD0">
                                                     <block type="text" id="4$Y_F{(lFTZ%O+#~3_)(">
                                                       <field name="TEXT">Stauwarnung: </field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="get_attr" id="982)AD+-!Wb5x0=B,NBb">
                                                       <value name="PATH">
                                                         <shadow type="text" id="2zaA6h$dZvL^Z66.4XdI">
                                                           <field name="TEXT">Titel</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="OBJECT">
                                                         <shadow type="get_object" id="T2v-Q4/t~Dh7`c+0ofSv">
                                                           <field name="OID">Object ID</field>
                                                         </shadow>
                                                         <block type="variables_get" id="mOHsU=[BU$$e]i~)6#?1">
                                                           <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="debug" id="9MY6f{-Z3|k_DH|eOv;`">
                                                   <field name="Severity">info</field>
                                                   <value name="TEXT">
                                                     <shadow type="text" id="f2#nKs-jsRx/N`r[b|[%">
                                                       <field name="TEXT">test</field>
                                                     </shadow>
                                                     <block type="text_join" id="jfTuOQJJQnB@POsc/M=H">
                                                       <mutation items="3"></mutation>
                                                       <value name="ADD0">
                                                         <block type="text" id="$DXPfX%0kd/u_3pO{wdn">
                                                           <field name="TEXT">Verzögerung: </field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD1">
                                                         <block type="get_attr" id="1|wQ8pQFDnM;jELCxz)h">
                                                           <value name="PATH">
                                                             <shadow type="text" id="7tIRBg6`lmIM(E,C6CT/">
                                                               <field name="TEXT">Verzögerung</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="OBJECT">
                                                             <shadow type="get_object" id="1,prQ43WO@)tG|ag^NNk">
                                                               <field name="OID">Object ID</field>
                                                             </shadow>
                                                             <block type="variables_get" id="@)=vd/n}BHhXpa]wNFYz">
                                                               <field name="VAR" id="PEWpo@6nj.!gL.DKxpGw">i</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="ADD2">
                                                         <block type="text" id="3D+.q7*Y0S[+3_5^$M-}">
                                                           <field name="TEXT"> min.</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
                </xml>
                

                Wie gesagt die Typprüfung ist wegen der komischen Elemente, die Blockly oder der der JS Adapter an das Array anhängt erforderlich.

                Der JSONATA Ausdruck inklusive der Filterung lautet wie folgt:

                $.warning[coordinate.lat > 51.0 and coordinate.lat < 54.4].{"ID": identifier, "Titel":title, "Verzögerung": delayTimeValue, "Durchschnittsgeschwindigkeit" : averageSpeed}[]
                

                Will man den Breitengrad auch noch filtern, dann halt diesen mit eckigen Klammern auch noch in den Filterausdruck aufnehmen.

                Und das alles OHNE auch nur EINE Zeile Javascript Code schreiben zu müssen. Kurz und kompakt.
                Und ich hoffe, dass das wieder mal ein Beispiel ist, dass es wert ist sich mit JSONATA zu beschäftigen und wieviel Code schreiben, man sich damit spart.

                G Offline
                G Offline
                gutgut30
                wrote on last edited by
                #8

                @mickym said in Auslesen und Filtern der autobahn.api von bund.dev:

                Und ich hoffe, dass das wieder mal ein Beispiel ist, dass es wert ist sich mit JSONATA zu beschäftigen und wieviel Code schreiben, man sich damit spart.

                Das ist ja wirklich absolut genial. Die Funktion JSONata kannte ich nicht. Ganz vielen Dank für deine enorme Hilfe! So einfach kann es sein.

                Letztendlich habe ich inzwischen auch gesehen, würde mir sogar der reine JSONata Konvert/Filter reichen daher Jarvis JSON Tables ausgeben kann.

                Ich werde ma schauen ob ich das JSON nehme oder die Datenpunkte. Die Datenpunkte würde mir noch etwas Spielraum geben wie z.B. das füllen der Verzögerung mit dem Text "0 Minuten" - wenn keine Verzögerung angegeben ist im JSON.

                Aber das wird vermutlich auch mit JSONata gehen. Muss ich mir morgen mal in Ruhe anschauen.

                Ich wollte hier erst mal Feedback geben.

                mickymM 1 Reply Last reply
                1
                • G gutgut30

                  @mickym said in Auslesen und Filtern der autobahn.api von bund.dev:

                  Und ich hoffe, dass das wieder mal ein Beispiel ist, dass es wert ist sich mit JSONATA zu beschäftigen und wieviel Code schreiben, man sich damit spart.

                  Das ist ja wirklich absolut genial. Die Funktion JSONata kannte ich nicht. Ganz vielen Dank für deine enorme Hilfe! So einfach kann es sein.

                  Letztendlich habe ich inzwischen auch gesehen, würde mir sogar der reine JSONata Konvert/Filter reichen daher Jarvis JSON Tables ausgeben kann.

                  Ich werde ma schauen ob ich das JSON nehme oder die Datenpunkte. Die Datenpunkte würde mir noch etwas Spielraum geben wie z.B. das füllen der Verzögerung mit dem Text "0 Minuten" - wenn keine Verzögerung angegeben ist im JSON.

                  Aber das wird vermutlich auch mit JSONata gehen. Muss ich mir morgen mal in Ruhe anschauen.

                  Ich wollte hier erst mal Feedback geben.

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  wrote on last edited by
                  #9

                  @gutgut30 sagte in Auslesen und Filtern der autobahn.api von bund.dev:

                  Ich werde ma schauen ob ich das JSON nehme oder die Datenpunkte. Die Datenpunkte würde mir noch etwas Spielraum geben wie z.B. das füllen der Verzögerung mit dem Text "0 Minuten" - wenn keine Verzögerung angegeben ist im JSON.

                  Das kannst Du auch easy machen. Wenn im neuen Objekt ein Wert "undefined" ist, dann fällt die Eigenschaft weg. Du kannst aber prüfen und dann bei Nichtvorhandensein einen Wert setzen. Und natürlich Text ergänzen.

                  warning[(coordinate.lat > 50.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{
                      "ID": identifier, "Titel":title,
                      "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                      "Durchschnittsgeschwindigkeit" : averageSpeed}[]
                  

                  Das setzt die Eigenschaft "Verzögerung" wenn kein delayTimeValue vorhanden ist, immer auf "0" und ergänzt dann den Text mit " Minuten".

                  https://try.jsonata.org/N3PeUO-am

                  89634cb0-21a5-479c-8bf2-b3cf9338865c-image.png

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  icebearI 1 Reply Last reply
                  0
                  • mickymM mickym

                    @gutgut30 sagte in Auslesen und Filtern der autobahn.api von bund.dev:

                    Ich werde ma schauen ob ich das JSON nehme oder die Datenpunkte. Die Datenpunkte würde mir noch etwas Spielraum geben wie z.B. das füllen der Verzögerung mit dem Text "0 Minuten" - wenn keine Verzögerung angegeben ist im JSON.

                    Das kannst Du auch easy machen. Wenn im neuen Objekt ein Wert "undefined" ist, dann fällt die Eigenschaft weg. Du kannst aber prüfen und dann bei Nichtvorhandensein einen Wert setzen. Und natürlich Text ergänzen.

                    warning[(coordinate.lat > 50.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{
                        "ID": identifier, "Titel":title,
                        "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                        "Durchschnittsgeschwindigkeit" : averageSpeed}[]
                    

                    Das setzt die Eigenschaft "Verzögerung" wenn kein delayTimeValue vorhanden ist, immer auf "0" und ergänzt dann den Text mit " Minuten".

                    https://try.jsonata.org/N3PeUO-am

                    89634cb0-21a5-479c-8bf2-b3cf9338865c-image.png

                    icebearI Online
                    icebearI Online
                    icebear
                    wrote on last edited by icebear
                    #10

                    @mickym

                    Ebenfalls von mir auch ein genial und vielen Dank dafür.

                    Ein Frage hätt ich aber auch noch, wie bekomm ich den Teil der "description": "Angespannte Verkehrslage,......." noch mit in die Abfrage?

                    Edit: Ich habs hinbekommen und zwar so:

                    $.warning[
                      (coordinate.lat > 50.0 and coordinate.lat < 52.0) and 
                      (coordinate.long > 6.0 and coordinate.long < 8.5) and 
                      delayTimeValue
                    ].{
                      "Beschreibung": description
                    }[]
                    

                    Ergebnis:

                    [
                      {
                        "Beschreibung": [
                          "Beginn: 19.03.25 um 06:12 Uhr",
                          "Ende: 19.03.25 um 10:53 Uhr",
                          "",
                          "Angespannte Verkehrslage, von 19.03.2025, 06:12, bis 19.03.2025, 10:53",
                          "A4: Olpe -> Köln, zwischen 6.4 km hinter AS Reichshof/Bergneustadt und 0.2 km vor Hömeler Feld",
                          "",
                          "Langsamer Verkehr",
                          "Reisezeitverlust: 3 Minuten",
                          "Durchschnittsgeschwindigkeit: 38 km/h"
                        ]
                      }
                    ]
                    

                    Die Frage ist jetzt nur, ich würde gern die einzelnen Zeilen jeweils in ein DP schreiben.

                    Also
                    "Beginn:...." in ein DP
                    "Ende:..." in ein DP

                    usw.

                    Ist das möglich?

                    mickymM 2 Replies Last reply
                    0
                    • icebearI icebear

                      @mickym

                      Ebenfalls von mir auch ein genial und vielen Dank dafür.

                      Ein Frage hätt ich aber auch noch, wie bekomm ich den Teil der "description": "Angespannte Verkehrslage,......." noch mit in die Abfrage?

                      Edit: Ich habs hinbekommen und zwar so:

                      $.warning[
                        (coordinate.lat > 50.0 and coordinate.lat < 52.0) and 
                        (coordinate.long > 6.0 and coordinate.long < 8.5) and 
                        delayTimeValue
                      ].{
                        "Beschreibung": description
                      }[]
                      

                      Ergebnis:

                      [
                        {
                          "Beschreibung": [
                            "Beginn: 19.03.25 um 06:12 Uhr",
                            "Ende: 19.03.25 um 10:53 Uhr",
                            "",
                            "Angespannte Verkehrslage, von 19.03.2025, 06:12, bis 19.03.2025, 10:53",
                            "A4: Olpe -> Köln, zwischen 6.4 km hinter AS Reichshof/Bergneustadt und 0.2 km vor Hömeler Feld",
                            "",
                            "Langsamer Verkehr",
                            "Reisezeitverlust: 3 Minuten",
                            "Durchschnittsgeschwindigkeit: 38 km/h"
                          ]
                        }
                      ]
                      

                      Die Frage ist jetzt nur, ich würde gern die einzelnen Zeilen jeweils in ein DP schreiben.

                      Also
                      "Beginn:...." in ein DP
                      "Ende:..." in ein DP

                      usw.

                      Ist das möglich?

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      wrote on last edited by
                      #11

                      @icebear sagte in Auslesen und Filtern der autobahn.api von bund.dev:

                      @mickym

                      Ebenfalls von mir auch ein genial und vielen Dank dafür.

                      Ein Frage hätt ich aber auch noch, wie bekomm ich den Teil der "description": "Angespannte Verkehrslage,......." noch mit in die Abfrage?

                      Na in dem Du es einfachh in Dein neues Objekt mitaufnimmst.

                      Entweder vollständig:

                      warning[(coordinate.lat > 50.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{
                          "ID": identifier, "Titel":title,
                          "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                          "Durchschnittsgeschwindigkeit" : averageSpeed,
                          "Beschreibung": description}[]
                      

                      Na Du hast es Dir ja schon selbst beantwortet.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      1 Reply Last reply
                      0
                      • icebearI icebear

                        @mickym

                        Ebenfalls von mir auch ein genial und vielen Dank dafür.

                        Ein Frage hätt ich aber auch noch, wie bekomm ich den Teil der "description": "Angespannte Verkehrslage,......." noch mit in die Abfrage?

                        Edit: Ich habs hinbekommen und zwar so:

                        $.warning[
                          (coordinate.lat > 50.0 and coordinate.lat < 52.0) and 
                          (coordinate.long > 6.0 and coordinate.long < 8.5) and 
                          delayTimeValue
                        ].{
                          "Beschreibung": description
                        }[]
                        

                        Ergebnis:

                        [
                          {
                            "Beschreibung": [
                              "Beginn: 19.03.25 um 06:12 Uhr",
                              "Ende: 19.03.25 um 10:53 Uhr",
                              "",
                              "Angespannte Verkehrslage, von 19.03.2025, 06:12, bis 19.03.2025, 10:53",
                              "A4: Olpe -> Köln, zwischen 6.4 km hinter AS Reichshof/Bergneustadt und 0.2 km vor Hömeler Feld",
                              "",
                              "Langsamer Verkehr",
                              "Reisezeitverlust: 3 Minuten",
                              "Durchschnittsgeschwindigkeit: 38 km/h"
                            ]
                          }
                        ]
                        

                        Die Frage ist jetzt nur, ich würde gern die einzelnen Zeilen jeweils in ein DP schreiben.

                        Also
                        "Beginn:...." in ein DP
                        "Ende:..." in ein DP

                        usw.

                        Ist das möglich?

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        wrote on last edited by mickym
                        #12

                        @icebear sagte in Auslesen und Filtern der autobahn.api von bund.dev:

                        Also
                        "Beginn:...." in ein DP
                        "Ende:..." in ein DP

                        Ja das geht auch - Ich würde aber nicht die Beschreibung aufteilen, sondern woher die einzelnen Daten wirklich kommen.

                        Grundsätzlich kannst Du aber natürlich auch die Beschreibung auseinanderfuseln. 😉

                        Zum Beispiel:

                        $.warning[(coordinate.lat > 50.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{
                            "ID": identifier, "Titel":title,
                            "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                            "Durchschnittsgeschwindigkeit" : averageSpeed,
                            "Beginn": description[0],
                            "Ende": description[1] ,
                            "Beschreibung": description#$i[$i in [3..$count(%.description)]]~>$join("\n")}[]
                        

                        Das holt Dir aus den ersten beiden Zeilen die Beschreibung raus. Die eigentliche Beschreibung wird dann von Zeile 3 bis Ende gesetzt. Dann habe ich das Array noch aufgelöst und einen String mit \n als Zeilenvorschub eingefügt.

                        Das erzeugt dann folgende Objekte:

                        c4e7f8e6-5553-4faa-ac28-7dd492a73418-image.png

                          {
                            "ID": "undefined--vi-zus.2024-07-04_10-30-00-000.f_408.de0",
                            "Titel": "A7 | Uttrichshausen - Steinborntal",
                            "Verzögerung": "0 Minuten",
                            "Beginn": "Beginn: 04.07.24 um 10:30 Uhr",
                            "Ende": "Ende: 31.03.25 um 09:00 Uhr",
                            "Beschreibung": "Zusammengesetzte Verkehrsinformation, von 04.07.2024, 10:30, bis 31.03.2025, 09:00\nA7: Würzburg -> Fulda, zwischen 1.4 km hinter Uttrichshausen und 1.2 km vor Steinborntal\n\nA7 Würzburg - Fulda zwischen Raststätte Uttrichshausen Ost und Rastplatz Riederberg in beiden Richtungen Bauarbeiten, geänderte Verkehrsführung, vorübergehende Begrenzung der Fahrbahnbreite auf 3,25 m, Standstreifen gesperrt, bis 31.03.2025 09:00 Uhr\nEnde"
                          }
                        

                        Und diese kannst Du ja als Attribute aus den Objekten wieder rausholen und in einzelne Datenpunkte schreiben.
                        Hier wieder der Link zu Exerciser:
                        https://try.jsonata.org/h5VREUYi5

                        Da kannst Du es ja alles ausprobieren.

                        Wie Du siehst kannst Du auch alle Stringmanipulationen direkt bei Erzeugnung des Objektes anwenden - vergleichen Ende mit Beginn aus der Beschreibung:

                        $.warning[(coordinate.lat > 50.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{
                            "ID": identifier, "Titel":title,
                            "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                            "Durchschnittsgeschwindigkeit" : averageSpeed,
                            "Beginn": description[0] ~> $substringAfter(": "),
                            "Ende": description[1] ,
                            "Beschreibung": description#$i[$i in [3..$count(%.description)]]~>$join("\n")}[]
                        

                        Du siehst dann wird bei Beginn der String aus dem Array erst nach dem Doppelpunkt und dem Leerzeichen in das Attribut Beginn geschrieben:

                          {
                            "ID": "undefined--vi-zus.2024-07-04_10-30-00-000.f_408.de0",
                            "Titel": "A7 | Uttrichshausen - Steinborntal",
                            "Verzögerung": "0 Minuten",
                            "Beginn": "04.07.24 um 10:30 Uhr",
                            "Ende": "Ende: 31.03.25 um 09:00 Uhr",
                            "Beschreibung": "Zusammengesetzte Verkehrsinformation, von 04.07.2024, 10:30, bis 31.03.2025, 09:00\nA7: Würzburg -> Fulda, zwischen 1.4 km hinter Uttrichshausen und 1.2 km vor Steinborntal\n\nA7 Würzburg - Fulda zwischen Raststätte Uttrichshausen Ost und Rastplatz Riederberg in beiden Richtungen Bauarbeiten, geänderte Verkehrsführung, vorübergehende Begrenzung der Fahrbahnbreite auf 3,25 m, Standstreifen gesperrt, bis 31.03.2025 09:00 Uhr\nEnde"
                          }
                        

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        icebearI 1 Reply Last reply
                        0
                        • mickymM mickym

                          @icebear sagte in Auslesen und Filtern der autobahn.api von bund.dev:

                          Also
                          "Beginn:...." in ein DP
                          "Ende:..." in ein DP

                          Ja das geht auch - Ich würde aber nicht die Beschreibung aufteilen, sondern woher die einzelnen Daten wirklich kommen.

                          Grundsätzlich kannst Du aber natürlich auch die Beschreibung auseinanderfuseln. 😉

                          Zum Beispiel:

                          $.warning[(coordinate.lat > 50.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{
                              "ID": identifier, "Titel":title,
                              "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                              "Durchschnittsgeschwindigkeit" : averageSpeed,
                              "Beginn": description[0],
                              "Ende": description[1] ,
                              "Beschreibung": description#$i[$i in [3..$count(%.description)]]~>$join("\n")}[]
                          

                          Das holt Dir aus den ersten beiden Zeilen die Beschreibung raus. Die eigentliche Beschreibung wird dann von Zeile 3 bis Ende gesetzt. Dann habe ich das Array noch aufgelöst und einen String mit \n als Zeilenvorschub eingefügt.

                          Das erzeugt dann folgende Objekte:

                          c4e7f8e6-5553-4faa-ac28-7dd492a73418-image.png

                            {
                              "ID": "undefined--vi-zus.2024-07-04_10-30-00-000.f_408.de0",
                              "Titel": "A7 | Uttrichshausen - Steinborntal",
                              "Verzögerung": "0 Minuten",
                              "Beginn": "Beginn: 04.07.24 um 10:30 Uhr",
                              "Ende": "Ende: 31.03.25 um 09:00 Uhr",
                              "Beschreibung": "Zusammengesetzte Verkehrsinformation, von 04.07.2024, 10:30, bis 31.03.2025, 09:00\nA7: Würzburg -> Fulda, zwischen 1.4 km hinter Uttrichshausen und 1.2 km vor Steinborntal\n\nA7 Würzburg - Fulda zwischen Raststätte Uttrichshausen Ost und Rastplatz Riederberg in beiden Richtungen Bauarbeiten, geänderte Verkehrsführung, vorübergehende Begrenzung der Fahrbahnbreite auf 3,25 m, Standstreifen gesperrt, bis 31.03.2025 09:00 Uhr\nEnde"
                            }
                          

                          Und diese kannst Du ja als Attribute aus den Objekten wieder rausholen und in einzelne Datenpunkte schreiben.
                          Hier wieder der Link zu Exerciser:
                          https://try.jsonata.org/h5VREUYi5

                          Da kannst Du es ja alles ausprobieren.

                          Wie Du siehst kannst Du auch alle Stringmanipulationen direkt bei Erzeugnung des Objektes anwenden - vergleichen Ende mit Beginn aus der Beschreibung:

                          $.warning[(coordinate.lat > 50.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)].{
                              "ID": identifier, "Titel":title,
                              "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                              "Durchschnittsgeschwindigkeit" : averageSpeed,
                              "Beginn": description[0] ~> $substringAfter(": "),
                              "Ende": description[1] ,
                              "Beschreibung": description#$i[$i in [3..$count(%.description)]]~>$join("\n")}[]
                          

                          Du siehst dann wird bei Beginn der String aus dem Array erst nach dem Doppelpunkt und dem Leerzeichen in das Attribut Beginn geschrieben:

                            {
                              "ID": "undefined--vi-zus.2024-07-04_10-30-00-000.f_408.de0",
                              "Titel": "A7 | Uttrichshausen - Steinborntal",
                              "Verzögerung": "0 Minuten",
                              "Beginn": "04.07.24 um 10:30 Uhr",
                              "Ende": "Ende: 31.03.25 um 09:00 Uhr",
                              "Beschreibung": "Zusammengesetzte Verkehrsinformation, von 04.07.2024, 10:30, bis 31.03.2025, 09:00\nA7: Würzburg -> Fulda, zwischen 1.4 km hinter Uttrichshausen und 1.2 km vor Steinborntal\n\nA7 Würzburg - Fulda zwischen Raststätte Uttrichshausen Ost und Rastplatz Riederberg in beiden Richtungen Bauarbeiten, geänderte Verkehrsführung, vorübergehende Begrenzung der Fahrbahnbreite auf 3,25 m, Standstreifen gesperrt, bis 31.03.2025 09:00 Uhr\nEnde"
                            }
                          
                          icebearI Online
                          icebearI Online
                          icebear
                          wrote on last edited by
                          #13

                          @mickym

                          Vielen Dank, das funktioniert super, auch mit dem Blockly.

                          Jetzt müsste ich das Blockly nur noch dahingehend erweitern, wenn ich mehrere Meldung auf der gleichen Autobahn in meinem Bereich hab.
                          Im Moment schreib er halt nur die letzte Meldung von mehreren in den DP (is ja auch logisch).

                          mickymM 1 Reply Last reply
                          0
                          • icebearI icebear

                            @mickym

                            Vielen Dank, das funktioniert super, auch mit dem Blockly.

                            Jetzt müsste ich das Blockly nur noch dahingehend erweitern, wenn ich mehrere Meldung auf der gleichen Autobahn in meinem Bereich hab.
                            Im Moment schreib er halt nur die letzte Meldung von mehreren in den DP (is ja auch logisch).

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            wrote on last edited by mickym
                            #14

                            @icebear Wieso Du bekommst doch ggf. mehrere Objekte als Array. Da würde ich dann einen Datenpunkt machen, in dem ich die Anzahl der Elemente reinschreibe.
                            Die Objekte kann man dann (gibt glaub auch ein JS Script) - aber ansonsten nimmst mein NodeRed Flow in einzelne Datenpunkte schreiben.

                            Mit NodeRed könnte ich Dir leicht eine fertige Lösung präsentieren - das JS finde ich nicht.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            icebearI 1 Reply Last reply
                            0
                            • mickymM mickym

                              @icebear Wieso Du bekommst doch ggf. mehrere Objekte als Array. Da würde ich dann einen Datenpunkt machen, in dem ich die Anzahl der Elemente reinschreibe.
                              Die Objekte kann man dann (gibt glaub auch ein JS Script) - aber ansonsten nimmst mein NodeRed Flow in einzelne Datenpunkte schreiben.

                              Mit NodeRed könnte ich Dir leicht eine fertige Lösung präsentieren - das JS finde ich nicht.

                              icebearI Online
                              icebearI Online
                              icebear
                              wrote on last edited by
                              #15

                              @mickym said in Auslesen und Filtern der autobahn.api von bund.dev:

                              Mit NodeRed könnte ich Dir leicht eine fertige Lösung präsentieren

                              Das Node-Red würd ich nehmen 🙄

                              mickymM 1 Reply Last reply
                              0
                              • icebearI icebear

                                @mickym said in Auslesen und Filtern der autobahn.api von bund.dev:

                                Mit NodeRed könnte ich Dir leicht eine fertige Lösung präsentieren

                                Das Node-Red würd ich nehmen 🙄

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                wrote on last edited by mickym
                                #16

                                @icebear sagte in Auslesen und Filtern der autobahn.api von bund.dev:

                                @mickym said in Auslesen und Filtern der autobahn.api von bund.dev:

                                Mit NodeRed könnte ich Dir leicht eine fertige Lösung präsentieren

                                Das Node-Red würd ich nehmen 🙄

                                Also nur aus der Beschreibung Beginn, Ende und die Beschreibung selbst?

                                Also so?

                                d44b6349-5a25-456b-aae9-f83dc62906ee-image.png

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                icebearI 1 Reply Last reply
                                0
                                • mickymM mickym

                                  @icebear sagte in Auslesen und Filtern der autobahn.api von bund.dev:

                                  @mickym said in Auslesen und Filtern der autobahn.api von bund.dev:

                                  Mit NodeRed könnte ich Dir leicht eine fertige Lösung präsentieren

                                  Das Node-Red würd ich nehmen 🙄

                                  Also nur aus der Beschreibung Beginn, Ende und die Beschreibung selbst?

                                  Also so?

                                  d44b6349-5a25-456b-aae9-f83dc62906ee-image.png

                                  icebearI Online
                                  icebearI Online
                                  icebear
                                  wrote on last edited by
                                  #17

                                  @mickym

                                  Also so wäre schön:

                                  Verkehr.png

                                  mickymM 1 Reply Last reply
                                  0
                                  • icebearI icebear

                                    @mickym

                                    Also so wäre schön:

                                    Verkehr.png

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    wrote on last edited by mickym
                                    #18

                                    @icebear OK - Also - Du musst natürlich im NodeRed Adapter zulassen, dass Fremdobjekte erstellt werden.

                                    Gelöscht werden können Datenpunkte nicht - zumindest nicht in NodeRed. Sprich die Anzahl der Warnungen, die aktuell sind werden in einem eigenen Datenpunkt gespeichert.

                                    1768d1b3-21b6-4872-b08e-ee728f42faa8-image.png

                                    Also hast Du 15 Meldungen - und die adressierst Du von 0-14. 😉

                                    1a955fe1-0e45-41e6-94f4-5e58708bb3cb-image.png

                                    Die Debug-Nodes kannst Du bei Bedarf - durch Betätigung der Schaltfläche Ausgaben tätigen lassen oder lässt es bleiben.

                                    d465801a-8548-4959-9dd8-c305560a9f4a-image.png

                                    Hier der Flow zum Import:

                                    [
                                       {
                                           "id": "6e802f1553b18149",
                                           "type": "subflow",
                                           "name": "JSON or Obj to IOBroker",
                                           "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                           "category": "",
                                           "in": [
                                               {
                                                   "x": 60,
                                                   "y": 160,
                                                   "wires": [
                                                       {
                                                           "id": "554b8c663bcb46c2"
                                                       }
                                                   ]
                                               }
                                           ],
                                           "out": [
                                               {
                                                   "x": 2620,
                                                   "y": 280,
                                                   "wires": [
                                                       {
                                                           "id": "0962842ebd23e0d7",
                                                           "port": 0
                                                       }
                                                   ]
                                               }
                                           ],
                                           "env": [
                                               {
                                                   "name": "top",
                                                   "type": "str",
                                                   "value": "objRoot"
                                               },
                                               {
                                                   "name": "keepTopic",
                                                   "type": "bool",
                                                   "value": "false"
                                               }
                                           ],
                                           "meta": {},
                                           "color": "#E2D96E",
                                           "icon": "node-red/batch.svg"
                                       },
                                       {
                                           "id": "3e11e8338f694832",
                                           "type": "split",
                                           "z": "6e802f1553b18149",
                                           "name": "split object",
                                           "splt": "\\n",
                                           "spltType": "str",
                                           "arraySplt": 1,
                                           "arraySpltType": "len",
                                           "stream": false,
                                           "addname": "key",
                                           "x": 1370,
                                           "y": 160,
                                           "wires": [
                                               [
                                                   "0562a4249c8b856b"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "0562a4249c8b856b",
                                           "type": "change",
                                           "z": "6e802f1553b18149",
                                           "name": "add key to topic",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "stateName",
                                                   "pt": "msg",
                                                   "to": "key",
                                                   "tot": "msg"
                                               },
                                               {
                                                   "t": "change",
                                                   "p": "key",
                                                   "pt": "msg",
                                                   "from": ".",
                                                   "fromt": "str",
                                                   "to": "_",
                                                   "tot": "str"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "topic  & '.' & key",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1560,
                                           "y": 160,
                                           "wires": [
                                               [
                                                   "ddc90985bef0fafa"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "ddc90985bef0fafa",
                                           "type": "switch",
                                           "z": "6e802f1553b18149",
                                           "name": "is type?",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "istype",
                                                   "v": "array",
                                                   "vt": "array"
                                               },
                                               {
                                                   "t": "istype",
                                                   "v": "object",
                                                   "vt": "object"
                                               },
                                               {
                                                   "t": "else"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 3,
                                           "x": 1740,
                                           "y": 160,
                                           "wires": [
                                               [
                                                   "bfce19b206660fbe"
                                               ],
                                               [
                                                   "3e11e8338f694832"
                                               ],
                                               [
                                                   "1a8c03d866b85b12"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "bfce19b206660fbe",
                                           "type": "split",
                                           "z": "6e802f1553b18149",
                                           "name": "split array",
                                           "splt": "\\n",
                                           "spltType": "str",
                                           "arraySplt": 1,
                                           "arraySpltType": "len",
                                           "stream": false,
                                           "addname": "",
                                           "x": 780,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "e89927810c6d75ec"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "e89927810c6d75ec",
                                           "type": "change",
                                           "z": "6e802f1553b18149",
                                           "name": "add index to topic",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "topic  & '.' & parts.index",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 970,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "a4d1a5d04564dc77"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "f5d52c6a57d08904",
                                           "type": "change",
                                           "z": "6e802f1553b18149",
                                           "name": "finalize msg.topic",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "top",
                                                   "pt": "msg",
                                                   "to": "'0_userdata.0.' & top",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "top & '.' & topic",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 2170,
                                           "y": 240,
                                           "wires": [
                                               [
                                                   "0962842ebd23e0d7"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "1a8c03d866b85b12",
                                           "type": "switch",
                                           "z": "6e802f1553b18149",
                                           "name": "is msg.top != null",
                                           "property": "top",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "nnull"
                                               },
                                               {
                                                   "t": "null"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 2,
                                           "x": 1950,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "f5d52c6a57d08904"
                                               ],
                                               [
                                                   "74c895ce724750de"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "e023fe88445ce43e",
                                           "type": "change",
                                           "z": "6e802f1553b18149",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "delete",
                                                   "p": "topic",
                                                   "pt": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 350,
                                           "y": 200,
                                           "wires": [
                                               [
                                                   "3649300b4c233b10"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "3649300b4c233b10",
                                           "type": "switch",
                                           "z": "6e802f1553b18149",
                                           "name": "is type?",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "istype",
                                                   "v": "json",
                                                   "vt": "json"
                                               },
                                               {
                                                   "t": "istype",
                                                   "v": "array",
                                                   "vt": "array"
                                               },
                                               {
                                                   "t": "istype",
                                                   "v": "object",
                                                   "vt": "object"
                                               },
                                               {
                                                   "t": "else"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 4,
                                           "x": 600,
                                           "y": 160,
                                           "wires": [
                                               [
                                                   "fc7913a8524badb7"
                                               ],
                                               [
                                                   "bfce19b206660fbe"
                                               ],
                                               [
                                                   "3e11e8338f694832"
                                               ],
                                               [
                                                   "9ac3cc3681e8b6c6"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "1b8480cd2df7ba3f",
                                           "type": "comment",
                                           "z": "6e802f1553b18149",
                                           "name": "Array",
                                           "info": "",
                                           "x": 600,
                                           "y": 280,
                                           "wires": []
                                       },
                                       {
                                           "id": "b3541807672be040",
                                           "type": "comment",
                                           "z": "6e802f1553b18149",
                                           "name": "object",
                                           "info": "",
                                           "x": 1340,
                                           "y": 100,
                                           "wires": []
                                       },
                                       {
                                           "id": "a4d1a5d04564dc77",
                                           "type": "switch",
                                           "z": "6e802f1553b18149",
                                           "name": "is type?",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "istype",
                                                   "v": "object",
                                                   "vt": "object"
                                               },
                                               {
                                                   "t": "istype",
                                                   "v": "array",
                                                   "vt": "array"
                                               },
                                               {
                                                   "t": "else"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 3,
                                           "x": 1160,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "3e11e8338f694832"
                                               ],
                                               [
                                                   "bfce19b206660fbe"
                                               ],
                                               [
                                                   "a096a93bb82b7a93"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "74c895ce724750de",
                                           "type": "change",
                                           "z": "6e802f1553b18149",
                                           "name": "finalize msg.topic",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "top",
                                                   "pt": "msg",
                                                   "to": "top",
                                                   "tot": "env"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "top",
                                                   "pt": "msg",
                                                   "to": "'0_userdata.0.' & top",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "top & '.' & topic",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 2170,
                                           "y": 320,
                                           "wires": [
                                               [
                                                   "0962842ebd23e0d7"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "554b8c663bcb46c2",
                                           "type": "switch",
                                           "z": "6e802f1553b18149",
                                           "name": "",
                                           "property": "keepTopic",
                                           "propertyType": "env",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               },
                                               {
                                                   "t": "false"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 2,
                                           "x": 170,
                                           "y": 160,
                                           "wires": [
                                               [
                                                   "e30ba9f0483285e4"
                                               ],
                                               [
                                                   "e023fe88445ce43e"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "e30ba9f0483285e4",
                                           "type": "change",
                                           "z": "6e802f1553b18149",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "/",
                                                   "fromt": "str",
                                                   "to": ".",
                                                   "tot": "str"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 350,
                                           "y": 120,
                                           "wires": [
                                               [
                                                   "3649300b4c233b10"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "0962842ebd23e0d7",
                                           "type": "change",
                                           "z": "6e802f1553b18149",
                                           "name": "translate invalid chars in topic",
                                           "rules": [
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "..",
                                                   "fromt": "str",
                                                   "to": ".",
                                                   "tot": "str"
                                               },
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "€",
                                                   "fromt": "str",
                                                   "to": "EUR",
                                                   "tot": "str"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 2430,
                                           "y": 280,
                                           "wires": [
                                               []
                                           ]
                                       },
                                       {
                                           "id": "9ac3cc3681e8b6c6",
                                           "type": "change",
                                           "z": "6e802f1553b18149",
                                           "name": "set topic, if empty",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "topic ? topic : $type(payload)\t",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 950,
                                           "y": 200,
                                           "wires": [
                                               [
                                                   "a096a93bb82b7a93"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "fc7913a8524badb7",
                                           "type": "json",
                                           "z": "6e802f1553b18149",
                                           "name": "",
                                           "property": "payload",
                                           "action": "obj",
                                           "pretty": false,
                                           "x": 750,
                                           "y": 100,
                                           "wires": [
                                               [
                                                   "d9e7bdd4c48a8aa1"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "d9e7bdd4c48a8aa1",
                                           "type": "switch",
                                           "z": "6e802f1553b18149",
                                           "name": "is type?",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "istype",
                                                   "v": "array",
                                                   "vt": "array"
                                               },
                                               {
                                                   "t": "istype",
                                                   "v": "object",
                                                   "vt": "object"
                                               },
                                               {
                                                   "t": "else"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 3,
                                           "x": 900,
                                           "y": 100,
                                           "wires": [
                                               [
                                                   "1520be42bcc2145e"
                                               ],
                                               [
                                                   "1520be42bcc2145e"
                                               ],
                                               [
                                                   "9ac3cc3681e8b6c6"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "a096a93bb82b7a93",
                                           "type": "junction",
                                           "z": "6e802f1553b18149",
                                           "x": 1380,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "1a8c03d866b85b12"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "1520be42bcc2145e",
                                           "type": "junction",
                                           "z": "6e802f1553b18149",
                                           "x": 480,
                                           "y": 20,
                                           "wires": [
                                               [
                                                   "3649300b4c233b10"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "3e7ed9c7e1462b09",
                                           "type": "inject",
                                           "z": "7e6af0015415146d",
                                           "name": "AB  & Filter",
                                           "props": [
                                               {
                                                   "p": "autobahn",
                                                   "v": "A7",
                                                   "vt": "str"
                                               },
                                               {
                                                   "p": "filter",
                                                   "v": "(coordinate.lat > 50.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "x": 180,
                                           "y": 7160,
                                           "wires": [
                                               [
                                                   "e9f4765fa483a48a"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "e9f4765fa483a48a",
                                           "type": "template",
                                           "z": "7e6af0015415146d",
                                           "name": "",
                                           "field": "url",
                                           "fieldType": "msg",
                                           "format": "handlebars",
                                           "syntax": "mustache",
                                           "template": "https://verkehr.autobahn.de/o/autobahn/{{autobahn}}/services/warning",
                                           "output": "str",
                                           "x": 320,
                                           "y": 7160,
                                           "wires": [
                                               [
                                                   "4759ede23832569c",
                                                   "a73f68ca019bab89"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "4759ede23832569c",
                                           "type": "debug",
                                           "z": "7e6af0015415146d",
                                           "name": "url",
                                           "active": false,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 510,
                                           "y": 7100,
                                           "wires": []
                                       },
                                       {
                                           "id": "a73f68ca019bab89",
                                           "type": "http request",
                                           "z": "7e6af0015415146d",
                                           "name": "",
                                           "method": "GET",
                                           "ret": "obj",
                                           "paytoqs": "ignore",
                                           "url": "",
                                           "tls": "",
                                           "persist": false,
                                           "proxy": "",
                                           "insecureHTTPParser": false,
                                           "authType": "",
                                           "senderr": false,
                                           "headers": [],
                                           "x": 490,
                                           "y": 7160,
                                           "wires": [
                                               [
                                                   "8d7bc4d16a712bc4",
                                                   "e4e045e2d7b0f1f3"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "8d7bc4d16a712bc4",
                                           "type": "debug",
                                           "z": "7e6af0015415146d",
                                           "name": "JSON",
                                           "active": false,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 670,
                                           "y": 7200,
                                           "wires": []
                                       },
                                       {
                                           "id": "e4e045e2d7b0f1f3",
                                           "type": "change",
                                           "z": "7e6af0015415146d",
                                           "name": "Filter",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload.warning[$$.filter].{\t    \"ID\": identifier, \"Titel\":title,\t    \"Verzögerung\": (delayTimeValue ? delayTimeValue : \"0\") & \" Minuten\",\t    \"Durchschnittsgeschwindigkeit\" : averageSpeed,\t   \"Beginn\": description[0] ~> $substringAfter(\": \"),\t   \"Ende\": description[1] ~> $substringAfter(\": \"),\t   \"Beschreibung\": description#$i[$i in [3..$count(%.description)]] ~> $join(\" \")\t}[]",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 650,
                                           "y": 7160,
                                           "wires": [
                                               [
                                                   "7b995bd410358394",
                                                   "ad94c8961362eb3c"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "7b995bd410358394",
                                           "type": "change",
                                           "z": "7e6af0015415146d",
                                           "name": "Anzahl Warnungen",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "\"0_userdata.0.Test.Autobahn.\" & autobahn & \".AnzahlWarnungen\"",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "$count(payload)",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "top",
                                                   "pt": "msg",
                                                   "to": "\"0_userdata.0.Test.Autobahn.\" & autobahn & \".Warnungen\"",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 830,
                                           "y": 7100,
                                           "wires": [
                                               [
                                                   "abf49b5aa9ca3e7e"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "abf49b5aa9ca3e7e",
                                           "type": "ioBroker out",
                                           "z": "7e6af0015415146d",
                                           "name": "",
                                           "topic": "",
                                           "ack": "true",
                                           "autoCreate": "true",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 1040,
                                           "y": 7100,
                                           "wires": []
                                       },
                                       {
                                           "id": "ccecbbc4a466efa8",
                                           "type": "subflow:6e802f1553b18149",
                                           "z": "7e6af0015415146d",
                                           "name": "",
                                           "x": 1010,
                                           "y": 7160,
                                           "wires": [
                                               [
                                                   "a72e0e225946d210"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "a72e0e225946d210",
                                           "type": "ioBroker out",
                                           "z": "7e6af0015415146d",
                                           "name": "",
                                           "topic": "",
                                           "ack": "true",
                                           "autoCreate": "true",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 1240,
                                           "y": 7160,
                                           "wires": []
                                       },
                                       {
                                           "id": "df1966a24326d1f3",
                                           "type": "debug",
                                           "z": "7e6af0015415146d",
                                           "name": "Ergebnisse",
                                           "active": false,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 970,
                                           "y": 7200,
                                           "wires": []
                                       },
                                       {
                                           "id": "ad94c8961362eb3c",
                                           "type": "change",
                                           "z": "7e6af0015415146d",
                                           "name": "Top Tree",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "top",
                                                   "pt": "msg",
                                                   "to": "\"Test.Autobahn.\" & autobahn & \".Warnungen\"",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 800,
                                           "y": 7160,
                                           "wires": [
                                               [
                                                   "ccecbbc4a466efa8",
                                                   "df1966a24326d1f3"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    In der Inject Node am Anfang - kannst Du die Autobahn und den Filter spezifizieren:

                                    aa03ecc3-6899-4e0e-93d3-ad235ebdd779-image.png

                                    Die Autobahn wird in den Datenpfad übernommen:

                                    af41b510-1af3-4d67-9bc0-97855946d3e5-image.png

                                    WICHTIG:
                                    Wie gesagt - Datenpunkte können mit NodeRed nicht gelöscht werden. Sprich Du musst über die Anzahl prüfen, welche Datenpunkte überhaupt aktuell bzw. relevant sind.

                                    Die DebugNodes kannst Du natürlich löschen - die nehm ich immer, um zu schauen, ob die Zwischenergebnisse stimmten.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    1 Reply Last reply
                                    0
                                    • mickymM Online
                                      mickymM Online
                                      mickym
                                      Most Active
                                      wrote on last edited by mickym
                                      #19

                                      Warte mal - ich glaub mit dem Filter stimmt noch was nicht.

                                      Ja der Filter muss evaluiert werden - also in der Filterchange Node folgendes ändern:

                                      payload.warning[$eval($$.filter)].{
                                          "ID": identifier, "Titel":title,
                                          "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                                          "Durchschnittsgeschwindigkeit" : averageSpeed,
                                         "Beginn": description[0] ~> $substringAfter(": "),
                                         "Ende": description[1] ~> $substringAfter(": "),
                                         "Beschreibung": description#$i[$i in [3..$count(%.description)]] ~> $join(" ")
                                      }[]
                                      

                                      a3fde61e-dd3b-4ba1-a66a-5314e95a0aee-image.png

                                      Hier nochmal der ganze Flow:

                                      [
                                         {
                                             "id": "6e802f1553b18149",
                                             "type": "subflow",
                                             "name": "JSON or Obj to IOBroker",
                                             "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                             "category": "",
                                             "in": [
                                                 {
                                                     "x": 60,
                                                     "y": 160,
                                                     "wires": [
                                                         {
                                                             "id": "554b8c663bcb46c2"
                                                         }
                                                     ]
                                                 }
                                             ],
                                             "out": [
                                                 {
                                                     "x": 2620,
                                                     "y": 280,
                                                     "wires": [
                                                         {
                                                             "id": "0962842ebd23e0d7",
                                                             "port": 0
                                                         }
                                                     ]
                                                 }
                                             ],
                                             "env": [
                                                 {
                                                     "name": "top",
                                                     "type": "str",
                                                     "value": "objRoot"
                                                 },
                                                 {
                                                     "name": "keepTopic",
                                                     "type": "bool",
                                                     "value": "false"
                                                 }
                                             ],
                                             "meta": {},
                                             "color": "#E2D96E",
                                             "icon": "node-red/batch.svg"
                                         },
                                         {
                                             "id": "3e11e8338f694832",
                                             "type": "split",
                                             "z": "6e802f1553b18149",
                                             "name": "split object",
                                             "splt": "\\n",
                                             "spltType": "str",
                                             "arraySplt": 1,
                                             "arraySpltType": "len",
                                             "stream": false,
                                             "addname": "key",
                                             "x": 1370,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "0562a4249c8b856b"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "0562a4249c8b856b",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "add key to topic",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "stateName",
                                                     "pt": "msg",
                                                     "to": "key",
                                                     "tot": "msg"
                                                 },
                                                 {
                                                     "t": "change",
                                                     "p": "key",
                                                     "pt": "msg",
                                                     "from": ".",
                                                     "fromt": "str",
                                                     "to": "_",
                                                     "tot": "str"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "topic  & '.' & key",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 1560,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "ddc90985bef0fafa"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "ddc90985bef0fafa",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is type?",
                                             "property": "payload",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "istype",
                                                     "v": "array",
                                                     "vt": "array"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "object",
                                                     "vt": "object"
                                                 },
                                                 {
                                                     "t": "else"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 3,
                                             "x": 1740,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "bfce19b206660fbe"
                                                 ],
                                                 [
                                                     "3e11e8338f694832"
                                                 ],
                                                 [
                                                     "1a8c03d866b85b12"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "bfce19b206660fbe",
                                             "type": "split",
                                             "z": "6e802f1553b18149",
                                             "name": "split array",
                                             "splt": "\\n",
                                             "spltType": "str",
                                             "arraySplt": 1,
                                             "arraySpltType": "len",
                                             "stream": false,
                                             "addname": "",
                                             "x": 780,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "e89927810c6d75ec"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "e89927810c6d75ec",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "add index to topic",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "topic  & '.' & parts.index",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 970,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "a4d1a5d04564dc77"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "f5d52c6a57d08904",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "finalize msg.topic",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "top",
                                                     "pt": "msg",
                                                     "to": "'0_userdata.0.' & top",
                                                     "tot": "jsonata"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "top & '.' & topic",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 2170,
                                             "y": 240,
                                             "wires": [
                                                 [
                                                     "0962842ebd23e0d7"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "1a8c03d866b85b12",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is msg.top != null",
                                             "property": "top",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "nnull"
                                                 },
                                                 {
                                                     "t": "null"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 2,
                                             "x": 1950,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "f5d52c6a57d08904"
                                                 ],
                                                 [
                                                     "74c895ce724750de"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "e023fe88445ce43e",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "delete",
                                                     "p": "topic",
                                                     "pt": "msg"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 350,
                                             "y": 200,
                                             "wires": [
                                                 [
                                                     "3649300b4c233b10"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "3649300b4c233b10",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is type?",
                                             "property": "payload",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "istype",
                                                     "v": "json",
                                                     "vt": "json"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "array",
                                                     "vt": "array"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "object",
                                                     "vt": "object"
                                                 },
                                                 {
                                                     "t": "else"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 4,
                                             "x": 600,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "fc7913a8524badb7"
                                                 ],
                                                 [
                                                     "bfce19b206660fbe"
                                                 ],
                                                 [
                                                     "3e11e8338f694832"
                                                 ],
                                                 [
                                                     "9ac3cc3681e8b6c6"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "1b8480cd2df7ba3f",
                                             "type": "comment",
                                             "z": "6e802f1553b18149",
                                             "name": "Array",
                                             "info": "",
                                             "x": 600,
                                             "y": 280,
                                             "wires": []
                                         },
                                         {
                                             "id": "b3541807672be040",
                                             "type": "comment",
                                             "z": "6e802f1553b18149",
                                             "name": "object",
                                             "info": "",
                                             "x": 1340,
                                             "y": 100,
                                             "wires": []
                                         },
                                         {
                                             "id": "a4d1a5d04564dc77",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is type?",
                                             "property": "payload",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "istype",
                                                     "v": "object",
                                                     "vt": "object"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "array",
                                                     "vt": "array"
                                                 },
                                                 {
                                                     "t": "else"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 3,
                                             "x": 1160,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "3e11e8338f694832"
                                                 ],
                                                 [
                                                     "bfce19b206660fbe"
                                                 ],
                                                 [
                                                     "a096a93bb82b7a93"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "74c895ce724750de",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "finalize msg.topic",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "top",
                                                     "pt": "msg",
                                                     "to": "top",
                                                     "tot": "env"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "top",
                                                     "pt": "msg",
                                                     "to": "'0_userdata.0.' & top",
                                                     "tot": "jsonata"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "top & '.' & topic",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 2170,
                                             "y": 320,
                                             "wires": [
                                                 [
                                                     "0962842ebd23e0d7"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "554b8c663bcb46c2",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "",
                                             "property": "keepTopic",
                                             "propertyType": "env",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 },
                                                 {
                                                     "t": "false"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 2,
                                             "x": 170,
                                             "y": 160,
                                             "wires": [
                                                 [
                                                     "e30ba9f0483285e4"
                                                 ],
                                                 [
                                                     "e023fe88445ce43e"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "e30ba9f0483285e4",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "change",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "from": "/",
                                                     "fromt": "str",
                                                     "to": ".",
                                                     "tot": "str"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 350,
                                             "y": 120,
                                             "wires": [
                                                 [
                                                     "3649300b4c233b10"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "0962842ebd23e0d7",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "translate invalid chars in topic",
                                             "rules": [
                                                 {
                                                     "t": "change",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "from": "..",
                                                     "fromt": "str",
                                                     "to": ".",
                                                     "tot": "str"
                                                 },
                                                 {
                                                     "t": "change",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "from": "€",
                                                     "fromt": "str",
                                                     "to": "EUR",
                                                     "tot": "str"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 2430,
                                             "y": 280,
                                             "wires": [
                                                 []
                                             ]
                                         },
                                         {
                                             "id": "9ac3cc3681e8b6c6",
                                             "type": "change",
                                             "z": "6e802f1553b18149",
                                             "name": "set topic, if empty",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "topic ? topic : $type(payload)\t",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 950,
                                             "y": 200,
                                             "wires": [
                                                 [
                                                     "a096a93bb82b7a93"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "fc7913a8524badb7",
                                             "type": "json",
                                             "z": "6e802f1553b18149",
                                             "name": "",
                                             "property": "payload",
                                             "action": "obj",
                                             "pretty": false,
                                             "x": 750,
                                             "y": 100,
                                             "wires": [
                                                 [
                                                     "d9e7bdd4c48a8aa1"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "d9e7bdd4c48a8aa1",
                                             "type": "switch",
                                             "z": "6e802f1553b18149",
                                             "name": "is type?",
                                             "property": "payload",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "istype",
                                                     "v": "array",
                                                     "vt": "array"
                                                 },
                                                 {
                                                     "t": "istype",
                                                     "v": "object",
                                                     "vt": "object"
                                                 },
                                                 {
                                                     "t": "else"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 3,
                                             "x": 900,
                                             "y": 100,
                                             "wires": [
                                                 [
                                                     "1520be42bcc2145e"
                                                 ],
                                                 [
                                                     "1520be42bcc2145e"
                                                 ],
                                                 [
                                                     "9ac3cc3681e8b6c6"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "a096a93bb82b7a93",
                                             "type": "junction",
                                             "z": "6e802f1553b18149",
                                             "x": 1380,
                                             "y": 280,
                                             "wires": [
                                                 [
                                                     "1a8c03d866b85b12"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "1520be42bcc2145e",
                                             "type": "junction",
                                             "z": "6e802f1553b18149",
                                             "x": 480,
                                             "y": 20,
                                             "wires": [
                                                 [
                                                     "3649300b4c233b10"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "3e7ed9c7e1462b09",
                                             "type": "inject",
                                             "z": "7e6af0015415146d",
                                             "name": "AB  & Filter",
                                             "props": [
                                                 {
                                                     "p": "autobahn",
                                                     "v": "A7",
                                                     "vt": "str"
                                                 },
                                                 {
                                                     "p": "filter",
                                                     "v": "(coordinate.lat > 51.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)",
                                                     "vt": "str"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "x": 180,
                                             "y": 7160,
                                             "wires": [
                                                 [
                                                     "e9f4765fa483a48a"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "e9f4765fa483a48a",
                                             "type": "template",
                                             "z": "7e6af0015415146d",
                                             "name": "",
                                             "field": "url",
                                             "fieldType": "msg",
                                             "format": "handlebars",
                                             "syntax": "mustache",
                                             "template": "https://verkehr.autobahn.de/o/autobahn/{{autobahn}}/services/warning",
                                             "output": "str",
                                             "x": 320,
                                             "y": 7160,
                                             "wires": [
                                                 [
                                                     "4759ede23832569c",
                                                     "a73f68ca019bab89"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "4759ede23832569c",
                                             "type": "debug",
                                             "z": "7e6af0015415146d",
                                             "name": "url",
                                             "active": false,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "true",
                                             "targetType": "full",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 510,
                                             "y": 7100,
                                             "wires": []
                                         },
                                         {
                                             "id": "a73f68ca019bab89",
                                             "type": "http request",
                                             "z": "7e6af0015415146d",
                                             "name": "",
                                             "method": "GET",
                                             "ret": "obj",
                                             "paytoqs": "ignore",
                                             "url": "",
                                             "tls": "",
                                             "persist": false,
                                             "proxy": "",
                                             "insecureHTTPParser": false,
                                             "authType": "",
                                             "senderr": false,
                                             "headers": [],
                                             "x": 490,
                                             "y": 7160,
                                             "wires": [
                                                 [
                                                     "8d7bc4d16a712bc4",
                                                     "e4e045e2d7b0f1f3"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "8d7bc4d16a712bc4",
                                             "type": "debug",
                                             "z": "7e6af0015415146d",
                                             "name": "JSON",
                                             "active": false,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "true",
                                             "targetType": "full",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 670,
                                             "y": 7200,
                                             "wires": []
                                         },
                                         {
                                             "id": "e4e045e2d7b0f1f3",
                                             "type": "change",
                                             "z": "7e6af0015415146d",
                                             "name": "Filter",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "payload.warning[$eval($$.filter)].{\t    \"ID\": identifier, \"Titel\":title,\t    \"Verzögerung\": (delayTimeValue ? delayTimeValue : \"0\") & \" Minuten\",\t    \"Durchschnittsgeschwindigkeit\" : averageSpeed,\t   \"Beginn\": description[0] ~> $substringAfter(\": \"),\t   \"Ende\": description[1] ~> $substringAfter(\": \"),\t   \"Beschreibung\": description#$i[$i in [3..$count(%.description)]] ~> $join(\" \")\t}[]",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 650,
                                             "y": 7160,
                                             "wires": [
                                                 [
                                                     "7b995bd410358394",
                                                     "ad94c8961362eb3c"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "7b995bd410358394",
                                             "type": "change",
                                             "z": "7e6af0015415146d",
                                             "name": "Anzahl Warnungen",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "\"0_userdata.0.Test.Autobahn.\" & autobahn & \".AnzahlWarnungen\"",
                                                     "tot": "jsonata"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "$count(payload)",
                                                     "tot": "jsonata"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "top",
                                                     "pt": "msg",
                                                     "to": "\"0_userdata.0.Test.Autobahn.\" & autobahn & \".Warnungen\"",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 830,
                                             "y": 7100,
                                             "wires": [
                                                 [
                                                     "abf49b5aa9ca3e7e"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "abf49b5aa9ca3e7e",
                                             "type": "ioBroker out",
                                             "z": "7e6af0015415146d",
                                             "name": "",
                                             "topic": "",
                                             "ack": "true",
                                             "autoCreate": "true",
                                             "stateName": "",
                                             "role": "",
                                             "payloadType": "",
                                             "readonly": "",
                                             "stateUnit": "",
                                             "stateMin": "",
                                             "stateMax": "",
                                             "x": 1040,
                                             "y": 7100,
                                             "wires": []
                                         },
                                         {
                                             "id": "ccecbbc4a466efa8",
                                             "type": "subflow:6e802f1553b18149",
                                             "z": "7e6af0015415146d",
                                             "name": "",
                                             "x": 1010,
                                             "y": 7160,
                                             "wires": [
                                                 [
                                                     "a72e0e225946d210"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "a72e0e225946d210",
                                             "type": "ioBroker out",
                                             "z": "7e6af0015415146d",
                                             "name": "",
                                             "topic": "",
                                             "ack": "true",
                                             "autoCreate": "true",
                                             "stateName": "",
                                             "role": "",
                                             "payloadType": "",
                                             "readonly": "",
                                             "stateUnit": "",
                                             "stateMin": "",
                                             "stateMax": "",
                                             "x": 1240,
                                             "y": 7160,
                                             "wires": []
                                         },
                                         {
                                             "id": "df1966a24326d1f3",
                                             "type": "debug",
                                             "z": "7e6af0015415146d",
                                             "name": "Ergebnisse",
                                             "active": false,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 970,
                                             "y": 7200,
                                             "wires": []
                                         },
                                         {
                                             "id": "ad94c8961362eb3c",
                                             "type": "change",
                                             "z": "7e6af0015415146d",
                                             "name": "Top Tree",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "top",
                                                     "pt": "msg",
                                                     "to": "\"Test.Autobahn.\" & autobahn & \".Warnungen\"",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 800,
                                             "y": 7160,
                                             "wires": [
                                                 [
                                                     "ccecbbc4a466efa8",
                                                     "df1966a24326d1f3"
                                                 ]
                                             ]
                                         }
                                      ]
                                      

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      icebearI 1 Reply Last reply
                                      0
                                      • mickymM mickym

                                        Warte mal - ich glaub mit dem Filter stimmt noch was nicht.

                                        Ja der Filter muss evaluiert werden - also in der Filterchange Node folgendes ändern:

                                        payload.warning[$eval($$.filter)].{
                                            "ID": identifier, "Titel":title,
                                            "Verzögerung": (delayTimeValue ? delayTimeValue : "0") & " Minuten",
                                            "Durchschnittsgeschwindigkeit" : averageSpeed,
                                           "Beginn": description[0] ~> $substringAfter(": "),
                                           "Ende": description[1] ~> $substringAfter(": "),
                                           "Beschreibung": description#$i[$i in [3..$count(%.description)]] ~> $join(" ")
                                        }[]
                                        

                                        a3fde61e-dd3b-4ba1-a66a-5314e95a0aee-image.png

                                        Hier nochmal der ganze Flow:

                                        [
                                           {
                                               "id": "6e802f1553b18149",
                                               "type": "subflow",
                                               "name": "JSON or Obj to IOBroker",
                                               "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                               "category": "",
                                               "in": [
                                                   {
                                                       "x": 60,
                                                       "y": 160,
                                                       "wires": [
                                                           {
                                                               "id": "554b8c663bcb46c2"
                                                           }
                                                       ]
                                                   }
                                               ],
                                               "out": [
                                                   {
                                                       "x": 2620,
                                                       "y": 280,
                                                       "wires": [
                                                           {
                                                               "id": "0962842ebd23e0d7",
                                                               "port": 0
                                                           }
                                                       ]
                                                   }
                                               ],
                                               "env": [
                                                   {
                                                       "name": "top",
                                                       "type": "str",
                                                       "value": "objRoot"
                                                   },
                                                   {
                                                       "name": "keepTopic",
                                                       "type": "bool",
                                                       "value": "false"
                                                   }
                                               ],
                                               "meta": {},
                                               "color": "#E2D96E",
                                               "icon": "node-red/batch.svg"
                                           },
                                           {
                                               "id": "3e11e8338f694832",
                                               "type": "split",
                                               "z": "6e802f1553b18149",
                                               "name": "split object",
                                               "splt": "\\n",
                                               "spltType": "str",
                                               "arraySplt": 1,
                                               "arraySpltType": "len",
                                               "stream": false,
                                               "addname": "key",
                                               "x": 1370,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "0562a4249c8b856b"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "0562a4249c8b856b",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "add key to topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "stateName",
                                                       "pt": "msg",
                                                       "to": "key",
                                                       "tot": "msg"
                                                   },
                                                   {
                                                       "t": "change",
                                                       "p": "key",
                                                       "pt": "msg",
                                                       "from": ".",
                                                       "fromt": "str",
                                                       "to": "_",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic  & '.' & key",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1560,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "ddc90985bef0fafa"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "ddc90985bef0fafa",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 3,
                                               "x": 1740,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "bfce19b206660fbe"
                                                   ],
                                                   [
                                                       "3e11e8338f694832"
                                                   ],
                                                   [
                                                       "1a8c03d866b85b12"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "bfce19b206660fbe",
                                               "type": "split",
                                               "z": "6e802f1553b18149",
                                               "name": "split array",
                                               "splt": "\\n",
                                               "spltType": "str",
                                               "arraySplt": 1,
                                               "arraySpltType": "len",
                                               "stream": false,
                                               "addname": "",
                                               "x": 780,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "e89927810c6d75ec"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e89927810c6d75ec",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "add index to topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic  & '.' & parts.index",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 970,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "a4d1a5d04564dc77"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "f5d52c6a57d08904",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "finalize msg.topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "'0_userdata.0.' & top",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "top & '.' & topic",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 2170,
                                               "y": 240,
                                               "wires": [
                                                   [
                                                       "0962842ebd23e0d7"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "1a8c03d866b85b12",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is msg.top != null",
                                               "property": "top",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "nnull"
                                                   },
                                                   {
                                                       "t": "null"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 1950,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "f5d52c6a57d08904"
                                                   ],
                                                   [
                                                       "74c895ce724750de"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e023fe88445ce43e",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "delete",
                                                       "p": "topic",
                                                       "pt": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 350,
                                               "y": 200,
                                               "wires": [
                                                   [
                                                       "3649300b4c233b10"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3649300b4c233b10",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "json",
                                                       "vt": "json"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 4,
                                               "x": 600,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "fc7913a8524badb7"
                                                   ],
                                                   [
                                                       "bfce19b206660fbe"
                                                   ],
                                                   [
                                                       "3e11e8338f694832"
                                                   ],
                                                   [
                                                       "9ac3cc3681e8b6c6"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "1b8480cd2df7ba3f",
                                               "type": "comment",
                                               "z": "6e802f1553b18149",
                                               "name": "Array",
                                               "info": "",
                                               "x": 600,
                                               "y": 280,
                                               "wires": []
                                           },
                                           {
                                               "id": "b3541807672be040",
                                               "type": "comment",
                                               "z": "6e802f1553b18149",
                                               "name": "object",
                                               "info": "",
                                               "x": 1340,
                                               "y": 100,
                                               "wires": []
                                           },
                                           {
                                               "id": "a4d1a5d04564dc77",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 3,
                                               "x": 1160,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "3e11e8338f694832"
                                                   ],
                                                   [
                                                       "bfce19b206660fbe"
                                                   ],
                                                   [
                                                       "a096a93bb82b7a93"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "74c895ce724750de",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "finalize msg.topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "top",
                                                       "tot": "env"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "'0_userdata.0.' & top",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "top & '.' & topic",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 2170,
                                               "y": 320,
                                               "wires": [
                                                   [
                                                       "0962842ebd23e0d7"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "554b8c663bcb46c2",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "",
                                               "property": "keepTopic",
                                               "propertyType": "env",
                                               "rules": [
                                                   {
                                                       "t": "true"
                                                   },
                                                   {
                                                       "t": "false"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 170,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "e30ba9f0483285e4"
                                                   ],
                                                   [
                                                       "e023fe88445ce43e"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e30ba9f0483285e4",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "/",
                                                       "fromt": "str",
                                                       "to": ".",
                                                       "tot": "str"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 350,
                                               "y": 120,
                                               "wires": [
                                                   [
                                                       "3649300b4c233b10"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "0962842ebd23e0d7",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "translate invalid chars in topic",
                                               "rules": [
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "..",
                                                       "fromt": "str",
                                                       "to": ".",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "€",
                                                       "fromt": "str",
                                                       "to": "EUR",
                                                       "tot": "str"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 2430,
                                               "y": 280,
                                               "wires": [
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "9ac3cc3681e8b6c6",
                                               "type": "change",
                                               "z": "6e802f1553b18149",
                                               "name": "set topic, if empty",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic ? topic : $type(payload)\t",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 950,
                                               "y": 200,
                                               "wires": [
                                                   [
                                                       "a096a93bb82b7a93"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "fc7913a8524badb7",
                                               "type": "json",
                                               "z": "6e802f1553b18149",
                                               "name": "",
                                               "property": "payload",
                                               "action": "obj",
                                               "pretty": false,
                                               "x": 750,
                                               "y": 100,
                                               "wires": [
                                                   [
                                                       "d9e7bdd4c48a8aa1"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "d9e7bdd4c48a8aa1",
                                               "type": "switch",
                                               "z": "6e802f1553b18149",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 3,
                                               "x": 900,
                                               "y": 100,
                                               "wires": [
                                                   [
                                                       "1520be42bcc2145e"
                                                   ],
                                                   [
                                                       "1520be42bcc2145e"
                                                   ],
                                                   [
                                                       "9ac3cc3681e8b6c6"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "a096a93bb82b7a93",
                                               "type": "junction",
                                               "z": "6e802f1553b18149",
                                               "x": 1380,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "1a8c03d866b85b12"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "1520be42bcc2145e",
                                               "type": "junction",
                                               "z": "6e802f1553b18149",
                                               "x": 480,
                                               "y": 20,
                                               "wires": [
                                                   [
                                                       "3649300b4c233b10"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3e7ed9c7e1462b09",
                                               "type": "inject",
                                               "z": "7e6af0015415146d",
                                               "name": "AB  & Filter",
                                               "props": [
                                                   {
                                                       "p": "autobahn",
                                                       "v": "A7",
                                                       "vt": "str"
                                                   },
                                                   {
                                                       "p": "filter",
                                                       "v": "(coordinate.lat > 51.0 and coordinate.lat < 54.4) and (coordinate.long > 9.0 and coordinate.long < 10)",
                                                       "vt": "str"
                                                   }
                                               ],
                                               "repeat": "",
                                               "crontab": "",
                                               "once": false,
                                               "onceDelay": 0.1,
                                               "topic": "",
                                               "x": 180,
                                               "y": 7160,
                                               "wires": [
                                                   [
                                                       "e9f4765fa483a48a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e9f4765fa483a48a",
                                               "type": "template",
                                               "z": "7e6af0015415146d",
                                               "name": "",
                                               "field": "url",
                                               "fieldType": "msg",
                                               "format": "handlebars",
                                               "syntax": "mustache",
                                               "template": "https://verkehr.autobahn.de/o/autobahn/{{autobahn}}/services/warning",
                                               "output": "str",
                                               "x": 320,
                                               "y": 7160,
                                               "wires": [
                                                   [
                                                       "4759ede23832569c",
                                                       "a73f68ca019bab89"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "4759ede23832569c",
                                               "type": "debug",
                                               "z": "7e6af0015415146d",
                                               "name": "url",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "true",
                                               "targetType": "full",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 510,
                                               "y": 7100,
                                               "wires": []
                                           },
                                           {
                                               "id": "a73f68ca019bab89",
                                               "type": "http request",
                                               "z": "7e6af0015415146d",
                                               "name": "",
                                               "method": "GET",
                                               "ret": "obj",
                                               "paytoqs": "ignore",
                                               "url": "",
                                               "tls": "",
                                               "persist": false,
                                               "proxy": "",
                                               "insecureHTTPParser": false,
                                               "authType": "",
                                               "senderr": false,
                                               "headers": [],
                                               "x": 490,
                                               "y": 7160,
                                               "wires": [
                                                   [
                                                       "8d7bc4d16a712bc4",
                                                       "e4e045e2d7b0f1f3"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "8d7bc4d16a712bc4",
                                               "type": "debug",
                                               "z": "7e6af0015415146d",
                                               "name": "JSON",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "true",
                                               "targetType": "full",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 670,
                                               "y": 7200,
                                               "wires": []
                                           },
                                           {
                                               "id": "e4e045e2d7b0f1f3",
                                               "type": "change",
                                               "z": "7e6af0015415146d",
                                               "name": "Filter",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.warning[$eval($$.filter)].{\t    \"ID\": identifier, \"Titel\":title,\t    \"Verzögerung\": (delayTimeValue ? delayTimeValue : \"0\") & \" Minuten\",\t    \"Durchschnittsgeschwindigkeit\" : averageSpeed,\t   \"Beginn\": description[0] ~> $substringAfter(\": \"),\t   \"Ende\": description[1] ~> $substringAfter(\": \"),\t   \"Beschreibung\": description#$i[$i in [3..$count(%.description)]] ~> $join(\" \")\t}[]",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 650,
                                               "y": 7160,
                                               "wires": [
                                                   [
                                                       "7b995bd410358394",
                                                       "ad94c8961362eb3c"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "7b995bd410358394",
                                               "type": "change",
                                               "z": "7e6af0015415146d",
                                               "name": "Anzahl Warnungen",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "\"0_userdata.0.Test.Autobahn.\" & autobahn & \".AnzahlWarnungen\"",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "$count(payload)",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "\"0_userdata.0.Test.Autobahn.\" & autobahn & \".Warnungen\"",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 830,
                                               "y": 7100,
                                               "wires": [
                                                   [
                                                       "abf49b5aa9ca3e7e"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "abf49b5aa9ca3e7e",
                                               "type": "ioBroker out",
                                               "z": "7e6af0015415146d",
                                               "name": "",
                                               "topic": "",
                                               "ack": "true",
                                               "autoCreate": "true",
                                               "stateName": "",
                                               "role": "",
                                               "payloadType": "",
                                               "readonly": "",
                                               "stateUnit": "",
                                               "stateMin": "",
                                               "stateMax": "",
                                               "x": 1040,
                                               "y": 7100,
                                               "wires": []
                                           },
                                           {
                                               "id": "ccecbbc4a466efa8",
                                               "type": "subflow:6e802f1553b18149",
                                               "z": "7e6af0015415146d",
                                               "name": "",
                                               "x": 1010,
                                               "y": 7160,
                                               "wires": [
                                                   [
                                                       "a72e0e225946d210"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "a72e0e225946d210",
                                               "type": "ioBroker out",
                                               "z": "7e6af0015415146d",
                                               "name": "",
                                               "topic": "",
                                               "ack": "true",
                                               "autoCreate": "true",
                                               "stateName": "",
                                               "role": "",
                                               "payloadType": "",
                                               "readonly": "",
                                               "stateUnit": "",
                                               "stateMin": "",
                                               "stateMax": "",
                                               "x": 1240,
                                               "y": 7160,
                                               "wires": []
                                           },
                                           {
                                               "id": "df1966a24326d1f3",
                                               "type": "debug",
                                               "z": "7e6af0015415146d",
                                               "name": "Ergebnisse",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 970,
                                               "y": 7200,
                                               "wires": []
                                           },
                                           {
                                               "id": "ad94c8961362eb3c",
                                               "type": "change",
                                               "z": "7e6af0015415146d",
                                               "name": "Top Tree",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "\"Test.Autobahn.\" & autobahn & \".Warnungen\"",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 800,
                                               "y": 7160,
                                               "wires": [
                                                   [
                                                       "ccecbbc4a466efa8",
                                                       "df1966a24326d1f3"
                                                   ]
                                               ]
                                           }
                                        ]
                                        

                                        icebearI Online
                                        icebearI Online
                                        icebear
                                        wrote on last edited by
                                        #20

                                        @mickym

                                        Super Vielen Dank für deine Arbeit, ich werde das testen und berichten.

                                        mickymM 1 Reply Last reply
                                        0
                                        • icebearI icebear

                                          @mickym

                                          Super Vielen Dank für deine Arbeit, ich werde das testen und berichten.

                                          mickymM Online
                                          mickymM Online
                                          mickym
                                          Most Active
                                          wrote on last edited by
                                          #21

                                          @icebear sagte in Auslesen und Filtern der autobahn.api von bund.dev:

                                          @mickym

                                          Super Vielen Dank für deine Arbeit, ich werde das testen und berichten.

                                          Ja noch einen Filter, als Sicherheitsabfrage, wenn keine Ergebnisse vorhanden sind.

                                          fb28cefe-ee4f-42b4-8772-df52c1cef10c-image.png

                                          Sonst stürzt der NodeRed Adapter ab .

                                          Also diesen Flow bitte verwenden:

                                          [
                                             {
                                                 "id": "6e802f1553b18149",
                                                 "type": "subflow",
                                                 "name": "JSON or Obj to IOBroker",
                                                 "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                                 "category": "",
                                                 "in": [
                                                     {
                                                         "x": 60,
                                                         "y": 160,
                                                         "wires": [
                                                             {
                                                                 "id": "554b8c663bcb46c2"
                                                             }
                                                         ]
                                                     }
                                                 ],
                                                 "out": [
                                                     {
                                                         "x": 2620,
                                                         "y": 280,
                                                         "wires": [
                                                             {
                                                                 "id": "0962842ebd23e0d7",
                                                                 "port": 0
                                                             }
                                                         ]
                                                     }
                                                 ],
                                                 "env": [
                                                     {
                                                         "name": "top",
                                                         "type": "str",
                                                         "value": "objRoot"
                                                     },
                                                     {
                                                         "name": "keepTopic",
                                                         "type": "bool",
                                                         "value": "false"
                                                     }
                                                 ],
                                                 "meta": {},
                                                 "color": "#E2D96E",
                                                 "icon": "node-red/batch.svg"
                                             },
                                             {
                                                 "id": "3e11e8338f694832",
                                                 "type": "split",
                                                 "z": "6e802f1553b18149",
                                                 "name": "split object",
                                                 "splt": "\\n",
                                                 "spltType": "str",
                                                 "arraySplt": 1,
                                                 "arraySpltType": "len",
                                                 "stream": false,
                                                 "addname": "key",
                                                 "x": 1370,
                                                 "y": 160,
                                                 "wires": [
                                                     [
                                                         "0562a4249c8b856b"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "0562a4249c8b856b",
                                                 "type": "change",
                                                 "z": "6e802f1553b18149",
                                                 "name": "add key to topic",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "stateName",
                                                         "pt": "msg",
                                                         "to": "key",
                                                         "tot": "msg"
                                                     },
                                                     {
                                                         "t": "change",
                                                         "p": "key",
                                                         "pt": "msg",
                                                         "from": ".",
                                                         "fromt": "str",
                                                         "to": "_",
                                                         "tot": "str"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "to": "topic  & '.' & key",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 1560,
                                                 "y": 160,
                                                 "wires": [
                                                     [
                                                         "ddc90985bef0fafa"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "ddc90985bef0fafa",
                                                 "type": "switch",
                                                 "z": "6e802f1553b18149",
                                                 "name": "is type?",
                                                 "property": "payload",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "istype",
                                                         "v": "array",
                                                         "vt": "array"
                                                     },
                                                     {
                                                         "t": "istype",
                                                         "v": "object",
                                                         "vt": "object"
                                                     },
                                                     {
                                                         "t": "else"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 3,
                                                 "x": 1740,
                                                 "y": 160,
                                                 "wires": [
                                                     [
                                                         "bfce19b206660fbe"
                                                     ],
                                                     [
                                                         "3e11e8338f694832"
                                                     ],
                                                     [
                                                         "1a8c03d866b85b12"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "bfce19b206660fbe",
                                                 "type": "split",
                                                 "z": "6e802f1553b18149",
                                                 "name": "split array",
                                                 "splt": "\\n",
                                                 "spltType": "str",
                                                 "arraySplt": 1,
                                                 "arraySpltType": "len",
                                                 "stream": false,
                                                 "addname": "",
                                                 "x": 780,
                                                 "y": 280,
                                                 "wires": [
                                                     [
                                                         "e89927810c6d75ec"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "e89927810c6d75ec",
                                                 "type": "change",
                                                 "z": "6e802f1553b18149",
                                                 "name": "add index to topic",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "to": "topic  & '.' & parts.index",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 970,
                                                 "y": 280,
                                                 "wires": [
                                                     [
                                                         "a4d1a5d04564dc77"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "f5d52c6a57d08904",
                                                 "type": "change",
                                                 "z": "6e802f1553b18149",
                                                 "name": "finalize msg.topic",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "top",
                                                         "pt": "msg",
                                                         "to": "'0_userdata.0.' & top",
                                                         "tot": "jsonata"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "to": "top & '.' & topic",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 2170,
                                                 "y": 240,
                                                 "wires": [
                                                     [
                                                         "0962842ebd23e0d7"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "1a8c03d866b85b12",
                                                 "type": "switch",
                                                 "z": "6e802f1553b18149",
                                                 "name": "is msg.top != null",
                                                 "property": "top",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "nnull"
                                                     },
                                                     {
                                                         "t": "null"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 2,
                                                 "x": 1950,
                                                 "y": 280,
                                                 "wires": [
                                                     [
                                                         "f5d52c6a57d08904"
                                                     ],
                                                     [
                                                         "74c895ce724750de"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "e023fe88445ce43e",
                                                 "type": "change",
                                                 "z": "6e802f1553b18149",
                                                 "name": "",
                                                 "rules": [
                                                     {
                                                         "t": "delete",
                                                         "p": "topic",
                                                         "pt": "msg"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 350,
                                                 "y": 200,
                                                 "wires": [
                                                     [
                                                         "3649300b4c233b10"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "3649300b4c233b10",
                                                 "type": "switch",
                                                 "z": "6e802f1553b18149",
                                                 "name": "is type?",
                                                 "property": "payload",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "istype",
                                                         "v": "json",
                                                         "vt": "json"
                                                     },
                                                     {
                                                         "t": "istype",
                                                         "v": "array",
                                                         "vt": "array"
                                                     },
                                                     {
                                                         "t": "istype",
                                                         "v": "object",
                                                         "vt": "object"
                                                     },
                                                     {
                                                         "t": "else"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 4,
                                                 "x": 600,
                                                 "y": 160,
                                                 "wires": [
                                                     [
                                                         "fc7913a8524badb7"
                                                     ],
                                                     [
                                                         "bfce19b206660fbe"
                                                     ],
                                                     [
                                                         "3e11e8338f694832"
                                                     ],
                                                     [
                                                         "9ac3cc3681e8b6c6"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "1b8480cd2df7ba3f",
                                                 "type": "comment",
                                                 "z": "6e802f1553b18149",
                                                 "name": "Array",
                                                 "info": "",
                                                 "x": 600,
                                                 "y": 280,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "b3541807672be040",
                                                 "type": "comment",
                                                 "z": "6e802f1553b18149",
                                                 "name": "object",
                                                 "info": "",
                                                 "x": 1340,
                                                 "y": 100,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "a4d1a5d04564dc77",
                                                 "type": "switch",
                                                 "z": "6e802f1553b18149",
                                                 "name": "is type?",
                                                 "property": "payload",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "istype",
                                                         "v": "object",
                                                         "vt": "object"
                                                     },
                                                     {
                                                         "t": "istype",
                                                         "v": "array",
                                                         "vt": "array"
                                                     },
                                                     {
                                                         "t": "else"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 3,
                                                 "x": 1160,
                                                 "y": 280,
                                                 "wires": [
                                                     [
                                                         "3e11e8338f694832"
                                                     ],
                                                     [
                                                         "bfce19b206660fbe"
                                                     ],
                                                     [
                                                         "a096a93bb82b7a93"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "74c895ce724750de",
                                                 "type": "change",
                                                 "z": "6e802f1553b18149",
                                                 "name": "finalize msg.topic",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "top",
                                                         "pt": "msg",
                                                         "to": "top",
                                                         "tot": "env"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "top",
                                                         "pt": "msg",
                                                         "to": "'0_userdata.0.' & top",
                                                         "tot": "jsonata"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "to": "top & '.' & topic",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 2170,
                                                 "y": 320,
                                                 "wires": [
                                                     [
                                                         "0962842ebd23e0d7"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "554b8c663bcb46c2",
                                                 "type": "switch",
                                                 "z": "6e802f1553b18149",
                                                 "name": "",
                                                 "property": "keepTopic",
                                                 "propertyType": "env",
                                                 "rules": [
                                                     {
                                                         "t": "true"
                                                     },
                                                     {
                                                         "t": "false"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 2,
                                                 "x": 170,
                                                 "y": 160,
                                                 "wires": [
                                                     [
                                                         "e30ba9f0483285e4"
                                                     ],
                                                     [
                                                         "e023fe88445ce43e"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "e30ba9f0483285e4",
                                                 "type": "change",
                                                 "z": "6e802f1553b18149",
                                                 "name": "",
                                                 "rules": [
                                                     {
                                                         "t": "change",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "from": "/",
                                                         "fromt": "str",
                                                         "to": ".",
                                                         "tot": "str"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 350,
                                                 "y": 120,
                                                 "wires": [
                                                     [
                                                         "3649300b4c233b10"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "0962842ebd23e0d7",
                                                 "type": "change",
                                                 "z": "6e802f1553b18149",
                                                 "name": "translate invalid chars in topic",
                                                 "rules": [
                                                     {
                                                         "t": "change",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "from": "..",
                                                         "fromt": "str",
                                                         "to": ".",
                                                         "tot": "str"
                                                     },
                                                     {
                                                         "t": "change",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "from": "€",
                                                         "fromt": "str",
                                                         "to": "EUR",
                                                         "tot": "str"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 2430,
                                                 "y": 280,
                                                 "wires": [
                                                     []
                                                 ]
                                             },
                                             {
                                                 "id": "9ac3cc3681e8b6c6",
                                                 "type": "change",
                                                 "z": "6e802f1553b18149",
                                                 "name": "set topic, if empty",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "to": "topic ? topic : $type(payload)\t",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 950,
                                                 "y": 200,
                                                 "wires": [
                                                     [
                                                         "a096a93bb82b7a93"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "fc7913a8524badb7",
                                                 "type": "json",
                                                 "z": "6e802f1553b18149",
                                                 "name": "",
                                                 "property": "payload",
                                                 "action": "obj",
                                                 "pretty": false,
                                                 "x": 750,
                                                 "y": 100,
                                                 "wires": [
                                                     [
                                                         "d9e7bdd4c48a8aa1"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "d9e7bdd4c48a8aa1",
                                                 "type": "switch",
                                                 "z": "6e802f1553b18149",
                                                 "name": "is type?",
                                                 "property": "payload",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "istype",
                                                         "v": "array",
                                                         "vt": "array"
                                                     },
                                                     {
                                                         "t": "istype",
                                                         "v": "object",
                                                         "vt": "object"
                                                     },
                                                     {
                                                         "t": "else"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 3,
                                                 "x": 900,
                                                 "y": 100,
                                                 "wires": [
                                                     [
                                                         "1520be42bcc2145e"
                                                     ],
                                                     [
                                                         "1520be42bcc2145e"
                                                     ],
                                                     [
                                                         "9ac3cc3681e8b6c6"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "a096a93bb82b7a93",
                                                 "type": "junction",
                                                 "z": "6e802f1553b18149",
                                                 "x": 1380,
                                                 "y": 280,
                                                 "wires": [
                                                     [
                                                         "1a8c03d866b85b12"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "1520be42bcc2145e",
                                                 "type": "junction",
                                                 "z": "6e802f1553b18149",
                                                 "x": 480,
                                                 "y": 20,
                                                 "wires": [
                                                     [
                                                         "3649300b4c233b10"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "3e7ed9c7e1462b09",
                                                 "type": "inject",
                                                 "z": "7e6af0015415146d",
                                                 "name": "AB  & Filter",
                                                 "props": [
                                                     {
                                                         "p": "autobahn",
                                                         "v": "A7",
                                                         "vt": "str"
                                                     },
                                                     {
                                                         "p": "filter",
                                                         "v": "(coordinate.lat > 49.0 and coordinate.lat < 54.4) and (coordinate.long > 6.0 and coordinate.long < 10)",
                                                         "vt": "str"
                                                     }
                                                 ],
                                                 "repeat": "",
                                                 "crontab": "",
                                                 "once": false,
                                                 "onceDelay": 0.1,
                                                 "topic": "",
                                                 "x": 180,
                                                 "y": 7160,
                                                 "wires": [
                                                     [
                                                         "e9f4765fa483a48a"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "e9f4765fa483a48a",
                                                 "type": "template",
                                                 "z": "7e6af0015415146d",
                                                 "name": "",
                                                 "field": "url",
                                                 "fieldType": "msg",
                                                 "format": "handlebars",
                                                 "syntax": "mustache",
                                                 "template": "https://verkehr.autobahn.de/o/autobahn/{{autobahn}}/services/warning",
                                                 "output": "str",
                                                 "x": 320,
                                                 "y": 7160,
                                                 "wires": [
                                                     [
                                                         "4759ede23832569c",
                                                         "a73f68ca019bab89"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "4759ede23832569c",
                                                 "type": "debug",
                                                 "z": "7e6af0015415146d",
                                                 "name": "url",
                                                 "active": false,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "true",
                                                 "targetType": "full",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 510,
                                                 "y": 7100,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "a73f68ca019bab89",
                                                 "type": "http request",
                                                 "z": "7e6af0015415146d",
                                                 "name": "",
                                                 "method": "GET",
                                                 "ret": "obj",
                                                 "paytoqs": "ignore",
                                                 "url": "",
                                                 "tls": "",
                                                 "persist": false,
                                                 "proxy": "",
                                                 "insecureHTTPParser": false,
                                                 "authType": "",
                                                 "senderr": false,
                                                 "headers": [],
                                                 "x": 490,
                                                 "y": 7160,
                                                 "wires": [
                                                     [
                                                         "8d7bc4d16a712bc4",
                                                         "e4e045e2d7b0f1f3"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "8d7bc4d16a712bc4",
                                                 "type": "debug",
                                                 "z": "7e6af0015415146d",
                                                 "name": "JSON",
                                                 "active": false,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "true",
                                                 "targetType": "full",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 670,
                                                 "y": 7200,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "e4e045e2d7b0f1f3",
                                                 "type": "change",
                                                 "z": "7e6af0015415146d",
                                                 "name": "Filter",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "to": "payload.warning[$eval($$.filter)].{\t    \"ID\": identifier, \"Titel\":title,\t    \"Verzögerung\": (delayTimeValue ? delayTimeValue : \"0\") & \" Minuten\",\t    \"Durchschnittsgeschwindigkeit\" : averageSpeed,\t   \"Beginn\": description[0] ~> $substringAfter(\": \"),\t   \"Ende\": description[1] ~> $substringAfter(\": \"),\t   \"Beschreibung\": description#$i[$i in [3..$count(%.description)]] ~> $join(\" \")\t}[]",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 650,
                                                 "y": 7160,
                                                 "wires": [
                                                     [
                                                         "7b995bd410358394",
                                                         "37f05e634adffcfb"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "7b995bd410358394",
                                                 "type": "change",
                                                 "z": "7e6af0015415146d",
                                                 "name": "Anzahl Warnungen",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "topic",
                                                         "pt": "msg",
                                                         "to": "\"0_userdata.0.Test.Autobahn.\" & autobahn & \".AnzahlWarnungen\"",
                                                         "tot": "jsonata"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "to": "$count(payload)",
                                                         "tot": "jsonata"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "top",
                                                         "pt": "msg",
                                                         "to": "\"0_userdata.0.Test.Autobahn.\" & autobahn & \".Warnungen\"",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 830,
                                                 "y": 7100,
                                                 "wires": [
                                                     [
                                                         "abf49b5aa9ca3e7e"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "abf49b5aa9ca3e7e",
                                                 "type": "ioBroker out",
                                                 "z": "7e6af0015415146d",
                                                 "name": "",
                                                 "topic": "",
                                                 "ack": "true",
                                                 "autoCreate": "true",
                                                 "stateName": "",
                                                 "role": "",
                                                 "payloadType": "",
                                                 "readonly": "",
                                                 "stateUnit": "",
                                                 "stateMin": "",
                                                 "stateMax": "",
                                                 "x": 1040,
                                                 "y": 7100,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "ccecbbc4a466efa8",
                                                 "type": "subflow:6e802f1553b18149",
                                                 "z": "7e6af0015415146d",
                                                 "name": "",
                                                 "x": 1170,
                                                 "y": 7160,
                                                 "wires": [
                                                     [
                                                         "a72e0e225946d210"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "a72e0e225946d210",
                                                 "type": "ioBroker out",
                                                 "z": "7e6af0015415146d",
                                                 "name": "",
                                                 "topic": "",
                                                 "ack": "true",
                                                 "autoCreate": "true",
                                                 "stateName": "",
                                                 "role": "",
                                                 "payloadType": "",
                                                 "readonly": "",
                                                 "stateUnit": "",
                                                 "stateMin": "",
                                                 "stateMax": "",
                                                 "x": 1400,
                                                 "y": 7160,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "df1966a24326d1f3",
                                                 "type": "debug",
                                                 "z": "7e6af0015415146d",
                                                 "name": "Ergebnisse",
                                                 "active": false,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "payload",
                                                 "targetType": "msg",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 1150,
                                                 "y": 7200,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "ad94c8961362eb3c",
                                                 "type": "change",
                                                 "z": "7e6af0015415146d",
                                                 "name": "Top Tree",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "top",
                                                         "pt": "msg",
                                                         "to": "\"Test.Autobahn.\" & autobahn & \".Warnungen\"",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 960,
                                                 "y": 7160,
                                                 "wires": [
                                                     [
                                                         "ccecbbc4a466efa8",
                                                         "df1966a24326d1f3"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "37f05e634adffcfb",
                                                 "type": "switch",
                                                 "z": "7e6af0015415146d",
                                                 "name": "",
                                                 "property": "$count(payload)",
                                                 "propertyType": "jsonata",
                                                 "rules": [
                                                     {
                                                         "t": "gt",
                                                         "v": "0",
                                                         "vt": "num"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 1,
                                                 "x": 810,
                                                 "y": 7160,
                                                 "wires": [
                                                     [
                                                         "ad94c8961362eb3c"
                                                     ]
                                                 ]
                                             }
                                          ]
                                          

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          620

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe