Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Geofency auf Karte in Vis darstellen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    823

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.6k

Geofency auf Karte in Vis darstellen

Scheduled Pinned Locked Moved ioBroker Allgemein
698 Posts 3 Posters 91.3k Views 3 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.
  • Damrak2022D Damrak2022

    @mickym Warte mal, Du verwirrst mich gerade. Jetzt ist alles verkabelt. Browserefresh ist gemacht und der Airport liefert diese Daten
    Bildschirmfoto 2022-09-01 um 00.23.26.png

    Im Datenpunkt sieht es so aus:
    Bildschirmfoto 2022-09-01 um 00.25.40.png

    Der Template Node ist der My Query, da stehen unterschiedliche Daten drin, wie es sein soll

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    wrote on last edited by
    #609

    @damrak2022 sagte in Geofency auf Karte in Vis darstellen:

    Der Template Node ist der My Query, da stehen unterschiedliche Daten drin, wie es sein soll

    Dann würde ich die auch unterschiedlich benennen - damit man sieht - dass da was unterschiedliches drin steht.

    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.

    Damrak2022D 1 Reply Last reply
    0
    • mickymM mickym

      @damrak2022 sagte in Geofency auf Karte in Vis darstellen:

      Der Template Node ist der My Query, da stehen unterschiedliche Daten drin, wie es sein soll

      Dann würde ich die auch unterschiedlich benennen - damit man sieht - dass da was unterschiedliches drin steht.

      Damrak2022D Offline
      Damrak2022D Offline
      Damrak2022
      wrote on last edited by
      #610

      @mickym Habe schon mehr als zweimal refresht

      Mit besten Grüßen
      Andy

      mickymM 1 Reply Last reply
      0
      • Damrak2022D Damrak2022

        @mickym Habe schon mehr als zweimal refresht

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        wrote on last edited by
        #611

        @damrak2022 Dann mach kurzfristig eine Inject Node für die Query und ein debug Node an die Link Call Node dran und schau, ob die Datenbankabfrage passt - vielleicht hast Du in der Query was verkehrt eingegeben.

        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.

        Damrak2022D 1 Reply Last reply
        0
        • mickymM mickym

          @damrak2022 Dann mach kurzfristig eine Inject Node für die Query und ein debug Node an die Link Call Node dran und schau, ob die Datenbankabfrage passt - vielleicht hast Du in der Query was verkehrt eingegeben.

          Damrak2022D Offline
          Damrak2022D Offline
          Damrak2022
          wrote on last edited by
          #612

          @mickym Das ist so ein Punkt wo ich nachfragen muss. Wo genau muss die Inject Node und der Debug Node hin, um den Fehler zu entdecken?

          Mit besten Grüßen
          Andy

          mickymM 1 Reply Last reply
          0
          • Damrak2022D Damrak2022

            @mickym Das ist so ein Punkt wo ich nachfragen muss. Wo genau muss die Inject Node und der Debug Node hin, um den Fehler zu entdecken?

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            wrote on last edited by
            #613

            @damrak2022 Na was Du halt überprüfen willst mach nochmal einen Screenshot so wie Dein Flow jetzt aussieht.

            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.

            Damrak2022D 1 Reply Last reply
            0
            • mickymM mickym

              @damrak2022 Na was Du halt überprüfen willst mach nochmal einen Screenshot so wie Dein Flow jetzt aussieht.

              Damrak2022D Offline
              Damrak2022D Offline
              Damrak2022
              wrote on last edited by
              #614

              @mickym Bildschirmfoto 2022-09-01 um 00.38.25.png

              Mit besten Grüßen
              Andy

              mickymM 1 Reply Last reply
              0
              • Damrak2022D Damrak2022

                @mickym Bildschirmfoto 2022-09-01 um 00.38.25.png

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                wrote on last edited by mickym
                #615

                @damrak2022 Na wenn Du die Query zu Tor 31 prüfen willst - dann löst Du halt die Inject Node von der ersten und hängst es vor die Query der Tor 31 Node und hängst die Debug Node an den Ausgang der entsprechenden Query Node - ich dachte Du hättest das verstanden?

                ef01052d-6093-453d-9445-4c786a850bf9-image.png

                Überprüf nochmal die Query - das war doch der Datenpunkt, den Du neu angelegt hast. Ich glaube dass was an der Query verkehrt ist. - Der Flow wird in meinen Augen entweder für alle Punkte funktionieren oder für keinen.

                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.

                Damrak2022D 1 Reply Last reply
                0
                • mickymM mickym

                  @damrak2022 Na wenn Du die Query zu Tor 31 prüfen willst - dann löst Du halt die Inject Node von der ersten und hängst es vor die Query der Tor 31 Node und hängst die Debug Node an den Ausgang der entsprechenden Query Node - ich dachte Du hättest das verstanden?

                  ef01052d-6093-453d-9445-4c786a850bf9-image.png

                  Überprüf nochmal die Query - das war doch der Datenpunkt, den Du neu angelegt hast. Ich glaube dass was an der Query verkehrt ist. - Der Flow wird in meinen Augen entweder für alle Punkte funktionieren oder für keinen.

                  Damrak2022D Offline
                  Damrak2022D Offline
                  Damrak2022
                  wrote on last edited by
                  #616

                  @mickym Jetzt habe ich das mit dem prüfen kapiert, hoffe ich

                  Das ist die Debug Meldung
                  Bildschirmfoto 2022-09-01 um 00.45.08.png

                  So sieht der Inhalt der Query DB vom Flughafen aus:

                  from(bucket: "DBANDY1")
                    |> range(start: -7d)
                    |> filter(fn: (r) => r["_measurement"] == "Airport_Tor_31_Last_Leave" or r["_measurement"] == "Airport_Tor_31_Last_Enter")
                    |> filter(fn: (r) => r["_field"] == "value")
                  

                  Mit besten Grüßen
                  Andy

                  mickymM 1 Reply Last reply
                  0
                  • Damrak2022D Damrak2022

                    @mickym Jetzt habe ich das mit dem prüfen kapiert, hoffe ich

                    Das ist die Debug Meldung
                    Bildschirmfoto 2022-09-01 um 00.45.08.png

                    So sieht der Inhalt der Query DB vom Flughafen aus:

                    from(bucket: "DBANDY1")
                      |> range(start: -7d)
                      |> filter(fn: (r) => r["_measurement"] == "Airport_Tor_31_Last_Leave" or r["_measurement"] == "Airport_Tor_31_Last_Enter")
                      |> filter(fn: (r) => r["_field"] == "value")
                    
                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    wrote on last edited by
                    #617

                    @damrak2022 Tja scheint trotzdem nicht zu funktionieren - vielleicht ist der Alias verkehrt definiert - schau Dir die measurement Zeile im influx DB Tool an.

                    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.

                    Damrak2022D 1 Reply Last reply
                    0
                    • mickymM mickym

                      @damrak2022 Tja scheint trotzdem nicht zu funktionieren - vielleicht ist der Alias verkehrt definiert - schau Dir die measurement Zeile im influx DB Tool an.

                      Damrak2022D Offline
                      Damrak2022D Offline
                      Damrak2022
                      wrote on last edited by
                      #618

                      @mickym Ich kann ja erst nochmal einen anderen Query zum Vergleich prüfen, dann weiß ich das der Fehler beim Airport zu suchen ist
                      Bildschirmfoto 2022-09-01 um 00.50.22.png

                      Mit besten Grüßen
                      Andy

                      Damrak2022D mickymM 2 Replies Last reply
                      0
                      • Damrak2022D Damrak2022

                        @mickym Ich kann ja erst nochmal einen anderen Query zum Vergleich prüfen, dann weiß ich das der Fehler beim Airport zu suchen ist
                        Bildschirmfoto 2022-09-01 um 00.50.22.png

                        Damrak2022D Offline
                        Damrak2022D Offline
                        Damrak2022
                        wrote on last edited by Damrak2022
                        #619

                        @damrak2022 Wenn ich Dr Heddäus prüfe ist das der Debug:
                        Bildschirmfoto 2022-09-01 um 00.52.31.png

                        Im Datenpunkt steht das:
                        Bildschirmfoto 2022-09-01 um 00.53.40.png

                        Das ist auch korrekt, denn da war ich heute

                        Mit besten Grüßen
                        Andy

                        1 Reply Last reply
                        0
                        • Damrak2022D Damrak2022

                          @mickym Ich kann ja erst nochmal einen anderen Query zum Vergleich prüfen, dann weiß ich das der Fehler beim Airport zu suchen ist
                          Bildschirmfoto 2022-09-01 um 00.50.22.png

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          wrote on last edited by
                          #620

                          @damrak2022 Wie gesagt schau Dir halt nochmal die Query im influxDB Tool im

                          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 1 Reply Last reply
                          0
                          • mickymM mickym

                            @damrak2022 Wie gesagt schau Dir halt nochmal die Query im influxDB Tool im

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            wrote on last edited by
                            #621

                            @mickym Wie schaut Deine Template Nodemit der Query aus?

                            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.

                            Damrak2022D 1 Reply Last reply
                            0
                            • mickymM mickym

                              @mickym Wie schaut Deine Template Nodemit der Query aus?

                              Damrak2022D Offline
                              Damrak2022D Offline
                              Damrak2022
                              wrote on last edited by
                              #622

                              @mickym So sieht es in der Influx aus

                              from(bucket: "DBANDY1")
                                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31" or r["_measurement"] == "Leave_Airport")
                                |> filter(fn: (r) => r["_field"] == "value")
                                |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                |> yield(name: "last")
                              

                              und ich glaube ich habe meinen Fehler mit Deiner Hilfe entdeckt.
                              Ich hätte jeweils genau die Bezeichnung nehmen müssen, welche ich im Alias angelegt habe.
                              Jetzt werde ich das korrigieren und dann sollte alles gehen. Prüfen kann ich dann ja auch - weiß ja wie es geht🙂

                              Mit besten Grüßen
                              Andy

                              mickymM 2 Replies Last reply
                              0
                              • Damrak2022D Damrak2022

                                @mickym So sieht es in der Influx aus

                                from(bucket: "DBANDY1")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31" or r["_measurement"] == "Leave_Airport")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                  |> yield(name: "last")
                                

                                und ich glaube ich habe meinen Fehler mit Deiner Hilfe entdeckt.
                                Ich hätte jeweils genau die Bezeichnung nehmen müssen, welche ich im Alias angelegt habe.
                                Jetzt werde ich das korrigieren und dann sollte alles gehen. Prüfen kann ich dann ja auch - weiß ja wie es geht🙂

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                wrote on last edited by
                                #623

                                @damrak2022 Das kann gar nicht stimmen:

                                |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31" or r["_measurement"] == "Leave_Airport")
                                |> filter(fn: (r) => r["_field"] == "value")

                                Enter_Tor_31 ==>  Airport_Tor_31_Last_Enter
                                Leave_Airport ==>  Airport_Tor_31_Last_Leave
                                

                                heißen - sorry mit der Schlampigkeit mit der Du solche Dinge bearbeitest - da musst schon exakter arbeiten. Sowas kann doch gar nicht funktionieren. Wenn dann mach die Queries einzeln in Influx DB GUI auf und kopier die Zeilen.

                                fa9def6f-7003-44ca-bbc8-e4858ea59259-image.png

                                Aber da kann ich Dir nun wirklich nimmer helfen. Das liegt nicht an dem Flow, sondern weil Du hier einfach nicht exakt arbeitest.

                                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.

                                Damrak2022D 2 Replies Last reply
                                0
                                • mickymM mickym

                                  @damrak2022 Das kann gar nicht stimmen:

                                  |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31" or r["_measurement"] == "Leave_Airport")
                                  |> filter(fn: (r) => r["_field"] == "value")

                                  Enter_Tor_31 ==>  Airport_Tor_31_Last_Enter
                                  Leave_Airport ==>  Airport_Tor_31_Last_Leave
                                  

                                  heißen - sorry mit der Schlampigkeit mit der Du solche Dinge bearbeitest - da musst schon exakter arbeiten. Sowas kann doch gar nicht funktionieren. Wenn dann mach die Queries einzeln in Influx DB GUI auf und kopier die Zeilen.

                                  fa9def6f-7003-44ca-bbc8-e4858ea59259-image.png

                                  Aber da kann ich Dir nun wirklich nimmer helfen. Das liegt nicht an dem Flow, sondern weil Du hier einfach nicht exakt arbeitest.

                                  Damrak2022D Offline
                                  Damrak2022D Offline
                                  Damrak2022
                                  wrote on last edited by
                                  #624

                                  @mickym Okay, ich schaue es mir an - Danke

                                  Mit besten Grüßen
                                  Andy

                                  1 Reply Last reply
                                  0
                                  • Damrak2022D Damrak2022

                                    @mickym So sieht es in der Influx aus

                                    from(bucket: "DBANDY1")
                                      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                      |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31" or r["_measurement"] == "Leave_Airport")
                                      |> filter(fn: (r) => r["_field"] == "value")
                                      |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                      |> yield(name: "last")
                                    

                                    und ich glaube ich habe meinen Fehler mit Deiner Hilfe entdeckt.
                                    Ich hätte jeweils genau die Bezeichnung nehmen müssen, welche ich im Alias angelegt habe.
                                    Jetzt werde ich das korrigieren und dann sollte alles gehen. Prüfen kann ich dann ja auch - weiß ja wie es geht🙂

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    wrote on last edited by
                                    #625

                                    @damrak2022 sagte in Geofency auf Karte in Vis darstellen:

                                    @mickym So sieht es in der Influx aus

                                    from(bucket: "DBANDY1")
                                      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                      |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31" or r["_measurement"] == "Leave_Airport")
                                      |> filter(fn: (r) => r["_field"] == "value")
                                      |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                      |> yield(name: "last")
                                    

                                    und ich glaube ich habe meinen Fehler mit Deiner Hilfe entdeckt.
                                    Ich hätte jeweils genau die Bezeichnung nehmen müssen, welche ich im Alias angelegt habe.
                                    Jetzt werde ich das korrigieren und dann sollte alles gehen. Prüfen kann ich dann ja auch - weiß ja wie es geht🙂

                                    Das ist leider der Mist mit diesem blöden Alias - ich hätte es einfach weggelassen - dann hätte man einfach den Pfad zum Datenpunkt da reinkopieren können. Lass doch diesen blöden Alias beim Logging weg - na egal - jetzt ist es schon gemacht und Du musst halt nun jede Query überprüfen.

                                    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

                                      @damrak2022 Das kann gar nicht stimmen:

                                      |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31" or r["_measurement"] == "Leave_Airport")
                                      |> filter(fn: (r) => r["_field"] == "value")

                                      Enter_Tor_31 ==>  Airport_Tor_31_Last_Enter
                                      Leave_Airport ==>  Airport_Tor_31_Last_Leave
                                      

                                      heißen - sorry mit der Schlampigkeit mit der Du solche Dinge bearbeitest - da musst schon exakter arbeiten. Sowas kann doch gar nicht funktionieren. Wenn dann mach die Queries einzeln in Influx DB GUI auf und kopier die Zeilen.

                                      fa9def6f-7003-44ca-bbc8-e4858ea59259-image.png

                                      Aber da kann ich Dir nun wirklich nimmer helfen. Das liegt nicht an dem Flow, sondern weil Du hier einfach nicht exakt arbeitest.

                                      Damrak2022D Offline
                                      Damrak2022D Offline
                                      Damrak2022
                                      wrote on last edited by
                                      #626

                                      @mickym Das ist die Zeile nur von Enter Airport

                                      rom(bucket: "DBANDY1")
                                        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                        |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31")
                                        |> filter(fn: (r) => r["_field"] == "value")
                                        |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                      

                                      Mit besten Grüßen
                                      Andy

                                      mickymM 1 Reply Last reply
                                      0
                                      • Damrak2022D Damrak2022

                                        @mickym Das ist die Zeile nur von Enter Airport

                                        rom(bucket: "DBANDY1")
                                          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                          |> filter(fn: (r) => r["_measurement"] == "Enter_Tor_31")
                                          |> filter(fn: (r) => r["_field"] == "value")
                                          |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                        
                                        mickymM Offline
                                        mickymM Offline
                                        mickym
                                        Most Active
                                        wrote on last edited by
                                        #627

                                        @damrak2022 na dann hast Du im Query Tool nicht beide Datenpunkte angeklickt.

                                        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.

                                        Damrak2022D 1 Reply Last reply
                                        0
                                        • mickymM mickym

                                          @damrak2022 na dann hast Du im Query Tool nicht beide Datenpunkte angeklickt.

                                          Damrak2022D Offline
                                          Damrak2022D Offline
                                          Damrak2022
                                          wrote on last edited by Damrak2022
                                          #628

                                          @mickym Nein jetzt nur den einen. Vorher beide. Ich kann das mit dem Alias noch ändern. Geht ja nichts verloren
                                          Ich werde Deinem Rat folgen und die Alias entfernen

                                          Mit besten Grüßen
                                          Andy

                                          mickymM 2 Replies Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          268

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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