Ankündigung

Einklappen
Keine Ankündigung bisher.

Balkendiagramme erstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Balkendiagramme erstellen

    Hallo zusammen,
    ich habe eine ziemlich banale Frage und hoffe, dass ihr mir weiterhelfen könnt.
    Wenn ich Daten (bspw. von PV-Anlage oder Shelly-Parts) graphisch darestellen möchte, dann würde ich gerne ein Balkendiagramm nutzen (ich meine etwas in der Art wie im Bild zu sehen) . Auf der y-Achse bspw. Leistung, Energie o.ä. und auf der x-Achse z.B.


    Gibt es das für SmartVisu und wenn ja, wie mache ich das und wo finde ich dazu eine Doku. (Hier habe ich nichts passendes gefunden: https://docu.smartvisu.de/3.0/index....get_device.rtr)

    Schon mal ganz herzlichen Dank für eure Unterstützung.

    Viele Grüße
    Ebsele

    #2
    Es ist leider kein Bild zu sehen aber kann es sein das Du nach etwas wie Plot Period suchst?
    Und: Hast Du wirklich Version 3.0 der SmartVISU im Einsatz?

    Kommentar


      #3
      Hi bmx,

      Danke für Deine schnelle Reaktion.
      Komisch, ich sehe das Bild. Hier noch mal im Anhang.
      Nein, mit plotperiod lassen sich ja nur Zeitverläufe darstellen, aber keine klassischen Balkendiagramme :-( Meine SmartVisu-Version ist 3.3.1
      Balkenplt.jpg

      Kommentar


        #4
        Ebsele,

        mit Bordmitteln kann man ein Balkendiagramm erstellen, indem man plot.xyplot verwendet und für den exposure-Parameter "column" eingibt.
        Code:
        {{ plot.xyplot ('', ['test.varlist','test.varlista','test.varlistb'], '','',-1,4,'','','','','',['column','column','column']) }}
        führt zu folgendem Ergebnis, wobei die drei items vom Typ list sein müssen und im Beispiel die Werte [[0,30]], [[1,50]] und [[2,70]] haben.
        grafik.png
        Über die Chartoptions könnte man jetzt noch die x-Achsenbeschriftung abschalten und eine Legende basteln.

        Dann habe ich nochmal ein bisschen gespielt und ein neues Widget plot.bargraph erstellt. Das gibt es allerdings nur in der aktuellen develop-Version bzw. in den nächsten Tagen mit der Version 3.6. Hier kann man normale items vom Typ num nehmen und jeweils ein Array der items und ihrer Bezeichnungen, sowie Farben angeben.

        Hier die Beispiele aus der (neuen) Doku-Seite:
        Code:
        {{ plot.bargraph('', ['bath.p1','bath.p2','bath.p3'], ['Bar 1','Bar 2','Bar 3']) }}
        {{ plot.bargraph('', ['bath.p1','bath.p2','bath.p3'], ['Bar 1','Bar 2','Bar 3'], ['#FF0000','#FFFFFF','#000000'], '0', '100', 'Axis Title', 'Chart Title', 'horizontal', 'temp') }}
        ​
        grafik.png

        Falls Du auf develop bzw. v3.6 umstellen möchtest, beachte bitte die Release notes von v3.4 und vor allem v3.5, weil ggfls. ein paar kleinere Änderungen an Deinen Seiten zu machen sind.

        Gruß
        Wolfram

        P.S.: bmx, danke fürs Verschieben des Themas

        Kommentar


          #5
          Hallo wvhn,

          ganz herzlichen Dank für die ausführliche Rückmeldung. Sieht wohl so aus, als müsste ich mal updaten ...
          Da ich mich nicht als "crack" bezeichnen würde, habe ich ordentlich Respekt davor (never change a running system).
          Dann werde ich mich hier im Forum mal durchwühlen und das Update auf 3.6 angehen.

          Danke und viele Grüße
          Ebsele

          Kommentar


            #6
            Wenn Du den bisherigen smartVISU-Pfad bestehen lässt und die develop-Version in ein neues Verzeichnis z.B. „smartVISU_35a“ klonst, dann behältst Du ja das running system und kannst parallel auf dem neuen experimentieren. Nach dem Klonen gehst Du in das neue Verzeichnis und schaltest auf develop um:
            Code:
            git checkout develop
            Das Durchwühlen sollte überschaubar sein, denn alles Wichtige steht in den Release Notes, die ergänzt werden, falls Anwender ein Problem mit dem Update melden. Mit der Forensuche nach „Release smartVISU“ („nur in Titel“ und „nur in smartVISU“ auswählen) findest Du die relevanten Beiträge. In Deinem Fall sollte nur der Beitrag zu v3.5 relevant sein (ist oben angepinnt) und dort nur das Entfernen der veralteten Import-Befehle in den eigenen Seiten.

            Es wäre klasse, wenn Du das neue Widget noch vor dem Release v3.6 testen könntest, denn dann kann ich Änderungen noch einarbeiten.

            Gruß
            Wolfram

            Kommentar


              #7
              Hallo Wolfram, ob ich als "Null-Linux-Fuchs" das richtige Versuchskaninchen bin, wage ich mal zu bezweifeln
              Aber ich will es gerne versuchen, denn schließlich macht Ihr für uns "Anwender" einen tollen Job! Ich habe mir eben zur Sicherheit einen clon meiner SD-Karte, die in meinem Raspi steckt, erzeugt. Ich traue mir selber nämlich zu, dass ich mir aus Unwissenheit alles "zerschieße".
              Peinliche Frage, da ich bisher (einfach) nur Euer Image installiert habe und wenig bis gar nicht mit git-Befehlen usw. vertraut bin: Verrätst Du mir noch den Befehl, wie ich die develop-Version von smartVISU in das "neue" Verzeichnis (z.B. smartVISU_35a) bekomme?

              Gruß
              Ebsele

              Kommentar


                #8
                klar. Du gehst entweder so vor, wie in den Release Notes unter "zu beachten für den Umstieg" beschrieben und gibst ganz am Schluss im smartvisu-Ordner nochmal "git checkout develop" an. Das ist die sauberste Variante. Vor allem kannst Du dann sehr einfach immer wieder neue Updates ziehen. Alternativ lädtst Du den develop branch als ZIP herunter​ und entpackst das in den neuen Ordner, z.B. in Windows über SMB. In beiden Fällen musst Du noch den Ordner mit Deinen eigenen VISU-Seiten in den neuen Ordner kopieren (/var/www/html/smartvisu/pages/<Ordner Deiner Seiten>). Zudem musst Du die Rechte richtig setzen, also die chown- und chmod-Befehle aus den Release notes anwenden und auch setpermissions.

                Wenn Du die Seitengenerierung von smarthomeNG nutzt, heißt der Ordner Deiner eigenen Seiten "smarthome". Um dann Seiten von shNG aus ändern zu können, musst Du den neuen Seitenordner noch in die plugin.yaml eintragen (siehe Release Notes oder Komplettanleitung).

                Gruß
                Wolfram
                Zuletzt geändert von wvhn; 12.12.2025, 12:10.

                Kommentar


                  #9
                  Hallo wvhn,

                  ich bin wie in den Release-Notes vorgegangen. Es hat mit der Kopierei und den Rechten auch scheinbar alles geklappt.
                  Ich habe auch in der plugin.yaml das neue Verzeichnis eingetragen - ich habe KEINE eigenen html-Seiten, sondern nutze nur die von smartVISU generierten html's. Reboot vom Raspi habe ich gemacht.
                  Dann wird es bei mir merkwürdig:
                  - im plugin kann ich sehen, dass irgendwie die Version 35a genutzt wird (siehe Screenshot im Anhang)
                  - im Log werde ich aber darauf hingewiesen, dass die Generiereung der Seiten wegen nicht erfolgter Konfiguration nicht erfolgt. Ergo scheine ich etwas vergessen zu haben, von dem ich aber gerade nicht weiß, was es ist? Und ja, es ist gestern spät geworden :-)
                  - meine bisherige VISU wird nach wie vor angezeit und es funktioniert auch alles, aber eben mit V3.3.1. Ich hätte erwartet , dass da gar nichts mehr geht, weil ja die 35a nach Log ja nicht richtig konfiguriert ist. (ich nehme daher an, dass ihr ein cleveres fallback eingebaut habt, denn anders kann ich mir das Verhalten mit meinem bescheidenen Wissen über Eure SW-Architektur nicht erklären.)

                  Bestimmt habe ich einen ganz dämlichen Fehler gemacht oder einen wichtigen Schritt unabsichtlich vergessen :-(

                  Log:
                  2025-12-14 01:47:52 WARNING plugins.smartvisu Not generating pages because smartVISU v3.5.a in directory /var/www/html/smartvisu_35a is not yet configured
                  2025-12-14 01:47:52 WARNING plugins.smartvisu Not generating item-masterfile because smartVISU v3.5.a in directory /var/www/html/smartvisu_35a is not yet configured smartVISU_plugin_screen.jpg
                  Angehängte Dateien

                  Kommentar


                    #10
                    Moin Ebsele,

                    das Fallback ist ganz einfach, dass die Webseiten für v3.3.1 noch da sind und diese angezeigt werden, wenn Du <IP-Adresse>/smartViSU im Browser aufrufst. Die neue Visu musst Du mit <IP-Adresse>/smartvisu_35a aufrufen. Zudem muss die Config.ini aus der alten Visu in die neue kopiert werden, oder die Konfiguration manuell gemacht werden. Dann verschwindet auch die Fehlermeldung „… not yet configured“.

                    Gruß
                    Wolfram

                    Kommentar


                      #11
                      Danke wvhn
                      Ich wusste, dass ich d… bin
                      Teste ich morgen. Klingt so, dass ich „nah dran bin“. Ich melde mich -hoffentlich mit dem erfolgreichen Test Deines neuen bargraph-Widgets.

                      Grüße
                      Ebsele

                      Kommentar


                        #12
                        Hallo wvhn
                        es tut
                        Im Anhang ein Screenshot einer Page mit Deinem Widget in 2 Varianten und realen Werten. Wie man sieht, kommt Dein Bargraph auch mit negativen Werten zurecht. TOP!
                        Die Parametrieung hast Du ja bereits in der Doku beschrieben. Danke!
                        Wenn ich noch was anderes testen soll, dann sag gerne Bescheid.
                        Wenn ich noch einen Wunsch äußern dürfte .... es wäre "die Kirsche auf der Sahne": Ist es möglich, in die Balken die Werte reinzuplotten? (ich weiß, dass man beim "mouseover" die Werte sieht, aber eben "nur" beim mouseover).

                        1000 Dank noch mal für Deine Unterstüzung!

                        Das, was man im Bild sieht, wird hiermit in der items.yaml von shNG erzeugt:
                        ######################################
                        Code:
                        visublock01:
                            name: Statistik
                            sv_widget: |
                                <p align="left" style="margin-left:1cm">
                                Inverter Heute kWh : {{ basic.print('', 'kaco.state.energy_volume_inverter_today', 'kWh') }} <br>
                                Inverter Monat kWh : {{ basic.print('', 'kaco.state.energy_volume_inverter_month', 'kWh') }} <br>
                                Inverter Jahr kWh : {{ basic.print('', 'kaco.state.energy_volume_inverter_year', 'kWh') }} <br>
                                Verbrauch Heute kWh : {{ basic.print('', 'kaco.state.energy_volume_cons_today', 'kWh') }} <br>
                                Verbrauch Monat kWh : {{ basic.print('', 'kaco.state.energy_volume_cons_month', 'kWh') }} <br>
                                Verbrauch Jahr kWh : {{ basic.print('', 'kaco.state.energy_volume_cons_year', 'kWh') }} <br>
                                Netzbezug Heute kWh : {{ basic.print('', 'kaco.state.energy_feed_in_today', 'kWh') }} <br>
                                Netzbezug Monat kWh : {{ basic.print('', 'kaco.state.energy_feed_in_month', 'kWh') }} <br>
                                Netzbezug Jahr kWh : {{ basic.print('', 'kaco.state.energy_feed_in_year', 'kWh') }} <br>
                                Batterienuztung Heute kWh : {{ basic.print('', 'kaco.state.energy_volume_bat_today', 'kWh') }} <br>
                                Batterienuztung Monat kWh : {{ basic.print('', 'kaco.state.energy_volume_bat_month', 'kWh') }} <br>
                                Batterienuztung Jahr kWh : {{ basic.print('', 'kaco.state.energy_volume_bat_year', 'kWh') }} <br>
                                </p>
                                {{ plot.period('', ['kaco.state.energy_volume_cons_month', 'kaco.state.energy_feed_in_month', 'kaco.state.energy_volume_bat_month'], 'raw', '7d', 'now', '', '', '', ['E_Cons', 'E_Grid', 'E_Bat'], ['#f00','#4176a9', 'green'], '', ['Zeit', 'kWh'], '', '', '', '', '', '', { yAxis: [ { tickInterval: 50 } ], legend: { verticalAlign: 'bottom', y: -5 } }) }} <br>
                                {{ plot.bargraph('', ['kaco.state.energy_volume_inverter_month','kaco.st ate.energy_volume_cons_month','kaco.state.energy_f eed_in_month'], ['Inverter Dez','Verbrauch Dez','Netzbezug Dez']) }}
                                {{ plot.bargraph('', ['kaco.state.energy_volume_cons_year','kaco.state.e nergy_feed_in_year','kaco.state.energy_volume_bat_ year'], ['Verbrauch 2025','Netzbezug 2025','Batterienutzung 2025'], ['#f00','#4176a9', 'green'], '-5000', '5000', 'kWh', 'Bilanz 2025', 'horizontal', 'temp') }}
                        ​
                        ######################################

                        smartVISU_35a_Bar_example.jpg
                        Angehängte Dateien
                        Zuletzt geändert von wvhn; Heute, 09:45. Grund: Code-Block formatiert

                        Kommentar

                        Lädt...
                        X