Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Einfach mal zeigen will….. :-) - Teil 3

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Einfach mal zeigen will….. :-) - Teil 3

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

      @dos1973 Das Diagramm ist Material Design. Ich summiere alle Aktoren (Fritz Dect Steckdosen) und speichere den Wert in einem DP um 23:59:50 Sekunden ab. Danach summiere ich erneut. Dann wird wieder der Wert um die genannte Zeit in den DP gespeichert. Der DP wird mit SQL.0 historisiert.

      Der DP wird dann über die letzten 7 Tage aus der Datenbank mit einem Skript abgefragt, ein JSON erstellt, gespeichert und dann mit dem Diagramm drgestellt.

      D 1 Reply Last reply Reply Quote 0
      • D
        dos1973 @Ro75 last edited by

        @ro75

        Ok, danke dir.
        Ich hab mir mit Blockly etwas gebaut…
        Nicht ganz so elegant wie Du mit json 😂

        Mal schauen ob die Werte um 23:59 eine Tag „zurückspringen“

        1 Reply Last reply Reply Quote 0
        • Frederik Buss
          Frederik Buss @dos1973 last edited by

          @dos1973 ja genau. Ich logge einmal am Tag den Zählerstand von Strom und Gas in einen separaten Datenpunkt für die Tageshochnung, den Rest, sprich einzelne Balken für gesamt Verbrauch sowie die einzelnen Verbraucher macht Grafana.

          Frederik Buss 1 Reply Last reply Reply Quote 0
          • Frederik Buss
            Frederik Buss @Frederik Buss last edited by

            @dos1973 Hier nochmal ein paar Beispiele aus meiner Vis zu Grafana:

            Übersicht auf Tagesbasis mit Strom/Gasverbrauch sowie . Die einzelnen Verbraucher addiert Grafana automatisch, wie man sieht fehlen mir ca. 20-30% um auf den Gesamtverbrauch zu kommen (weisse Linie). Hintergrund: Die Kinderzimmer und Server/FritzBox werden (noch) nicht separat erfasst. Auf der rechten Seite die Zimmertemperaturen der letzten 24 Stunden sowie Heizung mit Gasverbrauch der letzten beiden Tage:
            Screenshot_2023-04-15-16-31-33-936.jpg

            Hier der Wochenverbrauch der größten Verbraucher, aufs Jahr hochgerechnet:
            Screenshot_2023-04-15-16-32-53-656.jpg
            Da Du nach Berechnungen gefragt hast, hier beispielsweise die Datenbasis für die Balkendiagramme "Kühlschrank". Wie Du siehst werden einfach stupide die aktuellen Verbrauchswerte gespeichert, den Rest macht Grafana:
            Zwischenablage03.jpg

            Hier noch ein Beispiel zum Zusammenhang Aussentemperatur und Energieverbrauch. Die Außentemperatur rechnet Grafana als Tagesmittel, Strom und Gasverbrauch als Tagessumme, hochgerechnet aufs Jahr:
            Screenshot_2023-04-15-16-34-59-108.jpg

            D 1 Reply Last reply Reply Quote 1
            • D
              dos1973 @Frederik Buss last edited by dos1973

              @frederik-buss
              Schaut gut aus. Ich hatte mal Grafana installiert aber wieder verworfen da ich nicht es nicht richtig bedienen konnte. Ich habe eine MariaDB und irgendwie haben alle eine InfluxDB die mit Grafana hantieren.

              ? 1 Reply Last reply Reply Quote 0
              • ?
                A Former User @dos1973 last edited by A Former User

                @dos1973 sagte in Einfach mal zeigen will….. 🙂 - Teil 3:

                Schaut gut aus. Ich hatte mal Grafana installiert aber wieder verworfen da ich nicht es nicht richtig bedienen konnte. Ich habe eine MariaDB und irgendwie haben alle eine InfluxDB die mit Grafana hantieren.

                Moin,

                Grafana hat kein Problem, mit MariaDB oder einer anderen SQL Datenbank zu sprechen, dann nutzt man halt nicht QL oder FLUX als Abfragesprache, sondern SQL.

                59cc7a5c-a557-4a42-aa84-5e5fb6b67a2c-grafik.png

                VG
                Bernd

                D 1 Reply Last reply Reply Quote 0
                • D
                  dos1973 @Guest last edited by

                  @dp20eic

                  Ich konnte es nicht richtig bedienen 😂
                  Die beiden vertragen sich… mal sehen, vielleicht starte ich irgendwann ein neuen Versuch

                  ? 1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @dos1973 last edited by

                    @dos1973 sagte in Einfach mal zeigen will….. 🙂 - Teil 3:

                    @dp20eic

                    Ich konnte es nicht richtig bedienen 😂
                    Die beiden vertragen sich… mal sehen, vielleicht starte ich irgendwann ein neuen Versuch

                    Moin,

                    nicht verzagen, das Forum fragen, da wird Dir geholfen 🙂

                    Ich habe auch nur influxDB am Laufen, wenn Du aber konkrete Fragen hast, installiere ich mir aber auch auf der Testinstanz SQL und versuche zu helfen, soweit ich das verstehe.

                    Mit jeder gut gestellten Frage, lerne ich auch etwas, so hat es für uns beide einen Nutzen 🙂

                    VG
                    Bernd

                    W D 2 Replies Last reply Reply Quote 1
                    • W
                      woupi @Guest last edited by

                      @dp20eic das ist mal eine sehr gute Aussage 😁
                      Das ist der Grund, warum ich Ausbilder geworden bin.

                      Vielen Dank dafür, dass es so Menschen wie dich gibt.

                      VG
                      Sascha

                      1 Reply Last reply Reply Quote 0
                      • D
                        dos1973 @Guest last edited by dos1973

                        @dp20eic

                        Danke Bernd!
                        Komme drauf zurück 😉
                        Aktuell baue ich mein Vis (version 637…) neu… dann steht das an.

                        Frederik Buss 1 Reply Last reply Reply Quote 0
                        • Frederik Buss
                          Frederik Buss @dos1973 last edited by

                          @dos1973 Wie Bernd schon geschrieben hat... Bei Fragen, fragen 🙂 Ich habe die Kombi Influx/Grafana vor allem deshalb gewählt, weil es doch sehr viele Anleitungen etc. hierfür gibt. Grafana ist Anfang etwas tricky, aber sobald man durchsteigt kann man sich alle möglichen Daten und Darstellungen da raus holen. Vor allem bei vielen Datenpunkten ist das hilfreich. Ich hatte Anfangs auch damit begonnen mir Tages und Durchschnittswerte täglich per Script zu berechnen. Wenn das mal ein paar mehr Werte werden sollen, wird das sehr schnell umfangreich und wenig flexibel.
                          Beispiel: Ich hatte zunächst meine ganzen Stromverbraucher als Tagesverbrauch abgefragt/angezeigt, Abfrage in Grafana:

                          SELECT non_negative_difference(last(cumulative_sum)) FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "0_userdata.0.StatusSteckdosen.S14KuecheKuehlen_Energy" WHERE $timeFilter GROUP BY time(1d) ) WHERE $timeFilter GROUP BY time(1d) tz('Europe/Berlin')
                          

                          Dann dachte ich mir, dass ich mit einer Hochrechnung des Tagesverbrauchs aufs Jahr viel mehr anfangen kann, hierzu ergänze ich lediglich den 365 Multiplikator und fertig:

                          SELECT non_negative_difference(last(cumulative_sum)) * 365 FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "0_userdata.0.StatusSteckdosen.S14KuecheKuehlen_Energy" WHERE $timeFilter GROUP BY time(1d) ) WHERE $timeFilter GROUP BY time(1d) tz('Europe/Berlin')
                          

                          Mann muss sich an Grafana ein wenig gewöhnen, es gibt aber gute Tutorials in Youtube o.ä. und eben auch das Forum hier 🙂

                          W 1 Reply Last reply Reply Quote 0
                          • W
                            woupi @Frederik Buss last edited by

                            @frederik-buss

                            @frederik-buss sagte in Einfach mal zeigen will….. 🙂 - Teil 3:

                            Vor allem bei vielen Datenpunkten ist das hilfreich. Ich hatte Anfangs auch damit begonnen mir Tages und Durchschnittswerte täglich per Script zu berechnen.

                            So habe ich das auch angefangen, leider mit nur mäßigen Erfolg.
                            Meine Kenntnisse von Blockly oder gar Javascript sind einfach zu greing.

                            @frederik-buss sagte in Einfach mal zeigen will….. 🙂 - Teil 3:

                            Ich hatte zunächst meine ganzen Stromverbraucher als Tagesverbrauch abgefragt/angezeigt, Abfrage in Grafana:
                            SELECT non_negative_difference(last(cumulative_sum)) FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "0_userdata.0.StatusSteckdosen.S14KuecheKuehlen_Energy" WHERE $timeFilter GROUP BY time(1d) ) WHERE $timeFilter GROUP BY time(1d) tz('Europe/Berlin')

                            Dann dachte ich mir, dass ich mit einer Hochrechnung des Tagesverbrauchs aufs Jahr viel mehr anfangen kann, hierzu ergänze ich lediglich den 365 Multiplikator und fertig:

                            Habe ich das richtig verstanden? Du hast eine "einfache" Abfrage Grafana und hast damit die gewünschten Diagramme?

                            Wenn dem so ist, wäre ich dir sehr zu Dank verpflichtet, wenn Du mir das mal kurz erklären könntest, oder einen Link zu einem Tutorial (Deutsch) geben könntest. Wenn ich was finde ist es immer Englisch und das ist bei mir echt eine Katastrophe. Das war bei uns in der Schule noch nicht so wichtig (bin schon was älter).

                            VG

                            1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User last edited by

                              @woupi

                              Moin,

                              zu aller erst musst Du die Daten in einer Datenbank haben, z.B. influxDB oder mariaDB/mySQL dann musst Du diese Datenbank in Grafana als Source einbinden, dann kannst Du, mit der jeweils passenden Abfragesprache, Dir die Werte aus der Datenbank lesen und das Ergebnis wird von Grafana, dann in einer Grafik oder Tabelle verarbeitet/Angezeigt.

                              Abfragesprachen:

                              • influxDB
                                • influxDB V1.8 = influxQL ->
                                   SELECT last("value") FROM "Dürkop-e10" WHERE $timeFilter GROUP BY time(5m) fill(none)
                                  
                                • influxDB V2.x = influxQL oder neu FLUX ->
                                  import "timezone"
                                  import "date"
                                  option location = timezone.location(name: "Europe/Berlin")
                                  from(bucket: "iobroker_strom")
                                    |> range(start: -7d, stop: now())
                                    |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh")
                                    |> filter(fn: (r) => r["_field"] == "value")
                                    |> map(fn: (r) => ({r with weekday: date.weekDay(t: r._time)}))
                                    |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
                                    |> difference(columns: ["_value"])
                                    //|> drop(columns: ["_time"])
                                    |> yield(name: "last")
                                   
                                    //  |> map(fn: (r) => ({ r with weekday: date.weekDay(t: r._time)}))
                                    //  |> filter(fn: (r) => r.weekday == date.Friday)
                                  
                              • MariaDB/mySQL = SQL ->
                                    SELECT MAX(iobroker.ts_number.val) FROM iobroker.ts_number INNER JOIN iobroker.datapoints ON iobroker.ts_number.id=iobroker.datapoints.id WHERE iobroker.datapoints.name like 'javascript.1.Fronius.Messwerte.AktuelleEnergieErzeugung'; 
                                

                              Und hier mal ein Beispiel:
                              ce9b2db2-0ac2-4244-a332-bfc5d451f180-grafik.png
                              Und so sieht es dann als fertiges Dashboard bzw. Panel aus, Du kannst dann ein ganzes Dashboard oder ein einzelnes Panel in Deiner VIS anzeigen.
                              ddaa275e-0f49-4dd9-ba2b-edaf982bef7b-grafik.png

                              VG
                              Bernd

                              W D 2 Replies Last reply Reply Quote 1
                              • W
                                woupi @Guest last edited by

                                @dp20eic
                                Auch wenn das gar nicht meine Frage war, hilft das dem ein oder anderen sicher sehr weiter.
                                Vielen Dank für die sehr ausführlich Antwort.

                                Meine Frage zielte mehr auf die täglich/wöchentlich/usw berechneten werte in Grafana,
                                also das was frederik-buss beschrieben hat.

                                Kommt bestimmt noch.

                                Nochmal, vielen Dank
                                VG
                                Sascha

                                Frederik Buss 1 Reply Last reply Reply Quote 0
                                • Frederik Buss
                                  Frederik Buss @woupi last edited by

                                  @woupi Ja, tatsächlich musst Du nur aus den Rohdaten die "richtige" Abfrage in Grafana machen, so wie in meiner Quote als Beispiel gezeigt. Mein Abfrage-Beispiel gilt aber nur für für eine Influx DB, die aber sehr einfach aufzusetzen ist. Tutorials hierzu und auch für die ersten Schritte für Grafana gibt es z.B. bei haus-automatisierung.com . Der Witz an der Abfrage ist die Gruppierung:

                                  GROUP BY time(1d)
                                  

                                  In diesem Fall ein Tag. Bedeutet Du bekommst einen Balken oder Punkt, oder welche Form auch immer, für einen Tag zusammengerechnet. Das geht mit denselben (!) Rohdaten für eine Stunde, eine Woche usw., nur die Gruppierung muss entsprechend angepasst werden.
                                  Zum besseren Verständnis, nachfolgend die Balkendarstellung auf Wochenbasis, auch wieder nur Auswertung der Rohdaten, ohne Berechnung:

                                  SELECT non_negative_difference(last(cumulative_sum)) * 52 FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "0_userdata.0.StatusSteckdosen.S14KuecheKuehlen_Energy" WHERE $timeFilter GROUP BY time(7d) ) WHERE $timeFilter GROUP BY time(7d) tz('Europe/Berlin')
                                  

                                  Verglichen mit der Quote aus dem vorherigen Post gibt es 2 Unterschiede: a) Summierung der letzten Woche (7d) sowie Hochrechnung aufs Jahr * 52, da ja jetzt das Ergebnis als Wochenverbrauch vorliegt.
                                  Schau Dir mal die o.g. Tutorials an, falls nichts grundlegendes dagegen spricht, empfehle ich Dir auf Influx zu wechseln, hier gibt es meiner Meinung nach mehr Leute mit Erfahrung die Dir helfen können. Bei Fragen, fragen 🙂

                                  Frederik Buss W 2 Replies Last reply Reply Quote 0
                                  • Frederik Buss
                                    Frederik Buss @Frederik Buss last edited by

                                    @novregen Hier der Export der Vis und ein paar der Scripte. Wie auch bei anderen ist alles miteinander verknüpft und Datenpunkte beinhalten Werte aus Berechnung, oder steuern selbst wiederum andere Aktionen an. Leider wird bei mir nichts von selbst erstellt, also auch keine Variablen o.ä., daher schau Dir das Ganze erstmal an und wenn Du einzelne Funktionen nutzen willst, helfe ich Dir bei der Erstellung der Variablen etc.
                                    Folgende iobroker Scripte sind als txt beigefügt:
                                    Jahresverbrauch Strom und Gas = Jahreshochrechnung Verbrauch/Kosten nach letzter Ablesung
                                    SonosGruppe = Ansteuerung der beiden Sonos Geräte im EG, je nach Auswahl Wohnzimmer/Küche oder Gruppe.
                                    piNeustarten = Einfacher sudo reboot Befehl, um den pi von der Vis aus neustarten zu können
                                    FavsNeu = Erstellung von allen Sonos Favoriten in einen Datenpunkt, um in der Vis aus einem Dropdown Menü entsprechende Auswahl in Sonos zu starten

                                    Folgende Adapter werden verwendet:
                                    BMW, Bring, homeconnect, hue-extended, shelly, sonoff, sonos, tr-064, vis-inventwo, vis-timeandweather, ical

                                    vis-views.json

                                    Folgende Zips als Verzeichnis in den Projektordner ("main") kopieren/erstellen:
                                    Favs.zip
                                    IconsV2.zip
                                    Bilder.zip

                                    Und hier die iobroker Blockly scripte, können über Blockly importiert werden:
                                    iobrokerJS.zip

                                    N 1 Reply Last reply Reply Quote 0
                                    • W
                                      woupi @Frederik Buss last edited by woupi

                                      @frederik-buss sagte in Einfach mal zeigen will….. 🙂 - Teil 3:

                                      Mein Abfrage-Beispiel gilt aber nur für für eine Influx DB, die aber sehr einfach aufzusetzen ist.

                                      Sorry, habe ich nicht explizit geschrieben (steht in meiner Signatur), Grafana, InfluxDB läuft bei mir, es geht mir wirklich nur um die Abfrage und die Darstellung täglich/wöchentlich usw.

                                      Vielen Dank für die Antwort, werde ich mir am Wochenende mal genau ansehen und versuchen umzusetzen.

                                      VG

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        novregen @Frederik Buss last edited by

                                        @frederik-buss - danke dir, aber irgendwie bekomme ich die vis nicht importiert. Könntest du es als zip exportieren ? Danke für deine Mühe

                                        Glasfaser Frederik Buss 2 Replies Last reply Reply Quote 0
                                        • Glasfaser
                                          Glasfaser @novregen last edited by Glasfaser

                                          @novregen sagte in Einfach mal zeigen will….. 🙂 - Teil 3:

                                          irgendwie bekomme ich die vis nicht importiert.

                                          Neues Projekt erstellen ,

                                          die vis-views.json über den Dateimanager in das neue Projekt hochladen/überschreiben .

                                          Projektordner ("main") kopieren/erstellen:

                                          ....

                                          1 Reply Last reply Reply Quote 0
                                          • Frederik Buss
                                            Frederik Buss @novregen last edited by

                                            @novregen Probier es bitte mal wie Glasfaser geschrieben hat. Die Gesamte Vis als Zip ist zu gross für das Forum, deswegen habe ich aufgeteilt...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            981
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            vis vis editor visualisierung visualization
                                            155
                                            813
                                            267425
                                            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