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. Skripten / Logik
  4. Node-Red
  5. Garagenzustand visualisieren

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Garagenzustand visualisieren

Scheduled Pinned Locked Moved Node-Red
43 Posts 3 Posters 1.7k Views 2 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.
  • bahnuhrB bahnuhr

    @dr-pie sagte in Garagenzustand visualisieren:

    Aber wie visualisiere ich das per mqtt ??

    versteh ich nicht

    Visualisieren machst du doch mit VIS.
    Wieso mqtt ?

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

    @bahnuhr sagte in Garagenzustand visualisieren:

    @dr-pie sagte in Garagenzustand visualisieren:

    Aber wie visualisiere ich das per mqtt ??

    versteh ich nicht

    Visualisieren machst du doch mit VIS.
    Wieso mqtt ?

    Man auch im Node-Red dashboard, Jarvis und 1000 anderen Tools visualisieren. Soweit ich das verstehe, will er wissen, wie er den Zustand offen oder geschlossen aus mqtt rauslesen kann. Wie das dann visualisiert wird, ist doch dann, wenn ich es richtig verstanden habe, nachrangig.

    @Dr-Pie Zeig doch mal wie Deine Datenpunkte unter mqtt aussehen? Wie sieht denn Dein switch:0 Datenpunkt aus?

    Ggf. sollten doch die Peripherals auch im status auftauchen:
    https://shelly-api-docs.shelly.cloud/gen2/Addons/ShellySensorAddon#methods

    Dann einfach das topic subscriben und die Eigenschaft des Objects extrahieren.

    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.

    Dr.PieD 1 Reply Last reply
    0
    • mickymM mickym

      @bahnuhr sagte in Garagenzustand visualisieren:

      @dr-pie sagte in Garagenzustand visualisieren:

      Aber wie visualisiere ich das per mqtt ??

      versteh ich nicht

      Visualisieren machst du doch mit VIS.
      Wieso mqtt ?

      Man auch im Node-Red dashboard, Jarvis und 1000 anderen Tools visualisieren. Soweit ich das verstehe, will er wissen, wie er den Zustand offen oder geschlossen aus mqtt rauslesen kann. Wie das dann visualisiert wird, ist doch dann, wenn ich es richtig verstanden habe, nachrangig.

      @Dr-Pie Zeig doch mal wie Deine Datenpunkte unter mqtt aussehen? Wie sieht denn Dein switch:0 Datenpunkt aus?

      Ggf. sollten doch die Peripherals auch im status auftauchen:
      https://shelly-api-docs.shelly.cloud/gen2/Addons/ShellySensorAddon#methods

      Dann einfach das topic subscriben und die Eigenschaft des Objects extrahieren.

      Dr.PieD Offline
      Dr.PieD Offline
      Dr.Pie
      wrote on last edited by Dr.Pie
      #4

      @bahnuhr Da habe ich mich etwas unglücklich ausgedrückt.
      Aber @mickym hat das richtig ermittelt :blush:

      Node-Red habe ich bereits installiert und läuft
      MQTT ist auch installiert und läuft.
      mqtt9.png
      Alles auf dem Raspberry Pi 4.

      Die Datenpunkte sehen folgendermaßen aus:
      mqtt8.png

      Ich hoffe das reicht an Infos erstmal.
      Ich habe unter Windows auch den MQTT Explorer installiert.
      Grüße

      mickymM 1 Reply Last reply
      0
      • Dr.PieD Dr.Pie

        @bahnuhr Da habe ich mich etwas unglücklich ausgedrückt.
        Aber @mickym hat das richtig ermittelt :blush:

        Node-Red habe ich bereits installiert und läuft
        MQTT ist auch installiert und läuft.
        mqtt9.png
        Alles auf dem Raspberry Pi 4.

        Die Datenpunkte sehen folgendermaßen aus:
        mqtt8.png

        Ich hoffe das reicht an Infos erstmal.
        Ich habe unter Windows auch den MQTT Explorer installiert.
        Grüße

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

        @dr-pie na kopier mal den Wert von switch:0 hier in code-tags rein.
        eac01801-9140-4f8d-bcb9-85d054c6ca5b-image.png

        oder falls Du eine mqtt-In Node nutzt das Objekt aus einer debug Nachricht.

        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.

        Dr.PieD 1 Reply Last reply
        0
        • mickymM mickym

          @dr-pie na kopier mal den Wert von switch:0 hier in code-tags rein.
          eac01801-9140-4f8d-bcb9-85d054c6ca5b-image.png

          oder falls Du eine mqtt-In Node nutzt das Objekt aus einer debug Nachricht.

          Dr.PieD Offline
          Dr.PieD Offline
          Dr.Pie
          wrote on last edited by
          #6

          @mickym

          {"id":0, "source":"init", "output":false, "apower":0.0, "voltage":232.6, "current":0.000, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1680430019},"temperature":{"tC":48.8, "tF":119.9}}
          
          mickymM 1 Reply Last reply
          0
          • Dr.PieD Dr.Pie

            @mickym

            {"id":0, "source":"init", "output":false, "apower":0.0, "voltage":232.6, "current":0.000, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1680430019},"temperature":{"tC":48.8, "tF":119.9}}
            
            mickymM Online
            mickymM Online
            mickym
            Most Active
            wrote on last edited by
            #7

            @dr-pie Ok da siehst Du aber nichts mit offen und closed - was ist das denn für ein Addon?

            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.

            Dr.PieD 1 Reply Last reply
            0
            • mickymM mickym

              @dr-pie Ok da siehst Du aber nichts mit offen und closed - was ist das denn für ein Addon?

              Dr.PieD Offline
              Dr.PieD Offline
              Dr.Pie
              wrote on last edited by Dr.Pie
              #8

              @mickym

              {"id":100,"state":false}
              

              Das hier ist der Datenpunkt den ich brauche :blush:
              Das Addon ist das von der Shelly Plus Serie.

              Bild

              mickymM 1 Reply Last reply
              0
              • Dr.PieD Dr.Pie

                @mickym

                {"id":100,"state":false}
                

                Das hier ist der Datenpunkt den ich brauche :blush:
                Das Addon ist das von der Shelly Plus Serie.

                Bild

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

                @dr-pie na wenn Du das Objekt schon hast, dann brauchst doch nur den state rausziehen oder? Falls Du das noch nicht hast, musst Du ggf. erst mal das Addon bekannt machen siehe hier: https://shelly-api-docs.shelly.cloud/gen2/Addons/ShellySensorAddon

                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.

                Dr.PieD 1 Reply Last reply
                0
                • mickymM mickym

                  @dr-pie na wenn Du das Objekt schon hast, dann brauchst doch nur den state rausziehen oder? Falls Du das noch nicht hast, musst Du ggf. erst mal das Addon bekannt machen siehe hier: https://shelly-api-docs.shelly.cloud/gen2/Addons/ShellySensorAddon

                  Dr.PieD Offline
                  Dr.PieD Offline
                  Dr.Pie
                  wrote on last edited by
                  #10

                  @mickym sagte in Garagenzustand visualisieren:

                  @dr-pie na wenn Du das Objekt schon hast, dann brauchst doch nur den state rausziehen oder?

                  Und genau da kommt mein Problem.
                  Ich weiss nicht was ich wie machen muss.
                  Den Status rausziehen ????
                  Ja klar ... nur was bedeutet das ??

                  mickymM 1 Reply Last reply
                  0
                  • Dr.PieD Dr.Pie

                    @mickym sagte in Garagenzustand visualisieren:

                    @dr-pie na wenn Du das Objekt schon hast, dann brauchst doch nur den state rausziehen oder?

                    Und genau da kommt mein Problem.
                    Ich weiss nicht was ich wie machen muss.
                    Den Status rausziehen ????
                    Ja klar ... nur was bedeutet das ??

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

                    @dr-pie Na einfach mit einer Change Node - die payload auf payload.state setzen. Am Besten ist immer Du hängst eine Debug Node hinten dran und setzt die payload auf den Wert dessen Pfad Du rauskopiert hast:

                    copy path.gif

                    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.

                    Dr.PieD 1 Reply Last reply
                    0
                    • mickymM mickym

                      @dr-pie Na einfach mit einer Change Node - die payload auf payload.state setzen. Am Besten ist immer Du hängst eine Debug Node hinten dran und setzt die payload auf den Wert dessen Pfad Du rauskopiert hast:

                      copy path.gif

                      Dr.PieD Offline
                      Dr.PieD Offline
                      Dr.Pie
                      wrote on last edited by
                      #12

                      @mickym mqtt10.png

                      Bei mir sieht das so aus.

                      mickymM 1 Reply Last reply
                      0
                      • Dr.PieD Dr.Pie

                        @mickym mqtt10.png

                        Bei mir sieht das so aus.

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

                        @dr-pie Ja dann musst Du doch im mqtt-Adapter einen Datenpunkt haben der input:100 heißt und zwar unter status

                        3c0a1684-a0f5-4ce0-ad1c-9cd5f2bf6da2-image.png

                        Da fehlt dieser Datenpunkt.

                        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

                          @dr-pie Ja dann musst Du doch im mqtt-Adapter einen Datenpunkt haben der input:100 heißt und zwar unter status

                          3c0a1684-a0f5-4ce0-ad1c-9cd5f2bf6da2-image.png

                          Da fehlt dieser Datenpunkt.

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

                          @mickym Schau mal ob du einen Fehler im iobroker Log hast - ansonsten wo ist Dein mqtt- Broker - der Adapter oder mosquitto?

                          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.

                          Dr.PieD 1 Reply Last reply
                          0
                          • mickymM mickym

                            @mickym Schau mal ob du einen Fehler im iobroker Log hast - ansonsten wo ist Dein mqtt- Broker - der Adapter oder mosquitto?

                            Dr.PieD Offline
                            Dr.PieD Offline
                            Dr.Pie
                            wrote on last edited by
                            #15

                            @mickym Ja den habe ich.
                            mqtt11.png

                            mickymM 1 Reply Last reply
                            0
                            • Dr.PieD Dr.Pie

                              @mickym Ja den habe ich.
                              mqtt11.png

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

                              @dr-pie Na da muss aber auch was drin stehen, wenn Du es im Mqtt-Explorer hast - mach mal Browser refresh oder sogar den ganzen Browser zu und neu auf.
                              ecf19478-e473-489c-b78c-6879e61e5323-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.

                              Dr.PieD 1 Reply Last reply
                              0
                              • mickymM mickym

                                @dr-pie Na da muss aber auch was drin stehen, wenn Du es im Mqtt-Explorer hast - mach mal Browser refresh oder sogar den ganzen Browser zu und neu auf.
                                ecf19478-e473-489c-b78c-6879e61e5323-image.png

                                Dr.PieD Offline
                                Dr.PieD Offline
                                Dr.Pie
                                wrote on last edited by
                                #17

                                @mickym ups ... das war ein alter Screenshot.
                                Das hier ist aktuell:
                                mqtt12.png

                                mickymM 1 Reply Last reply
                                0
                                • Dr.PieD Dr.Pie

                                  @mickym ups ... das war ein alter Screenshot.
                                  Das hier ist aktuell:
                                  mqtt12.png

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

                                  @dr-pie Na da hast Du es doch - nimm eine iobroker In Node (setzt das topic genau auf diesen Datenpunkt - also Pfad kopieren s. roter Pfeil) - hänge eine JSON Node dran und dann eine Change node.

                                  f2f098f3-a20d-49a7-9675-d1084e84cfdf-image.png

                                  Jedenfalls kannst Du doch den Datenpunkt direkt auslesen:
                                  c08401c4-b7df-4a6d-86d5-3400ef25fb4b-image.png 8b60b4cf-64c4-44e4-918d-557e3c284b76-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.

                                  Dr.PieD 1 Reply Last reply
                                  0
                                  • mickymM mickym

                                    @dr-pie Na da hast Du es doch - nimm eine iobroker In Node (setzt das topic genau auf diesen Datenpunkt - also Pfad kopieren s. roter Pfeil) - hänge eine JSON Node dran und dann eine Change node.

                                    f2f098f3-a20d-49a7-9675-d1084e84cfdf-image.png

                                    Jedenfalls kannst Du doch den Datenpunkt direkt auslesen:
                                    c08401c4-b7df-4a6d-86d5-3400ef25fb4b-image.png 8b60b4cf-64c4-44e4-918d-557e3c284b76-image.png

                                    Dr.PieD Offline
                                    Dr.PieD Offline
                                    Dr.Pie
                                    wrote on last edited by
                                    #19

                                    @mickym muss der Node-Red nicht erst mal von dem Gerät wissen das es existiert ?
                                    mqtt13.png

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

                                      @dr-pie Du kannst doch mit der iobroker IN Node den Datenpunkt auslesen? Da muss nichts bekannt sein. Entweder der Datenpunkt existiert oder nicht. wo hast du ein Problem?

                                      Importiere mal die 4 Nodes:
                                      80610ff3-93a2-4782-93e2-254f96a9132d-image.png

                                      [
                                         {
                                             "id": "f990f52fabd7315d",
                                             "type": "ioBroker in",
                                             "z": "b4c67f329886e71e",
                                             "name": "",
                                             "topic": "mqtt.0.shelly#2232342.status.input:100",
                                             "payloadType": "value",
                                             "onlyack": "",
                                             "func": "all",
                                             "gap": "",
                                             "fireOnStart": "false",
                                             "outFormat": "MQTT",
                                             "x": 320,
                                             "y": 460,
                                             "wires": [
                                                 [
                                                     "0ed6a6e27b2da91f"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "0ed6a6e27b2da91f",
                                             "type": "json",
                                             "z": "b4c67f329886e71e",
                                             "name": "",
                                             "property": "payload",
                                             "action": "",
                                             "pretty": false,
                                             "x": 510,
                                             "y": 460,
                                             "wires": [
                                                 [
                                                     "2feeeee6452e3620"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "2feeeee6452e3620",
                                             "type": "change",
                                             "z": "b4c67f329886e71e",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "payload.state",
                                                     "tot": "msg"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 710,
                                             "y": 460,
                                             "wires": [
                                                 [
                                                     "4c6b3a64290772f8"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "4c6b3a64290772f8",
                                             "type": "debug",
                                             "z": "b4c67f329886e71e",
                                             "name": "debug 45",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "false",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 900,
                                             "y": 460,
                                             "wires": []
                                         }
                                      ]
                                      

                                      und passe den Pfad zum Datenpunkt vorne 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.

                                      Dr.PieD 1 Reply Last reply
                                      0
                                      • mickymM mickym

                                        @dr-pie Du kannst doch mit der iobroker IN Node den Datenpunkt auslesen? Da muss nichts bekannt sein. Entweder der Datenpunkt existiert oder nicht. wo hast du ein Problem?

                                        Importiere mal die 4 Nodes:
                                        80610ff3-93a2-4782-93e2-254f96a9132d-image.png

                                        [
                                           {
                                               "id": "f990f52fabd7315d",
                                               "type": "ioBroker in",
                                               "z": "b4c67f329886e71e",
                                               "name": "",
                                               "topic": "mqtt.0.shelly#2232342.status.input:100",
                                               "payloadType": "value",
                                               "onlyack": "",
                                               "func": "all",
                                               "gap": "",
                                               "fireOnStart": "false",
                                               "outFormat": "MQTT",
                                               "x": 320,
                                               "y": 460,
                                               "wires": [
                                                   [
                                                       "0ed6a6e27b2da91f"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "0ed6a6e27b2da91f",
                                               "type": "json",
                                               "z": "b4c67f329886e71e",
                                               "name": "",
                                               "property": "payload",
                                               "action": "",
                                               "pretty": false,
                                               "x": 510,
                                               "y": 460,
                                               "wires": [
                                                   [
                                                       "2feeeee6452e3620"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "2feeeee6452e3620",
                                               "type": "change",
                                               "z": "b4c67f329886e71e",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.state",
                                                       "tot": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 710,
                                               "y": 460,
                                               "wires": [
                                                   [
                                                       "4c6b3a64290772f8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "4c6b3a64290772f8",
                                               "type": "debug",
                                               "z": "b4c67f329886e71e",
                                               "name": "debug 45",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "false",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 900,
                                               "y": 460,
                                               "wires": []
                                           }
                                        ]
                                        

                                        und passe den Pfad zum Datenpunkt vorne an

                                        Dr.PieD Offline
                                        Dr.PieD Offline
                                        Dr.Pie
                                        wrote on last edited by Dr.Pie
                                        #21

                                        @mickym Wie lese ich den Datenpunkt denn aus im Node ??

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

                                          @dr-pie Hast Du meinen Flow nicht importiert?

                                          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.

                                          Dr.PieD 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

                                          420

                                          Online

                                          32.5k

                                          Users

                                          81.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