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. Bier maischen Script mit Blockly

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Bier maischen Script mit Blockly

Scheduled Pinned Locked Moved Skripten / Logik
101 Posts 9 Posters 10.8k 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.
  • Ralla66R Offline
    Ralla66R Offline
    Ralla66
    Most Active
    wrote on last edited by
    #61

    Besser wäre die SD Karte zu sichern.

    Rückspielen:

    cd /opt/iobroker

    sudo iobroker stop

    sudo iobroker restore 0

    sudo iobroker start

    Danach Adapter neu starten.

    sudo iobroker start all habe ich noch nicht getestet.

    Bei sudo iobroker restore 0 wird das letzte Backup genommen.

    Bei sudo iobroker restore 1 wird das vorletzte Backup genommen.

    Eventuell mal unter Iobroker Fehler einen neuen Fred aufmachen, nach dem Motto

    Datenpunkt hat kein Wert oder sowas.

    Dort lesen mehr Forumsmitglieder mit.

    Zitat:

    iobroker restore

    Full syntax: iobroker restore <backup name/or/path="">If some backups were created with command iobroker backup, so they can be restored. If you call restore without parameters, you will get the list of available backups.

    />iobroker restore

    Please specify one of the backup names:

    2015_07_18-12_20_28_backupIoBroker.tar.gz or 2015_07_18-12_20_28 or 0

    2015_07_17-21_54_01_backupIoBroker.tar.gz or 2015_07_17-21_54_01 or 1

    You can call iobroker restore 0 to use latest backup file or some other index. Following commands are the same for given example:

    iobroker restore 0

    iobroker 2015_07_18-12_20_28

    iobroker 2015_07_17-21_54_01_backupIoBroker.tar.gz

    iobroker /opt/iobroker/backups/2015_07_17-21_54_01_backupIoBroker.tar.gz

    All adapters will be restored as disabled, except "admin". To enable all adapters at once you can call "iobroker start all". If some adapters are not uploaded you can call "iobroker upload all" to upload all adapter's files at once.</backup>

    1 Reply Last reply
    0
    • Ralla66R Offline
      Ralla66R Offline
      Ralla66
      Most Active
      wrote on last edited by
      #62

      :sudo reboot funzt offensichtlich beim raspi nicht. sudo shutdown oder eben poweroff. und dann muss man ihm eh das Steckerchen ziehen.

      Wenn sudo reboot nicht geht scheint dein System defekt zu sein.

      SD Karte defekt, Programme zwangsgestoppt, Programme lasten den Prozessor zu 100 % aus usw.

      Also Raspi neu machen/ SD Karte neu.

      Shut down ist das langsame runterfahren des PI. ( vergleichbar unter Windows herunterfahren )

      Poweroff ist eher brutal herunterfahren egal was noch läuft. ( vergleichbar unter Windows Aus Knopf 5 Sec halten )

      Stecker ziehen solltest du vermeiden, ist so das schlimmste.

      Denke mal ist viel verbogen wegen Steckerziehen.

      Wenn du kein SD Karten backup hast kann ich nur Empfehlen alles neu.

      1 Reply Last reply
      0
      • H Offline
        H Offline
        hanzwurzt
        wrote on last edited by
        #63

        hmmm, dann würde das natürlich auch erklären, warum die ganze Geschichte hier so vertrackt ist. Seufz Kaum bin ich wieder halbwegs aufḿ Damm, kann ich schon wieder das ganze System neu einrichten.

        Ralla, ich danke dir auf jeden Fall von ganzem Herzen und werde mich wieder melden, sobald das ganze wieder neu aufgesetzt ist und auch (hoffentlich) ordentlich läuft. mein Backup habe ich leider auf meinem Rechner auf der Arbeit und komme da vor Montag nicht ran. Aber ich gebe nicht auf, bis der ganze Kram läuft und ich dir dafür (mindestens) ein Weizen zugeschickt habe…;)

        Danke, Mann für deine Geduld...thumbsup

        1 Reply Last reply
        0
        • Ralla66R Offline
          Ralla66R Offline
          Ralla66
          Most Active
          wrote on last edited by
          #64

          Sicher aber deine Backups von der SD Karte.

          War glaube ich mit filezilla.

          Hatte bei meinem Windows Rechner auch power off gemacht.

          Alles neu.

          Du bist nicht alleine :mrgreen:

          Wie sagte Mr.Spock USS Enterprise das noch.

          Der Mensch ist nicht logisch.

          Stimmt.

          Man hört sich.

          Ralla

          1 Reply Last reply
          0
          • H Offline
            H Offline
            hanzwurzt
            wrote on last edited by
            #65

            Hi Ralla,

            ich habe so einige Ungereimtheiten bei der vorherigen Installation ausmachen können (War eine NOOBS- Installation), was offensichtlich per default schon blöd konfiguriert ist. Anyway, jetzt scheint es zu funktionieren.

            12588_1.png

            Script scheint so zu arbeiten, wie es soll. Das war jetzt das Testscript. Also, Test läuft, abgehakt. Ich nehme mir jetzt das erweiterte Script vor und gebe Rückmeldung, sobald es fertig ist… :)

            1 Reply Last reply
            0
            • Ralla66R Offline
              Ralla66R Offline
              Ralla66
              Most Active
              wrote on last edited by
              #66

              Prima, Licht am Ende des Tunnels.

              Erste Erfolge :mrgreen:

              Jetzt langsam erweitern.

              Immer wieder prüfen ob das Programm läuft in kleinen Schritten.

              Überlege dir wie.

              Würde mit dem Runterzähler beginnen da der schwierigste Teil.

              Das script wird nur einmal getriggert, aufheizen ist nicht das Problem.

              Das halten der Temperatur ist noch fraglich.

              Teste erstmal, dann Bügeln wir Fehler für Fehler aus.

              Anbei mal ein möglicher Weg, siehe Bild. ;)

              Damit du was siehst lege noch Datenpunkt Kesseltemp_ist und Funke an.

              Ralla
              5230_etwa.jpg

              1 Reply Last reply
              0
              • Ralla66R Offline
                Ralla66R Offline
                Ralla66
                Most Active
                wrote on last edited by
                #67

                Habe noch ein Fehler entdeckt.

                Wenn die Heizung bei aufheizen eingeschaltet wird kommt die nächste Abfrage ob Kesseltemperatur

                ist größer oder gleich einmaische Grad.

                Dies wird aber nur einmal Abgfragt da das script nur einmal durchlaufen wird.

                Also muss erreicht werden das öfters abgefragt wird ob die Aufheiztemp erreicht ist.

                Habe noch ein Intervall eingefügt .

                Ob Intervall in Intervall geht kann ich nicht sagen.

                Mußte mal testen.

                Sonst muß Plan B ran.

                Ralla
                5230_etwa_v2.jpg

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  hanzwurzt
                  wrote on last edited by
                  #68

                  Hi Ralla,

                  danke für die Tipps. Das Script sieht nun wie folgt aus:
                  12588_1.png
                  12588_2.png

                  Beim Start passiert aber leider nichts. Datenpunkte sind wie folgt angelegt:
                  12588_dp.png

                  Da die Daten vom Durchlauf des Testscriptes noch drinstehen und die Funke auch nicht geschaltet wird, läuft das Script nicht bis zum Punkt "aufheizen" durch. Da das Objekt Bierbrauen auch nicht auf true gesetzt wird, würde ich mal vermuten, es liegt daran, dass das Setzen von Objekt Bierbrauen auf true nirgendwo definiert ist. Es wird am Schluss zwar auf unwahr gesetzt, aber wo wird es auf wahr gesetzt?

                  Oder habe ich schon wieder einen Denkfehler?

                  [Edit]: Ok, ich HABE einen Denkfehler. Im Testscript ist das ja auch nicht gesetzt. Also liegt es irgendwo anders. Der Runterzähler? :?:

                  [Edit]²: Hmmm, ich habe jetzt mal für jede Variable einen Datenpunkt angelegt. Scheint aber auch nicht viel zu bringen. Ich verstehe die Logik nicht. Bin halt doch doof…:(

                  1 Reply Last reply
                  0
                  • Ralla66R Offline
                    Ralla66R Offline
                    Ralla66
                    Most Active
                    wrote on last edited by
                    #69

                    Doof nicht, eher unwissend wie ich. ;)

                    In javascricpt.0 aus Bierbrauen level einen Button machen.

                    Wenn Button klick wird das script gestartet.
                    5230_text_dp_010022019.jpg
                    5230_button.jpg

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      hanzwurzt
                      wrote on last edited by
                      #70

                      Hi Ralla,

                      also, es liegt am Antriggern des Datenpunkts Bierbrauen.

                      Setze ich ihn manuell auf wahr oder auch auf unwahr, dann wird mir der entsprechende Text beim Datenpunkt Test angezeigt.

                      Ich habe einmal mit state, level und mit switch probiert, alle Ergebnisse gleich. Ich muss die Funktion manuell umstellen, dann wird der Tesxt generiert. Ich kann aber nur folgende Rollen auswählen:
                      12588_2.jpg

                      Ich würde jetzt systematisch alle durchtesten und mal schauen, womit es geht. Aber die generelle Frage bleibt. Nachdem das Script durch ist, muss ich manuell umstellen von true auf false und umgekehrt. Warum ist das so?

                      Das sind übrigens alle Datenpunkte, die ich erstellt habe mit den entsprechenden Rollen. Irgendetwas auffälliges dabei?
                      12588_1.jpg

                      Ich teste nachher mal weiter und melde mich dann nochmal….

                      Danke vorerst...;)

                      1 Reply Last reply
                      0
                      • H Offline
                        H Offline
                        hanzwurzt
                        wrote on last edited by
                        #71

                        [edit]: seit dem ich das Systemneu aufgesetzt habe, bekomme ich auch beim Umschalten zwischen Objekten und Scripten diese Meldung:
                        12588_3.jpg

                        Worher kommt die? Habe ich bei der Installation was vergessen??

                        1 Reply Last reply
                        0
                        • Ralla66R Offline
                          Ralla66R Offline
                          Ralla66
                          Most Active
                          wrote on last edited by
                          #72

                          Mal im Log nachgeschaut ?

                          https://github.com/ioBroker/ioBroker.ja … issues/150

                          Der Datenpunkt Bierbrauen ist ja vergleichbar mit einem mechanischem Schalter.

                          Als wenn du Zuhause das Licht ein oder ausschaltest.

                          Mit true oder false wird hier per Soft eben Brauen ein oder ausgeschaltet.

                          Macht ja auch Sinn da du nicht 365 Tage im Jahr brauen willst.

                          Ralla

                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            hanzwurzt
                            wrote on last edited by
                            #73

                            OK, versteh ich ja. Allerdings würde ich jetzt eigentlich davon ausgehen, dass wenn das Script durchgelaufen ist (Schalter ein) und alles soweit funktioniert hat, bei der Ausschaltung des Scriptes der Zustand der Schalter auch wieder in den Urzustand zurückgesetzt wird. Offensichtlich ist das nicht der Fall, sodass man dann einige Schalter vor dem erneuten Durchlaufen des Scriptes (Automatisierung) manuell wieder in die Ausgangsstellung setzen muss.

                            Wenn das so ist, und man das auf dem Schrim hat, ist es ja gut. Allerdings würde ich jetzt schon fast dazu tendieren ein Script zu basteln, was alles wieder auf Anfang setzt. Einfach damit man nachher im Alltagsgebrauch nicht vergisst an Schalter XY noch eine Einstellung manuell vornehmen zu müssen.

                            Das muss aber der zweite Schritt sein.

                            OK, wir haben also einen bis zum Schritt "schreibe irgendwas in Objekt Test" funktionierendes Script.

                            Wie geht´s jetzt weiter? Können wir zur Kontrolle, ob alles so läuft wie es soll, weitere Texte in die Datenpunkte schreiben lassen?

                            Wenn alles so weit durchläuft (immer unter der Premisse, sich zu merken, wo welche Schalter wieder zurückgesetzt werden müssen) könnten wir die nächsten Temperaturstufen versuchen einzubinden.

                            Ich würde gerne so weit vorfahren, dass ich den Kessel mit dem Heizstab auch mal real anklemme und schaue, ob es funktioniert.

                            Übrigens, das Log schmeißt mir eine Menge Warnmeldungen aus:

                            avascript.0 2019-01-31 21:54:28.951 warn at TCP.onread (net.js:601:20)

                            javascript.0 2019-01-31 21:54:28.951 warn at Socket.Readable.push (_stream_readable.js:208:10)

                            javascript.0 2019-01-31 21:54:28.950 warn at readableAddChunk (_stream_readable.js:250:11)

                            javascript.0 2019-01-31 21:54:28.950 warn at addChunk (_stream_readable.js:263:12)

                            javascript.0 2019-01-31 21:54:28.950 warn at Socket.emit (events.js:211:7)

                            javascript.0 2019-01-31 21:54:28.949 warn at emitOne (events.js:116:13)

                            javascript.0 2019-01-31 21:54:28.949 warn at Socket._ultron.on (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:138:22)

                            javascript.0 2019-01-31 21:54:28.948 warn at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:139:10)

                            javascript.0 2019-01-31 21:54:28.948 warn at Receiver.startLoop (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:165:16)

                            javascript.0 2019-01-31 21:54:28.948 warn at Receiver.getData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:330:12)

                            javascript.0 2019-01-31 21:54:28.947 warn at Receiver.dataMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:389:14)

                            javascript.0 2019-01-31 21:54:28.947 warn at Receiver._receiver.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:141:47)

                            javascript.0 2019-01-31 21:54:28.947 warn at WebSocket.emit (events.js:211:7)

                            javascript.0 2019-01-31 21:54:28.946 warn at emitOne (events.js:116:13)

                            javascript.0 2019-01-31 21:54:28.946 warn at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/EventTarget.js:99:16)

                            javascript.0 2019-01-31 21:54:28.946 warn at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:147:10)

                            javascript.0 2019-01-31 21:54:28.945 warn at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:137:8)

                            javascript.0 2019-01-31 21:54:28.945 warn at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8)

                            javascript.0 2019-01-31 21:54:28.945 warn at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)

                            javascript.0 2019-01-31 21:54:28.944 warn at WS. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:273:10)

                            javascript.0 2019-01-31 21:54:28.944 warn at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:456:14)

                            javascript.0 2019-01-31 21:54:28.944 warn at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)

                            javascript.0 2019-01-31 21:54:28.943 warn at Socket. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)

                            javascript.0 2019-01-31 21:54:28.943 warn at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:335:16)

                            javascript.0 2019-01-31 21:54:28.943 warn at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-parser/index.js:251:12)

                            javascript.0 2019-01-31 21:54:28.942 warn at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)

                            javascript.0 2019-01-31 21:54:28.942 warn at Decoder. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)

                            javascript.0 2019-01-31 21:54:28.942 warn at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8)

                            javascript.0 2019-01-31 21:54:28.941 warn at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)

                            javascript.0 2019-01-31 21:54:28.941 warn at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)

                            javascript.0 2019-01-31 21:54:28.941 warn at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:236:12)

                            javascript.0 2019-01-31 21:54:28.940 warn at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:278:10)

                            javascript.0 2019-01-31 21:54:28.940 warn at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)

                            javascript.0 2019-01-31 21:54:28.940 warn at Socket. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)

                            javascript.0 2019-01-31 21:54:28.939 warn at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3425:37)

                            javascript.0 2019-01-31 21:54:28.939 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:358:25)

                            javascript.0 2019-01-31 21:54:28.939 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:756:38)

                            javascript.0 2019-01-31 21:54:28.938 warn at Object. <anonymous>(script.js.Skript_2:27:9)

                            javascript.0 2019-01-31 21:54:28.938 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1236:28)

                            javascript.0 2019-01-31 21:54:28.914 warn Wrong type of javascript.0.Runterzähler: "number". Please fix, while deprecated and will not work in next versions.

                            Kannst du damit was anfangen???

                            Danke vielmals für deine Geduld…</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous>

                            1 Reply Last reply
                            0
                            • Ralla66R Offline
                              Ralla66R Offline
                              Ralla66
                              Most Active
                              wrote on last edited by
                              #74

                              Ok, hier mal ganz einfach.

                              Wenn du Bierbrauen einschaltest und die Kesseltemp kleiner 20 Grad ist

                              muß Funke eingeschaltet werden.

                              Unter Objekte Datenpunkt Bierbrauen muß auf true stehen.
                              5230_hw_klein.png

                              1 Reply Last reply
                              0
                              • H Offline
                                H Offline
                                hanzwurzt
                                wrote on last edited by
                                #75

                                OK, ich habe das Script jetzt wie folgt am Laufen:
                                12588_1.jpg
                                12588_2.jpg

                                Allerdings ist es jetzt so, dass das Script bis zu der letzten Textstelle in einem durchläuft und die Temperatur nicht gesteuert wird. Die Temperatur heizt in einem durch ohne zu stoppen, zu halten oder ähnliches.

                                Hast du ne Idee, woran es liegen könnte?

                                1 Reply Last reply
                                0
                                • Ralla66R Offline
                                  Ralla66R Offline
                                  Ralla66
                                  Most Active
                                  wrote on last edited by
                                  #76

                                  Also läuft Aufheizen ja.

                                  Prima.

                                  Der intervall halten wird überlaufen.

                                  Bild später.

                                  Nachtrag, Bild,

                                  ob Intervall im Intervall geht weiss ich nicht , probiere es.

                                  Ralla
                                  5230_erkl_rb_r.jpg
                                  5230_4.jpg

                                  1 Reply Last reply
                                  0
                                  • H Offline
                                    H Offline
                                    hanzwurzt
                                    wrote on last edited by
                                    #77

                                    Hmmm, Script habe ich wie folgt angepasst:

                                    12588_1.jpg

                                    Leider nicht der erwünschte Erfolg. Es heizt weiter auf ohne zu halten oder zu stoppen. Aber anscheinend läuft das Script nicht mehr bis zum Ende durch, da der Endtext jetzt nicht mehr angezeigt wird…grübel

                                    1 Reply Last reply
                                    0
                                    • Ralla66R Offline
                                      Ralla66R Offline
                                      Ralla66
                                      Most Active
                                      wrote on last edited by
                                      #78

                                      Schau im Beitrag davor.

                                      Heizung halten wird überlaufen weil eine Pause fehlt bis der Kessel aufheizt.

                                      Ralla

                                      1 Reply Last reply
                                      0
                                      • Ralla66R Offline
                                        Ralla66R Offline
                                        Ralla66
                                        Most Active
                                        wrote on last edited by
                                        #79

                                        Fehler gefunden.

                                        siehe Bild.
                                        5230_6.jpg

                                        1 Reply Last reply
                                        0
                                        • H Offline
                                          H Offline
                                          hanzwurzt
                                          wrote on last edited by
                                          #80

                                          Ok, hatte ich übersehen. Script wie folgt angepasst:

                                          12588_1.jpg
                                          12588_2.jpg

                                          Script läuft iinerhalb Sekundenbruchteilen bis ende durch und macht ansonsten nix.

                                          Scheint also der falsche Weg zu sein.

                                          Ich geh nochmal einen Schritt zurück…

                                          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

                                          883

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          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