Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. HM IP Tür/Fensterkontakt Einbindung in Alexa

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    12
    1
    330

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

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

HM IP Tür/Fensterkontakt Einbindung in Alexa

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
34 Beiträge 6 Kommentatoren 2.4k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • CinimodC Cinimod

    @ricroe hier deine Lösung, mit auch mehrfacher Auslösung am Tag, und ohne ellenlange Timeouts.

    Musst eine datenpunkt "string" erstellen wo die Zeit zum entsperren rein geschrieben werden kann.
    Und noch die Dauer der Sperre anpassen (aktuell 1Std.).

    2022-10-28 19_20_58-Window.png

    R Offline
    R Offline
    ricroe
    schrieb am zuletzt editiert von
    #24

    @cinimod habs glaub ich gefunden mit dem datenpunkt. script ist aber noch fehlerhaft. hab ich was falsch gemacht ?

    
    29.10.2022, 11:23:41.878	[info ]: javascript.0 (1319) Stop script script.js.common.Post
    29.10.2022, 11:23:41.893	[info ]: javascript.0 (1319) Start javascript script.js.common.Post
    29.10.2022, 11:23:41.908	[info ]: javascript.0 (1319) script.js.common.Post: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
    29.10.2022, 11:23:41.911	[error]: javascript.0 (1319) script.js.common.Post: TypeError: Cannot read properties of undefined (reading 'toString')
    29.10.2022, 11:23:41.912	[error]: javascript.0 (1319)     at sperrzeit_aufheben (script.js.common.Post:6:34)
    29.10.2022, 11:23:41.912	[error]: javascript.0 (1319)     at script.js.common.Post:24:7
    29.10.2022, 11:23:41.912	[error]: javascript.0 (1319)     at script.js.common.Post:33:3
    29.10.2022, 11:23:45.543	[info ]: javascript.0 (1319) Stop script script.js.common.Post
    29.10.2022, 11:23:45.563	[info ]: javascript.0 (1319) Start javascript script.js.common.Post
    29.10.2022, 11:23:45.574	[info ]: javascript.0 (1319) script.js.common.Post: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
    29.10.2022, 11:23:45.576	[error]: javascript.0 (1319) script.js.common.Post: TypeError: Cannot read properties of undefined (reading 'toString')
    29.10.2022, 11:23:45.577	[error]: javascript.0 (1319)     at sperrzeit_aufheben (script.js.common.Post:6:34)
    29.10.2022, 11:23:45.577	[error]: javascript.0 (1319)     at script.js.common.Post:24:7
    29.10.2022, 11:23:45.577	[error]: javascript.0 (1319)     at script.js.common.Post:33:3
    
    
    CinimodC 1 Antwort Letzte Antwort
    0
    • R ricroe

      @cinimod habs glaub ich gefunden mit dem datenpunkt. script ist aber noch fehlerhaft. hab ich was falsch gemacht ?

      
      29.10.2022, 11:23:41.878	[info ]: javascript.0 (1319) Stop script script.js.common.Post
      29.10.2022, 11:23:41.893	[info ]: javascript.0 (1319) Start javascript script.js.common.Post
      29.10.2022, 11:23:41.908	[info ]: javascript.0 (1319) script.js.common.Post: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      29.10.2022, 11:23:41.911	[error]: javascript.0 (1319) script.js.common.Post: TypeError: Cannot read properties of undefined (reading 'toString')
      29.10.2022, 11:23:41.912	[error]: javascript.0 (1319)     at sperrzeit_aufheben (script.js.common.Post:6:34)
      29.10.2022, 11:23:41.912	[error]: javascript.0 (1319)     at script.js.common.Post:24:7
      29.10.2022, 11:23:41.912	[error]: javascript.0 (1319)     at script.js.common.Post:33:3
      29.10.2022, 11:23:45.543	[info ]: javascript.0 (1319) Stop script script.js.common.Post
      29.10.2022, 11:23:45.563	[info ]: javascript.0 (1319) Start javascript script.js.common.Post
      29.10.2022, 11:23:45.574	[info ]: javascript.0 (1319) script.js.common.Post: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      29.10.2022, 11:23:45.576	[error]: javascript.0 (1319) script.js.common.Post: TypeError: Cannot read properties of undefined (reading 'toString')
      29.10.2022, 11:23:45.577	[error]: javascript.0 (1319)     at sperrzeit_aufheben (script.js.common.Post:6:34)
      29.10.2022, 11:23:45.577	[error]: javascript.0 (1319)     at script.js.common.Post:24:7
      29.10.2022, 11:23:45.577	[error]: javascript.0 (1319)     at script.js.common.Post:33:3
      
      
      CinimodC Offline
      CinimodC Offline
      Cinimod
      Most Active
      schrieb am zuletzt editiert von Cinimod
      #25

      @ricroe

      Schreib mal manuell eine zeit in den erstellten Datenpunkt in diesem Format: 11:30

      Der Datenpunkt kann nicht gelesen werden weil er leer ist.

      Die Funktion kannst du noch umbenennen in "sperre_aufheben" das macht mehr sinn. Für den Fall das du es von mir so übernommen hast.

      Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

      R 1 Antwort Letzte Antwort
      0
      • CinimodC Cinimod

        @ricroe

        Schreib mal manuell eine zeit in den erstellten Datenpunkt in diesem Format: 11:30

        Der Datenpunkt kann nicht gelesen werden weil er leer ist.

        Die Funktion kannst du noch umbenennen in "sperre_aufheben" das macht mehr sinn. Für den Fall das du es von mir so übernommen hast.

        R Offline
        R Offline
        ricroe
        schrieb am zuletzt editiert von
        #26

        @cinimod
        wie/wo schreib ich das rein ?

        hier irgendwo ?

        7AD9D979-25C7-4333-8725-B57C07727F66.jpeg

        CinimodC 1 Antwort Letzte Antwort
        0
        • R ricroe

          @cinimod
          wie/wo schreib ich das rein ?

          hier irgendwo ?

          7AD9D979-25C7-4333-8725-B57C07727F66.jpeg

          CinimodC Offline
          CinimodC Offline
          Cinimod
          Most Active
          schrieb am zuletzt editiert von Cinimod
          #27

          @ricroe

          Einfach bei dem Objekt hinten in das Wert Feld tippen, den ändern und "Wert Setzen".

          Bildschirmfoto 2022-10-29 um 14.25.26.png

          Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

          R 1 Antwort Letzte Antwort
          0
          • W Online
            W Online
            Wildbill
            schrieb am zuletzt editiert von
            #28

            Anstatt mit einem Sperrdatenpunkt zu arbeiten, der manuell gelöscht werden muss (was ich nicht besonders smart finde), habe ich bei mir folgendes gemacht: Der Briefkasten ist direkt in der Nähe der Haustüre, welche mit einem Tür-/Fensterkontakt ausgestattet ist. Wenn ich nun Post reinhole, so muss ich zwangsläufig vorher die Haustüre öffnen und löse dann auch beim Rausholen der Post den Briefkastensensor aus. Also läuft ein kleines Skript, welches die Sperrvariable löscht, wenn der Sensor auslöst, aber dabei die Haustüre geöffnet ist. Denn die Chance, dass die Haustüre offen ist, obwohl niemand draussen ist geht gegen 0. Und die Chance bei geöffneter Türe den Briefträger nicht zu sehen so dass er dann heimlich Post reinschmeisst ebenso.

            Gruss, Jürgen

            CinimodC R 2 Antworten Letzte Antwort
            0
            • W Wildbill

              Anstatt mit einem Sperrdatenpunkt zu arbeiten, der manuell gelöscht werden muss (was ich nicht besonders smart finde), habe ich bei mir folgendes gemacht: Der Briefkasten ist direkt in der Nähe der Haustüre, welche mit einem Tür-/Fensterkontakt ausgestattet ist. Wenn ich nun Post reinhole, so muss ich zwangsläufig vorher die Haustüre öffnen und löse dann auch beim Rausholen der Post den Briefkastensensor aus. Also läuft ein kleines Skript, welches die Sperrvariable löscht, wenn der Sensor auslöst, aber dabei die Haustüre geöffnet ist. Denn die Chance, dass die Haustüre offen ist, obwohl niemand draussen ist geht gegen 0. Und die Chance bei geöffneter Türe den Briefträger nicht zu sehen so dass er dann heimlich Post reinschmeisst ebenso.

              Gruss, Jürgen

              CinimodC Offline
              CinimodC Offline
              Cinimod
              Most Active
              schrieb am zuletzt editiert von
              #29

              @wildbill

              Also manuell gelöscht werden muss da nix ... aber die Idee finde ich trotzdem auch ganz gut, das man einfach mit einem kleinen Button das abholen der Post quittiert, um so die Benachrichtigung wieder scharf stellt.

              Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

              1 Antwort Letzte Antwort
              0
              • W Wildbill

                Anstatt mit einem Sperrdatenpunkt zu arbeiten, der manuell gelöscht werden muss (was ich nicht besonders smart finde), habe ich bei mir folgendes gemacht: Der Briefkasten ist direkt in der Nähe der Haustüre, welche mit einem Tür-/Fensterkontakt ausgestattet ist. Wenn ich nun Post reinhole, so muss ich zwangsläufig vorher die Haustüre öffnen und löse dann auch beim Rausholen der Post den Briefkastensensor aus. Also läuft ein kleines Skript, welches die Sperrvariable löscht, wenn der Sensor auslöst, aber dabei die Haustüre geöffnet ist. Denn die Chance, dass die Haustüre offen ist, obwohl niemand draussen ist geht gegen 0. Und die Chance bei geöffneter Türe den Briefträger nicht zu sehen so dass er dann heimlich Post reinschmeisst ebenso.

                Gruss, Jürgen

                R Offline
                R Offline
                ricroe
                schrieb am zuletzt editiert von
                #30

                @wildbill auch interessant. magst du das script etc mal hier teilen ?

                W 1 Antwort Letzte Antwort
                0
                • CinimodC Cinimod

                  @ricroe

                  Einfach bei dem Objekt hinten in das Wert Feld tippen, den ändern und "Wert Setzen".

                  Bildschirmfoto 2022-10-29 um 14.25.26.png

                  R Offline
                  R Offline
                  ricroe
                  schrieb am zuletzt editiert von
                  #31

                  @cinimod danke, jetzt ist das script fehlerfrei 👍🏻Ist der Wert den ich eintrage nur als Platzhalter zu sehen oder hat der eine wirkliche Bedeutung/Funktion ?

                  Frage, die Lautstärke setzt er nicht. Er sagt „60 die Post ist da“. Er liest die Zahl einfach mit statt die Lautstärke zu regeln.

                  Ich würde gerne mehrere Alexageräte ansteuern und habe einfach ein weiteres drunter gehangen. Die Ausgabe erfolgt aber nur auf einem.

                  DJMarc75D CinimodC 2 Antworten Letzte Antwort
                  0
                  • R ricroe

                    @cinimod danke, jetzt ist das script fehlerfrei 👍🏻Ist der Wert den ich eintrage nur als Platzhalter zu sehen oder hat der eine wirkliche Bedeutung/Funktion ?

                    Frage, die Lautstärke setzt er nicht. Er sagt „60 die Post ist da“. Er liest die Zahl einfach mit statt die Lautstärke zu regeln.

                    Ich würde gerne mehrere Alexageräte ansteuern und habe einfach ein weiteres drunter gehangen. Die Ausgabe erfolgt aber nur auf einem.

                    DJMarc75D Offline
                    DJMarc75D Offline
                    DJMarc75
                    schrieb am zuletzt editiert von
                    #32

                    @ricroe sagte in HM IP Tür/Fensterkontakt Einbindung in Alexa:

                    Er sagt „60 die Post ist da“.

                    Um einen Text mit angepasster Lautstärke vorlesen zu lassen braucht es den DP "speak".
                    Screenshot 2022-10-31 150659.png

                    In diesen DP trägst Du folgendes ein:

                    60;Dein Text
                    

                    Damit wird für diesen einen Befehl die Lautstärke auf 60 gestellt und anschliessend wieder zurückgesetzt.

                    Lehrling seit 1975 !!!
                    Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                    https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                    1 Antwort Letzte Antwort
                    0
                    • R ricroe

                      @wildbill auch interessant. magst du das script etc mal hier teilen ?

                      W Online
                      W Online
                      Wildbill
                      schrieb am zuletzt editiert von
                      #33

                      @ricroe sagte in HM IP Tür/Fensterkontakt Einbindung in Alexa:

                      @wildbill auch interessant. magst du das script etc mal hier teilen ?

                      Bittesehr:

                      2B4F0E6C-594E-4E0A-B409-75A8F0C4EF19.jpeg

                      Und als Export:

                      
                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <block type="on_ext" id="G^i_gI?]Hg1_K}?$y40." x="13" y="63">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="x:G8eh#-4yi:L;jtLA,)">
                             <field name="oid">deconz.0.Sensors.34.vibration</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="controls_if" id="+5v3DDGT2hOY54=tZY$W">
                             <value name="IF0">
                               <block type="logic_operation" id="HYEmMC10h(F9`KP*9B9S">
                                 <field name="OP">AND</field>
                                 <value name="A">
                                   <block type="logic_compare" id="EC9dw|[gI8aZKA{hzn/|">
                                     <field name="OP">EQ</field>
                                     <value name="A">
                                       <block type="on_source" id="zhh(Em]4j#{NHt.(aHLm">
                                         <field name="ATTR">state.val</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="logic_boolean" id="H=]cteiC5rOM_|Awy;fR">
                                         <field name="BOOL">TRUE</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="logic_compare" id="XR#Py.1_EM0lG~QU3HHo">
                                     <field name="OP">EQ</field>
                                     <value name="A">
                                       <block type="get_value" id="}uIh6O.zYsW[){3Rsn~v">
                                         <field name="ATTR">val</field>
                                         <field name="OID">hm-rpc.1.0000DA49A63EB1.1.STATE</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="math_number" id="FicH[U87*hOK9-8S[]KU">
                                         <field name="NUM">0</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="telegram" id="stns4{xSEw|KL_DuMsA@">
                                 <field name="INSTANCE"></field>
                                 <field name="LOG"></field>
                                 <field name="SILENT">FALSE</field>
                                 <field name="PARSEMODE">default</field>
                                 <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                 <value name="MESSAGE">
                                   <shadow type="text" id="@F+vYoOr+pc@M1#W4zg~">
                                     <field name="TEXT">Post ist im Briefkasten!</field>
                                   </shadow>
                                 </value>
                                 <value name="USERNAME">
                                   <block type="text" id="VR^hQ#@jPCU@W%`/6TX+">
                                     <field name="TEXT">Jürgen</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="update" id="v+hp`xJ8SexGDV5E/z4.">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">0_userdata.0.Benachrichtigung.Briefkasten</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="logic_boolean" id="~Bu!k/_BsZ#NEs/qW#QN">
                                         <field name="BOOL">TRUE</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="controls_if" id="dh)P1h:z^!-iaSdo-FFg">
                                         <value name="IF0">
                                           <block type="time_compare_ex" id="IfiMTt~OvA5c?N{PTf7v">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                                             <field name="USE_ACTUAL_TIME">TRUE</field>
                                             <field name="OPTION">between</field>
                                             <value name="START_TIME">
                                               <shadow type="text" id="0KZ0LVsvQ%y0w;;;A-xf">
                                                 <field name="TEXT">08:00</field>
                                               </shadow>
                                             </value>
                                             <value name="END_TIME">
                                               <shadow type="text" id=".EqTe~ar(Ew8M_%%O51J">
                                                 <field name="TEXT">21:00</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="update" id="K1@N2!x8J|r:Q,~%tgsv">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.Alexa-Text</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="text" id="/23[3/vz[oZ1F[e)n_Ys">
                                                 <field name="TEXT">Post ist im Briefkasten!</field>
                                               </block>
                                             </value>
                                           </block>
                                         </statement>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <next>
                               <block type="controls_if" id=":Hzj;x#.prX+ofD`8_Qr">
                                 <value name="IF0">
                                   <block type="logic_operation" id="XC~EDz9ub^h^Zs20eR~R">
                                     <field name="OP">AND</field>
                                     <value name="A">
                                       <block type="logic_compare" id="35PHzPWp;pzX0C%:*{{e">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="on_source" id="?okr50DroDdK6h`Q^f5r">
                                             <field name="ATTR">state.val</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_boolean" id="vKikhj2CZ*{H9y,[g/R{">
                                             <field name="BOOL">TRUE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="logic_compare" id="n@*e*3ayPF@OmR3_E.jI">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="get_value" id="#%T!+U*f`*%QUtK}+Pa(">
                                             <field name="ATTR">val</field>
                                             <field name="OID">hm-rpc.1.0000DA49A63EB1.1.STATE</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="7oDE5OYfn%`%JT@?5So#">
                                             <field name="NUM">1</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="update" id="g/LL-$yWumK@@E~(,fU-">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">0_userdata.0.Benachrichtigung.Briefkasten</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="logic_boolean" id="=g+$N~PatVX)3SC|!TS6">
                                         <field name="BOOL">FALSE</field>
                                       </block>
                                     </value>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                      </xml>
                      
                      

                      Der Datenpunkt Briefkasten ist ein selbst erstellter, auf den dann zusätzliche Dinge triggern, wie z.B. ein Hue Lightstrip und das farbig kennzeichnet.

                      Gruss, Jürgen

                      1 Antwort Letzte Antwort
                      0
                      • R ricroe

                        @cinimod danke, jetzt ist das script fehlerfrei 👍🏻Ist der Wert den ich eintrage nur als Platzhalter zu sehen oder hat der eine wirkliche Bedeutung/Funktion ?

                        Frage, die Lautstärke setzt er nicht. Er sagt „60 die Post ist da“. Er liest die Zahl einfach mit statt die Lautstärke zu regeln.

                        Ich würde gerne mehrere Alexageräte ansteuern und habe einfach ein weiteres drunter gehangen. Die Ausgabe erfolgt aber nur auf einem.

                        CinimodC Offline
                        CinimodC Offline
                        Cinimod
                        Most Active
                        schrieb am zuletzt editiert von
                        #34

                        @ricroe

                        Ja so in etwa, der Datenpunkt darf halt nicht leer sein, sonst kann er den Zeitplan nicht definieren, und produziert einen Fehler.
                        Wenn die Sperre schon auf false steht, passiert ja nichts weiter beim ausführen des Zeitplans.
                        Und wird eine neue Zeit in den Datenpunkt geschrieben wird auch der Zeitplan gestoppt, und mit der neuen Zeit wieder gestartet.

                        Das mit der Lautspärke war meine Fehler sorry, muss NICHT "," sein sondern ";", dann sollte es klappen.

                        Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        464

                        Online

                        32.5k

                        Benutzer

                        81.6k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe