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

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v2.2.0 - just another remarkable vis

NEWS

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

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

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

jarvis v2.2.0 - just another remarkable vis

Geplant Angeheftet Gesperrt Verschoben Tester
jarvismaterialmaterial uimaterialdesignvisvisualisierungvisualization
6.1k Beiträge 316 Kommentatoren 4.2m Aufrufe 273 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.
  • N nolimitek

    Hi

    Ich habe den google shared locations adapter im Einsatz
    Möchte gerne die Koordinaten auf der Map anzeigen lassen
    Jedoch gibt der Adapter long und lat in 2 extra Datenpunkten aus.

    Kann ich mit Blockly was bauen damit long und lat in einem weiteren Datenpunkt richtig dargestellt werden

    Besten Dank

    lg
    Chris

    dabbeljuhD Offline
    dabbeljuhD Offline
    dabbeljuh
    schrieb am zuletzt editiert von
    #2741

    Hallo @nolimitek, vor diesem Problem stand ich die Tage auch und hab mir ein kleines JS gebastelt. Nicht schön, aber wirksam. ;) Vielleicht kannst du das ja als Grundlage verwenden:

    // Speichert GPS-Koordinaten im von jarvis benötigten Format
    
    /**
     *  Benötigte Datenpunkte innerhalb von "Objekte" erstellen
     */
    function createDP() {
        createState('javascript.0.GPS.xxx', "", {
            name: "Standort xxx",
            desc: 'Standort xxx',
            read: true, 
            write: true,        
            type: "string",
        });
    }
    
    /**
     *  Position in DP schreiben
     */
    function writeGPS() {
        // Aktuelle Position auslesen
        var lat = getState("xxx.gpsLatitude").val;
        var long = getState("xxx.gpsLongitude").val;
        var coord = lat + "," + long;
        // DP befüllen
        setState("javascript.0.GPS.xxx", coord);
    }
    
    /**
     *  DP erstellen, falls noch nicht vorhanden
     */
    if (getState("javascript.0.GPS.xxx").val == undefined
    || getState("javascript.0.GPS.xxx").val == '')
    {
        createDP();
        writeGPS();
    }
    
    /**
     *  Bei Veränderungen die aktuelle Position auslesen
     */
    on({id: 'xxx.gpsLatitude', change: "ne"}, function () {
      writeGPS();
    });
    

    Beste Grüße

    dabbeljuh

    ===

    NUC, Z-Stick Gen5, maxCUL 433, JeeLink/LaCrosse, Zigbee-Stick; Z-Wave Tür-/Fenster u. Steckdosen, max! Tür-/Fenster u. Wandschalter, TX29DTH-IT, HUE, Osram, TP-Link, Xiaomi, IP-Cams, Echo Dot, Sonos, Home mini, Xiaomi Kontakte u. Sensoren

    Johannes BauerstatterJ 1 Antwort Letzte Antwort
    1
    • DNC74D DNC74

      @Zefau: ist es möglich die aktuell gültige Farbe z.B. aus themeColorSecondary in den Json-Stil-Einstellungen der Geräte zu verwenden?

      Hintergrund/UseCase: Um etwas hervorzuheben, kann man ja mit Hilfe von { "color": "..." } etwas einfärben. Da die Farbe so jedoch statisch gesetzt wird, muss man entweder eine Farbe finden, die sowohl im Light- wie auch im Dark-Mode passt, oder man hätte eben die Möglichkeit z.B. die global definierte themeColorSecondary zu verwenden. Diese ändere ich wie auch die themeColorPrimary per Blockly-Script.

      Ich habe schon diverse Versuche gemacht, leider ohne Erfolg. Oder weiß jemand, wie man in der Json-Stil-Einstellung eines Geräts bereits im CSS definierte Farben abrufen kann?

      ZefauZ Offline
      ZefauZ Offline
      Zefau
      schrieb am zuletzt editiert von
      #2742

      @DNC74 sagte in jarvis v2.1.0 - just another remarkable vis:

      ist es möglich die aktuell gültige Farbe z.B. aus themeColorSecondary in den Json-Stil-Einstellungen der Geräte zu verwenden?

      Ja, siehe https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties mittels

      a96ce697-2346-47a3-b650-3459f37a5ea0-image.png

      Meine Adapter: https://zefau.github.io/iobroker/

      dabbeljuhD DNC74D 2 Antworten Letzte Antwort
      2
      • dabbeljuhD dabbeljuh

        Hallo @nolimitek, vor diesem Problem stand ich die Tage auch und hab mir ein kleines JS gebastelt. Nicht schön, aber wirksam. ;) Vielleicht kannst du das ja als Grundlage verwenden:

        // Speichert GPS-Koordinaten im von jarvis benötigten Format
        
        /**
         *  Benötigte Datenpunkte innerhalb von "Objekte" erstellen
         */
        function createDP() {
            createState('javascript.0.GPS.xxx', "", {
                name: "Standort xxx",
                desc: 'Standort xxx',
                read: true, 
                write: true,        
                type: "string",
            });
        }
        
        /**
         *  Position in DP schreiben
         */
        function writeGPS() {
            // Aktuelle Position auslesen
            var lat = getState("xxx.gpsLatitude").val;
            var long = getState("xxx.gpsLongitude").val;
            var coord = lat + "," + long;
            // DP befüllen
            setState("javascript.0.GPS.xxx", coord);
        }
        
        /**
         *  DP erstellen, falls noch nicht vorhanden
         */
        if (getState("javascript.0.GPS.xxx").val == undefined
        || getState("javascript.0.GPS.xxx").val == '')
        {
            createDP();
            writeGPS();
        }
        
        /**
         *  Bei Veränderungen die aktuelle Position auslesen
         */
        on({id: 'xxx.gpsLatitude', change: "ne"}, function () {
          writeGPS();
        });
        
        Johannes BauerstatterJ Offline
        Johannes BauerstatterJ Offline
        Johannes Bauerstatter
        schrieb am zuletzt editiert von
        #2743

        Hallo, ich hab jetzt soweit ziemlich alles gelesen, mir ist aber noch nicht klar, ob ich alle Objekte einlesen kann? Raum und Funktion nutze ich nicht. Einlesen würde ich gern die MQTT - Objekte, Aliase, Userdata.0 und Sonoff-Objekte.

        ZefauZ 1 Antwort Letzte Antwort
        0
        • N nolimitek

          Hi

          Ich habe den google shared locations adapter im Einsatz
          Möchte gerne die Koordinaten auf der Map anzeigen lassen
          Jedoch gibt der Adapter long und lat in 2 extra Datenpunkten aus.

          Kann ich mit Blockly was bauen damit long und lat in einem weiteren Datenpunkt richtig dargestellt werden

          Besten Dank

          lg
          Chris

          flkontaktF Online
          flkontaktF Online
          flkontakt
          schrieb am zuletzt editiert von flkontakt
          #2744

          @nolimitek hatte die gleiche Aufgabenstellung, hier eine einfache Lösung RE: Wie 2 Werte per Blockly in einen Datenpunkt schreiben?

          https://forum.iobroker.net/post/548067

          N 1 Antwort Letzte Antwort
          1
          • Johannes BauerstatterJ Johannes Bauerstatter

            Hallo, ich hab jetzt soweit ziemlich alles gelesen, mir ist aber noch nicht klar, ob ich alle Objekte einlesen kann? Raum und Funktion nutze ich nicht. Einlesen würde ich gern die MQTT - Objekte, Aliase, Userdata.0 und Sonoff-Objekte.

            ZefauZ Offline
            ZefauZ Offline
            Zefau
            schrieb am zuletzt editiert von
            #2745

            @Johannes-Bauerstatter sagte in jarvis v2.1.0 - just another remarkable vis:

            MQTT - Objekte, Aliase, Userdata.0 und Sonoff-Objekte.

            Der Importer unterstützt alias mit bestimmter Struktur (Kanal = Gerät). Userdata geht nicht. Sonoff geht. MQTT kommt mit v2.2

            Meine Adapter: https://zefau.github.io/iobroker/

            Johannes BauerstatterJ 1 Antwort Letzte Antwort
            0
            • ZefauZ Zefau

              jarvis - just another remarkable vis

              Was ist jarvis?

              jarvis ist eine Material Design Visualisierung, die auf Material UI basiert. jarvis gibt eine Struktur und Module vor, die zur Visualisierung genutzt werden, aber sehr flexibel konfiguriert werden können.

              jarvis ist responsive und passt sich der Größe des Screens an.

              Das Layout ist flexibel konfigurierbar. Es können optional (beliebig viele) Tabs verwendet werden. Jeder Tab kann entweder fullscreen sein oder beliebig viele columns haben, die die einzelnen modules in flexibler Reihenfolge beinhalten.

              Jedes Modul hat spezielle Konfigurationsmöglichkeiten (siehe Wiki je Modul).

              Warum jarvis?

              jarvis ist weitaus weniger flexibel als ioBroker.vis, aber bietet dafür ein standardisiertes Design, um schnell eine Visualisierung zusammenzustellen. Wer besonders spezifische Anforderungen hat, sollte (weiterhin) ioBroker.vis verwendet.

              Mehr Informationen

              Mehr Informationen - insbesondere zur Konfiguration - gibt es im Wiki.

              Gestalte mit und stimme ab

              Bitte stimmt für eure gewünschten Feature Requests ab: Nutzt dazu die Emoticon auf Github, um für eure favorisierten Feature Requests abzustimmen:

              https://forum.iobroker.net/assets/uploads/files/1606215967286-1c3e566f-8d54-4f19-8948-eb8833c5b15f-image.png

              Jeder Emoticon zählt gleich. Bitte stimmt nicht für alle / zu viele Feature Requests ab, sonst gibt es am Ende keine großen Unterschiede mehr.

              Die Reihenfolge nach abgegebenen Stimmen seht ihr hier: Übersicht der Feature Requests nach Stimmen

              Siehe https://forum.iobroker.net/post/526170


              Impressionen

              Die Konfiguration von Modulen kann frei angeordnet werden.
              Nachfolgend einige Impressionen / Beispiele:

              Users

              @braindead: https://forum.iobroker.net/post/490283
              @JackDaniel: https://forum.iobroker.net/post/490928
              @Mooo: https://forum.iobroker.net/post/493843

              Screencast / Video

              play.png

              Screenshots

              Beispiel: Dashboard (3 columns)

              Dashboard.png

              Beispiel: Karte (Vollbild)

              Map.png

              Beispiel: Statistiken (2 columns)

              Statistik.png

              Beispiel: Status (3 columns, davon 2 leer)

              Status.png

              Module

              Die folgenden Module sind aktuell (Februar 2020) verfügbar und können frei konfiguriert werden. Eine aktuelle Liste der Module ist im Wiki zu finden.

              AdapterStatus

              AdapterStatus

              Chart

              Chart

              DateTime

              DateTime1

              Map

              Map

              StateList

              StateList1.png
              StateList2.png
              StateList3.png
              StateList4.png

              StateListHorizontal

              StateListHorizontal1.png


              Konfiguration / erste Schritte

              siehe Wiki auf Github


              Ausblick / Roadmap

              Ihr habt Wünsche? Bitte legt ein Issue auf Github an.

              MEILENSTEINE / ROADMAPs

              siehe https://github.com/Zefau/ioBroker.jarvis/milestones

              nächste Release

              • ROADMAP v2.1.0
              • ROADMAP v3.0.0
              sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              schrieb am zuletzt editiert von sigi234
              #2746

              @Zefau

              Hallo, wie kann ich von meinen Yamaha Receiver die Lautstärke regeln lassen.
              Ich muss wo Min und Max einstellen können, da ich da -80 und 0 als Wert in 5 er Schritten setzen muss.

              Der DP ist

              {
                "from": "system.adapter.admin.0",
                "ts": 1527413940928,
                "common": {
                  "name": "VOL",
                  "type": "string",
                  "role": "state",
                  "custom": {
                    "history.0": {
                      "enabled": true,
                      "changesOnly": true,
                      "debounce": "1000",
                      "maxLength": "10",
                      "retention": 0,
                      "changesRelogInterval": 5,
                      "changesMinDelta": 0,
                      "aliasId": ""
                    }
                  }
                },
                "native": {},
                "acl": {
                  "object": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator",
                  "state": 1636
                },
                "_id": "yamaha.0.Realtime.MAIN.VOL",
                "type": "state"
              }
              

              Beispiel:

              Screenshot (3019).png

              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Immer Daten sichern!

              DNC74D 1 Antwort Letzte Antwort
              0
              • ZefauZ Zefau

                @DNC74 sagte in jarvis v2.1.0 - just another remarkable vis:

                ist es möglich die aktuell gültige Farbe z.B. aus themeColorSecondary in den Json-Stil-Einstellungen der Geräte zu verwenden?

                Ja, siehe https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties mittels

                a96ce697-2346-47a3-b650-3459f37a5ea0-image.png

                dabbeljuhD Offline
                dabbeljuhD Offline
                dabbeljuh
                schrieb am zuletzt editiert von
                #2747

                Danke @Zefau, gut zu wissen.

                Demnach dann: {"color":"var(--secondary)"}

                Beste Grüße

                dabbeljuh

                ===

                NUC, Z-Stick Gen5, maxCUL 433, JeeLink/LaCrosse, Zigbee-Stick; Z-Wave Tür-/Fenster u. Steckdosen, max! Tür-/Fenster u. Wandschalter, TX29DTH-IT, HUE, Osram, TP-Link, Xiaomi, IP-Cams, Echo Dot, Sonos, Home mini, Xiaomi Kontakte u. Sensoren

                1 Antwort Letzte Antwort
                1
                • ZefauZ Zefau

                  @Johannes-Bauerstatter sagte in jarvis v2.1.0 - just another remarkable vis:

                  MQTT - Objekte, Aliase, Userdata.0 und Sonoff-Objekte.

                  Der Importer unterstützt alias mit bestimmter Struktur (Kanal = Gerät). Userdata geht nicht. Sonoff geht. MQTT kommt mit v2.2

                  Johannes BauerstatterJ Offline
                  Johannes BauerstatterJ Offline
                  Johannes Bauerstatter
                  schrieb am zuletzt editiert von
                  #2748

                  @Zefau Vielen Dank für die Info.

                  1 Antwort Letzte Antwort
                  0
                  • A Offline
                    A Offline
                    Aru
                    schrieb am zuletzt editiert von
                    #2749

                    Nabend,

                    Ich suche nach einer Möglichkeit über Jarvis einen Wert in einen Datenpunkt zu füllen. Ist das Möglich? Ich arbeite in einem Schichtsystem und habe unterschiedliche scripte die Schichtabhängig arbeiten. Ich würde gerne direkt in der Oberfläche mit 1-2 Klicks die Schicht für die Woche festlegen finde aber keine passende Möglichkeit.

                    ZefauZ 1 Antwort Letzte Antwort
                    0
                    • ZefauZ Zefau

                      @DNC74 sagte in jarvis v2.1.0 - just another remarkable vis:

                      ist es möglich die aktuell gültige Farbe z.B. aus themeColorSecondary in den Json-Stil-Einstellungen der Geräte zu verwenden?

                      Ja, siehe https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties mittels

                      a96ce697-2346-47a3-b650-3459f37a5ea0-image.png

                      DNC74D Offline
                      DNC74D Offline
                      DNC74
                      schrieb am zuletzt editiert von DNC74
                      #2750

                      @Zefau Klasse, funktioniert :+1:

                      So kann dann z.B. der Entsorgungskalender aussehen:

                      • 1 Tag vor Abholung
                        • das Icon wechselt auf das "Abhol-Icon" und fängt an in der passenden Farbe zu "glühen"
                        • der Text für die Resttage wird fett geschrieben
                      • am Tag der Abholung
                        • das Icon blinkt zusätzlich für 10 Sekunden
                        • der Text für die Resttage wird fett und in der sekundären Farbe geschrieben

                      Entsorgungskalender.gif

                        "ec4d61d9-112e-489d-8c3c-9159e03a6c52": {
                          "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52",
                          "function": "other",
                          "states": {
                            "daysLeft": {
                              "state": {
                                "node": "trashschedule.0.type.Altpapier_blau.daysLeft"
                              },
                              "icon": {
                                "0": "delete-restore blink2s5x",
                                "1": "delete-restore",
                                "default": "delete-empty"
                              },
                              "unit": {
                                "default": "Tage",
                                "=1": "",
                                "=0": ""
                              },
                              "label": "verbeibende Tage",
                              "bodyElement": null,
                              "iconStyle": {
                                "default": {
                                  "fontSize": "48px"
                                },
                                "<=1": {
                                  "fontSize": "48px",
                                  "text-shadow": "0 0 25px blue"
                                }
                              },
                              "stateStyle": {
                                "0": {
                                  "color": "var(--secondary)",
                                  "fontWeight": "bold"
                                },
                                "<=1": {
                                  "fontWeight": "bold"
                                }
                              },
                              "display": {
                                "0": "heute",
                                "1": "morgen"
                              }
                            },
                            "nextDate": {
                              "state": {
                                "node": "trashschedule.0.type.Altpapier_blau.nextDateFormat"
                              },
                              "label": "Datum",
                              "icon": "calendar",
                              "iconStyle": ""
                            }
                          },
                          "options": {},
                          "attributes": {
                            "_created": 1609527230666,
                            "_updated": 1609599916081
                          },
                          "name": "Abfall Altpapier",
                          "label": "Altpapier (blau)",
                          "icon": "delete-empty",
                          "hash": 1609599916082,
                          "suppressPopup": true
                        },
                        "ec4d61d9-112e-489d-8c3c-9159e03a6c52_4cfab": {
                          "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52_4cfab",
                          "function": "other",
                          "states": {
                            "daysLeft": {
                              "state": {
                                "node": "trashschedule.0.type.Bioabfall_gruen.daysLeft"
                              },
                              "icon": {
                                "0": "delete-restore blink2s5x",
                                "1": "delete-restore",
                                "default": "delete-empty"
                              },
                              "unit": {
                                "default": "Tage",
                                "=1": "",
                                "=0": ""
                              },
                              "label": "verbeibende Tage",
                              "bodyElement": null,
                              "iconStyle": {
                                "default": {
                                  "fontSize": "48px"
                                },
                                "<=1": {
                                  "fontSize": "48px",
                                  "text-shadow": "0 0 25px green"
                                }
                              },
                              "stateStyle": {
                                "0": {
                                  "color": "var(--secondary)",
                                  "fontWeight": "bold"
                                },
                                "<=1": {
                                  "fontWeight": "bold"
                                }
                              },
                              "display": {
                                "0": "heute",
                                "1": "morgen"
                              }
                            },
                            "nextDate": {
                              "state": {
                                "node": "trashschedule.0.type.Bioabfall_gruen.nextDateFormat"
                              },
                              "label": "Datum",
                              "icon": "calendar",
                              "iconStyle": ""
                            }
                          },
                          "options": {},
                          "attributes": {
                            "_created": 1609527230666,
                            "_updated": 1609605254477
                          },
                          "name": "Abfall Bio",
                          "label": "Biotonne (grün)",
                          "icon": "delete-empty",
                          "hash": 1609605254477,
                          "suppressPopup": true
                        },
                        "ec4d61d9-112e-489d-8c3c-9159e03a6c52_9099b": {
                          "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52_9099b",
                          "function": "other",
                          "states": {
                            "daysLeft": {
                              "state": {
                                "node": "trashschedule.0.type.Restmuell_schwarz.daysLeft"
                              },
                              "icon": {
                                "0": "delete-restore blink2s5x",
                                "1": "delete-restore",
                                "default": "delete-empty"
                              },
                              "unit": {
                                "default": "Tage",
                                "=1": "",
                                "=0": ""
                              },
                              "label": "verbeibende Tage",
                              "bodyElement": null,
                              "iconStyle": {
                                "default": {
                                  "fontSize": "48px"
                                },
                                "<=1": {
                                  "fontSize": "48px",
                                  "text-shadow": "0 0 25px var(--text)"
                                }
                              },
                              "stateStyle": {
                                "0": {
                                  "color": "var(--secondary)",
                                  "fontWeight": "bold"
                                },
                                "<=1": {
                                  "fontWeight": "bold"
                                }
                              },
                              "display": {
                                "0": "heute",
                                "1": "morgen"
                              }
                            },
                            "nextDate": {
                              "state": {
                                "node": "trashschedule.0.type.Restmuell_schwarz.nextDateFormat"
                              },
                              "label": "Datum",
                              "icon": "calendar",
                              "iconStyle": ""
                            }
                          },
                          "options": {},
                          "attributes": {
                            "_created": 1609527230666,
                            "_updated": 1609610552738
                          },
                          "name": "Abfall Restmüll",
                          "label": "Restmüll (schwarz)",
                          "icon": "delete-empty",
                          "hash": 1609610552739,
                          "suppressPopup": true
                        },
                        "ec4d61d9-112e-489d-8c3c-9159e03a6c52_86c10": {
                          "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52_86c10",
                          "function": "other",
                          "states": {
                            "daysLeft": {
                              "state": {
                                "node": "trashschedule.0.type.Wertstoff_rot.daysLeft"
                              },
                              "icon": {
                                "0": "delete-restore blink2s5x",
                                "1": "delete-restore",
                                "default": "delete-empty"
                              },
                              "unit": {
                                "default": "Tage",
                                "=1": "",
                                "=0": ""
                              },
                              "label": "verbeibende Tage",
                              "bodyElement": null,
                              "iconStyle": {
                                "default": {
                                  "fontSize": "48px"
                                },
                                "<=1": {
                                  "fontSize": "48px",
                                  "text-shadow": "0 0 25px red"
                                }
                              },
                              "stateStyle": {
                                "0": {
                                  "color": "var(--secondary)",
                                  "fontWeight": "bold"
                                },
                                "<=1": {
                                  "fontWeight": "bold"
                                }
                              },
                              "display": {
                                "0": "heute",
                                "1": "morgen"
                              }
                            },
                            "nextDate": {
                              "state": {
                                "node": "trashschedule.0.type.Wertstoff_rot.nextDateFormat"
                              },
                              "label": "Datum",
                              "icon": "calendar",
                              "iconStyle": ""
                            }
                          },
                          "options": {},
                          "attributes": {
                            "_created": 1609527230666,
                            "_updated": 1609531575579
                          },
                          "name": "Abfall Wertstoff",
                          "label": "Wertstoff (rot)",
                          "icon": "delete-empty",
                          "hash": 1609531575580,
                          "suppressPopup": true
                        },
                        "ec4d61d9-112e-489d-8c3c-9159e03a6c52_ff8a0": {
                          "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52_ff8a0",
                          "function": "other",
                          "states": {
                            "daysLeft": {
                              "state": {
                                "node": "trashschedule.0.type.Sperrmuell.daysLeft"
                              },
                              "icon": {
                                "0": "delete-restore blink2s5x",
                                "1": "delete-restore",
                                "default": "delete-empty"
                              },
                              "unit": {
                                "default": "Tage",
                                "=1": "",
                                "=0": ""
                              },
                              "label": "verbeibende Tage",
                              "bodyElement": null,
                              "iconStyle": {
                                "default": {
                                  "fontSize": "48px"
                                },
                                "<=1": {
                                  "fontSize": "48px",
                                  "text-shadow": "0 0 25px magenta"
                                }
                              },
                              "stateStyle": {
                                "0": {
                                  "color": "var(--secondary)",
                                  "fontWeight": "bold"
                                },
                                "<=1": {
                                  "fontWeight": "bold"
                                }
                              },        
                              "display": {
                                "0": "heute",
                                "1": "morgen"
                              }
                            },
                            "nextDate": {
                              "state": {
                                "node": "trashschedule.0.type.Sperrmuell.nextDateFormat"
                              },
                              "label": "Datum",
                              "icon": "calendar",
                              "iconStyle": ""
                            }
                          },
                          "options": {},
                          "attributes": {
                            "_created": 1609527230666,
                            "_updated": 1609531539033
                          },
                          "name": "Abfall Sperrmüll",
                          "label": "Sperrmüll",
                          "icon": "delete-empty",
                          "hash": 1609531539034,
                          "suppressPopup": true
                        }
                      

                      /* Blinking Icons */
                      .blink {
                         animation: blinker 2s linear infinite;
                      }
                      .blink1s {
                         animation: blinker 1s linear infinite;
                      }
                      .blink2s5x {
                         animation: blinker 2s linear 5;
                      }
                      
                      @keyframes blinker {
                         50% { opacity: 0; }
                      }
                      

                      Danke @dabbeljuh :+1:

                      T W C 3 Antworten Letzte Antwort
                      2
                      • DNC74D DNC74

                        @Zefau Klasse, funktioniert :+1:

                        So kann dann z.B. der Entsorgungskalender aussehen:

                        • 1 Tag vor Abholung
                          • das Icon wechselt auf das "Abhol-Icon" und fängt an in der passenden Farbe zu "glühen"
                          • der Text für die Resttage wird fett geschrieben
                        • am Tag der Abholung
                          • das Icon blinkt zusätzlich für 10 Sekunden
                          • der Text für die Resttage wird fett und in der sekundären Farbe geschrieben

                        Entsorgungskalender.gif

                          "ec4d61d9-112e-489d-8c3c-9159e03a6c52": {
                            "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52",
                            "function": "other",
                            "states": {
                              "daysLeft": {
                                "state": {
                                  "node": "trashschedule.0.type.Altpapier_blau.daysLeft"
                                },
                                "icon": {
                                  "0": "delete-restore blink2s5x",
                                  "1": "delete-restore",
                                  "default": "delete-empty"
                                },
                                "unit": {
                                  "default": "Tage",
                                  "=1": "",
                                  "=0": ""
                                },
                                "label": "verbeibende Tage",
                                "bodyElement": null,
                                "iconStyle": {
                                  "default": {
                                    "fontSize": "48px"
                                  },
                                  "<=1": {
                                    "fontSize": "48px",
                                    "text-shadow": "0 0 25px blue"
                                  }
                                },
                                "stateStyle": {
                                  "0": {
                                    "color": "var(--secondary)",
                                    "fontWeight": "bold"
                                  },
                                  "<=1": {
                                    "fontWeight": "bold"
                                  }
                                },
                                "display": {
                                  "0": "heute",
                                  "1": "morgen"
                                }
                              },
                              "nextDate": {
                                "state": {
                                  "node": "trashschedule.0.type.Altpapier_blau.nextDateFormat"
                                },
                                "label": "Datum",
                                "icon": "calendar",
                                "iconStyle": ""
                              }
                            },
                            "options": {},
                            "attributes": {
                              "_created": 1609527230666,
                              "_updated": 1609599916081
                            },
                            "name": "Abfall Altpapier",
                            "label": "Altpapier (blau)",
                            "icon": "delete-empty",
                            "hash": 1609599916082,
                            "suppressPopup": true
                          },
                          "ec4d61d9-112e-489d-8c3c-9159e03a6c52_4cfab": {
                            "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52_4cfab",
                            "function": "other",
                            "states": {
                              "daysLeft": {
                                "state": {
                                  "node": "trashschedule.0.type.Bioabfall_gruen.daysLeft"
                                },
                                "icon": {
                                  "0": "delete-restore blink2s5x",
                                  "1": "delete-restore",
                                  "default": "delete-empty"
                                },
                                "unit": {
                                  "default": "Tage",
                                  "=1": "",
                                  "=0": ""
                                },
                                "label": "verbeibende Tage",
                                "bodyElement": null,
                                "iconStyle": {
                                  "default": {
                                    "fontSize": "48px"
                                  },
                                  "<=1": {
                                    "fontSize": "48px",
                                    "text-shadow": "0 0 25px green"
                                  }
                                },
                                "stateStyle": {
                                  "0": {
                                    "color": "var(--secondary)",
                                    "fontWeight": "bold"
                                  },
                                  "<=1": {
                                    "fontWeight": "bold"
                                  }
                                },
                                "display": {
                                  "0": "heute",
                                  "1": "morgen"
                                }
                              },
                              "nextDate": {
                                "state": {
                                  "node": "trashschedule.0.type.Bioabfall_gruen.nextDateFormat"
                                },
                                "label": "Datum",
                                "icon": "calendar",
                                "iconStyle": ""
                              }
                            },
                            "options": {},
                            "attributes": {
                              "_created": 1609527230666,
                              "_updated": 1609605254477
                            },
                            "name": "Abfall Bio",
                            "label": "Biotonne (grün)",
                            "icon": "delete-empty",
                            "hash": 1609605254477,
                            "suppressPopup": true
                          },
                          "ec4d61d9-112e-489d-8c3c-9159e03a6c52_9099b": {
                            "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52_9099b",
                            "function": "other",
                            "states": {
                              "daysLeft": {
                                "state": {
                                  "node": "trashschedule.0.type.Restmuell_schwarz.daysLeft"
                                },
                                "icon": {
                                  "0": "delete-restore blink2s5x",
                                  "1": "delete-restore",
                                  "default": "delete-empty"
                                },
                                "unit": {
                                  "default": "Tage",
                                  "=1": "",
                                  "=0": ""
                                },
                                "label": "verbeibende Tage",
                                "bodyElement": null,
                                "iconStyle": {
                                  "default": {
                                    "fontSize": "48px"
                                  },
                                  "<=1": {
                                    "fontSize": "48px",
                                    "text-shadow": "0 0 25px var(--text)"
                                  }
                                },
                                "stateStyle": {
                                  "0": {
                                    "color": "var(--secondary)",
                                    "fontWeight": "bold"
                                  },
                                  "<=1": {
                                    "fontWeight": "bold"
                                  }
                                },
                                "display": {
                                  "0": "heute",
                                  "1": "morgen"
                                }
                              },
                              "nextDate": {
                                "state": {
                                  "node": "trashschedule.0.type.Restmuell_schwarz.nextDateFormat"
                                },
                                "label": "Datum",
                                "icon": "calendar",
                                "iconStyle": ""
                              }
                            },
                            "options": {},
                            "attributes": {
                              "_created": 1609527230666,
                              "_updated": 1609610552738
                            },
                            "name": "Abfall Restmüll",
                            "label": "Restmüll (schwarz)",
                            "icon": "delete-empty",
                            "hash": 1609610552739,
                            "suppressPopup": true
                          },
                          "ec4d61d9-112e-489d-8c3c-9159e03a6c52_86c10": {
                            "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52_86c10",
                            "function": "other",
                            "states": {
                              "daysLeft": {
                                "state": {
                                  "node": "trashschedule.0.type.Wertstoff_rot.daysLeft"
                                },
                                "icon": {
                                  "0": "delete-restore blink2s5x",
                                  "1": "delete-restore",
                                  "default": "delete-empty"
                                },
                                "unit": {
                                  "default": "Tage",
                                  "=1": "",
                                  "=0": ""
                                },
                                "label": "verbeibende Tage",
                                "bodyElement": null,
                                "iconStyle": {
                                  "default": {
                                    "fontSize": "48px"
                                  },
                                  "<=1": {
                                    "fontSize": "48px",
                                    "text-shadow": "0 0 25px red"
                                  }
                                },
                                "stateStyle": {
                                  "0": {
                                    "color": "var(--secondary)",
                                    "fontWeight": "bold"
                                  },
                                  "<=1": {
                                    "fontWeight": "bold"
                                  }
                                },
                                "display": {
                                  "0": "heute",
                                  "1": "morgen"
                                }
                              },
                              "nextDate": {
                                "state": {
                                  "node": "trashschedule.0.type.Wertstoff_rot.nextDateFormat"
                                },
                                "label": "Datum",
                                "icon": "calendar",
                                "iconStyle": ""
                              }
                            },
                            "options": {},
                            "attributes": {
                              "_created": 1609527230666,
                              "_updated": 1609531575579
                            },
                            "name": "Abfall Wertstoff",
                            "label": "Wertstoff (rot)",
                            "icon": "delete-empty",
                            "hash": 1609531575580,
                            "suppressPopup": true
                          },
                          "ec4d61d9-112e-489d-8c3c-9159e03a6c52_ff8a0": {
                            "id": "ec4d61d9-112e-489d-8c3c-9159e03a6c52_ff8a0",
                            "function": "other",
                            "states": {
                              "daysLeft": {
                                "state": {
                                  "node": "trashschedule.0.type.Sperrmuell.daysLeft"
                                },
                                "icon": {
                                  "0": "delete-restore blink2s5x",
                                  "1": "delete-restore",
                                  "default": "delete-empty"
                                },
                                "unit": {
                                  "default": "Tage",
                                  "=1": "",
                                  "=0": ""
                                },
                                "label": "verbeibende Tage",
                                "bodyElement": null,
                                "iconStyle": {
                                  "default": {
                                    "fontSize": "48px"
                                  },
                                  "<=1": {
                                    "fontSize": "48px",
                                    "text-shadow": "0 0 25px magenta"
                                  }
                                },
                                "stateStyle": {
                                  "0": {
                                    "color": "var(--secondary)",
                                    "fontWeight": "bold"
                                  },
                                  "<=1": {
                                    "fontWeight": "bold"
                                  }
                                },        
                                "display": {
                                  "0": "heute",
                                  "1": "morgen"
                                }
                              },
                              "nextDate": {
                                "state": {
                                  "node": "trashschedule.0.type.Sperrmuell.nextDateFormat"
                                },
                                "label": "Datum",
                                "icon": "calendar",
                                "iconStyle": ""
                              }
                            },
                            "options": {},
                            "attributes": {
                              "_created": 1609527230666,
                              "_updated": 1609531539033
                            },
                            "name": "Abfall Sperrmüll",
                            "label": "Sperrmüll",
                            "icon": "delete-empty",
                            "hash": 1609531539034,
                            "suppressPopup": true
                          }
                        

                        /* Blinking Icons */
                        .blink {
                           animation: blinker 2s linear infinite;
                        }
                        .blink1s {
                           animation: blinker 1s linear infinite;
                        }
                        .blink2s5x {
                           animation: blinker 2s linear 5;
                        }
                        
                        @keyframes blinker {
                           50% { opacity: 0; }
                        }
                        

                        Danke @dabbeljuh :+1:

                        T Offline
                        T Offline
                        Torrid
                        schrieb am zuletzt editiert von
                        #2751

                        @DNC74
                        wie hast du das "glühen" realisiert?

                        DNC74D 1 Antwort Letzte Antwort
                        0
                        • T Torrid

                          @DNC74
                          wie hast du das "glühen" realisiert?

                          DNC74D Offline
                          DNC74D Offline
                          DNC74
                          schrieb am zuletzt editiert von DNC74
                          #2752

                          @Torrid schau in den Spoiler "Geräte im json-Format" und du findest

                          "text-shadow": "0 0 25px blue"
                          

                          siehe auch https://www.w3schools.com/css/css3_shadows.asp

                          Johannes BauerstatterJ 1 Antwort Letzte Antwort
                          1
                          • DNC74D DNC74

                            @Torrid schau in den Spoiler "Geräte im json-Format" und du findest

                            "text-shadow": "0 0 25px blue"
                            

                            siehe auch https://www.w3schools.com/css/css3_shadows.asp

                            Johannes BauerstatterJ Offline
                            Johannes BauerstatterJ Offline
                            Johannes Bauerstatter
                            schrieb am zuletzt editiert von
                            #2753

                            Großes Lob an den Entwickler. Das Ding ist sehr schnell einsatzfähig und sehr intuitiv.

                            Ein kleines Problem hab ich noch:
                            Wie muss ich einen Schalter definieren, damit dieser meinen Alias mit 0 oder 1 schaltet:

                            e71eeaac-b574-4010-a6cb-dbcdff8f729b-image.png

                            DNC74D ZefauZ 2 Antworten Letzte Antwort
                            0
                            • sigi234S sigi234

                              @Zefau

                              Hallo, wie kann ich von meinen Yamaha Receiver die Lautstärke regeln lassen.
                              Ich muss wo Min und Max einstellen können, da ich da -80 und 0 als Wert in 5 er Schritten setzen muss.

                              Der DP ist

                              {
                                "from": "system.adapter.admin.0",
                                "ts": 1527413940928,
                                "common": {
                                  "name": "VOL",
                                  "type": "string",
                                  "role": "state",
                                  "custom": {
                                    "history.0": {
                                      "enabled": true,
                                      "changesOnly": true,
                                      "debounce": "1000",
                                      "maxLength": "10",
                                      "retention": 0,
                                      "changesRelogInterval": 5,
                                      "changesMinDelta": 0,
                                      "aliasId": ""
                                    }
                                  }
                                },
                                "native": {},
                                "acl": {
                                  "object": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator",
                                  "state": 1636
                                },
                                "_id": "yamaha.0.Realtime.MAIN.VOL",
                                "type": "state"
                              }
                              

                              Beispiel:

                              Screenshot (3019).png

                              DNC74D Offline
                              DNC74D Offline
                              DNC74
                              schrieb am zuletzt editiert von
                              #2754

                              @sigi234 ich befürchte fast, Du hast dort nen Bug gefunden...

                              @Zefau zumindest laufe ich auf einen, wenn ich versuche, den max-Wert auf "0" zu setzen, es wird dann ein Slider von "-80" bis "100" angezeigt.

                              2021-01-02 21_08_49-Window.png

                              Mit einer Spanne von "-80" bis "10" klappt's dann.

                              2021-01-02 21_23_50-Window.png

                              @sigi234
                              Wichtig hier die Punkte "LevelBodyConfig": { "markStep": "9", "step": "5" },
                              und "properties": { "min": "-80", "max": "10" },

                                "6c9e247b-f90f-4d27-a820-2662514d58f4": {
                                  "id": "6c9e247b-f90f-4d27-a820-2662514d58f4",
                                  "function": "other",
                                  "states": {
                                    "zoneMainVolumeDB": {
                                      "state": {
                                        "node": "denon.0.zoneMain.volumeDB"
                                      },
                                      "bodyElement": "LevelBody",
                                      "LevelBodyConfig": {
                                        "markStep": "9",
                                        "step": "5"
                                      },
                                      "properties": {
                                        "min": "-80",
                                        "max": "10"
                                      },
                                      "action": "denon.0.zoneMain.volumeDB",
                                      "actionElement": "InputAction"
                                    },
                                    "mainZoneVolume": {
                                      "state": {
                                        "node": "denon.0.zoneMain.volume"
                                      },
                                      "properties": {
                                        "min": "0",
                                        "max": "90"
                                      },
                                      "bodyElement": "LevelBody",
                                      "LevelBodyConfig": {
                                        "markStep": "9"
                                      },
                                      "action": "denon.0.zoneMain.volume",
                                      "actionElement": "InputAction"
                                    }
                                  },
                                  "options": {},
                                  "attributes": {
                                    "_created": 1609617271585,
                                    "_updated": 1609618559958
                                  },
                                  "name": "Denon AVR",
                                  "label": "Denon AVR",
                                  "icon": "audio-video",
                                  "hash": 1609618559958
                                }
                              
                              sigi234S 3 Antworten Letzte Antwort
                              0
                              • Johannes BauerstatterJ Johannes Bauerstatter

                                Großes Lob an den Entwickler. Das Ding ist sehr schnell einsatzfähig und sehr intuitiv.

                                Ein kleines Problem hab ich noch:
                                Wie muss ich einen Schalter definieren, damit dieser meinen Alias mit 0 oder 1 schaltet:

                                e71eeaac-b574-4010-a6cb-dbcdff8f729b-image.png

                                DNC74D Offline
                                DNC74D Offline
                                DNC74
                                schrieb am zuletzt editiert von
                                #2755

                                @Johannes-Bauerstatter rechts unten über das "Action Element" kannst Du den Schalter auswählen.

                                1 Antwort Letzte Antwort
                                0
                                • Johannes BauerstatterJ Johannes Bauerstatter

                                  Großes Lob an den Entwickler. Das Ding ist sehr schnell einsatzfähig und sehr intuitiv.

                                  Ein kleines Problem hab ich noch:
                                  Wie muss ich einen Schalter definieren, damit dieser meinen Alias mit 0 oder 1 schaltet:

                                  e71eeaac-b574-4010-a6cb-dbcdff8f729b-image.png

                                  ZefauZ Offline
                                  ZefauZ Offline
                                  Zefau
                                  schrieb am zuletzt editiert von
                                  #2756

                                  @Johannes-Bauerstatter sagte in jarvis v2.1.0 - just another remarkable vis:

                                  Wie muss ich einen Schalter definieren, damit dieser meinen Alias mit 0 oder 1 schaltet:

                                  siehe Wiki, https://github.com/Zefau/ioBroker.jarvis/wiki/de-Devices#datenpunkt-eigenschaften (mit on / off)

                                  Meine Adapter: https://zefau.github.io/iobroker/

                                  1 Antwort Letzte Antwort
                                  0
                                  • DNC74D DNC74

                                    @sigi234 ich befürchte fast, Du hast dort nen Bug gefunden...

                                    @Zefau zumindest laufe ich auf einen, wenn ich versuche, den max-Wert auf "0" zu setzen, es wird dann ein Slider von "-80" bis "100" angezeigt.

                                    2021-01-02 21_08_49-Window.png

                                    Mit einer Spanne von "-80" bis "10" klappt's dann.

                                    2021-01-02 21_23_50-Window.png

                                    @sigi234
                                    Wichtig hier die Punkte "LevelBodyConfig": { "markStep": "9", "step": "5" },
                                    und "properties": { "min": "-80", "max": "10" },

                                      "6c9e247b-f90f-4d27-a820-2662514d58f4": {
                                        "id": "6c9e247b-f90f-4d27-a820-2662514d58f4",
                                        "function": "other",
                                        "states": {
                                          "zoneMainVolumeDB": {
                                            "state": {
                                              "node": "denon.0.zoneMain.volumeDB"
                                            },
                                            "bodyElement": "LevelBody",
                                            "LevelBodyConfig": {
                                              "markStep": "9",
                                              "step": "5"
                                            },
                                            "properties": {
                                              "min": "-80",
                                              "max": "10"
                                            },
                                            "action": "denon.0.zoneMain.volumeDB",
                                            "actionElement": "InputAction"
                                          },
                                          "mainZoneVolume": {
                                            "state": {
                                              "node": "denon.0.zoneMain.volume"
                                            },
                                            "properties": {
                                              "min": "0",
                                              "max": "90"
                                            },
                                            "bodyElement": "LevelBody",
                                            "LevelBodyConfig": {
                                              "markStep": "9"
                                            },
                                            "action": "denon.0.zoneMain.volume",
                                            "actionElement": "InputAction"
                                          }
                                        },
                                        "options": {},
                                        "attributes": {
                                          "_created": 1609617271585,
                                          "_updated": 1609618559958
                                        },
                                        "name": "Denon AVR",
                                        "label": "Denon AVR",
                                        "icon": "audio-video",
                                        "hash": 1609618559958
                                      }
                                    
                                    sigi234S Online
                                    sigi234S Online
                                    sigi234
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #2757

                                    @DNC74
                                    Ja, 100 dB wäre fatal, das würde der AV nicht verkraften.

                                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Immer Daten sichern!

                                    DNC74D 1 Antwort Letzte Antwort
                                    0
                                    • sigi234S sigi234

                                      @DNC74
                                      Ja, 100 dB wäre fatal, das würde der AV nicht verkraften.

                                      DNC74D Offline
                                      DNC74D Offline
                                      DNC74
                                      schrieb am zuletzt editiert von
                                      #2758

                                      @sigi234 würde mich aber auch wundern, wenn er es annehmen würde. Zumal man sowas wohl am besten am Datenpunkt im iobroker Objekt-Baum begrenzt ;-)

                                      sigi234S 1 Antwort Letzte Antwort
                                      0
                                      • A Aru

                                        Nabend,

                                        Ich suche nach einer Möglichkeit über Jarvis einen Wert in einen Datenpunkt zu füllen. Ist das Möglich? Ich arbeite in einem Schichtsystem und habe unterschiedliche scripte die Schichtabhängig arbeiten. Ich würde gerne direkt in der Oberfläche mit 1-2 Klicks die Schicht für die Woche festlegen finde aber keine passende Möglichkeit.

                                        ZefauZ Offline
                                        ZefauZ Offline
                                        Zefau
                                        schrieb am zuletzt editiert von
                                        #2759

                                        @Aru sagte in jarvis v2.1.0 - just another remarkable vis:

                                        Ich suche nach einer Möglichkeit über Jarvis einen Wert in einen Datenpunkt zu füllen. Ist das Möglich? Ich arbeite in einem Schichtsystem und habe unterschiedliche scripte die Schichtabhängig arbeiten. Ich würde gerne direkt in der Oberfläche mit 1-2 Klicks die Schicht für die Woche festlegen finde aber keine passende Möglichkeit.

                                        Kommt drauf an, was du genau machen willst. InputAction liefert die ein Eingabefeld.

                                        Meine Adapter: https://zefau.github.io/iobroker/

                                        A 1 Antwort Letzte Antwort
                                        0
                                        • DNC74D DNC74

                                          @sigi234 würde mich aber auch wundern, wenn er es annehmen würde. Zumal man sowas wohl am besten am Datenpunkt im iobroker Objekt-Baum begrenzt ;-)

                                          sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von sigi234
                                          #2760

                                          @DNC74 sagte in jarvis v2.1.0 - just another remarkable vis:

                                          @sigi234 würde mich aber auch wundern, wenn er es annehmen würde. Zumal man sowas wohl am besten am Datenpunkt im iobroker Objekt-Baum begrenzt ;-)

                                          Nimmt er an, hatte mal aus Versehen 100 in den DP geschrieben. Nach einem lauten Klick hat er sich dann sofort ausgeschaltet. Das mit dem DP zu ändern muss ich mir noch anschauen. Bin da aber sehr vorsichtig.
                                          Der DP ist ja eine Zeichenfolge und keine Zahl.

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          743

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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