Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Bindings in vis

NEWS

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

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

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

Bindings in vis

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
81 Beiträge 17 Kommentatoren 15.2k Aufrufe 27 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • JB_SullivanJ JB_Sullivan

    @SBorg

    Kannst du mir noch einen kurze Hinweis geben, wo ich eine Dokumentation finde, die sich auf das Thema "Funktions Editor" bezieht. Ich habe da dein 1-Zeilen Beispiel verwendet und versucht meine bestehende Tabelle damit aufzubauen.

    Leider hat das nicht wie gehofft funktioniert. Ist irgendwie alles "rot" und funktioniert auch nicht. Scheinbar bedarf es da eines bestimmten Befehlsatzes, den ich aber leider nicht kenne :(

    6bfb8713-7e44-4471-8584-523c3f030e3c-image.png

    SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #45

    @JB_Sullivan Das ist "normales" Javascript.
    Dein Fehler beginnt in der ersten Zeile. Du kannst in (oder innerhalb) der Syntax keine "" verwenden:

    korrekt: let html="blabla...";
    falsch: let html="blabla...border="1"blabla...";
    richtig (innerhalb der äußeren "" zB. escapen): let html="border=\"1\"blabla...";
    

    Konkret bei dir #1: border... cellspacing... + cellpadding
    und #8 collspan
    (oder einfach überall wo eine "rote Wellenlinie" drunter ist hast du einen Fehler ;)

    LG SBorg ( SBorg auf GitHub)
    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

    JB_SullivanJ 1 Antwort Letzte Antwort
    0
    • SBorgS SBorg

      @JB_Sullivan Das ist "normales" Javascript.
      Dein Fehler beginnt in der ersten Zeile. Du kannst in (oder innerhalb) der Syntax keine "" verwenden:

      korrekt: let html="blabla...";
      falsch: let html="blabla...border="1"blabla...";
      richtig (innerhalb der äußeren "" zB. escapen): let html="border=\"1\"blabla...";
      

      Konkret bei dir #1: border... cellspacing... + cellpadding
      und #8 collspan
      (oder einfach überall wo eine "rote Wellenlinie" drunter ist hast du einen Fehler ;)

      JB_SullivanJ Offline
      JB_SullivanJ Offline
      JB_Sullivan
      schrieb am zuletzt editiert von
      #46

      @SBorg Super, vielen Dank !!! Funktioniert weitestgehend. Eine letzte Frage habe ich aber doch noch - dann soll es aber auch gut sein ;)

      Wie rundet man in javascript Zahlenwerte? So funktioniert es leider nicht

      42d38b22-fa93-4061-aa4e-2fb36ab6a1bb-image.png

      ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

      SBorgS 1 Antwort Letzte Antwort
      0
      • JB_SullivanJ JB_Sullivan

        @SBorg Super, vielen Dank !!! Funktioniert weitestgehend. Eine letzte Frage habe ich aber doch noch - dann soll es aber auch gut sein ;)

        Wie rundet man in javascript Zahlenwerte? So funktioniert es leider nicht

        42d38b22-fa93-4061-aa4e-2fb36ab6a1bb-image.png

        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #47

        @JB_Sullivan Das funktioniert so nur im Binding ;)
        Unser Beispiel mal etwas aufgebohrt:

        let uptime_min=Math.round(getState("system.adapter.admin.0.uptime").val /60);
        // wir teilen durch 60 (da die Uptime in Sekunden ist), um die Minuten zu erhalten 
        // und runden das Ganze zu vollen Minuten auf
        
        let HTML="<table border=\"1\">";
        HTML+="<tr><th></th><th>in Sekunden</th><th>in Minuten</th></tr>";
        HTML+="<tr>";
        HTML+="<td>Uptime:</td>";
        HTML+="<td>" + getState("system.adapter.admin.0.uptime").val+ "</td>";
        HTML+="<td>" + uptime_min + "</td>";
        HTML+="</tr>";
        HTML+="</table>";
        
        
        return HTML;
        

        Man könnte auch #1 streichen und es direkt in #10 packen:

        HTML+="<td>" + Math.round(getState("system.adapter.admin.0.uptime").val /60) + "</td>";
        

        Bei längerem Sourcecode verliert man so aber rasch den Überblick, auch sind Änderungen (wenn sich bspw. mal ein Datenpunkt ändert) nicht mehr so schnell möglich. Wenn der Wert in einer Variablen steckt kann man auch bequem mehrmals auf diesen zugreifen, oder ändern, oder...

        ...und bei Nachkommastellen hilft nur multiplizieren, runden und abschließend wieder teilen, da JS nur Ganzzahlig rundet, oder man mit .toFixed(x) direkt abschneidet.

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        JB_SullivanJ 1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @JB_Sullivan Das funktioniert so nur im Binding ;)
          Unser Beispiel mal etwas aufgebohrt:

          let uptime_min=Math.round(getState("system.adapter.admin.0.uptime").val /60);
          // wir teilen durch 60 (da die Uptime in Sekunden ist), um die Minuten zu erhalten 
          // und runden das Ganze zu vollen Minuten auf
          
          let HTML="<table border=\"1\">";
          HTML+="<tr><th></th><th>in Sekunden</th><th>in Minuten</th></tr>";
          HTML+="<tr>";
          HTML+="<td>Uptime:</td>";
          HTML+="<td>" + getState("system.adapter.admin.0.uptime").val+ "</td>";
          HTML+="<td>" + uptime_min + "</td>";
          HTML+="</tr>";
          HTML+="</table>";
          
          
          return HTML;
          

          Man könnte auch #1 streichen und es direkt in #10 packen:

          HTML+="<td>" + Math.round(getState("system.adapter.admin.0.uptime").val /60) + "</td>";
          

          Bei längerem Sourcecode verliert man so aber rasch den Überblick, auch sind Änderungen (wenn sich bspw. mal ein Datenpunkt ändert) nicht mehr so schnell möglich. Wenn der Wert in einer Variablen steckt kann man auch bequem mehrmals auf diesen zugreifen, oder ändern, oder...

          ...und bei Nachkommastellen hilft nur multiplizieren, runden und abschließend wieder teilen, da JS nur Ganzzahlig rundet, oder man mit .toFixed(x) direkt abschneidet.

          JB_SullivanJ Offline
          JB_SullivanJ Offline
          JB_Sullivan
          schrieb am zuletzt editiert von
          #48

          @SBorg
          Vielen herzlichen Dank für deinen Gedankenanstoß mit den Blockly und dem javaScript.
          Die Tabelle funktioniert jetzt und es VIEL VIEL schneller als alles was ich mir mit den Bindings zurecht gebastelt hatte.

          ce60f753-04ac-4bcf-884c-f187c42dc02d-image.png

          ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

          SBorgS 1 Antwort Letzte Antwort
          0
          • JB_SullivanJ JB_Sullivan

            @SBorg
            Vielen herzlichen Dank für deinen Gedankenanstoß mit den Blockly und dem javaScript.
            Die Tabelle funktioniert jetzt und es VIEL VIEL schneller als alles was ich mir mit den Bindings zurecht gebastelt hatte.

            ce60f753-04ac-4bcf-884c-f187c42dc02d-image.png

            SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #49

            @JB_Sullivan :) ...und im Grunde kann man als letzten Schritt auch noch auf das Blockly verzichten und packt den Trigger oder Cron einfach mit in ein JS.

            btw: hat schon mal wer ein Binding auf ein JSON funktionsfähig bekommen?

            LG SBorg ( SBorg auf GitHub)
            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

            1 Antwort Letzte Antwort
            0
            • W Offline
              W Offline
              wye
              schrieb am zuletzt editiert von wye
              #50

              Hallo zusammen,

              versuche mich aktuell am Binding für die Farbänderung.

              {0_userdata.0.example_state} <- damit wird in einem Widget alles korrekt dargestellt. 1.PNG

              Soweit so gut!

              Problem stellt die View an sich dar...
              So ändert sich der Background der View leider nicht...
              Edit: Häkchen setzen oder nicht ändert leider auch nichts
              Was mache ich falsch?2.PNG

              OliverIOO 1 Antwort Letzte Antwort
              0
              • W wye

                Hallo zusammen,

                versuche mich aktuell am Binding für die Farbänderung.

                {0_userdata.0.example_state} <- damit wird in einem Widget alles korrekt dargestellt. 1.PNG

                Soweit so gut!

                Problem stellt die View an sich dar...
                So ändert sich der Background der View leider nicht...
                Edit: Häkchen setzen oder nicht ändert leider auch nichts
                Was mache ich falsch?2.PNG

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #51

                @wye sagte in Bindings in vis:

                Hallo zusammen,

                versuche mich aktuell am Binding für die Farbänderung.

                {0_userdata.0.example_state} <- damit wird in einem Widget alles korrekt dargestellt. 1.PNG

                Soweit so gut!

                Problem stellt die View an sich dar...
                So ändert sich der Background der View leider nicht...
                Edit: Häkchen setzen oder nicht ändert leider auch nichts
                Was mache ich falsch?2.PNG

                lustig,
                habe es gerade ausprobiert, tut bei mir auch nicht.
                im code von vis sieht es so aus, das bindings nur in widgets gehen.
                aber evtl. weiß jemand anderes mehr

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                1 Antwort Letzte Antwort
                0
                • SBorgS Offline
                  SBorgS Offline
                  SBorg
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #52

                  Sagen, oder zitieren wir mal von GitHub:

                  ...there is another option how to bind any attribute of widget to some ObjectID...

                  ;)

                  LG SBorg ( SBorg auf GitHub)
                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                  W 1 Antwort Letzte Antwort
                  0
                  • SBorgS SBorg

                    Sagen, oder zitieren wir mal von GitHub:

                    ...there is another option how to bind any attribute of widget to some ObjectID...

                    ;)

                    W Offline
                    W Offline
                    wye
                    schrieb am zuletzt editiert von
                    #53

                    @sborg said in Bindings in vis:

                    Sagen, oder zitieren wir mal von GitHub:

                    ...there is another option how to bind any attribute of widget to some ObjectID...

                    ;)

                    Ah ok...
                    Danke für Info an euch beide!

                    1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      @SBorg sagte in Bindings in vis:

                      EDIT Hmm, wo der Flot-Part herkommt ist eigenartig und Homematic habe ich ebenfalls nicht...

                      Steckt tatsächlich im "Info" und lässt sich nur beim Export/Import herauslöschen.
                      Mit den Bindings lässt sich so einiges realisieren. Man kann auch zwei oder mehrere Objektbedingungen prüfen.

                      Ich möchte eine Anzeige wenn es regnet und das Garagentor offen steht...
                      Mit Blockly, JS, Node-RED kann ich zwar z.B. die Bedingungen prüfen und auch reagieren (bspw. Fahrbefehl 'Garage zu'), für eine Anzeige in VIS müsste ich aber nun extra ein Objekt erzeugen. Ist mit Bindings aber nicht nötig, da ich "einfach" (zumindest wenn man es mal verinnerlicht hat :) ) prüfen kann ob Objekt "Regen" = true UND Objekt "Garagentor" = offen --> dann Anzeige "es regnet gerade in die Garage"

                      ...und mal ein Beispiel für den "BackitUp":
                      auf Knopfdruck Backup erstellen und den jeweiligen Status (erstellen/wird erstellt) anzeigen.
                      Backup.png

                       [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.minimal","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.minimal;wert === \"true\" || wert === true || wert === 1 ? \"Minimal Backup </br> wird erstellt\" : \"Minimal Backup </br> erstellen\"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"1027px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]
                      


                       [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.total","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.total;wert === \"true\" || wert === true || wert === 1 ? \"Voll-Backup </br> wird erstellt\" : \"Voll Backup </br> erstellen\"}","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":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,"no_style":false,"value":"true","name":"Voll-Backup_Button","html_prepend":"","html_append":"","class":""},"style":{"left":"1027px","top":"125px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]
                      


                      Hier wird mit "ODER" die Bedingung überprüft: Objekt = "true" oder true oder 1

                      D Offline
                      D Offline
                      DoubleD
                      schrieb am zuletzt editiert von
                      #54

                      @sborg said in Bindings in vis:

                      @SBorg sagte in Bindings in vis:

                      EDIT Hmm, wo der Flot-Part herkommt ist eigenartig und Homematic habe ich ebenfalls nicht...

                      Steckt tatsächlich im "Info" und lässt sich nur beim Export/Import herauslöschen.
                      Mit den Bindings lässt sich so einiges realisieren. Man kann auch zwei oder mehrere Objektbedingungen prüfen.

                      Ich möchte eine Anzeige wenn es regnet und das Garagentor offen steht...
                      Mit Blockly, JS, Node-RED kann ich zwar z.B. die Bedingungen prüfen und auch reagieren (bspw. Fahrbefehl 'Garage zu'), für eine Anzeige in VIS müsste ich aber nun extra ein Objekt erzeugen. Ist mit Bindings aber nicht nötig, da ich "einfach" (zumindest wenn man es mal verinnerlicht hat :) ) prüfen kann ob Objekt "Regen" = true UND Objekt "Garagentor" = offen --> dann Anzeige "es regnet gerade in die Garage"

                      ...und mal ein Beispiel für den "BackitUp":
                      auf Knopfdruck Backup erstellen und den jeweiligen Status (erstellen/wird erstellt) anzeigen.
                      Backup.png


                      [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.minimal","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.minimal;wert === "true" || wert === true || wert === 1 ? "Minimal Backup </br> wird erstellt" :: "Minimal Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"1027px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]


                      [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.total","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.total;wert === "true" || wert === true || wert === 1 ? "Voll-Backup </br> wird erstellt" :: "Voll Backup </br> erstellen"}","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":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,"no_style":false,"value":"true","name":"Voll-Backup_Button","html_prepend":"","html_append":"","class":""},"style":{"left":"1027px","top":"125px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]

                      Hier wird mit "ODER" die Bedingung überprüft: Objekt = "true" oder true oder 1

                      @SBorg
                      Beim Import werden bei mit Fehler angezeigt, was könnte das sein?
                      io_import.jpg

                      Danke & Gruß
                      Daniel

                      crunchipC SBorgS 2 Antworten Letzte Antwort
                      0
                      • D DoubleD

                        @sborg said in Bindings in vis:

                        @SBorg sagte in Bindings in vis:

                        EDIT Hmm, wo der Flot-Part herkommt ist eigenartig und Homematic habe ich ebenfalls nicht...

                        Steckt tatsächlich im "Info" und lässt sich nur beim Export/Import herauslöschen.
                        Mit den Bindings lässt sich so einiges realisieren. Man kann auch zwei oder mehrere Objektbedingungen prüfen.

                        Ich möchte eine Anzeige wenn es regnet und das Garagentor offen steht...
                        Mit Blockly, JS, Node-RED kann ich zwar z.B. die Bedingungen prüfen und auch reagieren (bspw. Fahrbefehl 'Garage zu'), für eine Anzeige in VIS müsste ich aber nun extra ein Objekt erzeugen. Ist mit Bindings aber nicht nötig, da ich "einfach" (zumindest wenn man es mal verinnerlicht hat :) ) prüfen kann ob Objekt "Regen" = true UND Objekt "Garagentor" = offen --> dann Anzeige "es regnet gerade in die Garage"

                        ...und mal ein Beispiel für den "BackitUp":
                        auf Knopfdruck Backup erstellen und den jeweiligen Status (erstellen/wird erstellt) anzeigen.
                        Backup.png


                        [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.minimal","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.minimal;wert === "true" || wert === true || wert === 1 ? "Minimal Backup </br> wird erstellt" :: "Minimal Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"1027px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]


                        [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.total","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.total;wert === "true" || wert === true || wert === 1 ? "Voll-Backup </br> wird erstellt" :: "Voll Backup </br> erstellen"}","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":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,"no_style":false,"value":"true","name":"Voll-Backup_Button","html_prepend":"","html_append":"","class":""},"style":{"left":"1027px","top":"125px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]

                        Hier wird mit "ODER" die Bedingung überprüft: Objekt = "true" oder true oder 1

                        @SBorg
                        Beim Import werden bei mit Fehler angezeigt, was könnte das sein?
                        io_import.jpg

                        Danke & Gruß
                        Daniel

                        crunchipC Abwesend
                        crunchipC Abwesend
                        crunchip
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #55

                        @doubled sagte in Bindings in vis:

                        Beim Import

                        als widget?

                        umgestiegen von Proxmox auf Unraid

                        D 1 Antwort Letzte Antwort
                        0
                        • D DoubleD

                          @sborg said in Bindings in vis:

                          @SBorg sagte in Bindings in vis:

                          EDIT Hmm, wo der Flot-Part herkommt ist eigenartig und Homematic habe ich ebenfalls nicht...

                          Steckt tatsächlich im "Info" und lässt sich nur beim Export/Import herauslöschen.
                          Mit den Bindings lässt sich so einiges realisieren. Man kann auch zwei oder mehrere Objektbedingungen prüfen.

                          Ich möchte eine Anzeige wenn es regnet und das Garagentor offen steht...
                          Mit Blockly, JS, Node-RED kann ich zwar z.B. die Bedingungen prüfen und auch reagieren (bspw. Fahrbefehl 'Garage zu'), für eine Anzeige in VIS müsste ich aber nun extra ein Objekt erzeugen. Ist mit Bindings aber nicht nötig, da ich "einfach" (zumindest wenn man es mal verinnerlicht hat :) ) prüfen kann ob Objekt "Regen" = true UND Objekt "Garagentor" = offen --> dann Anzeige "es regnet gerade in die Garage"

                          ...und mal ein Beispiel für den "BackitUp":
                          auf Knopfdruck Backup erstellen und den jeweiligen Status (erstellen/wird erstellt) anzeigen.
                          Backup.png


                          [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.minimal","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.minimal;wert === "true" || wert === true || wert === 1 ? "Minimal Backup </br> wird erstellt" :: "Minimal Backup </br> erstellen"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"1027px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]


                          [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.total","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.total;wert === "true" || wert === true || wert === 1 ? "Voll-Backup </br> wird erstellt" :: "Voll Backup </br> erstellen"}","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":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,"no_style":false,"value":"true","name":"Voll-Backup_Button","html_prepend":"","html_append":"","class":""},"style":{"left":"1027px","top":"125px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]

                          Hier wird mit "ODER" die Bedingung überprüft: Objekt = "true" oder true oder 1

                          @SBorg
                          Beim Import werden bei mit Fehler angezeigt, was könnte das sein?
                          io_import.jpg

                          Danke & Gruß
                          Daniel

                          SBorgS Offline
                          SBorgS Offline
                          SBorg
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #56

                          @doubled

                          ...und noch: beim Minimal-Backup? Voll Backup gibt es ja schon einige Zeit nicht mehr beim Adapter ;)

                          LG SBorg ( SBorg auf GitHub)
                          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                          1 Antwort Letzte Antwort
                          0
                          • crunchipC crunchip

                            @doubled sagte in Bindings in vis:

                            Beim Import

                            als widget?

                            D Offline
                            D Offline
                            DoubleD
                            schrieb am zuletzt editiert von
                            #57

                            @crunchip

                            Ja

                            SBorgS 1 Antwort Letzte Antwort
                            0
                            • crunchipC Abwesend
                              crunchipC Abwesend
                              crunchip
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #58

                              @doubled stimmt erhalte ebenfalls nen SyntaxError, egal ob mini oder voll, da müsste @SBorg vllt nochmal nachsehen

                              umgestiegen von Proxmox auf Unraid

                              1 Antwort Letzte Antwort
                              0
                              • D DoubleD

                                @crunchip

                                Ja

                                SBorgS Offline
                                SBorgS Offline
                                SBorg
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #59

                                @doubled / @crunchip
                                Aus welchem Grunde auch immer sind da die "escapeds" der Anführungszeichen innerhalb des Bindings verlorengegangen.

                                Minimal-Backup (full gibt es ja nicht mehr ;) ) :

                                [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.iobroker","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.iobroker;wert === \"true\" || wert === true || wert === 1 ? \"Backup </br> wird erstellt\" : \"Backup </br>jetzt erstellen\"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"1497px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]
                                

                                LG SBorg ( SBorg auf GitHub)
                                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                HomoranH 1 Antwort Letzte Antwort
                                1
                                • crunchipC Abwesend
                                  crunchipC Abwesend
                                  crunchip
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #60

                                  @sborg sagte in Bindings in vis:

                                  escapeds

                                  jetzt musst ich erst mal beide vergleichen, was du da meinst:thinking_face:
                                  backslash

                                  umgestiegen von Proxmox auf Unraid

                                  SBorgS 1 Antwort Letzte Antwort
                                  0
                                  • SBorgS SBorg

                                    @doubled / @crunchip
                                    Aus welchem Grunde auch immer sind da die "escapeds" der Anführungszeichen innerhalb des Bindings verlorengegangen.

                                    Minimal-Backup (full gibt es ja nicht mehr ;) ) :

                                    [{"tpl":"tplJquiButtonState","data":{"oid":"backitup.0.oneClick.iobroker","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"{wert:backitup.0.oneClick.iobroker;wert === \"true\" || wert === true || wert === 1 ? \"Backup </br> wird erstellt\" : \"Backup </br>jetzt erstellen\"}","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,"no_style":false,"value":"true","name":"Minimal-Backup_Button","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"1497px","top":"55px","border-width":"2px","border-style":"solid","border-color":"#505253","width":"200px","height":"50px","z-index":"3","border-radius":"10px","box-shadow":"8px 8px 8px rgba(20, 20, 20, 50)"},"widgetSet":"jqui"}]
                                    
                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #61

                                    @sborg sagte in Bindings in vis:

                                    Aus welchem Grunde auch immer sind da die "escapeds" der Anführungszeichen innerhalb des Bindings verlorengegangen.

                                    wo? (habe nur gerade diesen Post gesehen)
                                    hier im Forum?
                                    da passiert das wegen Markdown.

                                    Bitte Link, dann seh ich mir das mal an

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

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

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • crunchipC crunchip

                                      @sborg sagte in Bindings in vis:

                                      escapeds

                                      jetzt musst ich erst mal beide vergleichen, was du da meinst:thinking_face:
                                      backslash

                                      SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #62

                                      @crunchip sagte in Bindings in vis:

                                      backslash

                                      Das ist was du siehst, programmtechnisch sind das Sonderzeichen escapen.

                                      Wen es genau interessiert:

                                      falsch beim Binding:
                                      "{wert:backitup.0.oneClick.iobroker;wert === "true" || wert === true || wert === 1 ? "Backup </br> wird erstellt" : "Backup </br>jetzt erstellen"}"
                                      
                                      korrekt:
                                      "{wert:backitup.0.oneClick.iobroker;wert === \"true\" || wert === true || wert === 1 ? \"Backup </br> wird erstellt\" : \"Backup </br>jetzt erstellen\"}"
                                      

                                      @homoran sagte in Bindings in vis:

                                      Bitte Link, dann seh ich mir das mal an

                                      Ist im Spoiler anscheinend versiebt gegangen, ist mir bis eben aber auch nicht aufgefallen ;)
                                      https://forum.iobroker.net/post/281934

                                      LG SBorg ( SBorg auf GitHub)
                                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                      HomoranH 1 Antwort Letzte Antwort
                                      1
                                      • SBorgS SBorg

                                        @crunchip sagte in Bindings in vis:

                                        backslash

                                        Das ist was du siehst, programmtechnisch sind das Sonderzeichen escapen.

                                        Wen es genau interessiert:

                                        falsch beim Binding:
                                        "{wert:backitup.0.oneClick.iobroker;wert === "true" || wert === true || wert === 1 ? "Backup </br> wird erstellt" : "Backup </br>jetzt erstellen"}"
                                        
                                        korrekt:
                                        "{wert:backitup.0.oneClick.iobroker;wert === \"true\" || wert === true || wert === 1 ? \"Backup </br> wird erstellt\" : \"Backup </br>jetzt erstellen\"}"
                                        

                                        @homoran sagte in Bindings in vis:

                                        Bitte Link, dann seh ich mir das mal an

                                        Ist im Spoiler anscheinend versiebt gegangen, ist mir bis eben aber auch nicht aufgefallen ;)
                                        https://forum.iobroker.net/post/281934

                                        HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #63

                                        @sborg sagte in Bindings in vis:

                                        Ist im Spoiler anscheinend versiebt gegangen, ist mir bis eben aber auch nicht aufgefallen

                                        ich hab es mal innerhalb des Spoilers in codetags gesetzt
                                        Dann sollten die Escapes auch zu sehen sein

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

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

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

                                        SBorgS 1 Antwort Letzte Antwort
                                        0
                                        • HomoranH Homoran

                                          @sborg sagte in Bindings in vis:

                                          Ist im Spoiler anscheinend versiebt gegangen, ist mir bis eben aber auch nicht aufgefallen

                                          ich hab es mal innerhalb des Spoilers in codetags gesetzt
                                          Dann sollten die Escapes auch zu sehen sein

                                          SBorgS Offline
                                          SBorgS Offline
                                          SBorg
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #64

                                          @homoran Danke, habe gleich noch den doppelten Doppelpunkt beim "oder" im Binding ausgemerzt und den "Voll-Backup" als obsolet gekennzeichnet.

                                          LG SBorg ( SBorg auf GitHub)
                                          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                          1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          804

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe