Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. jarvis v2.2.0 - just another remarkable vis

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    jarvis v2.2.0 - just another remarkable vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • dabbeljuh
      dabbeljuh @smarteshome2020 last edited by

      @smarteshome2020, gut zu wissen, danke für den Hinweis.

      1 Reply Last reply Reply Quote 0
      • DNC74
        DNC74 last edited by

        @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?

        N dabbeljuh Zefau 3 Replies Last reply Reply Quote 0
        • N
          nolimitek @DNC74 last edited by

          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

          dabbeljuh flkontakt 2 Replies Last reply Reply Quote 0
          • dabbeljuh
            dabbeljuh @DNC74 last edited by

            Hi @DNC74, das wird wohl erst möglich sein, wenn @Zefau es explizit gangbar macht.

            Bei den Icons kann man ja bereits eigene CSS-Klassen mittels Json mitgeben und diese werden unmittelbar ins Html geschrieben. Bei den Texten wird momentan jeweils eine CSS-Klasse generiert, die dann z.B. die angegebene Farbe enthält. Von daher würde ich sagen, prinzipiell machbar, aber eben nur durch entsprechende Erweiterung.

            1 Reply Last reply Reply Quote 0
            • dabbeljuh
              dabbeljuh @nolimitek last edited by

              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 Bauerstatter 1 Reply Last reply Reply Quote 1
              • Zefau
                Zefau @DNC74 last edited by

                @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

                dabbeljuh DNC74 2 Replies Last reply Reply Quote 2
                • Johannes Bauerstatter
                  Johannes Bauerstatter @dabbeljuh last edited by

                  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.

                  Zefau 1 Reply Last reply Reply Quote 0
                  • flkontakt
                    flkontakt @nolimitek last edited by flkontakt

                    @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 Reply Last reply Reply Quote 1
                    • Zefau
                      Zefau @Johannes Bauerstatter last edited by

                      @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 Bauerstatter 1 Reply Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @Zefau last edited by 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

                        DNC74 1 Reply Last reply Reply Quote 0
                        • dabbeljuh
                          dabbeljuh @Zefau last edited by

                          Danke @Zefau, gut zu wissen.

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

                          1 Reply Last reply Reply Quote 1
                          • Johannes Bauerstatter
                            Johannes Bauerstatter @Zefau last edited by

                            @Zefau Vielen Dank für die Info.

                            1 Reply Last reply Reply Quote 0
                            • A
                              Aru last edited by

                              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.

                              Zefau 1 Reply Last reply Reply Quote 0
                              • DNC74
                                DNC74 @Zefau last edited by DNC74

                                @Zefau Klasse, funktioniert 👍

                                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 👍

                                T W C 3 Replies Last reply Reply Quote 2
                                • T
                                  Torrid @DNC74 last edited by

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

                                  DNC74 1 Reply Last reply Reply Quote 0
                                  • DNC74
                                    DNC74 @Torrid last edited by 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 Bauerstatter 1 Reply Last reply Reply Quote 1
                                    • Johannes Bauerstatter
                                      Johannes Bauerstatter @DNC74 last edited by

                                      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

                                      DNC74 Zefau 2 Replies Last reply Reply Quote 0
                                      • DNC74
                                        DNC74 @sigi234 last edited by

                                        @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
                                          }
                                        
                                        sigi234 3 Replies Last reply Reply Quote 0
                                        • DNC74
                                          DNC74 @Johannes Bauerstatter last edited by

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

                                          1 Reply Last reply Reply Quote 0
                                          • Zefau
                                            Zefau @Johannes Bauerstatter last edited by

                                            @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)

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            364
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            jarvis material material ui materialdesign vis visualisierung visualization
                                            316
                                            6126
                                            3404378
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo