Ankündigung

Einklappen
Keine Ankündigung bisher.

CSV-Datei importieren - Diagramm anzeigen

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

    #16
    Zitat von Maexle Beitrag anzeigen
    Dann bringt es ja eigentlich nicht wirklich was....
    Aber sicher bringt das was!!!!

    Da alte Werte regelmäßig gelöscht werden, wächst die Datenbank gar nicht erst an.
    NUR für den Fall, dass Du das Attribut erst nachträglich setzt, musst Du die Datenbank nach Abschluss des Löschvorgangs einmalig verkleinern. Das Verkleinern kann die Datenbank nun mal nicht, wenn sie online ist.
    Viele Grüße
    Martin

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

    Kommentar


      #17
      Zitat von Msinn Beitrag anzeigen
      Da alte Werte regelmäßig gelöscht werden, wächst die Datenbank gar nicht erst an.
      [Offtopic] Nur mal so aus Interesse, Martin: Wird da wie in alten Zeiten nur löschmarkiert, oder ist da auch gleich ein 'pack table' mit drin?
      /tom

      Kommentar


        #18
        Ein „Pack Table“ ist nicht mit drin:

        SQLite kennt ein solches Kommando nicht. Du kannst da nur die Luft aus der ganzen Datenbnk rauslassen. Das Kommando heißt VACUUM, kann aber auf geöffneten Datenbanken nicht ausgeführt werden.

        Durch das regelmäßige Löschen ist ein Packen auch im allgeminen nicht notwendig, da die frei gewordenen Blöcke für neue Datensätze verwendet werden.
        Viele Grüße
        Martin

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

        Kommentar


          #19
          Ahhh ok, jetzt macht es Sinn. Funktioniert also eher, wie in Dateisystemem üblich - nicht nur Löschmarkierung setzen, sondern 'zur weiteren Verwendung' freigeben. Das war bei den klassischen Datenbanksystemen anders; aber war ja auch ein anderes Jahrtausend. Danke!!!
          /tom

          Kommentar


            #20
            Zitat von Tom Bombadil Beitrag anzeigen

            Code:
            database:
            Code:
            database:
                plugin_name: database
                driver: sqlite3
                connect:
                -   database:./var/db/smarthomeng.db
                -   check_same_thread:0

            Somit sollte es sqlite3 sein.

            Kommentar


              #21
              Zitat von Msinn Beitrag anzeigen
              Aber sicher bringt das was!!!!
              Dann hatte ich Dich falsch verstanden.

              Zitat von Msinn Beitrag anzeigen
              Löschvorgangs einmalig verkleinern
              Zitat von Msinn Beitrag anzeigen
              Kommando heißt VACUUM
              So richtig?
              1. SHNG stoppen
              2. .
                Code:
                /var/db/smarthomeng.db 'VACUUM;'
              3. SHNG starten

              Kommentar


                #22
                Zitat von Tom Bombadil Beitrag anzeigen
                die Daten ansehen und auch nach csv exportieren
                leider klappt das nicht besonders gut. Siehe Bilder... (Nicht der Export selbst sonder die "Kommata" (in der DB sind es ja "Punkte") werden nicht zuverlässig übernommen.

                DB-Wind.png

                DB.png


                edit:
                das maxage klappt ja hervorragend...

                Code:
                # TEST_ITEM_DB.yaml
                
                TEST:
                        ITEM:
                            type: bool
                            database: init
                            database_maxage: 0.015625
                etwa alle 20 Minuten werden die "alten" Einträge gelöscht (die Werte erhalte ich durch einfaches Umschalten im Admin-IF)

                ist natürlich nur zu Testzwecken... alles unter 1 macht ja keinen Sinn.
                Zuletzt geändert von Maexle; 11.01.2022, 11:54.

                Kommentar


                  #23
                  Zitat von Maexle Beitrag anzeigen
                  So richtig?
                  1. SHNG stoppen
                  2. . /var/db/smarthomeng.db 'VACUUM;'
                  3. SHNG starten
                  Zu Schritt 2: So wird das nix - eine .db ist für gewöhnlich keine ausführbare Datei. Du musst Dir die Links schon ansehen, die man Dir schickt, und dann verstehend lesen - dafür brauchst Du das sqlite3 tool oder SQLite Studio:

                  Zitat von Tom Bombadil Beitrag anzeigen
                  mySQL / MariaDB csv Export: Klick, SQLite csv Export: Klick. Anschließend die csv in Excel importieren.
                  Zur Excel-Auswertung:

                  Zitat von Maexle Beitrag anzeigen
                  leider klappt das nicht besonders gut. Siehe Bilder... (Nicht der Export selbst sonder die "Kommata" (in der DB sind es ja "Punkte") werden nicht zuverlässig übernommen.
                  Das ist absolut klar - die linksbündigen Zellen werden als String interpretiert, da in Deiner 'Localization' (Systemeinstellungen) das Komma als Trennzeichen hinterlegt ist. Spalte markieren, über das Menü '.' mit ',' ersetzen, fertig. Alternativ es gleich beim Import richtig machen, oder in einer neuen, zusätzlichen Spalte z.B. per 'wechseln'-Funktion den Punkt durch Komma ersetzen (Funktion in der ersten Zelle 1x schreiben, dann mit dem Kreuz rechts unten an der Zelle bis ganz nach unten ziehen).

                  /tom

                  Kommentar


                    #24
                    Ok.

                    Werde mir die Software mal ansehen.

                    Zu Excel... "Suchen & Ersetzen" ist klar. Ich habe einige Werte im Bild gelb markiert (allerdings habe ich im Text nicht darauf hingewiesen)... dort existiert gar kein Komma, ist also eine Zahl im "Tausender"

                    Kommentar


                      #25
                      Zitat von Maexle Beitrag anzeigen
                      Ich habe einige Werte im Bild gelb markiert (allerdings habe ich im Text nicht darauf hingewiesen)... dort existiert gar kein Komma, ist also eine Zahl im "Tausender"
                      Da diese Werte als Ganzzahl exportiert wurden und somit dort kein zu interpretierendes 'Sonderzeichen' (Komma, Punkt) existiert, hat Excel diese Werte als Zahlen erkannt, was an der rechtbündigen Formatierung erkennbar ist. Die linksbündigen Werte sind für Excel Text, da wegen des Punktes mit den lokalen Spracheinstellungen nicht eindeutig interpretierbar.
                      /tom

                      Kommentar


                        #26
                        Zitat von Tom Bombadil Beitrag anzeigen
                        Das war bei den klassischen Datenbanksystemen anders
                        Dann gehört Oracle bei Dir nicht zu den klassischen Datenbank Systemen?
                        Viele Grüße
                        Martin

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

                        Kommentar


                          #27
                          Nachtrag: Folgende Formel kannst Du übrigens verwenden, um aus den Milli-Zeitstempeln ein normales DateTime zu machen:
                          Code:
                          =(Zelle_mit_Zeitstempel / 86400000) + DATE(1970;1;1)
                          Danach die Ergebniszelle als Datum+Zeit formatieren. Aus '1641900456019' wird so z.B. '11.01.2022 11:27'.

                          /tom

                          Kommentar


                            #28
                            Zitat von Maexle Beitrag anzeigen
                            So richtig?
                            Nein,

                            - VACUUM ist ein Kommando, das Du in der SQLite Administrationssoftware (z.B. sqlitebrowser) ausführst.
                            - /var/db/smarthomeng.db Ist kein ausführbares Programm
                            - /var/db/smarthomeng.db ist auch nicht der Pfad zum Datenbank File. Das Datenbank File liegt unterhalb des SmartHomeNG Basisverzeichnisses in dem Verzeichnis ../var/db
                            Zuletzt geändert von Msinn; 11.01.2022, 13:16.
                            Viele Grüße
                            Martin

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

                            Kommentar


                              #29
                              Zitat von Msinn Beitrag anzeigen
                              Dann gehört Oracle bei Dir nicht zu den klassischen Datenbank Systemen?
                              Zu der Zeit, die ich da im Sinn hatte, turnte Oracle noch hauptsächlich auf VAX'en rum und war im breiten Geschäftsumfeld eher ein 'Exot'.

                              Aber egal, mir reicht's, wenn Larry Ellison jede seiner Megayachten mit meinen Systemen bestückt - auch wenn die LE120 / Rising Sun leider die letzte war, die ich noch persönlich in der Bauphase beaufsichtigen und später öfters in Ft. Lauderdale besuchen durfte ....

                              /tom

                              Kommentar


                                #30
                                Ok,
                                mein erster intensiver Kontakt zu Oracle resultiert aus der Zeit als ich die Verantwortung für die Server Infrastruktur in unserer Firma übernahm. Das was auf einer Sun E20K (also so ein doppelt tiefer Schrank mit ca. 1000kg Gewicht, ja da wurden Server noch nach Gewicht verkauft )

                                Ich habe es bisher leider noch nicht geschafft Oracle zu vertreiben, aber als Oracle Sun und danach BEA kaufte, fühlte ich mich deutlich zu stark umarmt.
                                Viele Grüße
                                Martin

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

                                Kommentar

                                Lädt...
                                X