Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorstellung] Meine zweite Visualisierung

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[Vorstellung] Meine zweite Visualisierung

Scheduled Pinned Locked Moved Visualisierung
vistemplate
1.3k Posts 148 Posters 547.7k Views 157 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.
  • D DennisMenger

    @Kuddel du hast ja in deiner Vis alle Views einzeln erstellt, die dann ja zusätzlich auf den einzelnen Übersichtsseiten eingebunden sind. Wie bekomme ich die Views dann zusätzlich auf die Übersichtsseiten? Einfach exportieren und dann importieren?

    G Offline
    G Offline
    G4l4h4d
    wrote on last edited by
    #997

    @DennisMenger Hallo Dennis, das kannst du mit einem View in Widget machen.
    view.png
    Dann einfach die View aussuchen die du gerne anzeigen lassen möchtest.
    view2.png

    D 1 Reply Last reply
    0
    • G G4l4h4d

      @DennisMenger Hallo Dennis, das kannst du mit einem View in Widget machen.
      view.png
      Dann einfach die View aussuchen die du gerne anzeigen lassen möchtest.
      view2.png

      D Online
      D Online
      DennisMenger
      wrote on last edited by
      #998

      @G4l4h4d Oh super. Danke, das probiere ich aus

      1 Reply Last reply
      0
      • D DennisMenger

        @Kuddel du hast ja in deiner Vis alle Views einzeln erstellt, die dann ja zusätzlich auf den einzelnen Übersichtsseiten eingebunden sind. Wie bekomme ich die Views dann zusätzlich auf die Übersichtsseiten? Einfach exportieren und dann importieren?

        Pat1968P Offline
        Pat1968P Offline
        Pat1968
        wrote on last edited by
        #999

        @DennisMenger

        Zentrieren kanns du die einzelnen view indem du auf deiner view das widget zentrierst. View in view geht das nicht.

        1 Reply Last reply
        0
        • B Offline
          B Offline
          bug77
          wrote on last edited by
          #1000

          Hi Kuddel und vielen Dank, dein View war und ist meine Inspiration 👍👍👍

          Frage:

          Im Navi View will ich einen Button mit /Icon/mfd-png/time_calendar.png darstellen.
          Jedoch hat dieser immer die 14 🙂

          Ich möchte die Zahl je nach Tag entsprechend anzeigen lassen.
          Habe dazu bereits ein Objekt im JavaScript welches mir je nach Tag den entsprechenden Pfad erzeugt. /icon-mfd-png/time_calwndar_23.png z.b

          Wie bekomme ich das aber in das Widget rein?
          Das Metro Navigation Widget unterstützt ja das Icon, aber keinen Pfad zu einem State.

          K 1 Reply Last reply
          0
          • B bug77

            Hi Kuddel und vielen Dank, dein View war und ist meine Inspiration 👍👍👍

            Frage:

            Im Navi View will ich einen Button mit /Icon/mfd-png/time_calendar.png darstellen.
            Jedoch hat dieser immer die 14 🙂

            Ich möchte die Zahl je nach Tag entsprechend anzeigen lassen.
            Habe dazu bereits ein Objekt im JavaScript welches mir je nach Tag den entsprechenden Pfad erzeugt. /icon-mfd-png/time_calwndar_23.png z.b

            Wie bekomme ich das aber in das Widget rein?
            Das Metro Navigation Widget unterstützt ja das Icon, aber keinen Pfad zu einem State.

            K Offline
            K Offline
            Kuddel
            wrote on last edited by
            #1001

            @bug77 ich habe dein Problem noch nicht so ganz verstanden. könntest du vllt. zur Verdeutlichung paar Screenshots anhängen?

            B 1 Reply Last reply
            0
            • D Online
              D Online
              DennisMenger
              wrote on last edited by
              #1002

              @Kuddel Ich habe noch eine Frage zu deinem Blockly für den Datenpunkt "alle_fenster_eg_geschlossen". Ich nutze HmIP 3 Fensterkontakte. Habe das Blockly jetzt versucht auf meine Bedürfnisse anzupassen, aber der Datenpunkt ändert sich nicht.

              Hier der Code, wie kann ich das Blockly selber hier einstellen?

              // Alle Fenster EG geschlossen
              on({id: new RegExp('hmip\\.0\\.devices\\.3014F711A00000DA4994DB9F\\.channels\\.1\\.windowOpen' + "|" + 'hmip\\.0\\.devices\\.3014F711A00007DA4989AD87\\.channels\\.1\\.windowOpen' + "|" + 'hmip\\.0\\.devices\\.3014F711A00000DA4994DB86\\.channels\\.1\\.windowOpen'), change: "ne"}, function (obj) {
                  setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, true);
                // Sofaecke
                if (getState("hmip.0.devices.3014F711A00000DA4994DB9F.channels.1.windowOpen").val == false) {
                  setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, false);
                }
                // Terrasse
                if (getState("hmip.0.devices.3014F711A00007DA4989AD87.channels.1.windowOpen").val == false) {
                  setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, false);
                }
                // Essecke
                if (getState("hmip.0.devices.3014F711A00000DA4994DB86.channels.1.windowOpen").val == false) {
                  setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, false);
                }
              });
              on({id: new RegExp('hmip\\.0\\.devices\\.3014F711A00000DA4994DB9F\\.channels\\.1\\.windowOpen' + "|" + 'hmip\\.0\\.devices\\.3014F711A00007DA4989AD87\\.channels\\.1\\.windowOpen' + "|" + 'hmip\\.0\\.devices\\.3014F711A00000DA4994DB86\\.channels\\.1\\.windowOpen'), change: "ne"}, function (obj) {
                  if (getState("hmip.0.devices.3014F711A00000DA4994DB9F.channels.1.windowOpen").val == true || getState("hmip.0.devices.3014F711A00007DA4989AD87.channels.1.windowOpen").val == true || getState("hmip.0.devices.3014F711A00000DA4994DB86.channels.1.windowOpen").val == true) {
                  setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, true);
                } else {
                  setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, false);
                }
              });
              
              K 1 Reply Last reply
              0
              • D DennisMenger

                @Kuddel Ich habe noch eine Frage zu deinem Blockly für den Datenpunkt "alle_fenster_eg_geschlossen". Ich nutze HmIP 3 Fensterkontakte. Habe das Blockly jetzt versucht auf meine Bedürfnisse anzupassen, aber der Datenpunkt ändert sich nicht.

                Hier der Code, wie kann ich das Blockly selber hier einstellen?

                // Alle Fenster EG geschlossen
                on({id: new RegExp('hmip\\.0\\.devices\\.3014F711A00000DA4994DB9F\\.channels\\.1\\.windowOpen' + "|" + 'hmip\\.0\\.devices\\.3014F711A00007DA4989AD87\\.channels\\.1\\.windowOpen' + "|" + 'hmip\\.0\\.devices\\.3014F711A00000DA4994DB86\\.channels\\.1\\.windowOpen'), change: "ne"}, function (obj) {
                    setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, true);
                  // Sofaecke
                  if (getState("hmip.0.devices.3014F711A00000DA4994DB9F.channels.1.windowOpen").val == false) {
                    setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, false);
                  }
                  // Terrasse
                  if (getState("hmip.0.devices.3014F711A00007DA4989AD87.channels.1.windowOpen").val == false) {
                    setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, false);
                  }
                  // Essecke
                  if (getState("hmip.0.devices.3014F711A00000DA4994DB86.channels.1.windowOpen").val == false) {
                    setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, false);
                  }
                });
                on({id: new RegExp('hmip\\.0\\.devices\\.3014F711A00000DA4994DB9F\\.channels\\.1\\.windowOpen' + "|" + 'hmip\\.0\\.devices\\.3014F711A00007DA4989AD87\\.channels\\.1\\.windowOpen' + "|" + 'hmip\\.0\\.devices\\.3014F711A00000DA4994DB86\\.channels\\.1\\.windowOpen'), change: "ne"}, function (obj) {
                    if (getState("hmip.0.devices.3014F711A00000DA4994DB9F.channels.1.windowOpen").val == true || getState("hmip.0.devices.3014F711A00007DA4989AD87.channels.1.windowOpen").val == true || getState("hmip.0.devices.3014F711A00000DA4994DB86.channels.1.windowOpen").val == true) {
                    setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, true);
                  } else {
                    setState("javascript.0.VIS-Status.alle_fenster_eg_geschlossen"/*alle_fenster_eg_geschlossen*/, false);
                  }
                });
                
                K Offline
                K Offline
                Kuddel
                wrote on last edited by
                #1003

                @DennisMenger wenn du das Blocky offen hast, sind oben rechts zwei Icons zum exportieren und importieren.

                darüber kannst du dann das Blocky hier reinstellen.
                am besten den Code immer mit spoiler (das augenicon hier im Editor) posten, dann bleiben die Beträge übersichtlicher

                D 1 Reply Last reply
                0
                • K Kuddel

                  @DennisMenger wenn du das Blocky offen hast, sind oben rechts zwei Icons zum exportieren und importieren.

                  darüber kannst du dann das Blocky hier reinstellen.
                  am besten den Code immer mit spoiler (das augenicon hier im Editor) posten, dann bleiben die Beträge übersichtlicher

                  D Online
                  D Online
                  DennisMenger
                  wrote on last edited by DennisMenger
                  #1004

                  @Kuddel danke

                  hier einmal ein Screenshot

                  blockly1.png

                  reicht das so?

                  K 2 Replies Last reply
                  0
                  • D DennisMenger

                    @Kuddel danke

                    hier einmal ein Screenshot

                    blockly1.png

                    reicht das so?

                    K Offline
                    K Offline
                    Kuddel
                    wrote on last edited by
                    #1005

                    @DennisMenger so geht es natürlich auch. wenn die skripte nicht zu groß sind, ist es mit Screenshot sogar einfacher.

                    schaue mir das morgen früh mal in Ruhe im Büro an

                    D 1 Reply Last reply
                    0
                    • K Kuddel

                      @DennisMenger so geht es natürlich auch. wenn die skripte nicht zu groß sind, ist es mit Screenshot sogar einfacher.

                      schaue mir das morgen früh mal in Ruhe im Büro an

                      D Online
                      D Online
                      DennisMenger
                      wrote on last edited by
                      #1006

                      @Kuddel super danke

                      1 Reply Last reply
                      0
                      • D Online
                        D Online
                        DennisMenger
                        wrote on last edited by Negalein
                        #1007

                        Teil 1

                        <block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="1xhq]CF5|L8T:e3!T,eV" x="121" y="-3307">
                         <mutation items="3"></mutation>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="2-;6RL-j;|G*ArqTG1YN">
                             <field name="oid">hmip.0.devices.3014F711A00000DA4994DB9F.channels.1.windowOpen</field>
                           </shadow>
                         </value>
                         <value name="OID1">
                           <shadow type="field_oid" id="HVjS`S%;z.oO#A%@?UwN">
                             <field name="oid">hmip.0.devices.3014F711A00007DA4989AD87.channels.1.windowOpen</field>
                           </shadow>
                         </value>
                         <value name="OID2">
                           <shadow type="field_oid" id="`1zZ0_d~+Zq6q%2,guN(">
                             <field name="oid">hmip.0.devices.3014F711A00000DA4994DB86.channels.1.windowOpen</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="control" id="+KE!n1mO,v#37eCLWau8">
                             <mutation delay_input="false"></mutation>
                             <field name="OID">javascript.0.VIS-Status.alle_fenster_eg_geschlossen</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="3cZSLKgqD{5UUDV]5L9%">
                                 <field name="BOOL">TRUE</field>
                               </block>
                             </value>
                             <next>
                               <block type="comment" id="gC*ZeYN|f3kr/.I[9DP#">
                                 <field name="COMMENT">Sofaecke</field>
                                 <next>
                                   <block type="controls_if" id="HPB,4eTF.uoaO{_+!3u.">
                                     <value name="IF0">
                                       <block type="logic_compare" id="%@~okf=@+-A*91gcVoPT">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="get_value" id="NLB`S^q,7Ezk^-5FO~dq">
                                             <field name="ATTR">val</field>
                                             <field name="OID">hmip.0.devices.3014F711A00000DA4994DB9F.channels.1.windowOpen</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_boolean" id="2Zt/rI_kZf9JRrX(%[+=">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="control" id="t%OD+4?^;Q2EAW[{gezg">
                                         <mutation delay_input="false"></mutation>
                                         <field name="OID">javascript.0.VIS-Status.alle_fenster_eg_geschlossen</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="x6;G~-S)P^vsQgyDy9jp">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <next>
                                       <block type="comment" id="h-#fBL:)4*zpY=ygP4L+">
                                         <field name="COMMENT">Terrasse</field>
                                         <next>
                                           <block type="controls_if" id="Ws}5}dkY;DP;[mbkf*?T">
                                             <value name="IF0">
                                               <block type="logic_compare" id="[aAkmc(hIxC4B_ef(02h">
                                                 <field name="OP">EQ</field>
                                                 <value name="A">
                                                   <block type="get_value" id="oy,pXr=MMD;A3bT}_z}%">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">hmip.0.devices.3014F711A00007DA4989AD87.channels.1.windowOpen</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_boolean" id="fm`J]%Qn?!{m#87d0D+e">
                                                     <field name="BOOL">FALSE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="control" id="rxIluhfn:;7hz`bSN*JO">
                                                 <mutation delay_input="false"></mutation>
                                                 <field name="OID">javascript.0.VIS-Status.alle_fenster_eg_geschlossen</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="l+lw[US]=)gT9LT0K*.C">
                                                     <field name="BOOL">FALSE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                             <next>
                                               <block type="comment" id="Q?WR3aB:#~[Y%`+Q@k-X">
                                                 <field name="COMMENT">Essecke</field>
                                                 <next>
                                                   <block type="controls_if" id="GwR1Chvv*lZ0OYUCT%zT">
                                                     <value name="IF0">
                                                       <block type="logic_compare" id="#!4|5=PNGp*QSWpYv6Ox">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="pmzZZpJLGsc6ztzT12Fp">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">hmip.0.devices.3014F711A00000DA4994DB86.channels.1.windowOpen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="A9[[W3SNU:c@D(v5c],.">
                                                             <field name="BOOL">FALSE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO0">
                                                       <block type="control" id="M|@3-CZwB5;NhARTE2g@">
                                                         <mutation delay_input="false"></mutation>
                                                         <field name="OID">javascript.0.VIS-Status.alle_fenster_eg_geschlossen</field>
                                                         <field name="WITH_DELAY">FALSE</field>
                                                         <value name="VALUE">
                                                           <block type="logic_boolean" id=":K%I%=+F|{BVB0^`|b%1">
                                                             <field name="BOOL">FALSE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </statement>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                        </block>
                        

                        Teil 2:

                        <block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="Am#Mvvb/*1YJDMz?~{jC" x="121" y="-2789">
                         <mutation items="3"></mutation>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="^Rnuo?@=GaPu0(B]CbPF">
                             <field name="oid">hmip.0.devices.3014F711A00000DA4994DB9F.channels.1.windowOpen</field>
                           </shadow>
                         </value>
                         <value name="OID1">
                           <shadow type="field_oid" id="QT?xIh7zwWae63n)567T">
                             <field name="oid">hmip.0.devices.3014F711A00007DA4989AD87.channels.1.windowOpen</field>
                           </shadow>
                         </value>
                         <value name="OID2">
                           <shadow type="field_oid" id="lqQsO)+}EIG`A5SEQ[^s">
                             <field name="oid">hmip.0.devices.3014F711A00000DA4994DB86.channels.1.windowOpen</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="controls_if" id="srHu]+:v1PF4Df6VAkDp">
                             <mutation else="1"></mutation>
                             <value name="IF0">
                               <block type="logic_operation" id=";7L~HfPom:D}|:FHFHmW" inline="false">
                                 <field name="OP">OR</field>
                                 <value name="A">
                                   <block type="logic_operation" id="tAIX9mXkKpsLPOKe;!wm" inline="false">
                                     <field name="OP">OR</field>
                                     <value name="A">
                                       <block type="logic_compare" id="^hNN!_u~7@%rhT?,pGx!">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="get_value" id="1kw=ck+jlGF7E,o(m*TP">
                                             <field name="ATTR">val</field>
                                             <field name="OID">hmip.0.devices.3014F711A00000DA4994DB9F.channels.1.windowOpen</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_boolean" id="dlee^R!ZwIpm|3W;a.gK">
                                             <field name="BOOL">TRUE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="logic_compare" id="]~wCrMl9d;,,zS~`^]Nf">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="get_value" id="@7ZQu/3,LS{9xCS/|PQ*">
                                             <field name="ATTR">val</field>
                                             <field name="OID">hmip.0.devices.3014F711A00007DA4989AD87.channels.1.windowOpen</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_boolean" id="Xr{x-T+d^8zoe]j)#;Zl">
                                             <field name="BOOL">TRUE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="logic_compare" id="u.D%QT7f@1q:(GeBV(wb">
                                     <field name="OP">EQ</field>
                                     <value name="A">
                                       <block type="get_value" id="B=l,y8S-Gg??UZ1#vus(">
                                         <field name="ATTR">val</field>
                                         <field name="OID">hmip.0.devices.3014F711A00000DA4994DB86.channels.1.windowOpen</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="logic_boolean" id="Gs#^|(N?05J2`y_]+ZT2">
                                         <field name="BOOL">TRUE</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="control" id="zO}9d*sWT}RMP*47UhC{">
                                 <mutation delay_input="false"></mutation>
                                 <field name="OID">javascript.0.VIS-Status.alle_fenster_eg_geschlossen</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="DZ~=Vh9{AGqaB{1{J4|?">
                                     <field name="BOOL">TRUE</field>
                                   </block>
                                 </value>
                               </block>
                             </statement>
                             <statement name="ELSE">
                               <block type="control" id="Nn+FIb%v0OvZ*ytwYYj+">
                                 <mutation delay_input="false"></mutation>
                                 <field name="OID">javascript.0.VIS-Status.alle_fenster_eg_geschlossen</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="!XuypNuAE[ydF?#Gw%V3">
                                     <field name="BOOL">FALSE</field>
                                   </block>
                                 </value>
                               </block>
                             </statement>
                           </block>
                         </statement>
                        </block>
                        

                        Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
                        Hier gehts zur Hilfe.

                        1 Reply Last reply
                        0
                        • K Kuddel

                          @bug77 ich habe dein Problem noch nicht so ganz verstanden. könntest du vllt. zur Verdeutlichung paar Screenshots anhängen?

                          B Offline
                          B Offline
                          bug77
                          wrote on last edited by
                          #1008

                          @Kuddel said in [Vorstellung] Meine zweite Visualisierung:

                          @bug77 ich habe dein Problem noch nicht so ganz verstanden. könntest du vllt. zur Verdeutlichung paar Screenshots anhängen?

                          Einfach gefragt, kann ich das Icon der Navigation Buttons anhand eines States setzen, statt dem Iconverzeichnis.

                          Ich möchte einfach das Icon anzeigen, welches den aktuellen Kalendertag anzeigt.
                          Das Icon time_calendar.png zeigt ja immer die 14.

                          K 1 Reply Last reply
                          0
                          • D DennisMenger

                            @Kuddel danke

                            hier einmal ein Screenshot

                            blockly1.png

                            reicht das so?

                            K Offline
                            K Offline
                            Kuddel
                            wrote on last edited by Kuddel
                            #1009

                            @DennisMenger ich habe direkt eine Frage: Wieso verwendest du zwei Blöcke, also zwei Trigger für die selbe Aufgabe ?

                            Ich würde nur den unteren Triggger nehmen und damit testen:

                            f8d24bd0-a76e-4e57-acf7-899041e4903f-grafik.png

                            D 1 Reply Last reply
                            0
                            • B bug77

                              @Kuddel said in [Vorstellung] Meine zweite Visualisierung:

                              @bug77 ich habe dein Problem noch nicht so ganz verstanden. könntest du vllt. zur Verdeutlichung paar Screenshots anhängen?

                              Einfach gefragt, kann ich das Icon der Navigation Buttons anhand eines States setzen, statt dem Iconverzeichnis.

                              Ich möchte einfach das Icon anzeigen, welches den aktuellen Kalendertag anzeigt.
                              Das Icon time_calendar.png zeigt ja immer die 14.

                              K Offline
                              K Offline
                              Kuddel
                              wrote on last edited by
                              #1010

                              @bug77 wenn du es z.b. per Blockly hinbekomsmt den Pfad zum Icon in einen Datenpunkt zu schreiben, sollte das gehen.

                              Pfad könnte zb sein: /vis.0/VIS/Meine_Icons/Kalender/Tag_1.jpg
                              Datenobjekt = javascript.0.navi.kalender_icon_pfad

                              In der VIS muss dann den Pfad zum Icon wie folget hinterlegen: {javascript.0.navi.kalender_icon_pfad}

                              Entscheidend sind die geschweiften Klammern

                              O 1 Reply Last reply
                              0
                              • B Offline
                                B Offline
                                bug77
                                wrote on last edited by bug77
                                #1011

                                Vielen Dank, die Klammern waren der entscheidende Tip , danke 👍

                                Komisch ist nur, wenn ich icons in /vis.0/main/Meine_Icons/Kalender/ lege, sind sie über ftp vorhanden mit 777 Rechten, aber im Vis Editor ist der Ordner leer und man kann sie auf nicht direkt aufrufen 🧐

                                EDIT:
                                wie gesagt über Ftp/ssh sind die Dateien drauf, aber im Vis nicht vorhanden.
                                Wenn ich die Icons direkt im Vis Editor hochlade, geht es. naja komisch

                                Z 1 Reply Last reply
                                0
                                • K Kuddel

                                  @DennisMenger ich habe direkt eine Frage: Wieso verwendest du zwei Blöcke, also zwei Trigger für die selbe Aufgabe ?

                                  Ich würde nur den unteren Triggger nehmen und damit testen:

                                  f8d24bd0-a76e-4e57-acf7-899041e4903f-grafik.png

                                  D Online
                                  D Online
                                  DennisMenger
                                  wrote on last edited by
                                  #1012

                                  @Kuddel das Blockly ist aus deiner Vis. Habe nur die Geräte ausgetauscht, daher dachte ich dass es sonst so bleiben kann. Ich teste das dann mal nur mit einem Trigger.

                                  K 1 Reply Last reply
                                  0
                                  • K Kuddel

                                    @bug77 wenn du es z.b. per Blockly hinbekomsmt den Pfad zum Icon in einen Datenpunkt zu schreiben, sollte das gehen.

                                    Pfad könnte zb sein: /vis.0/VIS/Meine_Icons/Kalender/Tag_1.jpg
                                    Datenobjekt = javascript.0.navi.kalender_icon_pfad

                                    In der VIS muss dann den Pfad zum Icon wie folget hinterlegen: {javascript.0.navi.kalender_icon_pfad}

                                    Entscheidend sind die geschweiften Klammern

                                    O Online
                                    O Online
                                    Oli
                                    wrote on last edited by Oli
                                    #1013

                                    @Kuddel

                                    hier mal mein Lösungsansatz zum Adapter schalten:

                                    Diese bitte in die Zeile 5 des Scriptes kopieren

                                    createState('Adapter.Adapter', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                    

                                    Das hier bitte in die Zeile 49

                                    devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                                            createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                                            setStateDelayed(devicename, devicenameName, 800);
                                    

                                    und das gier ganz unten nach den letzten Klammern "});" in eine neue Zeile

                                    on({id:"javascript.0.Adapter.Adapter", change: 'any'}, function (dpobj) {
                                        if (getState("javascript.0.Adapter.Adapter").val != 0) {        
                                            const instanz = "javascript." + instance;
                                            var adapterName = getState(instanz + ".Adapter.Adapter").val;
                                            var adapter = getState(instanz + ".Adapter.Adapter" + adapterName + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                            var idAdapter = "system.adapter." + adapter;
                                            
                                            var obj = getObject(idAdapter);
                                            if (dpobj.state.val == false) {
                                                obj.common.enabled = true;  // Adapter einschalten
                                            } else if (dpobj.state.val == true) {
                                                obj.common.enabled = false;  // Adapter ausschalten
                                            }
                                            setObject(idAdapter, obj);
                                            setStateDelayed('javascript.0.Adapter.Adapter', 0, 800);        
                                        }
                                    });   
                                    

                                    der Button dazu:

                                    [{"tpl":"tplHqButton","data":{"oid":"javascript.0.Adapter.Adapter","min":"3","max":"3","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":"0","signals-icon-0":"{javascript.0.Adapter.Adapter3.Bild}","signals-icon-size-0":"40","signals-blink-0":true,"signals-horz-0":"10","signals-vert-0":"10","signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":"1","signals-icon-1":"{javascript.0.Adapter.Adapter3.Bild}","signals-icon-size-1":"40","signals-blink-1":false,"signals-horz-1":"10","signals-vert-1":"10","signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":"2","signals-icon-2":"{javascript.0.Adapter.Adapter3.Bild}","signals-icon-size-2":"40","signals-blink-2":true,"signals-horz-2":"10","signals-vert-2":"10","signals-hide-edit-2":false,"pushButton":false,"usejQueryStyle":false,"g_visibility":false,"styleActive":"hq-button-no-background","name":"Bild","infoLeftPaddingLeft":"15","infoLeftPaddingRight":"50","infoRightPaddingRight":"15","gestures-swipeLeft-limit":"-1","gestures-rotateLeft-limit":"2","styleNormal":"hq-button-no-background","testActive":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"descriptionLeft":"Side brush lifetime reset","descriptionLeftDisabled":true,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-oid-0":"javascript.0.Adapter.Adapter3.Connected","signals-oid-1":"javascript.0.Adapter.Adapter3.Connected","g_center":true,"iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","signals-oid-2":"javascript.0.Adapter.Adapter3.Connected"},"style":{"left":"1400px","top":"152px","width":"50px","height":"50px","border-width":"","border-style":"","border-color":"","border-radius":"10px","z-index":"20","text-align":"center","font-size":"small","box-shadow":"","background":"#212121","background-color":"#212121"},"widgetSet":"hqwidgets"}]
                                    

                                    hoffe es funktioniert.

                                    Gruß
                                    Oliver

                                    K 1 Reply Last reply
                                    0
                                    • D DennisMenger

                                      @Kuddel das Blockly ist aus deiner Vis. Habe nur die Geräte ausgetauscht, daher dachte ich dass es sonst so bleiben kann. Ich teste das dann mal nur mit einem Trigger.

                                      K Offline
                                      K Offline
                                      Kuddel
                                      wrote on last edited by
                                      #1014

                                      @DennisMenger oh stimmt. nur ist bei mir der erste block mittlerweile deaktiviert

                                      D 1 Reply Last reply
                                      0
                                      • B bug77

                                        Vielen Dank, die Klammern waren der entscheidende Tip , danke 👍

                                        Komisch ist nur, wenn ich icons in /vis.0/main/Meine_Icons/Kalender/ lege, sind sie über ftp vorhanden mit 777 Rechten, aber im Vis Editor ist der Ordner leer und man kann sie auf nicht direkt aufrufen 🧐

                                        EDIT:
                                        wie gesagt über Ftp/ssh sind die Dateien drauf, aber im Vis nicht vorhanden.
                                        Wenn ich die Icons direkt im Vis Editor hochlade, geht es. naja komisch

                                        Z Offline
                                        Z Offline
                                        Zipkart
                                        wrote on last edited by
                                        #1015

                                        @bug77 hallo. Das liegt am letzten Update des Systems. Eigene Icons muss man nun über den integrierten Dateimanager hochladen. Als Ziel muss es ein Ordner unterhalb von vis.0 liegen. Ich musste auch alle verschieben. Danach ging es dann.

                                        Produktiv Proxmox / NUC / IOBroker / RFLInk / Mysensor / Raspimatic / Keymatic / HUE / MiHome / Tradfri / Shelly / SOnOff / Alexa / Sonos / Wandtablet / iPad

                                        Testsystem…
                                        immer mal wieder unterschiedlich

                                        1 Reply Last reply
                                        0
                                        • Firewalker99F Offline
                                          Firewalker99F Offline
                                          Firewalker99
                                          wrote on last edited by Firewalker99
                                          #1016

                                          Hallo Zusammen und schöne Feiertage,
                                          habe leichte Probleme beim Import der Java Script ZIP.

                                          • Will ich alle Scripte exportieren erscheint: File 2019-12-25-scripts.zip.zip not found.
                                          • Importiere ich die Zip 2019-11-06-scripts.zip ohne vorherigen Export bekomme ich beim in jedem Script Syntax Error und außer den Gruppen wird nicht angelegt.

                                          Ich vermute irgendwelche fehlenden Rechtevergaben weiß jedoch nicht wo ich hier ansetzen soll?


                                          BlocklyJavascriptTypeScript
                                          Fehler
                                          Cannot parse "script.js.java.shutdown.reboot_qnap-b": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.shutdown.shutdown_qnap-archiv_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.shutdown.shutdown_synology_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.sonstige.abfall_tage": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.sonstige.hm_meldungen": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.sonstige.kodi_fanart": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.sonstige.onlinezeit": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.sonstige.regenradar": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.sonstige.speedtest": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.sonstige.upnp_update": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.wol.wol_daniel": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.wol.wol_esxp01": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.wol.wol_esxp02": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.wol.wol_qnap_archiv": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.wol.wol_synology": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.wol.wol_winnas": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.wol.wol_xmg": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.heizung.wohnzimmer_v0_3": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.temperaturen": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.haushalt.geschirrspueler_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.iobroker-pi_api_sync": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.NAS_und_VMware.shutdown_synology_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.heizung.ankleide_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.heizung.kueche_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.heizung.schlafzimmer_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.aussenbeleuchtung": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.kueche_v0_2": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.schlafzimmer_v0_3": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.weckzeit_jenny": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.weihnachten": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.rolladen.leinwand_v0_3": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.rolladen.lueftung_rolladen_v0_2": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.alexa_ansagen.außentemperatur": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.kamera_auf_TV": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.tuerklingel": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.weckradio": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.buero_monitore_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.haushalt.trockner_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.haushalt.waschmaschine_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.kodi_steckdose_v0_3": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.ps4_lueftung_v0_2": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.schlafzimmer_tv_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.vu_receiver": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.backup_erstellen": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.reboot_skript": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.ressourcen_berechnungen": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.iobroker": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.iobroker_instanz": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.iobroker_pi": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.iobroker_pi_instanz": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.qnap_archiv": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.qnap_b": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.sonoff_bewaesserung": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.synology": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.unifi_ap_eg": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.unifi_ap_og": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.unifi_ap_pavillon": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.unifi_switch_rack": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.unifi_switch_wohnzimmer": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.win10": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.winnas": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.wlan_failover": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.java.sonstige.logs_vis": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.NAS_und_VMware.start_stop_esxp": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.kodi_licht_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.schriftleuchte_v0_2": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.weckzeit_daniel": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.kamera": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.kamera_überwachung": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.system_ctr_vis": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.esx_nuc": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.NAS_und_VMware.wake_on_lan_v0_2": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.rolladen.rolladen_beamer_v0_3": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.rolladen.rolladen_verdunkelung_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.briefkasten_tuerklingel_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.anwesenheit": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.echo_stati": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.ccu": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.nut-server": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.omv": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.pihole": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.sophos": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.unifi_controller": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.uptime.vu_wohnzimmer": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.NAS_und_VMware.shutdown_WinNAS_v01": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.lichterkette_flur_v0_3": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.licht.lichtkugeln_v0_2": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.usv_shutdown": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.steckdosen.harmony_schaltung_v0_4": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.tablet": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.vis_status": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.alexa_benachrichtigungen": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.zeiten_v01": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.rolladen.rolladen_tag_nacht": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.system.adapter_starten_stoppen": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.benachrichtigungen_v0_1": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.staubsauger_v0_2": SyntaxError: Unexpected token / in JSON at position 0, Cannot parse "script.js.smarthome.sontiges.bewaesserung": SyntaxError: Unexpected token / in JSON at position 0

                                          Bass-TB 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

                                          713

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe