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. Skripten / Logik
  4. Wie Regenmenge ermitteln (Wetterstation)

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Wie Regenmenge ermitteln (Wetterstation)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
20 Beiträge 3 Kommentatoren 3.8k Aufrufe 1 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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #3

    @noxx:

    Regenrate aktuell = ? mm/h `
    Prinzip:

    var max = 0;
    
    on(idZaehler, function(dp) {
        var val = dp.state.val;
        var lastVal = dp.oldState.val;
        var now = dp.state.lc;
        var lastTime = dp.oldState.lc;
        var aktuell = 3600000 * (val - lastVal) / (now - lastTime);
        setState(idAktuell, aktuell, true);
        if(aktuell > max) max = aktuell;
    });
    

    @noxx:

    Regen heute = ? mm

    Regenrate heute max = ? mm/h

    Regen gestern `

    schedule('0 0 * * *', function() {  // Mitternacht
        var zaehler = getState(idZaehler).val;
        var zaehlergestern = getState(idZaehlerGestern).val;
        setState(idZaehlerGestern, zaehler, true);
        var gestern = getState(idHeute).val;
        setState(idGestern, gestern, true);
        var heute = zaehler - zaehlergestern;
        setState(idHeute, heute, true);
        setState(idMaxHeute, max, true);
        max = 0;
    });
    

    EDIT: Faktor für Umrechnung ms –> h ergänzt.

    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 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      noxx
      schrieb am zuletzt editiert von
      #4

      danke euch beiden

      ich lasse das script mal durchlaufen und gucke was passiert

      ! ````
      var max = 0;
      idZaehler = "rflink.0.channels.Cresta_2.RAIN"/Cresta_ 2 Total rain level/;
      ! on(idZaehler, function(dp) {
      var val = dp.state.val;
      var lastVal = dp.oldState.val;
      var now = dp.state.lc;
      var lastTime = dp.oldState.lc;
      var aktuell = (val - lastVal) / (now - lastTime);
      setState(idAktuell, aktuell, true);
      if(aktuell > max) max = aktuell;
      });
      ! schedule('0 0 * * *', function() { // Mitternacht
      var zaehler = getState(idZaehler).val;
      var zaehlergestern = getState(idZaehlerGestern).val;
      setState(idZaehlerGestern, zaehler, true);
      var gestern = getState(idHeute).val
      setState(idGestern, gestern, true);
      var heute = zaehler - zaehlergestern;
      setState(idHeute, heute, true);
      setState(idMaxHeute, max, true);
      max = 0;
      });

      
      Gruß
      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #5

        @noxx:

        ich lasse das script mal durchlaufen und gucke was passiert `
        Du musst noch die Datenpunkte vom Typ Zahl erzeugen und die IDs deklarieren für:

        • idAktuell

        • idZaehlerGestern

        • idHeute

        • idGestern

        • idMaxHeute

        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 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #6

          Habe Dein Skript noch etwas angepasst, wobei Du noch die Datenpunkt-IDs zuweisen musst.

          ! ````
          var max = 0;
          var idZaehler = "rflink.0.channels.Cresta_2.RAIN"/Cresta_ 2 Total rain level/;
          var idAktuell = ;
          var idMaxHeute = ;
          var idZaehlerGestern = ;
          var idHeute = ;
          var idGestern = ;
          ! on(idZaehler, function(dp) {
          var val = dp.state.val;
          var lastVal = dp.oldState.val;
          var now = dp.state.lc;
          var lastTime = dp.oldState.lc;
          var aktuell = 3600000 * (val - lastVal) / (now - lastTime);
          setState(idAktuell, aktuell, true);
          if(aktuell > max) {
          max = aktuell;
          setState(idMaxHeute, max, true);
          }
          });
          ! schedule('0 0 * * *', function() { // Mitternacht
          var zaehler = getState(idZaehler).val;
          var zaehlergestern = getState(idZaehlerGestern).val;
          setState(idZaehlerGestern, zaehler, true);
          var gestern = getState(idHeute).val
          setState(idGestern, gestern, true);
          var heute = zaehler - zaehlergestern;
          setState(idHeute, heute, true);
          max = 0;
          });

          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 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            noxx
            schrieb am zuletzt editiert von
            #7

            danke, hoffe das war so gemeint.

            ! ````
            var max = 0;
            var idZaehler = "rflink.0.channels.Cresta_2.RAIN"/Cresta_ 2 Total rain level/;
            var idAktuell = "rflink.0.channels.Cresta_2.RegenAktuell"/RegenAktuell/;
            var idMaxHeute = "rflink.0.channels.Cresta_2.RegenMaxHeute"/RegenMaxHeute/;
            var idZaehlerGestern = "rflink.0.channels.Cresta_2.RegenZaehlerGestern"/RegenZaehlerGestern/;
            var idHeute = "rflink.0.channels.Cresta_2.RegenHeute"/RegenHeute/;
            var idGestern = "rflink.0.channels.Cresta_2.RegenGestern"/RegenGestern/;
            ! on(idZaehler, function(dp) {
            var val = dp.state.val;
            var lastVal = dp.oldState.val;
            var now = dp.state.lc;
            var lastTime = dp.oldState.lc;
            var aktuell = 3600000 * (val - lastVal) / (now - lastTime);
            setState(idAktuell, aktuell, true);
            if(aktuell > max) {
            max = aktuell;
            setState(idMaxHeute, max, true);
            }
            });
            ! schedule('0 0 * * *', function() { // Mitternacht
            var zaehler = getState(idZaehler).val;
            var zaehlergestern = getState(idZaehlerGestern).val;
            setState(idZaehlerGestern, zaehler, true);
            var gestern = getState(idHeute).val
            setState(idGestern, gestern, true);
            var heute = zaehler - zaehlergestern;
            setState(idHeute, heute, true);
            max = 0;
            });

            
            Gruß
            [2880_1.png](/assets/uploads/files/2880_1.png)
            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #8

              @noxx:

              hoffe das war so gemeint. `
              Ja. RegenMaxHeute hat die falsche Masseinheit.

              Und bei RegenZaehlerGestern trag mal per Hand einen sinnvollen Wert ein (z.B. 2150), sonst entstehen um Mitternacht unsinnige Werte.

              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 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                noxx
                schrieb am zuletzt editiert von
                #9

                Nochmal ne Frage, muss noch einen Korrekturfaktor einbauen.

                ! Grund ist, das die Auffanggrösse des Regenmessers mit einem
                ! Trichter vergrössert habe. Dadurch wird natürlich mehr Regen aufgefangen,
                ! der Regenmesser selber weiß natürlich nicht, das die Auffanggrösse sich
                ! geändert hat. Die neue Fläche ist ca 5x grösser. Also, wenn der Regensensor
                ! 10mm anzeigt, dann hat es in Wirklichkeit nur 2mm geregnet.
                ! Sieht in etwa so aus:
                ! http://www.nikolaus-lueneburg.de/wp-con … ichter.jpg
                ! Hierdurch habe ich eine genauere Abtastung. Normal reagiert der Sensor nur alle ~0,7mm, nun bei ~0,15mm.

                Kann ich direkt am Sensorwert korrigieren?

                var max = 0;
                //var korrektur = 0.227 ;
                
                var idZaehler = "rflink.0.channels.Cresta_2.RAIN" * 0.227 /*Cresta_ 2 Total rain level*/;
                var idAktuell = "rflink.0.channels.Cresta_2.RegenAktuell"/*RegenAktuell*/;
                var idMaxHeute = "rflink.0.channels.Cresta_2.RegenMaxHeute"/*RegenMaxHeute*/;
                var idZaehlerGestern = "rflink.0.channels.Cresta_2.RegenZaehlerGestern"/*RegenZaehlerGestern*/;
                var idHeute = "rflink.0.channels.Cresta_2.RegenHeute"/*RegenHeute*/;
                var idGestern = "rflink.0.channels.Cresta_2.RegenGestern"/*RegenGestern*/;
                
                on(idZaehler, function(dp) {
                    var val = dp.state.val;
                    var lastVal = dp.oldState.val;
                    var now = dp.state.lc;
                    var lastTime = dp.oldState.lc;
                    var aktuell = 3600000 * (val - lastVal) / (now - lastTime);
                    setState(idAktuell, aktuell, true);
                    if(aktuell > max) {
                        max = aktuell;
                        setState(idMaxHeute, max, true);
                    } 
                });
                
                schedule('0 0 * * *', function() {  // Mitternacht
                    var zaehler = getState(idZaehler).val;
                    var zaehlergestern = getState(idZaehlerGestern).val;
                    setState(idZaehlerGestern, zaehler, true);
                    var gestern = getState(idHeute).val
                    setState(idGestern, gestern, true);
                    var heute = zaehler - zaehlergestern;
                    setState(idHeute, heute, true);
                    max = 0;
                })
                
                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #10

                  @noxx:

                  Kann ich direkt am Sensorwert korrigieren? `
                  Ja, am Wert - nicht an der ID.

                  ...
                      var aktuell = 3600000 * korrektur * (val - lastVal) / (now - lastTime);
                  ...
                      var zaehler = korrektur * getState(idZaehler).val;
                  ...
                  

                  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 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #11

                    Damit die Zählerstände (aktuell / gestern) vergleichbar sind, solltest du einen zusätzlichen Datenpunkt anlegen:

                    ! ````
                    var max = 0;
                    var korrektur = 0.227 ;
                    ! var idZaehler = "rflink.0.channels.Cresta_2.RAIN" * 0.227 /Cresta_ 2 Total rain level/;
                    var idZaehlerAktuell = "rflink.0.channels.Cresta_2.RegenZaehlerAktuell"/RegenZaehlerAktuell/;
                    var idAktuell = "rflink.0.channels.Cresta_2.RegenAktuell"/RegenAktuell/;
                    var idMaxHeute = "rflink.0.channels.Cresta_2.RegenMaxHeute"/RegenMaxHeute/;
                    var idZaehlerGestern = "rflink.0.channels.Cresta_2.RegenZaehlerGestern"/RegenZaehlerGestern/;
                    var idHeute = "rflink.0.channels.Cresta_2.RegenHeute"/RegenHeute/;
                    var idGestern = "rflink.0.channels.Cresta_2.RegenGestern"/RegenGestern/;
                    ! on(idZaehler, function(dp) {
                    var val = korrektur * dp.state.val;
                    setState(idZaehlerAktuell, val, true);
                    var lastVal = korrektur * dp.oldState.val;
                    var now = dp.state.lc;
                    var lastTime = dp.oldState.lc;
                    var aktuell = 3600000 * (val - lastVal) / (now - lastTime);
                    setState(idAktuell, aktuell, true);
                    if(aktuell > max) {
                    max = aktuell;
                    setState(idMaxHeute, max, true);
                    }
                    });
                    ! schedule('0 0 * * *', function() { // Mitternacht
                    var zaehler = getState(idZaehlerAktuell).val;
                    var zaehlergestern = getState(idZaehlerGestern).val;
                    setState(idZaehlerGestern, zaehler, true);
                    var gestern = getState(idHeute).val
                    setState(idGestern, gestern, true);
                    var heute = zaehler - zaehlergestern;
                    setState(idHeute, heute, true);
                    max = 0;
                    setState(idMaxHeute, 0, true);
                    })

                    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 Antwort Letzte Antwort
                    0
                    • N Offline
                      N Offline
                      noxx
                      schrieb am zuletzt editiert von
                      #12

                      angelegt (ZaehlerAktuell). Danke für deine Mühe.

                      lasse es mal einen Tag laufen, und gucke dann, was mir meine

                      bisherige Wettersoftware (weewx) ausspuckt (Vergleichswerte).

                      Gruß

                      1 Antwort Letzte Antwort
                      0
                      • N Offline
                        N Offline
                        noxx
                        schrieb am zuletzt editiert von
                        #13

                        Bei Regen Aktuell (Regenrate) muss ein kl. Fehler drin sein. Der zeigt die gleichen Werte an, wie RegenMaxHeute.

                        Es regnet aber gerade nicht, Regen Aktuell müsste dann doch 0 sein?!?

                        Noch ne Frage, wie ändere ich die Werte auf 2 Nachkommastellen?

                        ! ````
                        var max = 0;
                        var korrektur = 0.227 ;
                        ! //Regensensor
                        var idZaehler = "rflink.0.channels.Cresta_2.RAIN"/Cresta_ 2 Total rain level/;
                        ! //Benutzerdefiniert
                        var idZaehlerAktuell = "rflink.0.channels.Cresta_2.ZaehlerAktuell"/ZaehlerAktuell/
                        var idAktuell = "rflink.0.channels.Cresta_2.RegenAktuell"/RegenAktuell/;
                        var idMaxHeute = "rflink.0.channels.Cresta_2.RegenMaxHeute"/RegenMaxHeute/;
                        var idZaehlerGestern = "rflink.0.channels.Cresta_2.RegenZaehlerGestern"/RegenZaehlerGestern/;
                        var idHeute = "rflink.0.channels.Cresta_2.RegenHeute"/RegenHeute/;
                        var idGestern = "rflink.0.channels.Cresta_2.RegenGestern"/RegenGestern/;
                        ! on(idZaehler, function(dp) {
                        var val = korrektur * dp.state.val;
                        setState(idZaehlerAktuell, val, true);
                        var lastVal = korrektur * dp.oldState.val;
                        var now = dp.state.lc;
                        var lastTime = dp.oldState.lc;
                        var aktuell = 3600000 * (val - lastVal) / (now - lastTime);
                        setState(idAktuell, aktuell, true);
                        if(aktuell > max) {
                        max = aktuell;
                        setState(idMaxHeute, max, true);
                        }
                        });
                        ! schedule('0 0 * * *', function() { // Mitternacht
                        var zaehler = getState(idZaehlerAktuell).val;
                        var zaehlergestern = getState(idZaehlerGestern).val;
                        setState(idZaehlerGestern, zaehler, true);
                        var gestern = getState(idHeute).val
                        setState(idGestern, gestern, true);
                        var heute = zaehler - zaehlergestern;
                        setState(idHeute, heute, true);
                        max = 0;
                        setState(idMaxHeute, 0, true);
                        })

                        Gruß
                        [2880_1.png](/assets/uploads/files/2880_1.png)
                        1 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #14

                          @noxx:

                          Es regnet aber gerade nicht, Regen Aktuell müsste dann doch 0 sein?!? `
                          Regen aktuell ändert sich nur, wenn sich der Zähler ändert. Wenn es nicht regnet, ändert er sich natürlich nicht. Hast Du einen Regensensor, über den Du Regen aktuell zurück setzen kannst ? Wenn nicht, müsste man den Wert nach einer bestimmten Zeitspanne ohne Zähler-Änderung zurück setzen. Nur wie groß die Zeitspanne sein muss, weiß ich nicht.
                          @noxx:

                          Noch ne Frage, wie ändere ich die Werte auf 2 Nachkommastellen? `
                          Beispiel:

                              setState(idAktuell, 0.01 * Math.round(100 * aktuell), true);
                          
                          

                          Anmerkung: Ganz am Ende (schedule) fehlt ein Semikolon. Damit ZaehlerAktuell bei Skriptstart gesetzt wird (und nicht erst wenn es regnet), solltest Du am Skriptende (hinter allen Funktionen) noch ergänzen

                          
                          setState(idZaehlerAktuell, korrektur * getState(idZaehler).val, true);
                          

                          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 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #15

                            Thema: Regen Aktuell zurücksetzen ohne Regensensor:

                            Hat der Zähler eine Auflösung von 1 mm und sollen noch 0,1 mm/h erkannt werden (hier beginnt laut Wikipedia leichter Regen), dann muss die Dauer bis zum Rücksetzen 2,27 h betragen, was eine ganz schön lange Zeit ist.

                            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 Antwort Letzte Antwort
                            0
                            • N Offline
                              N Offline
                              noxx
                              schrieb am zuletzt editiert von
                              #16

                              der Regensensor überträgt alle 33 Sekunden einen Wert. Evtl müsste

                              man den Wert alle 33 Sekunden (oder ein vielfaches davon) auslesen und dann auf 1h extrapolieren.

                              denke das macht ne Wettersoftware auch nicht anders

                              1 Antwort Letzte Antwort
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #17

                                @noxx:

                                der Regensensor überträgt alle 33 Sekunden einen Wert. Evtl müsste

                                man den Wert alle 33 Sekunden (oder ein vielfaches davon) auslesen und dann auf 1h extrapolieren. `
                                Dann schwankt bei leichtem Regen der Wert für RegenAktuell ständig zwischen 0 und 11 mm/h. Das möchtest Du sicherlich nicht haben. Die Auflösung zu nutzen, ist sinnvoller.

                                Hat der Regenmesser nicht eine Auflösung von 0,1 mm ? Dann kann die Zeit bis zum Zurücksetzen ca. 14 Minuten betragen. Vorher kann man ohnehin nicht sicher sein, ob der Regen aufgehört hat.

                                var timer = null;
                                
                                on(idZaehler, function(dp) {
                                    var val = korrektur * dp.state.val;
                                    setState(idZaehlerAktuell, 0.01 * Math.round(100 * val), true);
                                    var lastVal = korrektur * dp.oldState.val;
                                    var now = dp.state.lc;
                                    var lastTime = dp.oldState.lc;
                                    var aktuell = 3600000 * (val - lastVal) / (now - lastTime);
                                    aktuell = 0.01 * Math.round(100 * aktuell);
                                    setState(idAktuell, aktuell, true);
                                    if(aktuell > max) {
                                        max = aktuell;
                                        setState(idMaxHeute, max, true);
                                    }
                                    if(timer) clearTimeout(timer);
                                    timer = setTimeout(function() {
                                        setState(idAktuell, 0, true);
                                    }, korrektur * 3600000);  // 0,227 Stunden
                                });
                                
                                

                                EDIT: Wert für ZaehlerAktuell auf 2 Nachkommastellen gerundet

                                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 Antwort Letzte Antwort
                                0
                                • N Offline
                                  N Offline
                                  noxx
                                  schrieb am zuletzt editiert von
                                  #18

                                  Teste ich. Der Sensor hat eine Auflösung von 0.15mm

                                  Gruss

                                  Gesendet von meinem GT-I9195 mit Tapatalk

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #19

                                    @noxx:

                                    Der Sensor hat eine Auflösung von 0.15mm `
                                    Bei einer Verzögerung von ca. 14 Minuten bis zum Zurücksetzen werden dann 0,15 mm/h und mehr als Regen erkannt; oder die Zeit wird auf das 1,5 fache hochgesetzt.

                                    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 Antwort Letzte Antwort
                                    0
                                    • N Offline
                                      N Offline
                                      noxx
                                      schrieb am zuletzt editiert von
                                      #20

                                      danke. das script muss ich nun erstmal begreifen ;)

                                      gruß

                                      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

                                      757

                                      Online

                                      32.6k

                                      Benutzer

                                      82.2k

                                      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