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. "Wait" in blockly?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

"Wait" in blockly?

Scheduled Pinned Locked Moved Skripten / Logik
48 Posts 14 Posters 20.7k Views 1 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.
  • blauholstenB Offline
    blauholstenB Offline
    blauholsten
    Developer
    wrote on last edited by
    #6

    @apollon77:

    Das was Du "in" das "setTimeout" reinpackst wird zeitverzögert ausgeführt. Der Restliche Code läuft weiter `
    bloß zu Vollständigkeit, bei setStateDelay ist es genau so.

    Entwickler vom: - Viessman Adapter
    - Alarm Adapter

    1 Reply Last reply
    0
    • Z Offline
      Z Offline
      Zipkart
      wrote on last edited by
      #7

      Danke für den Hinweis. Jetzt bin ich wieder einmal etwas schlauer.

      Gesendet von iPhone mit Tapatalk

      Produktiv Proxmox / NUC / IOBroker / RFLInk / Mysensor / Raspimatic / Keymatic / HUE / MiHome / Tradfri / Shelly / SOnOff / Alexa / Sonos / Wandtablet / iPad

      Testsystem…
      immer mal wieder unterschiedlich

      1 Reply Last reply
      0
      • D Offline
        D Offline
        Desa
        wrote on last edited by
        #8

        Ok, nur zum Verständnis , gibt es auch das gegenteil ? also wird 1 min ausgeführt und hört dann auf ?

        5x Rpi3, 2xRpi4 4gb, 4x HMThermostat, 4x MaxThermostat, 12x HMFensterkontakt, 2x MaxFensterkontakt, 2x RauchmelderZwave, 3x SteckdoseZwave, 14x Steckdose Elro433MHz, 2x HM 4FachSchaltaktor, 3x FS20Bewegungsmelder, 1xCul433, 1xCul862, 1xCulMAX, 1xZwave und HMO, MI Home Gateway 2x, 7x Mi Smoke, 1x MiGas, 3x Temp, 3x Sens

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #9

          @Desa:

          also wird 1 min ausgeführt und hört dann auf ? `
          Was soll den 1 min lang ausgeführt werden ? Eine Endlosschleife, die die CPU blockiert, oder ein Programm in definiertem Abstand (setInterval) ? Im zweiten Fall kann man die Ausführung mittels clearInterval nach einer Minute beenden.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • D Offline
            D Offline
            Desa
            wrote on last edited by
            #10

            In diesem falle zum beispiel eine Say it aussage alarm alarm alarm z.b.

            5x Rpi3, 2xRpi4 4gb, 4x HMThermostat, 4x MaxThermostat, 12x HMFensterkontakt, 2x MaxFensterkontakt, 2x RauchmelderZwave, 3x SteckdoseZwave, 14x Steckdose Elro433MHz, 2x HM 4FachSchaltaktor, 3x FS20Bewegungsmelder, 1xCul433, 1xCul862, 1xCulMAX, 1xZwave und HMO, MI Home Gateway 2x, 7x Mi Smoke, 1x MiGas, 3x Temp, 3x Sens

            1 Reply Last reply
            0
            • DutchmanD Offline
              DutchmanD Offline
              Dutchman
              Developer Most Active Administrators
              wrote on last edited by
              #11

              @Desa:

              In diesem falle zum beispiel eine Say it aussage alarm alarm alarm z.b. `

              fuer ein beispiel mit alarm sowas ?:

              979_alarm.jpg

              damit kommt alle drei sekunden eine alarm bis die variable wieder ausgeschaltet ist, oder nur 3 mal:
              979_alarmrepeat.jpg

              1 Reply Last reply
              0
              • D Offline
                D Offline
                Desa
                wrote on last edited by
                #12

                Danke für die schnelle Antwort aber iwie klappt das bei mir nicht. er sagt immer der Block ist nicht mit den anderen verbunden. habe leider dazu auch das Problem, das der alarm nicht ausgelöst wird. Beide Bolsche sind wahr, aber das script registriert es nicht und macht nichts. hab ich da was übersehen ? weil es geht auch nicht wenn ich den teil raus löse. Hoffe du kannst mir helfen

                Lg Desa

                ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                ! <block type="on" id="#r=D9]p_Zs~7c4ZFT([j" x="-312" y="38"><field name="OID">admin.0.Alarmeingeschaltet</field>
                ! <field name="CONDITION">true</field>
                ! <statement name="STATEMENT"><block type="controls_if" id="2xXL()KA7!?4Sva6e:P"><value name="IF0"><block type="get_value" id="3|rHY{rV4YeYYwsEbH?J"><field name="ATTR">val</field>
                ! <field name="OID">admin.0.AlarmBewegung</field></block></value>
                ! <statement name="DO0"><block type="controls_if" id="Ub!MG:Cjmy_x0`6wL,-R"><value name="IF0"><block type="get_value" id="s-vI0udD+Kcd9i_78Uf5"><field name="ATTR">val</field>
                ! <field name="OID">admin.0.AlarmSensorEg</field></block></value>
                ! <statement name="DO0"><block type="controls_whileUntil" id="{rOP]+-]OYvW+maU;a+:"><field name="MODE">WHILE</field>
                ! <statement name="DO"><block type="timeouts_settimeout" id="xgJlvv!-fcnnyc3K6!hY"><field name="NAME">timeout</field>
                ! <field name="DELAY">3000</field>
                ! <statement name="STATEMENT"><block type="sayit" id="m0+]s?CKZ;Kk0_B;DB`G"><field name="INSTANCE">.0</field>
                ! <field name="LANGUAGE">de</field>
                ! <field name="LOG">warn</field>
                ! <value name="MESSAGE"><shadow type="text" id="[@CG`*IFZLA,)HVQ]WRR"><field name="TEXT">Alarm</field></shadow></value></block></statement></block></statement>
                ! <next><block type="control" id="WHAoT1HVK(uW/?i?:
                -l"><mutation delay_input="false"></mutation>
                ! <field name="OID">zwave.0.NODE4.SWITCH_BINARY.Switch_1</field>
                ! <field name="WITH_DELAY">FALSE</field>
                ! <value name="VALUE"><block type="logic_boolean" id="t1O|_y)@–-P(n{WpJ=("><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></statement></block></statement></block></xml>

                5x Rpi3, 2xRpi4 4gb, 4x HMThermostat, 4x MaxThermostat, 12x HMFensterkontakt, 2x MaxFensterkontakt, 2x RauchmelderZwave, 3x SteckdoseZwave, 14x Steckdose Elro433MHz, 2x HM 4FachSchaltaktor, 3x FS20Bewegungsmelder, 1xCul433, 1xCul862, 1xCulMAX, 1xZwave und HMO, MI Home Gateway 2x, 7x Mi Smoke, 1x MiGas, 3x Temp, 3x Sens

                1 Reply Last reply
                0
                • rantanplanR Offline
                  rantanplanR Offline
                  rantanplan
                  wrote on last edited by
                  #13

                  Hallo Desa
                  @Desa:

                  Danke für die schnelle Antwort aber iwie klappt das bei mir nicht. er sagt immer der Block ist nicht mit den anderen verbunden. `
                  Ist er ja auch nicht.

                  Da steht "wiederhole solange"…...????

                  Da fehlt eine Bedingung. Wie lange soll er denn wiederholen?

                  Nimm doch einfach den Baustein "wiederhole xx mal".

                  Da trägst Du z.B. eine 3 rein und dann wird das 3 mal ausgeführt.

                  @Desa:

                  habe leider dazu auch das Problem, das der alarm nicht ausgelöst wird. Beide Bolsche sind wahr, aber das script registriert es nicht und macht nichts. hab ich da was übersehen ? `
                  Nun Du triggerst "Alarmeingeschaltet" und das Script wird nur ausgeführt wenn diese auf wahr gesetzt wird. Und NUR dann.

                  Also wahrscheinlich nur wenn Du den Alarm einschaltest.

                  Danach können sich "AlarmBewegung" und "AlarmSensorEg" ändern wie sie wollen. Da passiert nichts.

                  NUR wenn sich die Bedingung eines Triggers erfüllt wird ein Script ausgeführt.

                  Dann werden die Bausteine innerhalb des Triggers, einmalig, ausgeführt.

                  Du müsstest also "AlarmBewegung" und "AlarmSensorEg" triggern.

                  Grüße

                  Rantanplan

                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    Desa
                    wrote on last edited by
                    #14

                    Ok, denke hab das Grob verstanden. Daher vorerst einmal vielen Dank. Aber das wird wohl nicht das letzte mal sein das ich ne frage habe ^^

                    5x Rpi3, 2xRpi4 4gb, 4x HMThermostat, 4x MaxThermostat, 12x HMFensterkontakt, 2x MaxFensterkontakt, 2x RauchmelderZwave, 3x SteckdoseZwave, 14x Steckdose Elro433MHz, 2x HM 4FachSchaltaktor, 3x FS20Bewegungsmelder, 1xCul433, 1xCul862, 1xCulMAX, 1xZwave und HMO, MI Home Gateway 2x, 7x Mi Smoke, 1x MiGas, 3x Temp, 3x Sens

                    1 Reply Last reply
                    0
                    • rantanplanR Offline
                      rantanplanR Offline
                      rantanplan
                      wrote on last edited by
                      #15

                      @UweRLP:

                      Ist es auch irgendwie möglich die Zeit des Timeouts per Variable zu setzten? `

                      Hallo UweRLP

                      Das steht auch noch auf meiner Blockly-Wunschliste.

                      [EDIT] Stand 18.10.17 Das Folgende funktioniert NICHT mehr*****

                      Z.Z. geht das nur "vom-Rücken-durch-die-Brust-ins-Auge" ;)

                      Lege eine eine lokale Variable an. (z.B. MyTimeout).

                      Geht NUR mit lokalen Variablen!!!

                      Dieser Variable kannst Du Werte zuweisen.

                      In dem Timeout-Baustein kann man auch Text eingeben.

                      Also anstatt 1000 den Namen der lokalen Variable dort eintragen.

                      Achtung! Genaue Schreibweise beachten.
                      147_dynamisches_timeout.png

                      Grüße

                      Rantanplan

                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                      1 Reply Last reply
                      0
                      • rantanplanR Offline
                        rantanplanR Offline
                        rantanplan
                        wrote on last edited by
                        #16

                        @UweRLP:

                        Vielen Dank nochmals! `
                        Immer wieder gerne ;)

                        Was mir noch aufgefallen ist.

                        Der Timer wird immer ausgeführt wenn der Trigger auslöst!

                        Jedesmal wenn ein Timer gestartet wird, wird eine "Timer-Instanz" gestartet.

                        Wenn der 10x gestartet wird, laufen auch 10 Timer, die dann nacheinander abgearbeitet werden.

                        Bau doch den Timer in eine Funktion oder setze den Stop-Baustein ein.

                        Grüße

                        Rantanplan

                        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                        1 Reply Last reply
                        0
                        • rantanplanR Offline
                          rantanplanR Offline
                          rantanplan
                          wrote on last edited by
                          #17

                          @UweRLP:

                          @rantanplan:

                          Die Alternative die du mir Vorschlägst, als Funktion, verstehe ich leider nicht, würdest du mir das bitte erklären. Danke!

                          In einer Funktion kannst Du, in einem Blockly, Programmschritte die sich wiederholen reinpacken.

                          Wenn eine Funktion aufgerufen wird, springt das Programm dort hin, führt die Befehle aus und kehrt zurück und arbeitet das restliche Programm ab.

                          Funktionen machen Scripte/Blocklys lesbarer und bieten enorme Möglichkeiten.

                          Deinen Timer könntest Du in eine Funktion mit Parameter setzen.
                          147_beispiel_timer.png

                          Hier noch einige Beispiele.
                          147_beispiel_funktionen.png

                          Hier der Export von den Beispielen.

                          ! ````
                          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_callnoreturn" id="m)kSOt)?Fr[Q-h)XJIqQ" x="-313" y="-262"><mutation name="MeineZeitFunktion"><arg name="WertTimer"></arg></mutation>
                          <value name="ARG0"><block type="math_number" id="koxWb-^aDM5Ht#OKML3"><field name="NUM">27000</field></block></value></block> <block type="procedures_defnoreturn" id="EtS,RT{KKRrmrBA}O3Ll" x="-313" y="-187"><mutation><arg name="WertTimer"></arg></mutation> <field name="NAME">MeineZeitFunktion</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="timeouts_cleartimeout" id="t-V)M^(eCCwahAED)H4["><field name="NAME">Zeit</field> <next><block type="timeouts_settimeout" id=";zgdd[sqQtZ-zG;R(m6*"><field name="NAME">Zeit</field> <field name="DELAY">WertTimer</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="t;HV7ZMy#pR=U4X/Jkbz"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field></block></statement></block></next></block></statement></block> <block type="procedures_callnoreturn" id="l;ds2j/VU+.;s=Rwk*17" x="-687" y="-87"><mutation name="MyFuntion"></mutation> <next><block type="procedures_callnoreturn" id="T0)djLb+iYaML7Xl,D}"><mutation name="MyFunction2"><arg name="x"></arg></mutation>
                          <value name="ARG0"><block type="math_number" id="ga5}CTdo1gM!22DhdJw0"><field name="NUM">1000</field></block></value>
                          <next><block type="debug" id="+D[1QLr)!Y),ft4r6eMQ"><field name="Severity">log</field>
                          <value name="TEXT"><shadow type="text" id="+8N-a*vr.]7=+^{BKW5K"><field name="TEXT">test</field></shadow>
                          <block type="text_join" id="lE!A=3ET?tOc?4u%O/=!"><mutation items="2"></mutation>
                          <value name="ADD0"><block type="text" id="b}:-)i8Us!E/*w/8_ul"><field name="TEXT">***MyFunction3 mit Ergebniss</field></block></value>
                          <value name="ADD1"><block type="procedures_callreturn" id="4dS.LW7@:Ub8]lE^Sy.6"><mutation name="MyFunktion3"><arg name="A"></arg>
                          <arg name="B"></arg></mutation>
                          <value name="ARG0"><block type="math_number" id="i{8gE!F}C-jl{whetj/"><field name="NUM">10</field></block></value> <value name="ARG1"><block type="math_number" id="vDbtx?[RIh^t69W+!ndC"><field name="NUM">20</field></block></value></block></value></block></value></block></next></block></next></block> <block type="procedures_defnoreturn" id="fci;KBqgZ)7Dd#Eg{^w@" x="-688" y="137"><field name="NAME">MyFuntion</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="debug" id="UThPyQuQPKWRtw7E~??"><field name="Severity">log</field>
                          <value name="TEXT"><shadow type="text" id="u0vGR/dV=3PlyZ[7=+P"><field name="TEXT">***MyFunktion ausgeführt</field></shadow></value></block></statement></block> <block type="procedures_defnoreturn" id="O9nP#)+zqlt9Fq{YT0rq" x="-687" y="238"><mutation><arg name="x"></arg></mutation> <field name="NAME">MyFunction2</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="debug" id="spDsr],GvdZW)Bz^[HOB"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="[wQ1wey?YXXAsRc{qD{1"><field name="TEXT">test</field></shadow> <block type="text_join" id="4hpxTJi#S,@q*M|XMR(-"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="4OENq~@=g5nzUo,6Q3BX"><field name="TEXT">**MyFuntion2 ausgeführt mit Übergabe von</field></block></value> <value name="ADD1"><block type="variables_get" id="PAts^s-Ex]f/1fJ]T_z"><field name="VAR">x</field></block></value></block></value></block></statement></block>
                          <block type="procedures_defreturn" id="gL:inEgPcEwA-S|^TA3" x="-688" y="362"><mutation><arg name="A"></arg>
                          <arg name="B"></arg></mutation>
                          <field name="NAME">MyFunktion3</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          <statement name="STACK"><block type="variables_set" id="6UJRE{XLXlKofpnxp!6g"><field name="VAR">C</field>
                          <value name="VALUE"><block type="math_arithmetic" id="{aq~Tzv(PfMoYSKV2f;U"><field name="OP">ADD</field>
                          <value name="A"><shadow type="math_number" id="}|m2/3#K!Y-m+}[s5}("><field name="NUM">1</field></shadow>
                          <block type="variables_get" id="~kGc8}t0BH!sPCf7iVg{"><field name="VAR">A</field></block></value>
                          <value name="B"><shadow type="math_number" id="9STkOqU7q^b2
                          fqt^B
                          +"><field name="NUM">1</field></shadow>
                          <block type="variables_get" id="FuFM1ySG(@CE]RPO(jrM"><field name="VAR">B</field></block></value></block></value></block></statement>
                          <value name="RETURN"><block type="variables_get" id="}B==
                          ?4Jt!1sd+{pGL,r"><field name="VAR">C</field></block></value></block></xml>

                          
                          Grüße

                          Rantanplan

                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                          1 Reply Last reply
                          0
                          • rantanplanR Offline
                            rantanplanR Offline
                            rantanplan
                            wrote on last edited by
                            #18

                            @UweRLP:

                            Sind die Funktionen auch Global anwendbar oder nur innerhalb des einen Blockly's? `
                            Nur innerhalb des Blocklys.

                            Grüße

                            Rantanplan

                            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                            1 Reply Last reply
                            0
                            • N Offline
                              N Offline
                              NUCChris
                              wrote on last edited by
                              #19

                              Moin zusammen,

                              ich versuche grade den Wert von "timeout" über VIS einzustellen. Ich habe die vorherigen beispiele ausprobiert, aber es will nicht klappen :?: :?
                              1736_1.jpg
                              1736_2.jpg
                              1736_3.jpg
                              1736_4.jpg

                              Gruß

                              Christian

                              INTEL NUC NUC5CPYH mit ioBroker 3.3.1 unter WIN7

                              RaspberryMatic 2.29.22.20171007

                              RFLink 1.0.5

                              1 Reply Last reply
                              0
                              • rantanplanR Offline
                                rantanplanR Offline
                                rantanplan
                                wrote on last edited by
                                #20

                                @NUCChris:

                                ich versuche grade den Wert von "timeout" über VIS einzustellen. Ich habe die vorherigen beispiele ausprobiert, aber es will nicht klappen :?: :? `

                                Der undokumentierte "Trick" mit der Variablen funktioniert nicht mehr.

                                Grüße

                                Rantanplan

                                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                S 1 Reply Last reply
                                0
                                • N Offline
                                  N Offline
                                  NUCChris
                                  wrote on last edited by
                                  #21

                                  kennt jemand einen neuen Trick? :shock:

                                  Gruß

                                  Christian

                                  INTEL NUC NUC5CPYH mit ioBroker 3.3.1 unter WIN7

                                  RaspberryMatic 2.29.22.20171007

                                  RFLink 1.0.5

                                  1 Reply Last reply
                                  0
                                  • AlCalzoneA Offline
                                    AlCalzoneA Offline
                                    AlCalzone
                                    Developer
                                    wrote on last edited by
                                    #22

                                    @NUCChris:

                                    kennt jemand einen neuen Trick? :shock: `
                                    Nimm JavaScript ;)

                                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                    1 Reply Last reply
                                    0
                                    • N Offline
                                      N Offline
                                      NUCChris
                                      wrote on last edited by
                                      #23

                                      Wie würde das aussehen. Mit

                                      Java hab ich noch keine Erfahrung [emoji16]

                                      Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk

                                      Gruß

                                      Christian

                                      INTEL NUC NUC5CPYH mit ioBroker 3.3.1 unter WIN7

                                      RaspberryMatic 2.29.22.20171007

                                      RFLink 1.0.5

                                      1 Reply Last reply
                                      0
                                      • AlCalzoneA Offline
                                        AlCalzoneA Offline
                                        AlCalzone
                                        Developer
                                        wrote on last edited by
                                        #24

                                        @NUCChris:

                                        Java hab ich noch keine Erfahrung [emoji16] `
                                        JavaScript != Java ;)

                                        Du kannst Blockly in JS konvertieren indem du die Engine wechselst (Einbahnstraße!)

                                        Und dann da wo die Zahl für den Timeout steht, deine Variable einsetzen.

                                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                        1 Reply Last reply
                                        0
                                        • N Offline
                                          N Offline
                                          NUCChris
                                          wrote on last edited by
                                          #25

                                          Moin Zusammen,

                                          ich hab die 1000 durch meine Variable ersetzt, aber es läuft bei mir nicht :cry:
                                          1736_5.jpg
                                          1736_6.jpg

                                          Gruß

                                          Christian

                                          INTEL NUC NUC5CPYH mit ioBroker 3.3.1 unter WIN7

                                          RaspberryMatic 2.29.22.20171007

                                          RFLink 1.0.5

                                          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

                                          516

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          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