Ankündigung

Einklappen
Keine Ankündigung bisher.

CSV-Datei importieren - Diagramm anzeigen

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

    CSV-Datei importieren - Diagramm anzeigen

    Hallo zusammen,

    ich benutze aktuell bei mir (noch altmodisch) eine App um meine Zählerstände zu erfassen (https://play.google.com/store/apps/d....meterreadings).

    Hierbei besteht die Möglichkeit diese Daten als CSV_Datei abzuspeichern.

    Jetzt meine Frage: Besteht die Möglichkeit diese wieder einzulesen und im SmartVisu (auf einem RaPi) über die Super-Diagramme anzeigen zu lassen? Damit ich diese schön auf meinem zentralen Tablet sehe?

    Vielen Dank

    #2
    Ich kenne mal keine Möglichkeit, das mit sh.py direkt zu realiseren... du müsstest die Werte direkt in die sqlite DB schreiben (sh.py darf dabei nicht laufen). Da das sqlite Plugin aber auch komprimiert kann ich dir nicht sagen, wie einfach das ist.
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    Kommentar


      #3
      In ein rrd müsste man das schreiben können. Dort kann man auch den Timestamp angeben, zu dem die Werte gehören.
      Derzeit zwischen Kistenauspacken und Garten anlegen.
      Baublog im Profil.

      Kommentar


        #4
        Hallo Marcel,

        man (Du) könnte die Werte direkt in die SQLite DB pumpen, das ist aber nicht so einfach ohne ein bisschen programmieren zu können.

        bis bald

        Marcus

        Kommentar


          #5
          Als Idee schau mal hier. Du brauchst eigentlich ja gar kein smarthome.py / smartvisu sondern ein wenig code, der die CSV via webserver zur Verfügung stellt und ein wenig Javascript/HTML für die Darstellung. Das kannst Du natürlich zusammen kombinieren...

          Gruß,
          Bernd

          Kommentar


            #6
            Genau so werde ich das auch machen, bin gerade dabei mir eine Smartvisu-App zu bauen, mit der ich Zählerdaten erfassen und in die Smarthome-Datenbank schreiben kann. Kommunikation mit der Visu über JSON, Datenbankzugriff über das SQlite-Paket von PHP. Komme aber momentan nicht dazu, das fertigzustellen.

            Wer so lange nicht warten kann: Im Moment importiere ich die Daten manuell. Ich erfasse die Zählerstände per Excel und habe mir mit Formeln die nötigen SQL-Statements zusammengebaut, die ich dann einfach per copy&paste in den SQlite-Browser reinkopiere und ausführe. Ist zwar 1x im Monat ein paar Minuten Arbeit, dafür sieht es in der Visu gut aus

            Hab euch mal mein Excel-Template angehängt.

            Viele Grüße
            Dominik
            Angehängte Dateien

            Kommentar


              #7
              Zitat von Acidrain Beitrag anzeigen
              in den SQlite-Browser reinkopiere und ausführe. Ist zwar 1x im Monat ein paar Minuten Arbeit,

              Hab euch mal mein Excel-Template angehängt.

              Hallo zusammen,

              ich wäre am umgekehrten Weg interessiert. SHNG-Datenbank als csv, oder Excel-Datei exportieren. Anschließend z.B. alle Werte "Alter > halbes Jahr" aus DB entfernen - ist das möglich?

              Kommentar


                #8
                mySQL / MariaDB csv Export: Klick, SQLite csv Export: Klick. Anschließend die csv in Excel importieren.

                Zeitstempel von vor 6 Monaten ermitteln: Klick.

                Ein select-Stament zum Löschen sollte in phpMyAdmin oder SQLiteStudio/SQLite3Tool zusammenklickbar sein. Alternativ zum händischen Löschen lassen sich wohl mittlerweile auch die Items per maxage in shNG direkt so konfigurieren, dass sie nur für eine gewisse Zeit vorgehalten werden (habe ich aber noch nicht ausprobiert).

                Für fraglich halte ich moment obigen csv-Export - wenn es als Backup dienen soll: Warum nicht gleich ein echter, einfacher SQL-Dump?

                /tom
                Zuletzt geändert von Tom Bombadil; 10.01.2022, 14:57.

                Kommentar


                  #9
                  Danke Tom für deine Rückmeldung.


                  Zitat von Tom Bombadil Beitrag anzeigen
                  obigen csv-Export ... echter, einfacher SQL-Dump
                  keine Ahnung was ein "einfacher SQL-Dump" ist...

                  Mit Excel komme ich ganz passabel zurecht. Ein wirkliches Backup der Daten brauche ich auch nicht wirklich.
                  Ein Beispiel: Bei uns ist es des Öfteren recht windig. Deshalb werden die Werte vom KNX-Windsensor in die DB geschrieben. (Plot-Darstellung letzten paar Stunden/Tage -- die ganzen "Spielereien" halt.) Kommt es zu einem evtl. Schaden (am Haus etc.) wäre es halt fein, dem Versicherer vorzulegen. "Schau her die letzten 462 Tage war die max. Windgeschwindigkeit 18,2 m/s gestern waren es 23,4 m/s jetzt ist der Rollo kaputt"....

                  Da ich das in Excel in kurzer Zeit rausziehen kann, wäre das mein Favorit. Für jemanden der sich mit SQL auskennt, ist dieser Zwischenschritt natürlich unnötig.

                  Programm(e) werde ich mir am Rechner ansehen...

                  Vorgang: - so richtig?
                  1. SHNG stoppen -- sudo systemctl stop smarthome.service
                  2. Datenbank exportieren -- "Pfad" mittels "dd" auf anderen Rechner
                  3. SHNG starten -- sudo systemctl start smarthome.service

                  Zitat von Tom Bombadil Beitrag anzeigen
                  Items per maxage

                  Habe ich den database_maxage richtig verstanden? Siehe Beispiel:

                  Code:
                  # Test Item
                  
                  test:
                        item:
                           type: num
                           database: yes oder init oder true (je nachdem was vorher dort stand)
                           database_maxage: 14      ## 14 Tage bzw. 356 für ein Jahr etc....

                  Danke Gruß Max

                  Kommentar


                    #10
                    Es gibt auch ein Attribut, mit dem man das malimale Alter für Item Werte festlegen kann. Ältere Werte werden dann automatisch gelöscht. Die Datenbank wird dabei nur leerer aber nicht kleiner. Nach dem Löschen einer geoßen Zahl an Einträgen ist es sinnvoll (bei nicht laufende, SmartHomeNG) mit DQLite Bordmitteln die Datenbank zu verdichten.

                    Achtung: Wenn man das Attribut für Items setzt, für die es viele alte Werte gibt, kann das aufräumen einige Zeit in Anspruch nehmen.
                    Viele Grüße
                    Martin

                    There is no cloud. It's only someone else's computer.

                    Kommentar


                      #11
                      Zitat von Maexle Beitrag anzeigen
                      Datenbank exportieren -- "Pfad" mittels "dd" auf anderen Rechner
                      dd = 'disc dump' - ob Du das willst?
                      Über welche Datenbank (SQLite, mySQL/MariaDB, rrd) reden wir denn nun?
                      Danach schauen wir uns an, wie Du an die von Dir gewünschten Daten über das passende Management-Tool bzw. mit 'Bordmitteln' kommst ...
                      /tom

                      Kommentar


                        #12
                        Zitat von Msinn Beitrag anzeigen
                        nur leerer aber nicht kleiner
                        Dann bringt es ja eigentlich nicht wirklich was....


                        Zitat von Tom Bombadil Beitrag anzeigen
                        SQLite, mySQL/MariaDB, rrd
                        Gute Frage... Image für einen RasPi hier aus dem Forum... klick "für SQLite 3 und MySQL"


                        Zitat von Tom Bombadil Beitrag anzeigen
                        dd = 'disc dump'
                        stimmt "dd" ist ja mehr oder weniger eine 1:1 Kopie --> "cp" wäre wohl richtiger

                        Kommentar


                          #13
                          Zitat von Maexle Beitrag anzeigen
                          Gute Frage... Image für einen RasPi hier aus dem Forum... klick "für SQLite 3 und MySQL"
                          <smarthomeNG-dir>/etc/plugin.yaml, unter database --> driver:
                          Code:
                          database:
                              plugin_name: database
                              driver: pymysql
                              connect:
                                - host:192.168.178.9
                                - port:3306
                                - database:smarthome
                                - user:kennst_du_nicht
                                - password:hättest_du_gern
                          Vielleicht reicht Dir aber auch schon ein Aufruf von <raspi-ip>:8383/admin aus. Unter Plugins kanns Du das Web IF des Database-Moduls aufrufen, wo Du Dir die Daten ansehen und auch nach csv exportieren kannst. Allerdings sind die Filterfunktionen dort gelinde gesagt 'rudimentär' (zumindest in der alten Version, die ich hier fahre). Daher auch die Empfehlung mit den 'echten' Verwaltungstools für die bei Dir eingesetzte Datenbank.

                          /tom

                          Kommentar


                            #14
                            Zitat von Maexle Beitrag anzeigen
                            stimmt "dd" ist ja mehr oder weniger eine 1:1 Kopie --> "cp" wäre wohl richtiger
                            dd nimmt man üblicherweise, um Partitionen oder ganze Platten zu kopieren bzw. zu clonen.
                            /tom

                            Kommentar


                              #15
                              Tom Bombadil

                              Danke werde ich mir morgen ansehen (bin heute nicht Vorort)

                              Kommentar

                              Lädt...
                              X