Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. SourceAnalytics Visualisieren (Verbräuche)?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    SourceAnalytics Visualisieren (Verbräuche)?

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

      Hi
      finde aktuell nichts Passendes auch wenn das Thema bestimmt nicht neu ist.

      Möchte die Verbrauchsauswertung von SourceAnalytics visualisieren und dies gerne auch später "schaltbar" zwischen Tagesdarstellung (aktuelle + Vorherige Woche) und Monatsdarstellung (alle Monate aktuelles Jahr).

      Hatte da an Balkendiagramme gedacht aber Flot möchte auf eine dB zugreifen also fällt das schon mal weg.

      Hat sowas schon jemand umgesetzt?
      Besten Dank!

      ? YunaKato M M 4 Replies Last reply Reply Quote 0
      • ?
        A Former User @Dieter_P last edited by

        @dieter_p

        soweit ich das verstehe, ist der Adapter dazu da, dir die Werte (Tag, Woche, Monat usw.) zu liefern, diese musst Du dann aber auch in einer Datenbank, (History, SQL, InfluxDb) speichern, damit (Flot, Grafana, eChart) daraus auch Diagramme zaubern können.

        VG
        Bernd

        D 1 Reply Last reply Reply Quote 0
        • YunaKato
          YunaKato @Dieter_P last edited by

          @dieter_p
          also ich erstelle zyklisch eine Tabelle und zeige das in Vis an ..

          
          var status=[];
          
          // Bezeichnung, Gerätestatus,Verweis auf sourceanalytix
          var arrGeraetestatus = [   
              ['Durchlauferhitzer','0_userdata.0.Energieverbrauch.Durchlauferhitzer.DL_aktiv','0_userdata__0__Energieverbrauch__Durchlauferhitzer__Zaehlerstand'],
              ['TV-Schlafzimmer','hm-rpc.1.LEQ1315355.1.STATE','hm-rpc__1__LEQ1315355__2__ENERGY_COUNTER']  
           ];
          
          function schreibeTabelle () {
              let myType=`<!DOCTYPE html><html lang="de">`;
              let myTable =`<table style="width:95%;">` +
                  `<thead>`+
                      `<tr style="font-size:1em; text-align:center">` +
                      `<th>lfd.Nr.</th>` +
                      `<th style="text-align:left";>Bezeichnung</th>` +
                      `<th>Status</th>` +
                      `<th>Heute</th>` +
                      `<th>Gestern</th>` +
                      `<th>aktueller</br>Monat</th>` +
                      `<th>vor</br>Monat</th>` +
                      `<th>Jahr</br>Kwh</th>` +
                      `<th>Jahr</br>Euro</th>` +
                      `<th>vorJahr</br>Kwh</th>` +
                      `<th>vorJahr</br>Euro</th>` +
                      `</tr>` +
                  `</thead>`;
          
              myTable += `<body>`;
          
              arrGeraetestatus.forEach(function(id, i) {
                  if (getState(id[1]).val) {status[i]="🟢"} else {status[i]="🔴"} 
           
                  myTable +=  
                      `<tr style="font-size:1em; text-align:center">` +
                      `<td> ${("00" + i).slice(-2)}</td>` +
                      `<td style="text-align:left";> ${id[0]} </td>` +
                      `<td>`+ status[i] +`</td>` +       
                      `<td> ${getState("sourceanalytix.0." +id[2]+ ".currentYear.costs.01_currentDay").val.toFixed(2)} €</td>` +
                      `<td> ${getState("sourceanalytix.0." +id[2]+ ".currentYear.costs.01_previousDay").val.toFixed(2)} €</td>` +
                      `<td> ${getState("sourceanalytix.0." +id[2]+ ".currentYear.costs.03_currentMonth").val.toFixed(2)} €</td>` +
                      `<td> ${getState("sourceanalytix.0." +id[2]+ ".currentYear.costs.03_previousMonth").val.toFixed(2)} €</td>` +
                      `<td> ${getState("sourceanalytix.0." +id[2]+ ".currentYear.consumed.05_currentYear").val.toFixed(0)} Kwh</td>` +
                      `<td> ${getState("sourceanalytix.0." +id[2]+ ".currentYear.costs.05_currentYear").val.toFixed(2)} €</td>` +
                      `<td> ${getState("sourceanalytix.0." +id[2]+ ".currentYear.consumed.05_previousYear").val.toFixed(0)} Kwh</td>` +
                      `<td> ${getState("sourceanalytix.0." +id[2]+ ".currentYear.costs.05_previousYear").val.toFixed(2)} €</td>` +
                      `</tr>`;
              });
          
              myTable += `</body>`+ `</table>` + `</html>`;
              setState('0_userdata.0.vis.Tabellen.Verbrauchertabelle',myType+myTable );
          }
          
          schedule(' * * * * * ',  function () {
            schreibeTabelle();
          }); 
          
          
          1 Reply Last reply Reply Quote 0
          • D
            Dieter_P @Guest last edited by

            @dp20eic

            Ja, reinschreiben in eine dB könnte man das schon aber sind halt eher statische Werte. Ob das wirklich Sinn macht bin mir nicht sicher.
            @YunaKato
            Danke. Schaue ich mir gerne an. Ich wollte es nur wenige Zahlenlastig gestalten. Sonst könnte ich es ja auch so aus den
            DPs mit VIS zeigen.

            Ich hab mich hieran (PV) eigentlich sehr schnell gewöhnt und für Verbräuche (Öl) kann ich mir das auch gut vorstellen, weiß nur nicht wie:

            Screenshot_20221228-205559.png Screenshot_20221228-205514.png

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Dieter_P last edited by

              @dieter_p sagte in SourceAnalytics Visualisieren (Verbräuche)?:

              aber sind halt eher statische Werte.

              aber dann sind sie weg!
              und du kannst keine Balken mehr zeigen

              wenn sie in history o.ä. geloggt wurden kannst du sie auch noch mit früheren Perioden vergleichen.

              D 1 Reply Last reply Reply Quote 0
              • D
                Dieter_P @Homoran last edited by Dieter_P

                @homoran

                Aus Gründen der Datensicherheit und zur Auswertung brauche ich die DB Einträge nicht, wurde mir jedenfalls versucht zu verdeutlichen.....

                Brauchen wir sie für Flot zur Darstellung ist das für mich völlig ok 🙂

                Hab es aktuell aber noch nicht geschafft die Einträge für "aktuelle Woche" auf Tagesbasis ordentlich darzustellen. Die Verschiebung auf der X-Achse geht maximal bis zu einem x-offset von 4 Tagen bräuchte aktuell aber bis zu 7 Tagen. Da die Zeitstempel vom gleichen Tag sind.
                Mit der Zeit dürfte sich das jedoch erledigen da die Zeitstempel dann passen.
                Dann bekomme ich jedoch eine mehrere Daten in die Datenbank und weiß nicht, wie Flot immer nur den Neusten verwendet.
                Geht das mit Flot überhaupt was ich da versuche?

                Edit: Mmmh eine einfache Version ist ja auch einfach die DPs auf Bargraphen-Widgets zu verlinken und gut ist 🙂

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

                  @dieter_p Hallo, ich hab mir das mit zusätzlichen Datenpunkten für die VIS und einem Skrpit gebastelt. Sieht in der VIS so aus.
                  6b711138-757b-4a8e-b3cb-9ab01d082abf-image.png
                  Hab aber nur die Jahreswerte der Datenpunkte. Der DP ist links auswählbar. Bei Interresse stell ich die Daten mal zusammen und stell sie hier ein.

                  G 1 Reply Last reply Reply Quote 0
                  • M
                    Maxtor62 @Dieter_P last edited by

                    @dieter_p

                    Hi, ich habe das Materialdesign BarChart Widget eingebaut. Mit dem kann man direkt auf die Datenpunkte von SoureAnalytix zugreifen.

                    PV-Anlage
                    Barchart.PNG

                    Barchart1.PNG
                    Gasverbrauch

                    D M 2 Replies Last reply Reply Quote 0
                    • D
                      Dieter_P @Maxtor62 last edited by

                      @mane444
                      @maxtor62

                      Besten Dank!

                      @mane444 bei Dir finde ich super, dass man noch zwischen Jahren wechseln/umschalten kann.
                      @maxtor62 Danke für den Tip mit dem Widget, dass schaut für mich auch super aus.

                      Für die Übersicht denke ich so schon viel gewonnen zu haben. Wenn ich allerdings noch eine Stufe weiter möchte, dann brauche ich wohl mehr eigene Datenpunkte als SA liefert. Damit meine ich Tageswerte für das gesamte Jahr und nicht nur für die aktuelle und letzte Woche.
                      Also so etwas:
                      95591336-44fc-42ef-9f9d-aa8af75e493f-grafik.png

                      Das kombiniert mit ein paar Temperaturen (Außentemp. etc.) sollte schon noch einige Erkenntnisse liefern, allerdings hab ich noch keine gute Idee wie ich das geschickt speichern könnte, also dauerhaft einen Tagesverbrauch mit dem passenden Datum dazu. Entsprechendes für den Monat und dann auch das Jahr und RuckZuck habe ich versucht ein zweites SA zu basteln, was ich wieder für nicht so geschickt halte 😞

                      Aktuell bin ich hier:
                      73720eb5-047d-4c8a-88b8-1325ce160ce3-grafik.png

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

                        @dieter_p sagte in SourceAnalytics Visualisieren (Verbräuche)?:

                        @mane444
                        @maxtor62

                        Besten Dank!

                        @mane444 bei Dir finde ich super, dass man noch zwischen Jahren wechseln/umschalten kann.
                        @maxtor62 Danke für den Tip mit dem Widget, dass schaut für mich auch super aus.

                        Für die Übersicht denke ich so schon viel gewonnen zu haben. Wenn ich allerdings noch eine Stufe weiter möchte, dann brauche ich wohl mehr eigene Datenpunkte als SA liefert. Damit meine ich Tageswerte für das gesamte Jahr und nicht nur für die aktuelle und letzte Woche.
                        Also so etwas:
                        95591336-44fc-42ef-9f9d-aa8af75e493f-grafik.png

                        Das kombiniert mit ein paar Temperaturen (Außentemp. etc.) sollte schon noch einige Erkenntnisse liefern, allerdings hab ich noch keine gute Idee wie ich das geschickt speichern könnte, also dauerhaft einen Tagesverbrauch mit dem passenden Datum dazu. Entsprechendes für den Monat und dann auch das Jahr und RuckZuck habe ich versucht ein zweites SA zu basteln, was ich wieder für nicht so geschickt halte 😞

                        Aktuell bin ich hier:
                        73720eb5-047d-4c8a-88b8-1325ce160ce3-grafik.png

                        Der Adapter kann Dir genau das liefern was Du suchst.
                        gas.PNG

                        Auch über die Jahre...
                        chart22.PNG

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          Dieter_P @Maxtor62 last edited by Dieter_P

                          @maxtor62 said in SourceAnalytics Visualisieren (Verbräuche)?:

                          Der Adapter kann Dir genau das liefern was Du suchst.

                          Ich befürchte so leider nein.

                          Die feinste Auflösung (Tagesverbrauch) befindet sich im Ordner Current Year und dort unter Current/previous Week. D.H. diese Verbräuche sind mit relativem Bezug zum aktuellen Datum.

                          Schaue ich in den "Jahres-Ordner" mit statisch Verbräuchen geht es nur bis auf Monatsebene.

                          Ich kann also feststellen, dass zB der November 2021 zum 2022 große Abweichungen hat, ob das aber an einigen Tagen liegt (Störungen etc.) geht so nicht.
                          Dazu muß ich die relativen Tageswerte aus current week noch einmal zusätzlich speichern um sie langfristig zu erhalten in der Auflösung.

                          So solange alle Verbräuche "normal" verlaufen, reicht mir die Monats und Jahresübersicht. Sobald aber etwas ungewöhnlich ist, glaube ich die Tagesauflösung zu benötigen.
                          Wie ich die aber mit Datum in die zB SQL oder InfluxDB (laufen beide bei mir) bekomme um sie auch später wieder zu finden, ist mir noch nicht klar.

                          1 Reply Last reply Reply Quote 0
                          • G
                            GWoltering @mane444 last edited by

                            @mane444 Guten Morgen, mir gefällt die Visualisierung sehr gut. Da ich nicht so der Programmierer bin, möchte ich dich bitten mir das skript zur Verfügung zu stellen. Danke dir schon mal dafür.

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

                              @maxtor62
                              Deine View sieht super aus. Da ich mit den Material-Widgets noch keine Erfahrung habe, die Bitte: Könntest du die View PV-Anlage hier teilen?

                              Besten Dank im voraus.

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

                                @martybr

                                klar, mach ich gerne. Aber Vorsicht. Pro Chart sind da 4 verschiedene "Material Design Bar-Charts" übereinander gelegt. Da muss man mit dem Z-Index arbeiten. Die Daten kommen bei mir aus den SourceAnalytics DPs.
                                Wenn Du das verwenden möchtest, dann solltest Du auch eventuelle Links von der Navigation auf der linken Seite löschen, dass Dein VIS-Edit nicht durchdreht.
                                View-Historie22.txt

                                wenn ich helfen kann, melde Dich einfach.

                                Viel Spaß damit

                                Grüße

                                M 1 Reply Last reply Reply Quote 2
                                • M
                                  MartyBr @Maxtor62 last edited by

                                  @maxtor62
                                  Super, danke. Ich arbeite mich mal daran "ab". Habe gerade zeit, da ich diese Woche noch Urlaub habe und das Wetter verbesserungswürdig ist.

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

                                    @gwoltering Hallo, ich hab das mal zusammengestellt und hoffe du kannst das importieren.
                                    Kurz zur Funktion:
                                    Der View wird komplett über Objekte im 0_userdata gespeist.
                                    VIS_View.txt

                                    Die Objekte im 0_userdata.0.VIS.Energie.Jahresvergleich muss man anlegen, hier die Struktur zum Import:
                                    0_userdata.0.VIS.Energie.Jahresvergleich.json

                                    Für das Auslesen der gewählten Objekte in den userdata Bereich hab ich ein Blockly, dafür solltest du ein leeres Blockly anlegen und dann über Blöcke importieren den Code importieren.
                                    Blockly_VIS_View.txt

                                    Funktion des Blockly's
                                    Die Strucktur für die anwählbaren SourceAnalytics Objekte wird nach einem Neustart von SourceAnlaytic Adapter aufgebaut.
                                    Die Daten für die VIS werden aus den SA-Objekten geholt wenn man das Jahr oder den SA_Datenpunkt in der VIS ändert.
                                    Es werden nur die SA-Objekte unter "consumed" bzw "delivered" ausgelesen.

                                    Wichtig ist das die SA-Datenpunkte einen Namen haben, denn dieser wird in der VIS zum Auswählen angezeigt.
                                    3f9a99bf-22b0-4f81-984d-c35c763cb4db-image.png

                                    Ich hoffe das hilft dir weiter.

                                    G 1 Reply Last reply Reply Quote 1
                                    • G
                                      GWoltering @mane444 last edited by

                                      @mane444 Dankeschön, werde mal schauen wie ich das hinkriege.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      945
                                      Online

                                      31.9k
                                      Users

                                      80.1k
                                      Topics

                                      1.3m
                                      Posts

                                      8
                                      17
                                      1679
                                      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