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. Homatik Ip Heizkörper Thermostat

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

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

Homatik Ip Heizkörper Thermostat

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
17 Beiträge 3 Kommentatoren 1.1k Aufrufe 2 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 paul53

    @raspberrypi sagte: gescheitert mein Script fertig zu bekommen,

    Wenn im Skript als Grenzwert 20 % verwendet wird, der Datenpunkt "valvePosition" aber nur Werte von 0 bis 0.99 liefert, kann es nicht funktionieren.

    R Offline
    R Offline
    Raspberrypi
    schrieb am zuletzt editiert von
    #4

    @paul53 said in Homatik Ip Heizkörper Thermostat:

    @raspberrypi sagte: gescheitert mein Script fertig zu bekommen,

    Wenn im Skript als Grenzwert 20 % verwendet wird, der Datenpunkt "valvePosition" aber nur Werte von 0 bis 0.99 liefert, kann es nicht funktionieren.

    bei RaspberryMatic hat es funktioniert, nur hier halt nicht, egal ob ich sage du sollst bei 0,2% reagieren oder bei 0,4% es funktioniert nicht.

    1 Antwort Letzte Antwort
    0
    • O oFbEQnpoLKKl6mbY5e13

      @raspberrypi

      Was fehlt denn? Ventilposition wird doch angezeigt!

      R Offline
      R Offline
      Raspberrypi
      schrieb am zuletzt editiert von
      #5

      @ofbeqnpolkkl6mby5e13 said in Homatik Ip Heizkörper Thermostat:

      @raspberrypi

      Was fehlt denn? Ventilposition wird doch angezeigt!

      Es fehlt die umsetzung, weil ich habe probiert mit Blockly zu arbeiten, aber ich komm damit nicht klar, mir fehlen die sachen von wegen "Bei 0,2 o 0,4 % Ventilposition schaltest du Relais auf true. (an)
      Und dann habe ich es mit Rules probiert, ohne erfolg.
      ich weiß nicht was ich sonst noch machen soll.....

      1 Antwort Letzte Antwort
      0
      • R Raspberrypi

        Moin Leute,
        Leider bin ich bis jetzt immer noch daran gescheitert mein Script fertig zu bekommen, weil mit Blocky komm ich so garnicht zurande, nun möchte ich versuchen dies via Java Script zu machen, aber ich habe keinerlei anhaltspunkte, es war schon mal jemand da der mir ein Blocky script geliefert hat, aber ich habe es nicht geschafft nachzu bauen, bei RaspberryMatic war das easy du hast dein Stellaktor gehabt, und bist nach Ventilposition gegangen, bemendsprechend hast du deine werte eingegeben, damit es sich lohnt das die heizung angeht. Aber bei IoBroker fehlt mir das komplett.

        würde mich freuen wenn mir da einer helfen könnte

        Homatik ip.png

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #6

        @raspberrypi sagte: versuchen dies via Java Script zu machen

        // IDs anpassen!
        const idVentil = 'hmip.0.xyz.channels.1.valvePosition';
        const idRelais = 'abc';
        
        var relais = getState(idRelais).val;
        
        on(idVentil, function (dp) {
          if (compareTime("5:00", "22:00", "between")) {
            let ventil = 100 * dp.state.val;
            if (ventil < 20) relais = true;
            else if (ventil >= 30) relais = false;
          } else relais = false;
          if (relais != getState(idRelais).val) {
            setState(idRelais, relais);
          }
        });
        

        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

        R 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @raspberrypi sagte: versuchen dies via Java Script zu machen

          // IDs anpassen!
          const idVentil = 'hmip.0.xyz.channels.1.valvePosition';
          const idRelais = 'abc';
          
          var relais = getState(idRelais).val;
          
          on(idVentil, function (dp) {
            if (compareTime("5:00", "22:00", "between")) {
              let ventil = 100 * dp.state.val;
              if (ventil < 20) relais = true;
              else if (ventil >= 30) relais = false;
            } else relais = false;
            if (relais != getState(idRelais).val) {
              setState(idRelais, relais);
            }
          });
          
          R Offline
          R Offline
          Raspberrypi
          schrieb am zuletzt editiert von Raspberrypi
          #7

          @paul53 said in Homatik Ip Heizkörper Thermostat:

                                                                                                                                      // IDs anpassen!                                                                                                                                                                            const idVentil = 'hmip.0.xyz.channels.1.valvePosition';                                                                                                                                                                            const idRelais = 'abc';                                                                                                                                                                                                                                                                                                                                                         var relais = getState(idRelais).val;                                                                                                                                                                                                                                                                                                                                                         on(idVentil, function (dp) {                                                                                                                                                                              if (compareTime("5:00", "22:00", "between")) {                                                                                                                                                                                let ventil = 100 * dp.state.val;                                                                                                                                                                                if (ventil < 20) relais = true;                                                                                                                                                                                else if (ventil >= 30) relais = false;                                                                                                                                                                              } else relais = false;                                                                                                                                                                              if (relais != getState(idRelais).val) {                                                                                                                                                                                setState(idRelais, relais);                                                                                                                                                                              }                                                                                                                                                                            });                                            
          
          code_text
          // IDs anpassen!
          const idVentil = 'hmip.0.devices.3014F711A000201A4997B5FC.channels.1.valvePosition';
          const idRelais = 'hmip.0.devices.3014F711A000045A499D28F0.channels.1.on';
           
          var relais = getState(idRelais).val;
           
          on(idVentil, function (dp) {
            if (compareTime("5:00", "22:00", "between")) {
              let ventil = 100 * dp.state.val;
              if (ventil < 30) relais = true;
              else if (ventil >= 20) relais = false;
            } else relais = false;
            if (relais != getState(idRelais).val) {
              setState(idRelais, relais);
            }
          });
          
          

          so siehts bei mir nun aus.
          Muss ich betreffend der Ventilposition noch was anpassen betreffend 0,2 oder 0,3 %?
          Weil aktuell läuft es nicht, bzw das relais wird nicht angesprochen, muss man da speziell was machen um das Programm ausführen zu lassen?

          paul53P 1 Antwort Letzte Antwort
          0
          • R Raspberrypi

            @paul53 said in Homatik Ip Heizkörper Thermostat:

                                                                                                                                        // IDs anpassen!                                                                                                                                                                            const idVentil = 'hmip.0.xyz.channels.1.valvePosition';                                                                                                                                                                            const idRelais = 'abc';                                                                                                                                                                                                                                                                                                                                                         var relais = getState(idRelais).val;                                                                                                                                                                                                                                                                                                                                                         on(idVentil, function (dp) {                                                                                                                                                                              if (compareTime("5:00", "22:00", "between")) {                                                                                                                                                                                let ventil = 100 * dp.state.val;                                                                                                                                                                                if (ventil < 20) relais = true;                                                                                                                                                                                else if (ventil >= 30) relais = false;                                                                                                                                                                              } else relais = false;                                                                                                                                                                              if (relais != getState(idRelais).val) {                                                                                                                                                                                setState(idRelais, relais);                                                                                                                                                                              }                                                                                                                                                                            });                                            
            
            code_text
            // IDs anpassen!
            const idVentil = 'hmip.0.devices.3014F711A000201A4997B5FC.channels.1.valvePosition';
            const idRelais = 'hmip.0.devices.3014F711A000045A499D28F0.channels.1.on';
             
            var relais = getState(idRelais).val;
             
            on(idVentil, function (dp) {
              if (compareTime("5:00", "22:00", "between")) {
                let ventil = 100 * dp.state.val;
                if (ventil < 30) relais = true;
                else if (ventil >= 20) relais = false;
              } else relais = false;
              if (relais != getState(idRelais).val) {
                setState(idRelais, relais);
              }
            });
            
            

            so siehts bei mir nun aus.
            Muss ich betreffend der Ventilposition noch was anpassen betreffend 0,2 oder 0,3 %?
            Weil aktuell läuft es nicht, bzw das relais wird nicht angesprochen, muss man da speziell was machen um das Programm ausführen zu lassen?

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #8

            @raspberrypi sagte: was anpassen betreffend 0,2 oder 0,3 %?

            Die Anpassung passiert in Zeile 10.

            Wann soll das Relais anziehen und wann abfallen? Deine Bedingungen erscheinen mir unlogisch.

            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

            R 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @raspberrypi sagte: was anpassen betreffend 0,2 oder 0,3 %?

              Die Anpassung passiert in Zeile 10.

              Wann soll das Relais anziehen und wann abfallen? Deine Bedingungen erscheinen mir unlogisch.

              R Offline
              R Offline
              Raspberrypi
              schrieb am zuletzt editiert von
              #9

              @paul53 said in Homatik Ip Heizkörper Thermostat:

              @raspberrypi sagte: was anpassen betreffend 0,2 oder 0,3 %?

              Die Anpassung passiert in Zeile 10.

              Wann soll das Relais anziehen und wann abfallen? Deine Bedingungen erscheinen mir unlogisch.

              Ja pass auf, ich wollte es sehr gerne so machen, da ich eine Gasetagenheizung habe, wenn die beiden Thermostate, bzw eines der Thermostate eine Ventilöffnungsposition von mehr als 30% oder 0,30 %, in diesem fall soll der zustand des Relais von false auf true wechseln, da dieses Relais auf nc angeschlossen ist, nur wenn Heizung an, dann ist auch strom drauf.

              Wenn die ventilposition kleine als 30 oder 03,% ist Relais false (aus).

              Beim Raspberrymatic war das voll easy, da bist nur hingegangen Programm geschrieben, Wenn Thermostat Ventil größer als 0,3% dann True Relais und die Heizung läuft, ansonsten Relais false. (Heizung aus).

              Ich scheitere maßlos daran bei IoBroker. weil sowas in gänze fehlt.

              paul53P 1 Antwort Letzte Antwort
              0
              • R Raspberrypi

                @paul53 said in Homatik Ip Heizkörper Thermostat:

                @raspberrypi sagte: was anpassen betreffend 0,2 oder 0,3 %?

                Die Anpassung passiert in Zeile 10.

                Wann soll das Relais anziehen und wann abfallen? Deine Bedingungen erscheinen mir unlogisch.

                Ja pass auf, ich wollte es sehr gerne so machen, da ich eine Gasetagenheizung habe, wenn die beiden Thermostate, bzw eines der Thermostate eine Ventilöffnungsposition von mehr als 30% oder 0,30 %, in diesem fall soll der zustand des Relais von false auf true wechseln, da dieses Relais auf nc angeschlossen ist, nur wenn Heizung an, dann ist auch strom drauf.

                Wenn die ventilposition kleine als 30 oder 03,% ist Relais false (aus).

                Beim Raspberrymatic war das voll easy, da bist nur hingegangen Programm geschrieben, Wenn Thermostat Ventil größer als 0,3% dann True Relais und die Heizung läuft, ansonsten Relais false. (Heizung aus).

                Ich scheitere maßlos daran bei IoBroker. weil sowas in gänze fehlt.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #10

                @raspberrypi sagte: Ventilöffnungsposition von mehr als 30% oder 0,30 %, in diesem fall soll der zustand des Relais von false auf true wechseln
                Wenn die ventilposition kleine als 30 oder 03,% ist Relais false (aus).

                Man sollte immer eine Hysterese verwenden, damit im Grenzbereich nicht ständig ein- und ausgeschaltet wird.
                Dann müssen Zeilen 11, 12 geändert werden:

                    if (ventil > 30) relais = true; // Heizung ein
                    else if (ventil < 20) relais = false;
                

                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

                R 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @raspberrypi sagte: Ventilöffnungsposition von mehr als 30% oder 0,30 %, in diesem fall soll der zustand des Relais von false auf true wechseln
                  Wenn die ventilposition kleine als 30 oder 03,% ist Relais false (aus).

                  Man sollte immer eine Hysterese verwenden, damit im Grenzbereich nicht ständig ein- und ausgeschaltet wird.
                  Dann müssen Zeilen 11, 12 geändert werden:

                      if (ventil > 30) relais = true; // Heizung ein
                      else if (ventil < 20) relais = false;
                  
                  R Offline
                  R Offline
                  Raspberrypi
                  schrieb am zuletzt editiert von Raspberrypi
                  #11

                  @paul53 said in Homatik Ip Heizkörper Thermostat:

                  (ventil > 30)

                  aber was hat es damit zu tun?
                  let ventil = 100 * dp.state.val;

                  weil wiegesagt das thermostat hat ventilposition aktuell von 65% und das relais wird nicht angesteuert.

                  // IDs anpassen!
                  const idVentil = 'hmip.0.devices.3014F711A000201A4997B5FC.channels.1.valvePosition'/*valvePosition*/;
                  const idRelais = 'hmip.0.devices.3014F711A000045A499D28F0.channels.1.on'/*on*/;
                   
                  var relais = getState(idRelais).val;
                   
                  on(idVentil, function (dp) {
                    if (compareTime("5:00", "22:00", "between")) {
                      let ventil = 100 * dp.state.val;
                      if (ventil > 30) relais = true;
                      else if (ventil < 20) relais = false;
                    } else relais = false;
                    if (relais != getState(idRelais).val) {
                      setState(idRelais, relais);
                    }
                  });
                  
                  paul53P 1 Antwort Letzte Antwort
                  0
                  • R Raspberrypi

                    @paul53 said in Homatik Ip Heizkörper Thermostat:

                    (ventil > 30)

                    aber was hat es damit zu tun?
                    let ventil = 100 * dp.state.val;

                    weil wiegesagt das thermostat hat ventilposition aktuell von 65% und das relais wird nicht angesteuert.

                    // IDs anpassen!
                    const idVentil = 'hmip.0.devices.3014F711A000201A4997B5FC.channels.1.valvePosition'/*valvePosition*/;
                    const idRelais = 'hmip.0.devices.3014F711A000045A499D28F0.channels.1.on'/*on*/;
                     
                    var relais = getState(idRelais).val;
                     
                    on(idVentil, function (dp) {
                      if (compareTime("5:00", "22:00", "between")) {
                        let ventil = 100 * dp.state.val;
                        if (ventil > 30) relais = true;
                        else if (ventil < 20) relais = false;
                      } else relais = false;
                      if (relais != getState(idRelais).val) {
                        setState(idRelais, relais);
                      }
                    });
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #12

                    @raspberrypi sagte: das thermostat hat ventilposition aktuell von 65% und das relais wird nicht angesteuert.

                    Hat sich die Position mal verändert. Es wird nur bei Wertänderung getriggert!

                    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

                    R 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @raspberrypi sagte: das thermostat hat ventilposition aktuell von 65% und das relais wird nicht angesteuert.

                      Hat sich die Position mal verändert. Es wird nur bei Wertänderung getriggert!

                      R Offline
                      R Offline
                      Raspberrypi
                      schrieb am zuletzt editiert von
                      #13

                      @paul53 said in Homatik Ip Heizkörper Thermostat:

                      @raspberrypi sagte: das thermostat hat ventilposition aktuell von 65% und das relais wird nicht angesteuert.

                      Hat sich die Position mal verändert. Es wird nur bei Wertänderung getriggert!

                      Ich habe erfolg zu vermelden, und zwar lag der fehler im Abfrage intervall, nun habe ich was rumprobiert und mit verzögerung, er schaltet. Weil er halt Zeitverzögert die daten von dem Heizungsthermostat bekommt. Aber er schaltet.

                      Nun zu deiner Frage, was genau meintest du mit Heizhysterese?

                      R 1 Antwort Letzte Antwort
                      0
                      • R Raspberrypi

                        @paul53 said in Homatik Ip Heizkörper Thermostat:

                        @raspberrypi sagte: das thermostat hat ventilposition aktuell von 65% und das relais wird nicht angesteuert.

                        Hat sich die Position mal verändert. Es wird nur bei Wertänderung getriggert!

                        Ich habe erfolg zu vermelden, und zwar lag der fehler im Abfrage intervall, nun habe ich was rumprobiert und mit verzögerung, er schaltet. Weil er halt Zeitverzögert die daten von dem Heizungsthermostat bekommt. Aber er schaltet.

                        Nun zu deiner Frage, was genau meintest du mit Heizhysterese?

                        R Offline
                        R Offline
                        Raspberrypi
                        schrieb am zuletzt editiert von
                        #14

                        Ich weiss gar nicht ob die möglich ist aber ich möchte sehr gerne die Heizung, da ich in meiner Wohnung oft die Türen offen habe, eine Durchschnitts Ventilöffnung bestimmen. Dh. Es kommen 5 unterschiedliche Werte bei Rum und daraus möchte ich einen Wert bestimmen.

                        Ich weiss nur nicht ob dies so möglich ist.

                        Da kommt ihr ns Spiel

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • R Raspberrypi

                          Ich weiss gar nicht ob die möglich ist aber ich möchte sehr gerne die Heizung, da ich in meiner Wohnung oft die Türen offen habe, eine Durchschnitts Ventilöffnung bestimmen. Dh. Es kommen 5 unterschiedliche Werte bei Rum und daraus möchte ich einen Wert bestimmen.

                          Ich weiss nur nicht ob dies so möglich ist.

                          Da kommt ihr ns Spiel

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #15

                          @raspberrypi sagte: Durchschnitts Ventilöffnung bestimmen.

                          Durchschnitt über alle Ventile?

                          const idsVentile = $('hmip.0.devices.*.channels.1.valvePosition');
                          const idMittel = '0_userdata.0.Ventile.Mittelwert'; // ID anpassen!
                          
                          idsVentile.on(function() {
                              let sum = 0;
                              idsVentile.each(function(id, i) {
                                  sum += getState(id).val;    
                              });
                              setState(idMittel, Math.round(100 * sum / idsVentile.length), 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

                          R 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @raspberrypi sagte: Durchschnitts Ventilöffnung bestimmen.

                            Durchschnitt über alle Ventile?

                            const idsVentile = $('hmip.0.devices.*.channels.1.valvePosition');
                            const idMittel = '0_userdata.0.Ventile.Mittelwert'; // ID anpassen!
                            
                            idsVentile.on(function() {
                                let sum = 0;
                                idsVentile.each(function(id, i) {
                                    sum += getState(id).val;    
                                });
                                setState(idMittel, Math.round(100 * sum / idsVentile.length), true);
                            });
                            
                            R Offline
                            R Offline
                            Raspberrypi
                            schrieb am zuletzt editiert von
                            #16

                            @paul53 sagte in Homatik Ip Heizkörper Thermostat:

                            @raspberrypi sagte: Durchschnitts Ventilöffnung bestimmen.

                            Durchschnitt über alle Ventile?

                            const idsVentile = $('hmip.0.devices.*.channels.1.valvePosition');
                            const idMittel = '0_userdata.0.Ventile.Mittelwert'; // ID anpassen!
                            
                            idsVentile.on(function() {
                                let sum = 0;
                                idsVentile.each(function(id, i) {
                                    sum += getState(id).val;    
                                });
                                setState(idMittel, Math.round(100 * sum / idsVentile.length), true);
                            });
                            

                            Ja richtig. Ich weiss Gloss nicht ob sowas überhaupt geht ???

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • R Raspberrypi

                              @paul53 sagte in Homatik Ip Heizkörper Thermostat:

                              @raspberrypi sagte: Durchschnitts Ventilöffnung bestimmen.

                              Durchschnitt über alle Ventile?

                              const idsVentile = $('hmip.0.devices.*.channels.1.valvePosition');
                              const idMittel = '0_userdata.0.Ventile.Mittelwert'; // ID anpassen!
                              
                              idsVentile.on(function() {
                                  let sum = 0;
                                  idsVentile.each(function(id, i) {
                                      sum += getState(id).val;    
                                  });
                                  setState(idMittel, Math.round(100 * sum / idsVentile.length), true);
                              });
                              

                              Ja richtig. Ich weiss Gloss nicht ob sowas überhaupt geht ???

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #17

                              @raspberrypi sagte: Ich weiss Gloss nicht ob sowas überhaupt geht ???

                              Funktioniert das Skript nicht?
                              Vorher natürlich erst den Datenpunkt für den Mittelwert erstellen! Dann nach Skriptstart warten, bis ein Ventil seine Position ändert.

                              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
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              765

                              Online

                              32.5k

                              Benutzer

                              81.7k

                              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