Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Material Design Widgets: Line History Chart Widget

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Material Design Widgets: Line History Chart Widget

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Supermicha last edited by

      Moin zusammen.

      Ich haben meine Diagramme bisher mit Flot erstellt und ich vermisse hier noch 2 Möglichkeiten.

      1. Markierungen.
        In Flot gibts die Möglichkeit dem Hintergrund verschiedene Farben zuzuweisen.
        Ich kanns nicht besser ausdrücken, deswegen ein Bild.
        586365c0-ff6e-4dd0-a860-0fd902cc701c-grafik.png
        Diese roten und blauen Bereiche...
        geht das schon? hab ichs übersehen? oder wärs machbar?

      2. Im Flot kann man die Linien in "Schritten" anzeigen lassen.
        Bringt den Effekt, das die Linie solange "vertikal" bleibt, bis ein neuer Datenpunkt kommt und dann "springt".
        Wie die blaue Linie in meinem Bild.
        Nutze ich z.B. für den Temperatur-Soll-Wert. Wird nur mitgeloggt bei Änderung und irgendwelches "schräges" Verbinden der Datenpunkte wäre da unrealistisch.

      Lässt sich das einbauen?

      1 Reply Last reply Reply Quote 5
      • M
        MarEhg last edited by MarEhg

        Hat jemand einen Tipp wie ich die Beschriftung der Y-Achse mit drei Kommastellen hinbekomme?
        Der Wert ist für die Tankstellen-Dieselpreis z.B. 1.099
        Es wird aber in der Achsenbeschriftung ... , 1.09 , 1.10 , ... anggezeigt.

        M 1 Reply Last reply Reply Quote 0
        • E
          exv2 last edited by

          Hallo
          bei den OID's kann ich ja den Datensatz Multiplizieren mit XX.

          Ist es möglich hier auch den Datensatz zu Dividieren?

          Ich muss Millisekunden und Stunden umrechnen.

          Danke für jede helfende Antwort.

          C 1 Reply Last reply Reply Quote 0
          • C
            Coffeelover @exv2 last edited by

            @exv2 Warum multiplizierst du nicht mit dem Kehrwert? Statt /1000 z.B. * 0,001?

            E 1 Reply Last reply Reply Quote 0
            • E
              exv2 @Coffeelover last edited by

              @Coffeelover Funktioniert aber nicht mit Zeitumrechnung. Oder ich bin zu blöd.

              C 1 Reply Last reply Reply Quote 0
              • C
                Coffeelover @exv2 last edited by

                @exv2 Du musst den Wert als 0.000x angeben. Punkt statt Komma. Habe es gerade mal mit einem Beispielwert versucht, das hat geklappt.

                E 1 Reply Last reply Reply Quote 0
                • E
                  exv2 @Coffeelover last edited by

                  @Coffeelover Also mal ein Beispiel
                  Sekunden in Minuten umrechnen
                  30s / 60 = 0,5 min.
                  und jetzt mach das mal mit Multiplikation.

                  C 1 Reply Last reply Reply Quote 0
                  • C
                    Coffeelover @exv2 last edited by

                    @exv2 In dem Fall (also von Sekunden auf Minuten ) musst du als Faktor 0.01666666666666666666666666666667‬ eintragen.

                    1 Reply Last reply Reply Quote 0
                    • M
                      MarEhg @MarEhg last edited by

                      @MarEhg sagte in Material Design Widgets: Line History Chart Widget:

                      ich muss das nochmal ausgraben!

                      Hat jemand einen Tipp wie ich die Beschriftung der Y-Achse mit drei Kommastellen hinbekomme?
                      Der Wert ist für die Tankstellen-Dieselpreis z.B. 1.099
                      Es wird aber in der Achsenbeschriftung ... , 1.09 , 1.10 , ... anggezeigt.

                      keiner eine Idee?

                      S O 2 Replies Last reply Reply Quote 0
                      • S
                        sveni_lee @MarEhg last edited by

                        @MarEhg

                        wie hast Du die Achsbeschriftung für die Dieselpreise eingerichtet? Ich kann leider nur ganze Zahles als Minimum und Maximum eintragen, was bei Spritpreisen nicht so gut funktioniert.
                        Ich würde gern als Minimum 0,90 und als Maximum 1,30 eintragen.

                        Gruß
                        Sveni_lee

                        O 1 Reply Last reply Reply Quote 0
                        • S
                          stockics6 last edited by Scrounger

                          Hi,

                          ich habe mittels "Line History Chart" erfolgreich merhere Graphen anlegen können und funktioniert auch perfekt.

                          Jetzt würde ich das ganze gerne um eine Zeit- u. Datumsauswahl erweitern.

                          • Datenpunkt angelegt
                          • Select Widget in VIS implementiert und die Werteliste adaptiert
                          • Der Wert aus dem Select-Widget wird auch in den Datenpunkt geschrieben

                          Wie bekomme ich die Verknüpfng zwischen Datenpunkt und der Aktualisierung des Charts hin?

                          7d11bcc0-7adf-48d7-af89-f50d2ba9e47a-grafik.png
                          7b7b0fa0-6a44-4269-93a7-9cd520604434-grafik.png

                          Danke!!

                          Edit: verschoben, da Frage Widget Einstellung betrifft

                          C 1 Reply Last reply Reply Quote 0
                          • C
                            Coffeelover @stockics6 last edited by Scrounger

                            @stockics6
                            Bei mir funktioniert es, indem ich in dem Select Widget bei Werteliste das hier:

                            1 hour,12 hours,1 day,2 days,7 days,14 days,1 month,2 months

                            Und in der Beschreibung das hier: (beliebig anpassbar)

                            1 Stunde,12 Stunden,1 Tag,2 Tage,7 Tage,14 Tage,1 Monat,2 Monate

                            eingetragen habe.

                            Edit: verschoben, da Frage Widget Einstellung betrifft

                            S M 2 Replies Last reply Reply Quote 0
                            • S
                              stockics6 @Coffeelover last edited by Scrounger

                              @Coffeelover

                              Vielen vielen Dank 🙂 genau so funktiert es 🙂

                              Edit: verschoben, da Frage Widget Einstellung betrifft

                              1 Reply Last reply Reply Quote 1
                              • M
                                Michi_Pi last edited by

                                Hallo zusammen,
                                ich bekomm das mit den Zeitintervallen nicht gebacken. Bei mir werden irgenwie Jahre statt Sekunden angezeigt.

                                Hier mein View: Test.txt

                                DP ist manuell angelegt
                                6fed3039-ba85-4776-82b5-5a945d63c505-grafik.png

                                sigi234 1 Reply Last reply Reply Quote 0
                                • sigi234
                                  sigi234 Forum Testing Most Active @Michi_Pi last edited by

                                  @Michi_Pi sagte in Material Design Widgets: Line History Chart Widget:

                                  Hallo zusammen,
                                  ich bekomm das mit den Zeitintervallen nicht gebacken. Bei mir werden irgenwie Jahre statt Sekunden angezeigt.

                                  Hier mein View: Test.txt

                                  DP ist manuell angelegt
                                  6fed3039-ba85-4776-82b5-5a945d63c505-grafik.png

                                  Hast du auch ein MDW Select gemacht?

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Michi_Pi last edited by

                                    jap hab ich und auch hier den DP angegeben.
                                    bf0e13ea-2437-4d05-99c1-4587b5d6ad95-grafik.png
                                    7e36e33b-bf12-4844-a15a-b63d109b6d06-grafik.png
                                    6d8c3b0c-5e52-4e02-90fe-edac838f6289-grafik.png

                                    Chris Tailor M 2 Replies Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Scrounger last edited by Scrounger

                                      @Scrounger hast du noch einen tipp für mich?

                                      die beschriftung der x achse wird abgeschnitten - ist schon ohne setting änderung so

                                      Image 3.png

                                      Edit: verschoben, da Frage Widget Einstellung betrifft

                                      Scrounger 1 Reply Last reply Reply Quote 0
                                      • Scrounger
                                        Scrounger Developer @liv-in-sky last edited by Scrounger

                                        @liv-in-sky sagte in Test Adapter Material Design Widgets v0.2.x:

                                        die beschriftung der x achse wird abgeschnitten - ist schon ohne setting änderung so

                                        Abstand von unten einstellen:
                                        7b76d607-a2a0-4352-a2a1-705a1f8b0dd7-grafik.png

                                        Edit: verschoben, da Frage Widget Einstellung betrifft

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • M
                                          Michi_Pi @Michi_Pi last edited by

                                          Habs jetzt doch noch hinbekommen, allerdings mit dem JSON-Format.
                                          Auserdem hab ich das nicht überrissen, dass ich nicht willkürlich Intervalle festlegen kann, sondern dass ich genau diese Werte verwenden muss
                                          a2af21d8-1c76-4c00-be31-067d2bc5ef87-grafik.png

                                          Scrounger 1 Reply Last reply Reply Quote 0
                                          • Scrounger
                                            Scrounger Developer @Michi_Pi last edited by Scrounger

                                            @Michi_Pi sagte in Material Design Widgets: Line History Chart Widget:

                                            Auserdem hab ich das nicht überrissen, dass ich nicht willkürlich Intervalle festlegen kann, sondern dass ich genau diese Werte verwenden muss

                                            Du kannst die Startzeit für den Chart auch per Datenpunkt übergeben, anstatt der vordefinierten Intervalle -> geht ab MDW >= 0.3.0

                                            siehe https://github.com/Scrounger/ioBroker.vis-materialdesign#line-history-chart

                                            0697d97b-4c7d-4f0d-a9dc-f17845bac78a-grafik.png

                                            Den Timestamp muss du dir dann per skript entsprechend basteln und z.B. auf die Auswahl des Select Widgets reagieren.

                                            hier mal exemplarisch wie das geht:

                                            function getChartStart() {
                                                let startDateTime = moment();
                                            
                                                if (existsState(idTimeIntervalDatenpunkt)) {
                                                    let val = getState(idTimeIntervalDatenpunkt).val;
                                            
                                                    if (val === '1 day') {
                                                        startDateTime.add('-1', 'days');
                                                    } else if (val === '3 days') {
                                                        startDateTime.add('-3', 'days');
                                                        startDateTime = startDateTime.startOf('day');
                                                    } else if (val === '7 days') {
                                                        startDateTime.add('-7', 'days');
                                                        startDateTime = startDateTime.startOf('day');
                                                    } else if (val === '14 days') {
                                                        startDateTime.add('-14', 'days');
                                                        startDateTime = startDateTime.startOf('day');
                                                    } else if (val === '1 month') {
                                                        startDateTime.add('-1', 'months');
                                                        startDateTime = startDateTime.startOf('day');
                                                    } else if (val === '2 months') {
                                                        startDateTime.add('-2', 'months');
                                                        startDateTime = startDateTime.startOf('day');
                                                    } else if (val === '3 months') {
                                                        startDateTime.add('-3', 'months');
                                                        startDateTime = startDateTime.startOf('day');
                                                    } else if (val === '6 months') {
                                                        startDateTime.add('-6', 'months');
                                                        startDateTime = startDateTime.startOf('day');
                                                    } else if (val === '1 year') {
                                                        startDateTime.add('-1', 'years');
                                                        startDateTime = startDateTime.startOf('day');
                                                    } else {
                                                        startDateTime.add('-7', 'days');
                                                        startDateTime = startDateTime.startOf('day');
                                                    }
                                                } else {
                                                    startDateTime.add('-7', 'days');
                                                    startDateTime = startDateTime.startOf('day');
                                                }
                                            
                                                return startDateTime;
                                            }
                                            

                                            Ich schreibe per Select Widget in den Datenpunkt idTimeIntervalDatenpunkt z.B. den String 3 days.
                                            Darauf kann man reagieren und dann in einen weiteren Datenpunkt den timestamp für 3 days, der per Skript erstellt wird, schreiben Dieser muss dann dem chart zugewiesen werden.

                                            Im obigen Beispiel bringt es auch noch den Vorteil, dass der Chart dann immer um 0:00h beginnt

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            764
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            61
                                            202
                                            26054
                                            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