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. Wann ist die Waschmaschine fertig - Abfrage mit Blockly machen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    578

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

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

Wann ist die Waschmaschine fertig - Abfrage mit Blockly machen

Scheduled Pinned Locked Moved Skripten / Logik
33 Posts 12 Posters 6.8k Views
  • 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.
  • rantanplanR Offline
    rantanplanR Offline
    rantanplan
    wrote on last edited by
    #11

    Sieht nach selbst angelegten globalen Variablen aus.

    Die kannst Du manuell unter Objekte anlegen oder so.
    147_beispiel.png

    Grüße

    Rantanplan

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

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mandragora
      wrote on last edited by
      #12

      Hi Rantanplan

      Vielen Dank für den Hinweis.

      An das hätte ich jetzt mal nicht gedacht.

      Denke ich hab es mal so hinbekommen.

      Hab ein neues Object erstellt (siehe Screenshot)

      Denke sollte so passen.

      Hab mal für alle die das auch interessiert mal exportiert

      ! ````
      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="4kI6K#kLMWW7D/5^{Z2" x="63" y="-62"><field name="NAME">stateWasch</field>
      <statement name="STATEMENT"><block type="on" id=".B~m!{CJE@9
      ]NV5--a:"><field name="OID">hm-rpc.0.LEQ1316334.2.POWER</field>
      <field name="CONDITION">ne</field>

          <statement name="STATEMENT"><block type="controls_if" id="u?t)=%-xrOeW!;BGvL{["><value name="IF0"><block type="logic_compare" id="=:RZdT*fv,LY#GD:GgS-"><field name="OP">LT</field>
                  <value name="A"><block type="get_value" id="~LgA*O^;]=kC-ogm;OrS"><field name="ATTR">val</field>
                      <field name="OID">hm-rpc.0.LEQ1316334.2.POWER</field></block></value> 
                  <value name="B"><block type="math_number" id="lC^;oWs?R3NrF=@FuV3f"><field name="NUM">1</field></block></value></block></value> 
              <statement name="DO0"><block type="control" id="=-?{4Hwj1QAzM,C7Cfa5"><mutation delay_input="false"></mutation>
                  <field name="OID">stateWasch</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="math_number" id="k];)%0JpddBx(esR.J1u"><field name="NUM">0</field></block></value></block></statement> 
              <next><block type="controls_if" id="_j0,#X(r}%2AeY#UcT9%"><value name="IF0"><block type="logic_operation" id="bD0pBr8GnlBl7.0U{{#?"><field name="OP">AND</field>
                      <value name="A"><block type="logic_compare" id="*CITYBgh3v^R~ZTGXhu."><field name="OP">GT</field>
                          <value name="A"><block type="get_value" id="[Je1u7bUBC}xAAlKm5U5"><field name="ATTR">val</field>
                              <field name="OID">hm-rpc.0.LEQ1316334.2.POWER</field></block></value> 
                          <value name="B"><block type="math_number" id="UW-00NFS3P(#_LPDTs*f"><field name="NUM">1</field></block></value></block></value> 
                      <value name="B"><block type="logic_compare" id="ad=W2Pf/?(._qO_!R(T_"><field name="OP">LT</field>
                          <value name="A"><block type="get_value" id="2owp~c(_7BKDkU5fj15:"><field name="ATTR">val</field>
                              <field name="OID">hm-rpc.0.LEQ1316334.2.POWER</field></block></value> 
                          <value name="B"><block type="math_number" id="8(k-@3S1t`OgfEDIfIe{"><field name="NUM">40</field></block></value></block></value></block></value> 
                  <statement name="DO0"><block type="control" id=".`gm`P{(s9lJKoX7Pb*9"><mutation delay_input="false"></mutation>
                      <field name="OID">stateWasch</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="math_number" id="`{[F9dITcjHp)sB@RGWf"><field name="NUM">0</field></block></value></block></statement> 
                  <next><block type="controls_if" id="_~Tt)WB0EUv~OEdU}LVL"><value name="IF0"><block type="logic_compare" id="b||7y1u36b-:I:6P=I%e"><field name="OP">GT</field>
                          <value name="A"><block type="get_value" id="v|=xnBr8*xtG:hzKrPA{"><field name="ATTR">val</field>
                              <field name="OID">hm-rpc.0.LEQ1316334.1.STATE</field></block></value> 
                          <value name="B"><block type="math_number" id="9jz!NZM=U[?XkXj3An]X"><field name="NUM">40</field></block></value></block></value></block></next></block></next></block></statement></block></statement> 
      <next><block type="create" id="0y,J1r96,u/OkNjmM*z~"><field name="NAME">statezaehlerWasch</field>
          <statement name="STATEMENT"><block type="on" id="S|D6z0V^4#S?Jv~8[%H("><field name="OID">stateWasch</field>
              <field name="CONDITION">ne</field>
      
              <statement name="STATEMENT"><block type="controls_if" id="fJ}u{~Y|L-d~7=~J*Wjm"><mutation else="1"></mutation>
                  <value name="IF0"><block type="logic_compare" id="^`.;R}H#2V_X)o#2Qj3|"><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="zaA@iupx,g8z%yT-`c7U"><field name="ATTR">val</field>
                          <field name="OID">stateWasch</field></block></value> 
                      <value name="B"><block type="math_number" id="D0%Li7^`45RW;mqU.J.A"><field name="NUM">1</field></block></value></block></value> 
                  <statement name="DO0"><block type="timeouts_setinterval" id="A8`l:C]1d,98WnqH]2_Q"><field name="NAME">Intervall</field>
                      <field name="INTERVAL">5000</field>
                      <field name="UNIT">ms</field>
                      <statement name="STATEMENT"><block type="control" id="R!lz(3;:7gm;PSJ//cpS"><mutation delay_input="false"></mutation>
                          <field name="OID">statezaehlerWasch</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"><block type="math_arithmetic" id="Z(vTSC?93}uBp{LQH@-C"><field name="OP">ADD</field>
                              <value name="A"><shadow type="math_number" id="QhFf#w5L:F}D:vdt!_*9"><field name="NUM">1</field></shadow> 
                                <block type="get_value" id="H.IvKD#4G_1|GK%mXgMX"><field name="ATTR">val</field>
                                  <field name="OID">statezaehlerWasch</field></block></value> 
                              <value name="B"><shadow type="math_number" id="w7215[0Jx}hc7a!5CmeI"><field name="NUM">1</field></shadow></value></block></value></block></statement></block></statement> 
                  <statement name="ELSE"><block type="control" id="U|qe+W/p`XN(4(|YWiai"><mutation delay_input="false"></mutation>
                      <field name="OID">statezaehlerWasch</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="math_number" id="_]+XH(pS4cEvf4iIjJ(:"><field name="NUM">0</field></block></value> 
                      <next><block type="timeouts_clearinterval" id="Sv]EinxGY|`J?NB;)Q]d"><field name="NAME">Intervall</field></block></next></block></statement> 
                  <next><block type="controls_if" id="X0iuS@Lx1=inSLkW6M[x"><value name="IF0"><block type="logic_compare" id="bGNFnQ`%W~ZEPP7C)HNq"><field name="OP">EQ</field>
                          <value name="A"><block type="get_value" id="cb/PXledpGI#GgH9m#@w"><field name="ATTR">val</field>
                              <field name="OID">statezaehlerWasch</field></block></value> 
                          <value name="B"><block type="math_number" id="nzT^z[Jvxx:Gwex/[BC."><field name="NUM">0</field></block></value></block></value> 
                      <statement name="DO0"><block type="timeouts_clearinterval" id="n9M9,OS(UZ.g-Cnl,)HM"><field name="NAME">Intervall</field>
                          <next><block type="timeouts_clearinterval" id="DP*|PG)CoJT_c})6xb*^"><field name="NAME">Intervall2</field></block></next></block></statement> 
                      <next><block type="controls_if" id="~01hTJ;z:+4Pa}t}eJ3s"><value name="IF0"><block type="logic_compare" id="fpOt==sXNHhx3J8BVOaf"><field name="OP">EQ</field>
                              <value name="A"><block type="get_value" id="|9%xH4p`Jc5+)~_a{/C_"><field name="ATTR">val</field>
                                  <field name="OID">stateWasch</field></block></value> 
                              <value name="B"><block type="math_number" id="ayCU6W~Dqk]o5;XwLt2K"><field name="NUM">2</field></block></value></block></value> 
                          <statement name="DO0"><block type="timeouts_clearinterval" id="8n%mZ*Nw`q,;#xH2(~p;"><field name="NAME">Intervall2</field></block></statement></block></next></block></next></block></statement> 
              <next><block type="on" id="A;4Se,QWJqzGp(H[Mci#"><field name="OID">statezaehlerWasch</field>
                  <field name="CONDITION">ne</field>
      
                  <statement name="STATEMENT"><block type="controls_if" id="GJ*)9xp1Nzv.CEq+eXb+"><value name="IF0"><block type="logic_operation" id="ry-)dG{N*vyeL`3Q`7N8"><field name="OP">AND</field>
                          <value name="A"><block type="logic_compare" id="S+T!x;sjQyJXZ(UZ0(0^"><field name="OP">GT</field>
                              <value name="A"><block type="get_value" id="gZxv@crS.TQ^_V9e0htO"><field name="ATTR">val</field>
                                  <field name="OID">statezaehlerWasch</field></block></value> 
                              <value name="B"><block type="math_number" id="d_~i@27iWH#o5L{@yxvd"><field name="NUM">50</field></block></value></block></value> 
                          <value name="B"><block type="logic_compare" id="%`4Foi|ZUjzg@!q=j8^_"><field name="OP">GT</field>
                              <value name="A"><block type="get_value" id="eL=^zMOFGb1_}TsEk1|Q"><field name="ATTR">val</field>
                                  <field name="OID">stateWasch</field></block></value> 
                              <value name="B"><block type="math_number" id="ir,?=C|Dh5E^`+99R`R#"><field name="NUM">0</field></block></value></block></value></block></value> 
                      <statement name="DO0"><block type="timeouts_setinterval" id="9C!Cmq{go?dm;gh,z]Aj"><field name="NAME">Intervall2</field>
                          <field name="INTERVAL">6000</field>
                          <field name="UNIT">ms</field>
                          <statement name="STATEMENT"><block type="sayit" id="IQU#:hyPDc57,WnB*2G0"><field name="INSTANCE">.0</field>
                              <field name="LANGUAGE">de</field>
      
                              <value name="MESSAGE"><shadow type="text" id="?.UN?S@.P;qTkaP4![iE"><field name="TEXT">Die Waschmaschine ist fertig</field></shadow></value> 
                              <next><block type="telegram" id="{aBH^o)/=6E)R3LO_b=2"><field name="INSTANCE">.0</field>
      
                                  <value name="MESSAGE"><shadow type="text" id="us]e@P5ccxBjLtUqMDRf"><field name="TEXT">Die Waschmaschine ist fertig</field></shadow></value></block></next></block></statement> 
                          <next><block type="timeouts_clearinterval" id="B#p8-3Y-~KoVSuc+[+e~"><field name="NAME">Intervall</field></block></next></block></statement></block></statement></block></next></block></statement></block></next></block></xml> 
      
      
      Werde das Ganze mal testen und schauen ob es auch so funktioniert wie ich mir das vorstelle.
      
      Danke und LG
      
      mandragora
      [3209_2017-10-04_19h59_16.jpg](/assets/uploads/files/3209_2017-10-04_19h59_16.jpg)

      ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

      1 Reply Last reply
      0
      • rantanplanR Offline
        rantanplanR Offline
        rantanplan
        wrote on last edited by
        #13

        So klappt das nicht!

        Hier im Forum gibt es Beiträge dazu.

        Am einfachsten startest Du 1X ein Script wo Du mein Beispiel nachstellst.

        Oder Du legst manuell unter "javascript.0" an.

        Type=Datenpunkt, Datetyp=Zahl

        Deine Einträge würde ich löschen.

        Grüße

        Rantanplan

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

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mandragora
          wrote on last edited by
          #14

          Hi Rantanplan.

          Jetzt hab ichs gerafft.

          Danke dir.

          Hab hier irgendwie um die Kurve gedacht.

          Werde nun testen ob das bei mir nun auch so funktioniert wie es soll.

          Und wieder was dazu gelernt.

          Vielen herzlichen Dank nochmals.

          lg

          mandragora

          ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

          1 Reply Last reply
          0
          • M Offline
            M Offline
            michi050
            wrote on last edited by
            #15

            Hallo,

            die Variablen werden doch nach speichern und starten des Scipt automatisch angelegt.

            Gruß
            1914_wasch.txt

            1 Reply Last reply
            0
            • M Offline
              M Offline
              mandragora
              wrote on last edited by
              #16

              Hallo Michi,

              ja vielen Dank.

              Bin noch nicht so bewandert mit Blockly und da sind oft Kleinigkeiten die mich zum Grübeln bringen.

              Nun ist mir wieder einiges klarer.

              VIelen Dank auch für den Export und deiner Hilfe.

              lg

              mandragora

              ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mandragora
                wrote on last edited by
                #17

                Hallo nochmals.

                Ich bin gerade dabei das Script zu testen aber irgendwie scheine ich das Ganze noch nicht so richtig zu verstehen.

                Habe alles wie von michi050 bei mir eingebunden.

                Aber irgendwo hab ich anscheinend noch einen Denkfehler beim Einstellen der Parameter.

                Meine Funktsteckdose frage ich mit dem mA Wert ab.

                Im Leerlauf verbraucht die Waschmaschine 34 mA.

                Während des Betriebes geht die Waschmaschine nie auf 34 mA zurück.

                Ich habe jetzt schon etliche Parameter im Script verändert aber anscheinend verstehe ich das Ganze noch nicht ganz.

                Kann mir jemand auf die Sprünge helfen wo ich die nötigen Parameter setzen muss damit das bei mir funktioniert.

                Vielen Dank schon mal im Voraus

                lg

                mandragora

                ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  dna909
                  wrote on last edited by
                  #18

                  Wenn Du die Stromaufnahme als Abfrage nehmen willst, musst du die Datenpunkte .Power austauschen, gegen die mit .current.

                  Dann die Werte anpassen und dann sollte das laufen.

                  Ansonsten wäre ein Export von deinem Blockly hilfreich.

                  mfg

                  dna909

                  Intel NUC7PJYH mit Proxmox, Odroid U2, CCU2, Philips Hue, ESP8266, Xiaomi Robot, Google Chromecast Audio, Instar 6012HD, Bosch HNG6764S6

                  1 Reply Last reply
                  0
                  • L Online
                    L Online
                    lesiflo
                    Most Active
                    wrote on last edited by
                    #19

                    Hallo,

                    mal ne blöde Frage. Warum nutzt du nicht die Wenn/Dann Funktion der CCU2 um diese Abfrage zu realisieren.

                    Bei läuft das zuverlässig und ich bekomme dann die Meldung über Telegram aufs Handy.

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mandragora
                      wrote on last edited by
                      #20

                      Hallo,

                      Anbei mal mein letzer Versuch.

                      Trockner Bereich bitte ignorieren.. ist noch nicht in Verwendung

                      ! ````
                      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="3(+ht|)}pjx@g*jlMSP-" x="-1387" y="-713"><field name="NAME">stateWasch</field>
                      <statement name="STATEMENT"><block type="on" id="CsK8ICF@K6:%TQ{T;]G0"><field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field>
                      <field name="CONDITION">ne</field>

                          <statement name="STATEMENT"><block type="controls_if" id="38^rWSB,U/l?Oe]ZI_);"><value name="IF0"><block type="logic_compare" id="qEY)`V_u~Lnx[+.OF,I9"><field name="OP">LT</field>
                                  <value name="A"><block type="get_value" id="EZCeKlk7}6}Bm`W:T7.6"><field name="ATTR">val</field>
                                      <field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field></block></value> 
                                  <value name="B"><block type="math_number" id="!5SMR~:H+B4^Lj04C2E:"><field name="NUM">1</field></block></value></block></value> 
                              <statement name="DO0"><block type="control" id=".gwn]7b(a6)Ex90*v^VR"><mutation delay_input="false"></mutation>
                                  <field name="OID">javascript.0.stateWasch</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE"><block type="math_number" id="H,B.aEIs6M4{)~PC_,1r"><field name="NUM">0</field></block></value></block></statement> 
                              <next><block type="controls_if" id="IaZ^6]{gl~zsw=fz:~z@"><value name="IF0"><block type="logic_operation" id="tc?Y7NMf%4wGa.aTdDVo"><field name="OP">AND</field>
                                      <value name="A"><block type="logic_compare" id="VTUe#]ql]FoOSz^=aHe{"><field name="OP">GT</field>
                                          <value name="A"><block type="get_value" id="o2K[KO@01wL9ZL8Z,i}Q"><field name="ATTR">val</field>
                                              <field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field></block></value> 
                                          <value name="B"><block type="math_number" id="Dh;8ZOw#hrWN9(U8_psS"><field name="NUM">1</field></block></value></block></value> 
                                      <value name="B"><block type="logic_compare" id="_0uLC)9..jZd|4%A!/*f"><field name="OP">LT</field>
                                          <value name="A"><block type="get_value" id="O^4W:elKh=1tcN66;U8I"><field name="ATTR">val</field>
                                              <field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field></block></value> 
                                          <value name="B"><block type="math_number" id="xRH*euSUD}1eBT@ZG4O?"><field name="NUM">32</field></block></value></block></value></block></value> 
                                  <statement name="DO0"><block type="control" id="o);2:pPxiV+J7NmNhimA"><mutation delay_input="false"></mutation>
                                      <field name="OID">javascript.0.stateWasch</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE"><block type="math_number" id="%M)IG}iYVy4|W!mFa])L"><field name="NUM">1</field></block></value></block></statement> 
                                  <next><block type="controls_if" id="`-^N2yzGJlgLxn9wy|pi"><value name="IF0"><block type="logic_compare" id="HP/.rftYe[^BnefRgt[e"><field name="OP">GT</field>
                                          <value name="A"><block type="get_value" id="MU_~(}S#DQ?bm|jc2A=s"><field name="ATTR">val</field>
                                              <field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field></block></value> 
                                          <value name="B"><block type="math_number" id="Z8[tfbfAF[,`,ruzX2|a"><field name="NUM">32</field></block></value></block></value> 
                                      <statement name="DO0"><block type="control" id="UCgVIVIFeLPaXZZ*}RFl"><mutation delay_input="false"></mutation>
                                          <field name="OID">javascript.0.stateWasch</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="math_number" id=",*!Sw~XG5KGq|JxgU5ih"><field name="NUM">2</field></block></value></block></statement></block></next></block></next></block></statement></block></statement> 
                      <next><block type="create" id="CVfT2kuKJTJvlUAcu#9C"><field name="NAME">statezaehlerWasch</field>
                          <statement name="STATEMENT"><block type="on" id="c@kQWqJBPfUI)z=~-^0:"><field name="OID">javascript.0.statezaehlerWasch</field>
                              <field name="CONDITION">ne</field>
                      
                              <statement name="STATEMENT"><block type="controls_if" id="Q_vh(2V]-EbwC{HRyX9O"><mutation else="1"></mutation>
                                  <value name="IF0"><block type="logic_compare" id="v3l+dzdP,S,gI:MR%|,="><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="}42JAzBt4w#TEfKJIMRN"><field name="ATTR">val</field>
                                          <field name="OID">javascript.0.stateWasch</field></block></value> 
                                      <value name="B"><block type="math_number" id="7W/(Gtr{SD#[Q@ieLk,E"><field name="NUM">1</field></block></value></block></value> 
                                  <statement name="DO0"><block type="timeouts_setinterval" id="5=05m9sOMS{exPZ*QN)1"><field name="NAME">Intervall</field>
                                      <field name="INTERVAL">5000</field>
                                      <field name="UNIT">ms</field>
                                      <statement name="STATEMENT"><block type="control" id="6[x`g+9O%XeWACOIfr(D"><mutation delay_input="false"></mutation>
                                          <field name="OID">javascript.0.statezaehlerWasch</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="math_arithmetic" id="C!rG2gsCN7B+jc_I!Z9m"><field name="OP">ADD</field>
                                              <value name="A"><shadow id="=g!l[t]GGE9+QQ,_jztH" type="math_number"><field name="NUM">1</field></shadow> 
                                                <block type="get_value" id="EW2l7[y3_7^uAP/O}D+`"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.statezaehlerWasch</field></block></value> 
                                              <value name="B"><shadow type="math_number" id="/%[=M1Ayq7iO^N]Auc.2"><field name="NUM">1</field></shadow></value></block></value></block></statement></block></statement> 
                                  <statement name="ELSE"><block type="control" id="(=UAym=utHp-F(AgM^U("><mutation delay_input="false"></mutation>
                                      <field name="OID">javascript.0.statezaehlerWasch</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE"><block type="math_number" id="]l,%?rBfpjkZr8,8tE7+"><field name="NUM">0</field></block></value> 
                                      <next><block type="timeouts_clearinterval" id="[A0fIzPHC%{(o)-Qu+7t"><field name="NAME">Intervall</field></block></next></block></statement> 
                                  <next><block type="controls_if" id="t6Sg|:W0Pu{1wn)DVM?z"><value name="IF0"><block type="logic_compare" id="2ZRj0F`Ha9y:j*HNr_/0"><field name="OP">EQ</field>
                                          <value name="A"><block type="get_value" id="UthuHe}U]TIocNJByE4e"><field name="ATTR">val</field>
                                              <field name="OID">javascript.0.stateWasch</field></block></value> 
                                          <value name="B"><block type="math_number" id="PVu?6ccG37bfg-ZndfNu"><field name="NUM">0</field></block></value></block></value> 
                                      <statement name="DO0"><block type="timeouts_clearinterval" id="#Mzpiks?caIw)G3EhPq/"><field name="NAME">Intervall</field>
                                          <next><block type="timeouts_clearinterval" id=".iY=1l9ZBrqn98@X?kps"><field name="NAME">Intervall2</field></block></next></block></statement> 
                                      <next><block type="controls_if" id="F/gS8yNM}hWM_sP.|5V#"><value name="IF0"><block type="logic_compare" id="l!-I+Ac9(xNn^Pv_S^(("><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="QksI6_-MnmIgnE1@#=rr"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.stateWasch</field></block></value> 
                                              <value name="B"><block type="math_number" id="=}4Y%8K?l1;~_5YS[_sK"><field name="NUM">2</field></block></value></block></value> 
                                          <statement name="DO0"><block type="timeouts_clearinterval" id="E1}rcxzy}1nG3V`cCDrU"><field name="NAME">Intervall2</field></block></statement></block></next></block></next></block></statement> 
                              <next><block type="on" id="g{,DubcFl~T`:#,:P)ar"><field name="OID">javascript.0.statezaehlerWasch</field>
                                  <field name="CONDITION">ne</field>
                      
                                  <statement name="STATEMENT"><block type="controls_if" id="X/px+_@O_[*^`+):;2o)"><value name="IF0"><block type="logic_operation" id="vD[WmR{r2H,ZNPI6#HGj"><field name="OP">AND</field>
                                          <value name="A"><block type="logic_compare" id="Z0^w](df`urTMV_^,A.S"><field name="OP">GT</field>
                                              <value name="A"><block type="get_value" id="b,:eZedEzIVu+izbkP4/"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.statezaehlerWasch</field></block></value> 
                                              <value name="B"><block type="math_number" id="srtuo?7[DU+{dOWKd`hM"><field name="NUM">38</field></block></value></block></value> 
                                          <value name="B"><block type="logic_compare" id="d,u``{1:{2|R5g-=-xo="><field name="OP">GT</field>
                                              <value name="A"><block type="get_value" id="fTm4=ZqjmXU]HUJIox|N"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.stateWasch</field></block></value> 
                                              <value name="B"><block type="math_number" id="_b3jer/*Yc-6CX9Zp6JR"><field name="NUM">0</field></block></value></block></value></block></value> 
                                      <statement name="DO0"><block type="timeouts_setinterval" id="A]_OJZPbB;jhHb0N%XRS"><field name="NAME">Intervall2</field>
                                          <field name="INTERVAL">60000</field>
                                          <field name="UNIT">ms</field>
                                          <statement name="STATEMENT"><block type="sayit" id="2C-5!u3RZ9r:8PIpSAM3"><field name="INSTANCE">.0</field>
                                              <field name="LANGUAGE">de</field>
                      
                                              <value name="MESSAGE"><shadow type="text" id="CqY5`YVq1tV]RT5EZ%_I"><field name="TEXT">Die Waschmaschine ist fertig</field></shadow></value> 
                                              <next><block type="sendto_custom" id="QGC.*r?hlDsWXIHPX`eu"><mutation items="parameter1" with_statement="false"></mutation>
                                                  <field name="INSTANCE">telegram.0</field>
                                                  <field name="COMMAND">send</field>
                                                  <field name="WITH_STATEMENT">FALSE</field>
                      
                                                  <value name="ARG0"><shadow type="text" id="RagxaiCzCu{hx?r@%q4u"><field name="TEXT">Die Waschmaschine ist fertig</field></shadow></value></block></next></block></statement> 
                                          <next><block type="timeouts_clearinterval" id="k0e5C{uzr8/tHvzuS-tm"><field name="NAME">Intervall</field></block></next></block></statement></block></statement></block></next></block></statement> 
                          <next><block type="create" id="qvtk2OM{p[BEiS1AXaGf"><field name="NAME">stateTrockner</field>
                              <statement name="STATEMENT"><block type="on" id="G,xQ;Vg^-2)bY;+3~qT)"><field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field>
                                  <field name="CONDITION">ne</field>
                      
                                  <statement name="STATEMENT"><block type="controls_if" id="cqmr|49igl8hFT)mAA6~"><value name="IF0"><block type="logic_compare" id="extv07ywJozNX:ohE=m="><field name="OP">LT</field>
                                          <value name="A"><block type="get_value" id="0f^YtOvC:[Bwd5]JY{4*"><field name="ATTR">val</field>
                                              <field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field></block></value> 
                                          <value name="B"><block type="math_number" id="IMh}f29~]X;h^1kl-Fjy"><field name="NUM">0.5</field></block></value></block></value> 
                                      <statement name="DO0"><block type="control" id="@4tIZ3aDV]DT2.VTrFD)"><mutation delay_input="false"></mutation>
                                          <field name="OID">javascript.2.stateTrockner</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="math_number" id="T!=ALTiZkg|r7*L+SNeW"><field name="NUM">0</field></block></value></block></statement> 
                                      <next><block type="controls_if" id="oeE%%Jn@X(]G:+N[IpF1"><value name="IF0"><block type="logic_operation" id="@Ghr^`#lg2[65cF_J=mV"><field name="OP">AND</field>
                                              <value name="A"><block type="logic_compare" id="43RO~zx+SeUCKZAUEg6o"><field name="OP">GT</field>
                                                  <value name="A"><block type="get_value" id="KUVRX;YkZ67x.4`r@O%A"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field></block></value> 
                                                  <value name="B"><block type="math_number" id="3Qq5d|Hzq78q9~zd?~c!"><field name="NUM">0.5</field></block></value></block></value> 
                                              <value name="B"><block type="logic_compare" id="!X0dgH+P6bl:1FPxTkGh"><field name="OP">LT</field>
                                                  <value name="A"><block type="get_value" id="]%Wtu]?k!Sj~B_`fIKUl"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field></block></value> 
                                                  <value name="B"><block type="math_number" id="(e9ib?:F6k.o,fWV34px"><field name="NUM">100</field></block></value></block></value></block></value> 
                                          <statement name="DO0"><block type="control" id="a[Cd3f,O/GJOZzOvQ;KX"><mutation delay_input="false"></mutation>
                                              <field name="OID">javascript.2.stateTrockner</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="math_number" id="xA,J7,fMmt!Z~E)?F5!v"><field name="NUM">1</field></block></value></block></statement> 
                                          <next><block type="controls_if" id="|6HqaA6l`Y[p!A^@PT1}"><value name="IF0"><block type="logic_compare" id=".Aw=F,T~jS)tTESpd%)?"><field name="OP">GT</field>
                                                  <value name="A"><block type="get_value" id="mc~6m/H7|9;_2%1os!o*"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field></block></value> 
                                                  <value name="B"><block type="math_number" id="ik_)SNS93V_XnDe8#0bF"><field name="NUM">100</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="A]kU+5Y|I*nVM?q;#l4="><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.2.stateTrockner</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="math_number" id="}[mJg~]/bCCxgbhj=d~k"><field name="NUM">2</field></block></value></block></statement></block></next></block></next></block></statement></block></statement> 
                              <next><block type="create" id="/K|y2EEZak[tFo:c{%W]"><field name="NAME">statezaehlerTrockner</field>
                                  <statement name="STATEMENT"><block type="on" id="AqH{:ZSr`giIi8x(N8qB"><field name="OID">javascript.2.stateTrockner</field>
                                      <field name="CONDITION">ne</field>
                      
                                      <statement name="STATEMENT"><block type="controls_if" id="F?5}P5C7#_uD*mD#VR:+"><mutation else="1"></mutation>
                                          <value name="IF0"><block type="logic_compare" id="ns=pqy^-JL))LK^15eEM"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id=";Tc!_Xy{{b]kUpI=jodG"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.2.stateTrockner</field></block></value> 
                                              <value name="B"><block type="math_number" id="=u8N=i-umNo-gc@~;)jO"><field name="NUM">1</field></block></value></block></value> 
                                          <statement name="DO0"><block type="timeouts_setinterval" id="h5YW99[o2AaEr%H?0n.]"><field name="NAME">Intervall3</field>
                                              <field name="INTERVAL">5000</field>
                                              <field name="UNIT">ms</field>
                                              <statement name="STATEMENT"><block type="control" id="CEM8kc.tClL6(AJxDN@9"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.2.statezaehlerTrockner</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="math_arithmetic" id="5s3mCI|Oiq,-[I1%Ipm#"><field name="OP">ADD</field>
                                                      <value name="A"><shadow id="=g!l[t]GGE9+QQ,_jztH" type="math_number"><field name="NUM">1</field></shadow> 
                                                        <block type="get_value" id="i|tfxXum`I_h,OkHZc!E"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.2.statezaehlerTrockner</field></block></value> 
                                                      <value name="B"><shadow type="math_number" id="#*I-lA0g;.h*ynbm~mg~"><field name="NUM">1</field></shadow></value></block></value></block></statement></block></statement> 
                                          <statement name="ELSE"><block type="control" id="9XUVGw:(#._(uIhK_|P:"><mutation delay_input="false"></mutation>
                                              <field name="OID">javascript.2.statezaehlerTrockner</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="math_number" id="5aY.f_sfkFt}p1I)Jq.G"><field name="NUM">0</field></block></value> 
                                              <next><block type="timeouts_clearinterval" id="z|Y6mG/2l[tVVeg]^x)7"><field name="NAME">Intervall3</field></block></next></block></statement> 
                                          <next><block type="controls_if" id="^eVjyxqus6EC=jr7CvNe"><value name="IF0"><block type="logic_compare" id="VZVwb+K?tx!*21m2GNY#"><field name="OP">EQ</field>
                                                  <value name="A"><block type="get_value" id="F6l6|sNgmL;o;Xe^WeiB"><field name="ATTR">val</field>
                                                      <field name="OID">javascript.2.stateTrockner</field></block></value> 
                                                  <value name="B"><block type="math_number" id="OWSjVH41E4lBFXwX,bV%"><field name="NUM">0</field></block></value></block></value> 
                                              <statement name="DO0"><block type="timeouts_clearinterval" id="k3!U1JyZ;eA-}l2J(4_4"><field name="NAME">Intervall3</field>
                                                  <next><block type="timeouts_clearinterval" id="o-CHv+]%gNAFb1?l%~yL"><field name="NAME">Intervall4</field></block></next></block></statement> 
                                              <next><block type="controls_if" id="okxL3sCA?%37hB~9bSxZ"><value name="IF0"><block type="logic_compare" id="@=xOL@c[8O5}qACF/1on"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="bEAvO3gqS@?O5B+9o2kD"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.2.stateTrockner</field></block></value> 
                                                      <value name="B"><block type="math_number" id="TE}{eLj3(`))xS,]u)R9"><field name="NUM">2</field></block></value></block></value> 
                                                  <statement name="DO0"><block type="timeouts_clearinterval" id="3ZgYfNZ(7C|a/y_Eat7I"><field name="NAME">Intervall4</field></block></statement></block></next></block></next></block></statement> 
                                      <next><block type="on" id="|c#jU_BLifB;J}_WLNo|"><field name="OID">javascript.2.statezaehlerTrockner</field>
                                          <field name="CONDITION">ne</field>
                      
                                          <statement name="STATEMENT"><block type="controls_if" id="rkskfXWd{oZ._!a?ZiG?"><value name="IF0"><block type="logic_operation" id="`UA#c_#QsVd#Dh8:d}cS"><field name="OP">AND</field>
                                                  <value name="A"><block type="logic_compare" id="GiT!f~Ma@8GC4Fs])A^="><field name="OP">GT</field>
                                                      <value name="A"><block type="get_value" id="?{7IGh9yT2)3LG7ezWc{"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.2.statezaehlerTrockner</field></block></value> 
                                                      <value name="B"><block type="math_number" id="|ULbCPq:/n;w`g(uU[Ik"><field name="NUM">60</field></block></value></block></value> 
                                                  <value name="B"><block type="logic_compare" id="ju9;n=j;Z@8;D_1l3@:m"><field name="OP">GT</field>
                                                      <value name="A"><block type="get_value" id="@[Ji:kv|^(/Dwn9Fu,t)"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.2.stateTrockner</field></block></value> 
                                                      <value name="B"><block type="math_number" id="l(i0M8z,|Sl{q{LcP:)N"><field name="NUM">0</field></block></value></block></value></block></value> 
                                              <statement name="DO0"><block type="timeouts_setinterval" id="G{*mYUDCdUP*z;Zw`4gy"><field name="NAME">Intervall4</field>
                                                  <field name="INTERVAL">60000</field>
                                                  <field name="UNIT">ms</field>
                                                  <statement name="STATEMENT"><block type="sayit" id="_|Z[}KSb=]K-n~PDvZE:"><field name="INSTANCE">.0</field>
                                                      <field name="LANGUAGE">de</field>
                      
                                                      <value name="MESSAGE"><shadow type="text" id="}2,DR{d8]%6!mu82uFkl"><field name="TEXT">Der Trockner ist fertig</field></shadow></value></block></statement> 
                                                  <next><block type="timeouts_clearinterval" id="WrE,7jh|4Q9.}d!r8]9U"><field name="NAME">Intervall3</field></block></next></block></statement></block></statement></block></next></block></statement></block></next></block></next></block></next></block></xml> 
                      
                      
                      @ dna909
                      
                      Ich hab .current in Verwendung. Wie gesagt verstehe ich den Ablauf hier anscheinend nicht genau denn nach verschiedenem Anpassen der Werte funktioniert es noch nicht
                      
                      @ lesliflo
                      
                      Ich würde halte gerne alles was möglich ist in Blockly umsetzen da mir das Webinterface der CCU2 noch nie wirklich gefallen hat und ich es hier übersichtlicher finde.
                      
                      Vielen Dank Leute
                      
                      lg
                      
                      mandragora

                      ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

                      1 Reply Last reply
                      0
                      • L Online
                        L Online
                        lesiflo
                        Most Active
                        wrote on last edited by
                        #21

                        Ok, das Webinterface ist eine Sache für sich. Aber ob nun dein Script hier übersichtlicher finde ich nicht so.

                        Aber okay jeder so wie er mag. Jedenfalls funktioniert die Sache über die CCU mit wesentlicher weniger Aufwand als über Blockly.

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          michi050
                          wrote on last edited by
                          #22

                          Hallo, ich helfe Dir sehr gerne weiter.

                          Im oberen Bereich wird die Leistung der Waschmaschine ermittelt. Ich habe die Leistungsbereiche in 3 Stufen unterteilt. In der Stufe 1 ist die Maschine aus (0 Watt, Schalter aus), in der Stufe 2 ist die Maschine im Knitterschutzbetrieb oder im Modus zwischen den Betriebsszenarien (Leerlauf zwischen spülen, schleudern usw.). In der Stufe 3 wird gewaschen, bei meiner Maschine wäre das dann ein Leistungsvolumen von über 40 Watt.

                          Im unteren Bereich (statewasch) werden die Ruhezeiten anhand der Intervallschleife ermittelt. Ist die Maschine bspw. längere Zeit im Knitterschutzbetrieb (also fertig mit waschen), dann zählt der Zähler hoch und gibt dann bei überschreiten der Zählerschwelle die Meldung im 3. Bereich des Scripts (statezählerwasch) eine Sprachmeldung aus. Nimmt die Maschine jedoch nach einer Ruhezeit (Einweichphase) wieder den Waschbetrieb auf, dann wird der zyklische Intervallzähler bis zur nächsten Spülpause wieder resettet und zählt nach nach der nächsten Ruhepause wieder hoch.

                          Du solltest auf jeden Fall Deine Messung über die Leistung (Watt) ermitteln und nicht über den Strom (mA). Ich weiß, dass die Parameter (P=U*I) das gleiche Ergebnis liefern, könnte also Geschmackssache sein, was man benutzt. Die Intervalle solltest Du auch an die Maschine anpassen, da das Leistungs- und Ruheverhalten der Waschmaschinen unterschiedlich ist.

                          Ich bin auch froh, wenn ich im Forum Hilfe bekomme, deswegen nehme ich mir auch für Dich sehr gerne Zeit.

                          Gruß Michael

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            michi050
                            wrote on last edited by
                            #23

                            @lesiflo

                            Eine Programmierung über die CCU finde ich bescheiden, ich versuche jedes Programm aus der CCU fern zu halten. Sie ist für mich nur noch der Torso um Funksignale zu senden, sonst nix.

                            Gruß

                            1 Reply Last reply
                            0
                            • L Online
                              L Online
                              lesiflo
                              Most Active
                              wrote on last edited by
                              #24

                              Ok, warum einfach wenn's auch kompliziert geht. Jedenfalls ist mir dein Script etwas zu aufwendig. Mag aber auch sein das das an der Waschmaschine liegt das ganze so kompliziert zu machen. Aber was soll's jeder so wie er mag. Ich bin dann raus.

                              Gesendet von meinem FRD-L09 mit Tapatalk

                              1 Reply Last reply
                              0
                              • T Offline
                                T Offline
                                tempestas
                                wrote on last edited by
                                #25

                                Skurriler Auftritt :lol:

                                <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  michi050
                                  wrote on last edited by
                                  #26

                                  So ist es, ich dachte auch anfänglich, dass es einfacher zu lösen wäre. Bis zu dem Zeitpunkt, als ich das Eigenleben einer Waschmaschine erleben durfte. Für findige Programmierer ist das sicherlich einfacher zu lösen, aber für einen Scriptanwender der in Ermangelung der Kenntnisse scheitert, ist Blocky einfach genial. Deswegen einen herzlichen Dank an die Entwickler, die solchen Leuten wie meine Wenigkeit die Möglichkeit einer einfachen vielleicht auch etwas komplizierteren aber funktionierenden Lösung eröffnen. Mit Blockly habe ich, wenn auch in einer immer wieder abgewandelten Form, eigentlich alles hinbekommen.

                                  1 Reply Last reply
                                  0
                                  • M Offline
                                    M Offline
                                    mandragora
                                    wrote on last edited by
                                    #27

                                    Hallo nochmals und vielen Dank @michi050 für die Erklärung.

                                    Mir ist jetzt schon einiges klarer geworden und ich werde mal ein paar Änderungen vornehmen und das weiterhin testen.

                                    Falls ich noch weitere Fragen habe würde ich mich gerne wieder hier melden.

                                    Vielen Dank nochmals an alle die mir bei meinen Probleme und Fragen helfen und auch die Geduld dafür aufbringen auch wenn die Fragen oftmals "blöd" klingen.

                                    iOBroker ist echt ein mächtiges Werkzeug und hat so viele Bereiche wo man sich als Anfänger gerne verrennen kann.

                                    Die Hilfsbereitschaft hier im Forum ist aber gigantisch und es wird keiner alleine gelassen… und das finde ich super...

                                    DANKE

                                    lg

                                    mandragora

                                    ioBroker auf Synology DS218+ (Docker); VIS: 2x8" Tablets; Homematic CCU2 und Komponenten; Echo DOT; Unifi Ap-Ac Pro; Landroid S; Jovision IPCams

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      marce802
                                      wrote on last edited by
                                      #28

                                      Hi zusammen,

                                      @michi050 ich habe es mit deinem Script so versucht nur habe ich es statt sayit mit Pushover versucht, soweit klappt es auch nur wenn die Maschine fertig ist bekomme ich im Sek. Takt push Benachrichtigungen.

                                      Könnte mir jemand sagen wie ich das einstellen muss, dass wenn die Maschine fertig ist sie mir nur eine Nachricht schickt?

                                      Gruß

                                      marce802

                                      1 Reply Last reply
                                      0
                                      • DutchmanD Offline
                                        DutchmanD Offline
                                        Dutchman
                                        Developer Most Active Administrators
                                        wrote on last edited by
                                        #29

                                        @marce802:

                                        Könnte mir jemand sagen wie ich das einstellen muss, dass wenn die Maschine fertig ist sie mir nur eine Nachricht schickt?

                                        Gruß

                                        marce802 `

                                        Oh man ich habe Mal wieder meine Glaskugel verlegt so ein Mist…

                                        Poste doch Mal dein Script dann können wir drüber schauen und helfen ;)


                                        Send from mobile device

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          marce802
                                          wrote on last edited by
                                          #30

                                          sorry :) , aber wie gesagt habe alles gleich bis auf Pushover, anbei ein paar screenshots:
                                          3576_2017-10-15_14h00_05.png
                                          3576_2017-10-15_13h59_52.png
                                          3576_2017-10-15_13h59_28.png

                                          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

                                          645

                                          Online

                                          32.7k

                                          Users

                                          82.6k

                                          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