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. Blockly
  5. 2 Heizkörper synchron steuern

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

2 Heizkörper synchron steuern

Scheduled Pinned Locked Moved Blockly
26 Posts 7 Posters 2.7k Views 5 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.
  • G georg2608

    @paul53 hm, also das klappt auch irgendwie nicht. Der erste Block geht. ist aber wieder one-way.
    Sobald der 2. Block aktiviert ist und ich am HK 1 stelle komme ich wieder in einen Loop.

    Würde es evtl Sinn machen per Blockly die Datenpunkte zusammenzufassen und die beiden HK's als Gruppe zu behandeln?

    Bildschirmfoto 2025-03-14 um 12.38.22.png

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by paul53
    #8

    @georg2608 sagte: Sobald der 2. Block aktiviert ist und ich am HK 1 stelle komme ich wieder in einen Loop.

    Wirklich? Füge mal einen Debug-Log ein:

    Blockly_temp.JPG

    Kann es sein, dass der Sollwert nach dem Schreiben des neuen Wertes erst wieder auf den alten Wert zurück geht und dann verzögert den neuen Wert bestätigt?

    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

    CodierknechtC G 2 Replies Last reply
    0
    • paul53P paul53

      @georg2608 sagte: Sobald der 2. Block aktiviert ist und ich am HK 1 stelle komme ich wieder in einen Loop.

      Wirklich? Füge mal einen Debug-Log ein:

      Blockly_temp.JPG

      Kann es sein, dass der Sollwert nach dem Schreiben des neuen Wertes erst wieder auf den alten Wert zurück geht und dann verzögert den neuen Wert bestätigt?

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      wrote on last edited by
      #9

      @paul53
      Bei meinen Tests ist "Name des Scripts" = "undefined".

      @georg2608
      Versuchs mit dem Ursprung. Aber mach das dann auch so wie gezeigt - also der Zeichenfolge "system.adapter.javascript.0" und nicht mit "Wert von xyz" (wie kommt man eigentlich auf sowas? Das Beispiel ist doch eindeutig).

      39f36588-9c27-49b7-b4c7-3d506db3a0d4-image.png

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      paul53P G 2 Replies Last reply
      0
      • CodierknechtC Codierknecht

        @paul53
        Bei meinen Tests ist "Name des Scripts" = "undefined".

        @georg2608
        Versuchs mit dem Ursprung. Aber mach das dann auch so wie gezeigt - also der Zeichenfolge "system.adapter.javascript.0" und nicht mit "Wert von xyz" (wie kommt man eigentlich auf sowas? Das Beispiel ist doch eindeutig).

        39f36588-9c27-49b7-b4c7-3d506db3a0d4-image.png

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by paul53
        #10

        @codierknecht sagte: Bei meinen Tests ist "Name des Scripts" = "undefined".

        Du meinst den Kommentar, wenn der Ursprung nicht ein Skript ist. In dem Fall wird "steuere" ausgeführt. Wenn der Ursprung das Skript ist, enthält der Kommentar den Skriptnamen.

        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
        1
        • paul53P paul53

          @georg2608 sagte: Sobald der 2. Block aktiviert ist und ich am HK 1 stelle komme ich wieder in einen Loop.

          Wirklich? Füge mal einen Debug-Log ein:

          Blockly_temp.JPG

          Kann es sein, dass der Sollwert nach dem Schreiben des neuen Wertes erst wieder auf den alten Wert zurück geht und dann verzögert den neuen Wert bestätigt?

          G Offline
          G Offline
          georg2608
          wrote on last edited by
          #11

          @paul53 Ich hab das mal nach Deiner Vorlage nachgebaut. Aber es kommen immer wieder Dauermeldungen und der LoopBildschirmfoto 2025-03-14 um 13.11.25.png Bildschirmfoto 2025-03-14 um 13.02.33.png

          paul53P 1 Reply Last reply
          0
          • CodierknechtC Codierknecht

            @paul53
            Bei meinen Tests ist "Name des Scripts" = "undefined".

            @georg2608
            Versuchs mit dem Ursprung. Aber mach das dann auch so wie gezeigt - also der Zeichenfolge "system.adapter.javascript.0" und nicht mit "Wert von xyz" (wie kommt man eigentlich auf sowas? Das Beispiel ist doch eindeutig).

            39f36588-9c27-49b7-b4c7-3d506db3a0d4-image.png

            G Offline
            G Offline
            georg2608
            wrote on last edited by
            #12

            @codierknecht hm, selbst bei der Angabe: "system.adapter.javascript" kommt der Loop. Sorry, für mich ist das nicht wirklich eindeutig, warum der da so reagiert. Bildschirmfoto 2025-03-14 um 13.09.42.png

            CodierknechtC 1 Reply Last reply
            0
            • G georg2608

              @codierknecht hm, selbst bei der Angabe: "system.adapter.javascript" kommt der Loop. Sorry, für mich ist das nicht wirklich eindeutig, warum der da so reagiert. Bildschirmfoto 2025-03-14 um 13.09.42.png

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              wrote on last edited by
              #13

              @georg2608
              Der Text für den Debug-Block für HK2 sollte auch "HK2" lauten.
              So kann man das nicht auseinanderhalten.

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              1 Reply Last reply
              0
              • G georg2608

                @paul53 Ich hab das mal nach Deiner Vorlage nachgebaut. Aber es kommen immer wieder Dauermeldungen und der LoopBildschirmfoto 2025-03-14 um 13.11.25.png Bildschirmfoto 2025-03-14 um 13.02.33.png

                paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #14

                @georg2608
                Ändere es mal mit Deaktivierung von "steuern" im unteren Tigger, um die Loop zu vermeiden und korrigiere den String "javascript":

                Blockly_temp.JPG

                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

                G 1 Reply Last reply
                0
                • paul53P paul53

                  @georg2608
                  Ändere es mal mit Deaktivierung von "steuern" im unteren Tigger, um die Loop zu vermeiden und korrigiere den String "javascript":

                  Blockly_temp.JPG

                  G Offline
                  G Offline
                  georg2608
                  wrote on last edited by
                  #15

                  @paul53
                  Also so bekomme ich keinen Loop mehr und wenn ich HK 1 steuere passt sich HK 2 an. Nur beim ändern von HK 2 ändert sich an HK 1 nichts (Screenshot mit Ausgabe)
                  Bildschirmfoto 2025-03-14 um 13.32.41.png

                  Der 2. Screenshot ist die Ausgabe wenn ich HK 1 stelle.
                  Bildschirmfoto 2025-03-14 um 13.36.53.png

                  paul53P 1 Reply Last reply
                  0
                  • G georg2608

                    @paul53
                    Also so bekomme ich keinen Loop mehr und wenn ich HK 1 steuere passt sich HK 2 an. Nur beim ändern von HK 2 ändert sich an HK 1 nichts (Screenshot mit Ausgabe)
                    Bildschirmfoto 2025-03-14 um 13.32.41.png

                    Der 2. Screenshot ist die Ausgabe wenn ich HK 1 stelle.
                    Bildschirmfoto 2025-03-14 um 13.36.53.png

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #16

                    @georg2608 sagte: Ausgabe wenn ich HK 1 stelle.

                    Wie vermutet: Bevor der neue Wert (24) bestätigt wird, wird der alte Wert (26) gesendet. Das führt zur Loop.

                    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

                    G 1 Reply Last reply
                    0
                    • paul53P paul53

                      @georg2608 sagte: Ausgabe wenn ich HK 1 stelle.

                      Wie vermutet: Bevor der neue Wert (24) bestätigt wird, wird der alte Wert (26) gesendet. Das führt zur Loop.

                      G Offline
                      G Offline
                      georg2608
                      wrote on last edited by
                      #17

                      @paul53 Okay verstanden. Aber wie kann ich das umgehen?
                      Macht es Sinn einen timeout einzu bauen?

                      paul53P 1 Reply Last reply
                      0
                      • black.falcon87B Offline
                        black.falcon87B Offline
                        black.falcon87
                        wrote on last edited by
                        #18

                        Ich werf mal das „Binde“ Objekt in den Raum.

                        Kannst du da nicht einfach beide Objekte miteinander verbinden?
                        Also du brauchst das Binde Objekt zweimal untereinander.

                        Einmal HK1 -> HK2 und einmal HK2 -> HK1
                        Und den Haken bei „nur Änderungen“ setzen.
                        Klappt das ohne einen Loop zu erzeugen?

                        CodierknechtC 1 Reply Last reply
                        0
                        • black.falcon87B black.falcon87

                          Ich werf mal das „Binde“ Objekt in den Raum.

                          Kannst du da nicht einfach beide Objekte miteinander verbinden?
                          Also du brauchst das Binde Objekt zweimal untereinander.

                          Einmal HK1 -> HK2 und einmal HK2 -> HK1
                          Und den Haken bei „nur Änderungen“ setzen.
                          Klappt das ohne einen Loop zu erzeugen?

                          CodierknechtC Online
                          CodierknechtC Online
                          Codierknecht
                          Developer Most Active
                          wrote on last edited by
                          #19

                          @black-falcon87 sagte in 2 Heizkörper synchron steuern:

                          Ich werf mal das „Binde“ Objekt in den Raum.

                          Das macht unter der Haube auch nix anders.

                          on({ id: 'Object ID 1', change: 'ne' }, (obj) => {
                            setState('Object ID 2', obj.state.val);
                          });
                          

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          1 Reply Last reply
                          1
                          • G georg2608

                            @paul53 Okay verstanden. Aber wie kann ich das umgehen?
                            Macht es Sinn einen timeout einzu bauen?

                            paul53P Offline
                            paul53P Offline
                            paul53
                            wrote on last edited by paul53
                            #20

                            @georg2608 sagte: Macht es Sinn einen timeout einzu bauen?

                            Ein so hässliches Verhalten (bedanke dich in China) kann man per Timer-Sperre überbrücken.

                            Blockly_temp.JPG

                            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

                            G 1 Reply Last reply
                            0
                            • paul53P paul53

                              @georg2608 sagte: Macht es Sinn einen timeout einzu bauen?

                              Ein so hässliches Verhalten (bedanke dich in China) kann man per Timer-Sperre überbrücken.

                              Blockly_temp.JPG

                              G Offline
                              G Offline
                              georg2608
                              wrote on last edited by
                              #21

                              @paul53 Ich bedanke mich da lieber bei Dir!
                              Ich glaub jetzt funktioniert das richtig gut.

                              Vielen lieben Dank

                              1 Reply Last reply
                              0
                              • W Offline
                                W Offline
                                Walkera
                                wrote on last edited by Walkera
                                #22

                                Hallo zusammen,
                                bisher hab ich als Mitleser oft hilfreiche Posts gesehen und nach und nach meine Ideen umsetzen können und auftretende Probleme mit etwas Recherche ganz gut lösen können. Jetzt bin ich auf aber auf ein Verhalten gestoßen, bei dem ich eure Unterstützung bräuchte.

                                Es ähnelt sehr dem Anliegen wie hier zwei Status gleich halten zu wollen. Anstatt die Temperatur zweier Thermostate möchte ich den Schaltstatus eines Status aus Homematic und den Schaltstatus eines Shelly bidirektional verknüpfen. Sowie sich z. B. der Zustand des Shelly ändert, soll sich der in der Homematic identisch geändert werden. Und andersrum. Bisher hat es mit den beigefügten Skripts super geklappt, es gab keine Schleifen. Anfang der Woche ist es mir bei einer anderen Kombination zum ersten Mal aufgefallen und heute bei dem aktuellen Beispiel.

                                Normal würde ich es erstmal eine Zeit beobachten und "draufrum denken", habe diesmal aber etwas Bedenken, da die Shelly vermutlich das viele schnelle Schalten nicht auf Dauer toll finden.

                                Hier mal beide Skripte (ich wusste lange nicht, dass auch beide in eins können):

                                Screenshot_20250323_174132_Chrome.jpg Screenshot_20250323_174123_Chrome.jpg

                                Und hier ein Auszug aus dem Log:
                                Screenshot_20250323_175335_Chrome.jpg

                                Könnte hier der Vorschlag mit der Pause ebenfalls funktionieren und habt ihr eine Idee, wie ich es reproduzieren kann? Es tritt (leider) nicht bei jeder Änderung auf. Dankeschön :)

                                AsgothianA 1 Reply Last reply
                                0
                                • W Walkera

                                  Hallo zusammen,
                                  bisher hab ich als Mitleser oft hilfreiche Posts gesehen und nach und nach meine Ideen umsetzen können und auftretende Probleme mit etwas Recherche ganz gut lösen können. Jetzt bin ich auf aber auf ein Verhalten gestoßen, bei dem ich eure Unterstützung bräuchte.

                                  Es ähnelt sehr dem Anliegen wie hier zwei Status gleich halten zu wollen. Anstatt die Temperatur zweier Thermostate möchte ich den Schaltstatus eines Status aus Homematic und den Schaltstatus eines Shelly bidirektional verknüpfen. Sowie sich z. B. der Zustand des Shelly ändert, soll sich der in der Homematic identisch geändert werden. Und andersrum. Bisher hat es mit den beigefügten Skripts super geklappt, es gab keine Schleifen. Anfang der Woche ist es mir bei einer anderen Kombination zum ersten Mal aufgefallen und heute bei dem aktuellen Beispiel.

                                  Normal würde ich es erstmal eine Zeit beobachten und "draufrum denken", habe diesmal aber etwas Bedenken, da die Shelly vermutlich das viele schnelle Schalten nicht auf Dauer toll finden.

                                  Hier mal beide Skripte (ich wusste lange nicht, dass auch beide in eins können):

                                  Screenshot_20250323_174132_Chrome.jpg Screenshot_20250323_174123_Chrome.jpg

                                  Und hier ein Auszug aus dem Log:
                                  Screenshot_20250323_175335_Chrome.jpg

                                  Könnte hier der Vorschlag mit der Pause ebenfalls funktionieren und habt ihr eine Idee, wie ich es reproduzieren kann? Es tritt (leider) nicht bei jeder Änderung auf. Dankeschön :)

                                  AsgothianA Offline
                                  AsgothianA Offline
                                  Asgothian
                                  Developer
                                  wrote on last edited by Asgothian
                                  #23

                                  @walkera sagte in 2 Heizkörper synchron steuern:

                                  Hallo zusammen,
                                  bisher hab ich als Mitleser oft hilfreiche Posts gesehen und nach und nach meine Ideen umsetzen können und auftretende Probleme mit etwas Recherche ganz gut lösen können. Jetzt bin ich auf aber auf ein Verhalten gestoßen, bei dem ich eure Unterstützung bräuchte.

                                  Könnte hier der Vorschlag mit der Pause ebenfalls funktionieren und habt ihr eine Idee, wie ich es reproduzieren kann? Es tritt (leider) nicht bei jeder Änderung auf. Dankeschön :)

                                  Nein und Nein.

                                  Das ganze hat mit Zeitverhalten und anderen Details zu tun. Was funktioniert:

                                  Screenshot 2025-03-23 at 18.26.31.png

                                  Wichtig - der Bausteh "Ursprung" und "Wert" ist der gleiche Baustein aus dem "Trigger" Bereich.

                                  Natürlich brauchst Du das 2 mal, einmal ind die eine, einmal in die andere Richtung.

                                  A.

                                  Nachtrag - das ganze klappt natürlich nur wenn du die Datenpunkte nicht über ein Skript änderst - wenn das auch gehen soll brauchst Du eine genauere Bedingung zur Erkennung wann es nicht der Fall sein soll - das müsste ich mir aber erst irgendwo ausgraben.

                                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                  W paul53P 2 Replies Last reply
                                  1
                                  • AsgothianA Asgothian

                                    @walkera sagte in 2 Heizkörper synchron steuern:

                                    Hallo zusammen,
                                    bisher hab ich als Mitleser oft hilfreiche Posts gesehen und nach und nach meine Ideen umsetzen können und auftretende Probleme mit etwas Recherche ganz gut lösen können. Jetzt bin ich auf aber auf ein Verhalten gestoßen, bei dem ich eure Unterstützung bräuchte.

                                    Könnte hier der Vorschlag mit der Pause ebenfalls funktionieren und habt ihr eine Idee, wie ich es reproduzieren kann? Es tritt (leider) nicht bei jeder Änderung auf. Dankeschön :)

                                    Nein und Nein.

                                    Das ganze hat mit Zeitverhalten und anderen Details zu tun. Was funktioniert:

                                    Screenshot 2025-03-23 at 18.26.31.png

                                    Wichtig - der Bausteh "Ursprung" und "Wert" ist der gleiche Baustein aus dem "Trigger" Bereich.

                                    Natürlich brauchst Du das 2 mal, einmal ind die eine, einmal in die andere Richtung.

                                    A.

                                    Nachtrag - das ganze klappt natürlich nur wenn du die Datenpunkte nicht über ein Skript änderst - wenn das auch gehen soll brauchst Du eine genauere Bedingung zur Erkennung wann es nicht der Fall sein soll - das müsste ich mir aber erst irgendwo ausgraben.

                                    W Offline
                                    W Offline
                                    Walkera
                                    wrote on last edited by
                                    #24

                                    @asgothian vielen Dank für deine schnelle Antwort!

                                    Das werde ich genau so umsetzen - die Ansteuerung via Skript hab ich bei den "synchronisierten" Variablen zwar auch verwendet, kann es aber ja über die homematic machen lassen.

                                    1 Reply Last reply
                                    0
                                    • AsgothianA Asgothian

                                      @walkera sagte in 2 Heizkörper synchron steuern:

                                      Hallo zusammen,
                                      bisher hab ich als Mitleser oft hilfreiche Posts gesehen und nach und nach meine Ideen umsetzen können und auftretende Probleme mit etwas Recherche ganz gut lösen können. Jetzt bin ich auf aber auf ein Verhalten gestoßen, bei dem ich eure Unterstützung bräuchte.

                                      Könnte hier der Vorschlag mit der Pause ebenfalls funktionieren und habt ihr eine Idee, wie ich es reproduzieren kann? Es tritt (leider) nicht bei jeder Änderung auf. Dankeschön :)

                                      Nein und Nein.

                                      Das ganze hat mit Zeitverhalten und anderen Details zu tun. Was funktioniert:

                                      Screenshot 2025-03-23 at 18.26.31.png

                                      Wichtig - der Bausteh "Ursprung" und "Wert" ist der gleiche Baustein aus dem "Trigger" Bereich.

                                      Natürlich brauchst Du das 2 mal, einmal ind die eine, einmal in die andere Richtung.

                                      A.

                                      Nachtrag - das ganze klappt natürlich nur wenn du die Datenpunkte nicht über ein Skript änderst - wenn das auch gehen soll brauchst Du eine genauere Bedingung zur Erkennung wann es nicht der Fall sein soll - das müsste ich mir aber erst irgendwo ausgraben.

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by paul53
                                      #25

                                      @asgothian sagte: klappt natürlich nur wenn du die Datenpunkte nicht über ein Skript änderst

                                      @walkera: Damit auch das funktioniert, bringe die beiden Trigger in ein Skript:

                                      Blockly_temp.JPG

                                      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

                                      W 1 Reply Last reply
                                      1
                                      • paul53P paul53

                                        @asgothian sagte: klappt natürlich nur wenn du die Datenpunkte nicht über ein Skript änderst

                                        @walkera: Damit auch das funktioniert, bringe die beiden Trigger in ein Skript:

                                        Blockly_temp.JPG

                                        W Offline
                                        W Offline
                                        Walkera
                                        wrote on last edited by
                                        #26

                                        @paul53 danke Dir!

                                        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

                                        677

                                        Online

                                        32.7k

                                        Users

                                        82.4k

                                        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