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. [gelöst] Blockly Object value in Homematic Variable schreiben und Berechnungen

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

[gelöst] Blockly Object value in Homematic Variable schreiben und Berechnungen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
32 Beiträge 6 Kommentatoren 6.5k Aufrufe
  • Ä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.
  • rantanplanR Online
    rantanplanR Online
    rantanplan
    schrieb am zuletzt editiert von
    #15

    Hallo schneidy76

    Den anderen Thread haben wir ja durch.

    Nun können wir hier weiter machen.

    Woher kommen die Daten die Du weiterverarbeiten möchtest. (Adapter, Datenpunkte)

    Bitte nochmal gaaanz laaangsam erklären ;)

    Grüße

    Rantanplan

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

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      schneidy76
      schrieb am zuletzt editiert von
      #16

      2631_2017-08-02_22_44_39-microsoft_edge.jpg

      Ich glaube so geht's.

      Melde mich morgen wenn die Sonne scheint!

      ;)

      Raspberry Matic (RP3), LIVE PV Monitoring mit Smartmeter, Poolsteuerung mit NodeRed, KNX Ausbau (ersetzt stückweise HM & klassische Installation), ioBroker Multihost (RP4 &RP2), Visu mit VIS

      1 Antwort Letzte Antwort
      0
      • rantanplanR Online
        rantanplanR Online
        rantanplan
        schrieb am zuletzt editiert von
        #17

        :?:

        Der Wert wird immer gleich sein.

        Nie größer oder kleiner als sein eigener Wert. :roll:

        Grüße

        Rantanplan

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

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          schneidy76
          schrieb am zuletzt editiert von
          #18

          Verdammt ja, obwohl die object id von zwei verschiedenen Adapter kommen.

          Smartmeter.0 und smartmeter.1

          Kann ich die irgendwie differenzieren?

          Raspberry Matic (RP3), LIVE PV Monitoring mit Smartmeter, Poolsteuerung mit NodeRed, KNX Ausbau (ersetzt stückweise HM & klassische Installation), ioBroker Multihost (RP4 &RP2), Visu mit VIS

          1 Antwort Letzte Antwort
          0
          • rantanplanR Online
            rantanplanR Online
            rantanplan
            schrieb am zuletzt editiert von
            #19

            @schneidy76:

            Verdammt ja, obwohl die object id von zwei verschiedenen Adapter kommen.

            Smartmeter.0 und smartmeter.1

            Kann ich die irgendwie differenzieren? `
            Na klar kann man das.

            Was mich verwirrt: Warum haben bei Dir Smartmeter.0 und Smartmeter.1 den gleichen Namen?

            "1-0:15_7_0_*255" ist für mich völlig nichtssagend.

            Da wird es für mich mit dem differenzieren schwer. Wie soll ich Dir sagen, welchen "1-0:15_7_0_*255" ich meine?

            Auf jeden fall musst Du beide triggern.

            Z.B.
            147_beispiel.png

            Grüße

            Rantanplan

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

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              schneidy76
              schrieb am zuletzt editiert von
              #20

              Hi,

              ich weiß auch nicht warum beide den selben Namen tragen.

              Finde ich auch doof, ich hatte gehofft das die beiden Adapter richtig verlinkt sind.

              Kann man die object ID nicht umbenennen?

              Schau mal im Bild vom Homoran

              dort ist momentan Wert allerdings:

              1-0:16_7_0_*255

              VG Torsten

              Raspberry Matic (RP3), LIVE PV Monitoring mit Smartmeter, Poolsteuerung mit NodeRed, KNX Ausbau (ersetzt stückweise HM & klassische Installation), ioBroker Multihost (RP4 &RP2), Visu mit VIS

              1 Antwort Letzte Antwort
              0
              • rantanplanR Online
                rantanplanR Online
                rantanplan
                schrieb am zuletzt editiert von
                #21

                @schneidy76:

                dort ist momentan Wert allerdings:

                1-0:16_7_0_*255 `

                Ich kenne den Smartmeter Adapter nicht.

                Aber "1-0:16_7_0_*255" ist doch kein Wert, oder?

                Unter Objekte solltest Du den NAMEN ändern können.

                Grüße

                Rantanplan

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

                1 Antwort Letzte Antwort
                0
                • HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #22

                  er meint wohl mit Wert die ID des vom Smartmeter ausgegeben Datenpunktes

                  Ich habe mir meine Struktur angesehen, da ist eben auch nur 1-0:16_7_0*255_ Als ID ohne weitere Zusätze, und wenn du zwei Zähler hast, werden die wohl identisch angelegt.

                  Gruß

                  Rainer

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Antwort Letzte Antwort
                  0
                  • rantanplanR Online
                    rantanplanR Online
                    rantanplan
                    schrieb am zuletzt editiert von
                    #23

                    @Homoran:

                    Ich habe mir meine Struktur angesehen, da ist eben auch nur 1-0:16_7_0*255_ Als ID ohne weitere Zusätze, und wenn du zwei Zähler hast, werden die wohl identisch angelegt. `

                    Aber den Namen müsste man doch ändern können, oder?

                    Rantanplan

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

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

                      @rantanplan:

                      Aber den Namen müsste man doch ändern können, oder? `
                      Ja (nach meinem Kenntnisstand), wenn Du common.name meinst. Die ID beginnt mit der Instanz smartmeter.N., wodurch sich die IDs beider Zähler unterscheiden.

                      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
                      • S Offline
                        S Offline
                        schneidy76
                        schrieb am zuletzt editiert von
                        #25

                        Hi, habe jetzt im context der Object Eigenschaften im Bereich RAW den Namen geändert:

                        2631_2017-08-03_22_15_44-microsoft_edge.jpg

                        ob es geht ????????? keine Ahnung :roll:

                        {
                          "common": {
                            "name": "0-0:15_7_0*255.value",
                            "type": "number",
                            "unit": "W",
                            "role": "value",
                            "read": true,
                            "write": false
                          },
                          "native": {
                            "id": "1-0:15_7_0*255.value"
                          },
                          "acl": {
                            "object": 1638,
                            "owner": "system.user.admin",
                            "ownerGroup": "system.group.administrator",
                            "state": 1638
                          },
                          "_id": "smartmeter.0.1-0:15_7_0*255.value",
                          "type": "state"
                        }
                        
                        {
                          "type": "state",
                          "common": {
                            "name": "1-0:15_7_0*255.value",
                            "type": "number",
                            "read": true,
                            "unit": "W",
                            "role": "value",
                            "write": false
                          },
                          "native": {
                            "id": "1-0:15_7_0*255.value"
                          },
                          "_id": "smartmeter.1.1-0:15_7_0*255.value",
                          "acl": {
                            "object": 1638,
                            "state": 1638
                          }
                        }
                        

                        Raspberry Matic (RP3), LIVE PV Monitoring mit Smartmeter, Poolsteuerung mit NodeRed, KNX Ausbau (ersetzt stückweise HM & klassische Installation), ioBroker Multihost (RP4 &RP2), Visu mit VIS

                        1 Antwort Letzte Antwort
                        0
                        • rantanplanR Online
                          rantanplanR Online
                          rantanplan
                          schrieb am zuletzt editiert von
                          #26

                          @schneidy76:

                          Hi, habe jetzt im context der Object Eigenschaften im Bereich RAW den Namen geändert: `

                          ???? Keine Ahnung wo Du die Namen geändert hast.

                          Ich sehe immer noch schwer nachvollziehbare, kryptische Bezeichnungen

                          @schneidy76:

                          ob es geht ????????? keine Ahnung :roll: `
                          Keine Ahnung s.o.

                          Muss die "Berechnung" NUR erfolgen, wenn sich der Wert von "0-0-15_7_0*255" (puh was für ein Name) ändert?

                          @schneidy76:

                          Die Berechnung ist "(smartmeter.0) Momentanwert in Watt minus (smartmeter.1) Momentanwert in Watt = Momentanwert Bezug/Einspeisung

                          Positiv bei Einspeisung

                          Negativ bei Bezug `
                          Diese Berechnung vermisse ich gänzlich!

                          Tut mir Leid, ich bin noch nicht auf Deiner Spur. :cry:

                          Grüße

                          Rantanplan

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

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            schneidy76
                            schrieb am zuletzt editiert von
                            #27

                            Nun ja, irgendeinen Trigger hab ich ja gebraucht. Der smartmeter.o Adapter liest alle 60s bei mir neue Daten von Bezug/Einspeisungszähler ein.

                            Sollte ich mal diese Zeit verändern, muss ich es im Script nicht auch noch tun.

                            Den Adapter für die Erzeugung - smartmeter.1 - macht keinen Sinn, da Nachts keine Sonne scheint und ich auch keinen Speicher hab.

                            Der Vergleich größer/gleich bzw. Kleiner/gleich liefert im übrigen den selben Entscheidungswert wie meine ursprüngliche Rechnung. Ich spare mir damit einen Schritt.

                            Fraglich ist jetzt nur, ob es jetzt möglich die beiden Werte auseinander zu halten.

                            Ich glaube nämlich nicht.

                            Nachdem ich die Namen geändert habe, hat sich das Script automatisch an die neuen Namen angepasst. Hier musste ich nichts ändern…

                            Raspberry Matic (RP3), LIVE PV Monitoring mit Smartmeter, Poolsteuerung mit NodeRed, KNX Ausbau (ersetzt stückweise HM & klassische Installation), ioBroker Multihost (RP4 &RP2), Visu mit VIS

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              schneidy76
                              schrieb am zuletzt editiert von
                              #28

                              geht nicht…

                              Es wird immer nur die untere Aktion ausgelöst - oder beide und die untere überschreibt die erste aus dem Script.

                              Mir ist noch aufgefallen, das in den unteren Eigenschaften

                               {
                                "type": "state",
                                "common": {
                                  "name": "1-0:15_7_0*255.value",
                                  "type": "number",
                                  "read": true,
                                  "unit": "W",
                                  "role": "value",
                                  "write": false
                                },
                                "native": {
                                  "id": "1-0:15_7_0*255.value"
                                },
                                "_id": "smartmeter.1.1-0:15_7_0*255.value",
                                "acl": {
                                  "object": 1638,
                                  "state": 1638
                                }
                              
                              

                              weniger steht als in der oberen….

                              :?:

                              Raspberry Matic (RP3), LIVE PV Monitoring mit Smartmeter, Poolsteuerung mit NodeRed, KNX Ausbau (ersetzt stückweise HM & klassische Installation), ioBroker Multihost (RP4 &RP2), Visu mit VIS

                              1 Antwort Letzte Antwort
                              0
                              • apollon77A Offline
                                apollon77A Offline
                                apollon77
                                schrieb am zuletzt editiert von
                                #29

                                Hey All,

                                was genau ist dennd as Problem (Ihr habt mich beim lesen des Threads verloren).

                                Ich verstehe folgendes:

                                Es gibt zwei Stromzähler. Beide werden mit dem Smartmeter-Adapter ausgelesen. Korrekt?

                                Beide haben einen Datenwert mit der gleichen OBIS-ID (das ist dieses "1-0:15_7_0*255" und ja das ist Teil des State-Namens). Korrekt?

                                Also gibt es einmal ein Objekt mit der ID "smartmeter.0.1-0:15_7_0255.value" und einmal "smartmeter.1.1-0:15_7_0255.value" wo die beiden Zähler drinstehen.

                                Wenn man sowas bei Blockly eingibt lässt Blockly bei der Anzeige des State/Objekt-Namens (in dem Fall "leider") den Adapternamen weg. Damit ist natürlich in der Grafik eine sichtbare Unterscheidung was jetzt was ist recht schwierig. Eine Option um das ganze etwas zu verbessern ist einfach im Skript Variablen zu nutzen. Blockly kann das. Den Namen weisst Du den Wert der Objekte zu. Die Variablen kannst Du dann so benahmen das alles weitere Sinn macht und Die nur eine Stelle (nämlich die Werte-Zuweisung variable zu Wert) wo Blockly es blöd anzeigt. Da helfen dann ggf noch Kommentare ;-)

                                Macht das Sinn was ich hier geschrieben habe?

                                Ich glaube das das meiste im Thread die Verwirrung ist weil beides augenscheinlich in Blockly gleich heisst … Korrekt ?!

                                Wenn ich jetzt Blödsinn geschrieben habe bitte erklärt mir was die Frage ist :-)

                                Ingo

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                1 Antwort Letzte Antwort
                                0
                                • rantanplanR Online
                                  rantanplanR Online
                                  rantanplan
                                  schrieb am zuletzt editiert von
                                  #30

                                  @Apollon77 Du hast recht und eine gute Idee ;)

                                  Dann will ich mal wieder einen Schritt zur Problemlösung wagen.
                                  147_beispiel.png

                                  Hier der Export.

                                  ! ````
                                  <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="iPg{yrTs8)/t68+]2F~w" x="-688" y="13"><field name="COMMENT">Smartmeter.0.Value triggern</field>
                                  <next><block type="on_ext" id=",|,%ROg00DLTMz(mn?lt"><mutation items="1"></mutation>
                                  <field name="CONDITION">ne</field>

                                      <value name="OID0"><shadow type="field_oid" id="/BgQCE[.dH~Q@pF8mX+E"><field name="oid">default</field></shadow></value> 
                                      <statement name="STATEMENT"><block type="comment" id="r8;F)*raE~Jh6O-wv0[~"><field name="COMMENT">Werte in lokale Variablen übergeben</field>
                                          <next><block type="variables_set" id="FzC7IR!sO,Rlq!:1]vuG"><field name="VAR">WertSmart0</field>
                                              <value name="VALUE"><block type="get_value" id="Ja-.u3g0NZ:NXmA/]e(J"><field name="ATTR">val</field>
                                                  <field name="OID">ID auswählen</field></block></value> 
                                              <next><block type="variables_set" id="E|`4?i_mVBf9bX.`%H]:"><field name="VAR">WertSmart1</field>
                                                  <value name="VALUE"><block type="get_value" id="iUef=Q[Ux9F(86nt5dr["><field name="ATTR">val</field>
                                                      <field name="OID">ID auswählen</field></block></value> 
                                                  <next><block type="debug" id="TjLFSU?ch.76hHi:J::N"><field name="Severity">log</field>
                                                      <value name="TEXT"><shadow type="text" id="tvQStl6m7T0p.z(PY!o@"><field name="TEXT">test</field></shadow> 
                                                        <block type="text_join" id="yn;dyxTvw9DAx:AGId(I"><mutation items="2"></mutation>
                                                          <value name="ADD0"><block type="text" id="_7]#*be,2:Yc}_Pvfx9*"><field name="TEXT">***WertSmart0 =</field></block></value> 
                                                          <value name="ADD1"><block type="variables_get" id="2CGswZhkX_z07fduj1wh"><field name="VAR">WertSmart0</field></block></value></block></value> 
                                                      <next><block type="debug" id="lKR7l5nQ4@K%lo%{4Q}^"><field name="Severity">log</field>
                                                          <value name="TEXT"><shadow type="text" id="tvQStl6m7T0p.z(PY!o@"><field name="TEXT">test</field></shadow> 
                                                            <block type="text_join" id="!BM=8(|HEyuI)c]UAq!y"><mutation items="2"></mutation>
                                                              <value name="ADD0"><block type="text" id="IoqN5HB0eIu*FCnQmrux"><field name="TEXT">***WertSmart1 =</field></block></value> 
                                                              <value name="ADD1"><block type="variables_get" id="]s]s%}WqOa~0]aF^d[}P"><field name="VAR">WertSmart1</field></block></value></block></value> 
                                                          <next><block type="controls_if" id="BEA+EbSuK~6;knyI~},R"><mutation else="1"></mutation>
                                                              <value name="IF0"><block type="logic_compare" id="iHv-h/{QaXuxavtiEj|_"><field name="OP">LTE</field>
                                                                  <value name="A"><block type="variables_get" id="Ta2MV4fzg1XdC26l1];%"><field name="VAR">WertSmart0</field></block></value> 
                                                                  <value name="B"><block type="variables_get" id="y7F(dfGX}opfp00uak!z"><field name="VAR">WertSmart1</field></block></value></block></value> 
                                                              <statement name="DO0"><block type="comment" id="}zkkWXMR;DaI}W+h;lA3"><field name="COMMENT">Variable Bezug füllen</field>
                                                                  <next><block type="control" id="OIrbXg;QD_+[=p=cJtF#"><mutation delay_input="false"></mutation>
                                                                      <field name="OID">Object ID</field>
                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                      <value name="VALUE"><block type="variables_get" id="o5asmAwjUK|+DWh9^a+y"><field name="VAR">WertSmart0</field></block></value> 
                                                                      <next><block type="comment" id="dK;/t29bb?l17)IF*F#{"><field name="COMMENT">Einspeisung auf 0</field>
                                                                          <next><block type="control" id="4)_q01!-0pMCl`k!Gut2"><mutation delay_input="false"></mutation>
                                                                              <field name="OID">Object ID</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE"><block type="math_number" id="L@ZqAId@m8STZ;SWt:.W"><field name="NUM">0</field></block></value></block></next></block></next></block></next></block></statement> 
                                                              <statement name="ELSE"><block type="comment" id="Fbv+4Row3x(4GWtqzMS@"><field name="COMMENT">Wenn erste Bedingung nicht passt kann</field>
                                                                  <next><block type="comment" id="RXGx-mfWbJlP3[6Kr;0W"><field name="COMMENT">WertSmart0 nur > WertSmart1 sein</field>
                                                                      <next><block type="comment" id="Mh5X-nNf|F,4id(K;f+q"><field name="COMMENT">Einspeisung füllen</field>
                                                                          <next><block type="control" id="OUdSH0S4|CMwVF~0}-D,"><mutation delay_input="false"></mutation>
                                                                              <field name="OID">Object ID</field>
                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                              <value name="VALUE"><block type="variables_get" id="rg%}9=KrluYQo)8@4Mpo"><field name="VAR">WertSmart0</field></block></value> 
                                                                              <next><block type="comment" id="%KLPZ)y3dfy/J},%3ubE"><field name="COMMENT">Bezug auf 0</field>
                                                                                  <next><block type="control" id="?n_4-SNXW13XjyxyX+c5"><mutation delay_input="false"></mutation>
                                                                                      <field name="OID">Object ID</field>
                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                      <value name="VALUE"><block type="math_number" id="ryMRL.kfnlKSn(m;PoG["><field name="NUM">0</field></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></xml> 
                                  

                                  ! ````

                                  (debug output schreibt die Werte ins Log. Dort kann man die Werte überprüfen)

                                  Grüße

                                  Rantanplan

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    schneidy76
                                    schrieb am zuletzt editiert von
                                    #31

                                    Danke, ich glaube jetzt kommen ich/wir weiter.

                                    Apollon, du hast alles auf den Punkt gebracht, rantanplan das muss ich erst mal lesen und verstehen lernen.

                                    Danke euch!

                                    Raspberry Matic (RP3), LIVE PV Monitoring mit Smartmeter, Poolsteuerung mit NodeRed, KNX Ausbau (ersetzt stückweise HM & klassische Installation), ioBroker Multihost (RP4 &RP2), Visu mit VIS

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      schneidy76
                                      schrieb am zuletzt editiert von
                                      #32

                                      Genial!!!!!

                                      Danke an alle, es klappt!

                                      :D :D :D :D :D :D :D :D :D :D

                                      Raspberry Matic (RP3), LIVE PV Monitoring mit Smartmeter, Poolsteuerung mit NodeRed, KNX Ausbau (ersetzt stückweise HM & klassische Installation), ioBroker Multihost (RP4 &RP2), Visu mit VIS

                                      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

                                      772

                                      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