Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Bewährte Histogrammfunktion?

    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

    Bewährte Histogrammfunktion?

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      klassisch Most Active @BananaJoe last edited by

      @bananajoe Vielen Dank für die Erläuterungen.
      Ich bin ja IT-Laie und hatte ein anderes Verständnis von Hochverfügbarkeit.
      Ich mache seit 30 Jahren viel mit Safety und das geht tatsächlich oft zu Lasten der Verfügbarkeit, weil der sichere Zustand entsprechend definiert ist.
      Deshalb dachte ich, daß bei Hochverfügbarkeitssystemen die Redundanz zugunsten der Verfügbarkeit genutzt wird.

      Ich werde mal versuchen, die MariaDB (für mich Laie halt eine Diva) auf die SSD zu legen. Bin ja noch immer im Testbetrieb, um genau solche Sachen zu lernen.

      Die Ereignisanzeige sagt:

      Der E/A-Vorgang an der logischen Blockadresse "0x130f15978" für den Datenträger "2" (PDO-Name: \Device\00000080) wurde wiederholt.
      
      
      {Fehler beim verzögerten Schreibvorgang} Nicht alle Daten für Datei "F:\$Mft" wurden gespeichert. Die Daten gingen verloren. Mögliche Ursachen sind Fehler bei der Computerhardware oder bei der Netzwerkverbindung. Versuchen Sie, die Datei woanders zu speichern.
      
      Bei einem Auslagerungsvorgang wurde ein Fehler festgestellt. Betroffen ist Gerät \Device\Harddisk2\DR2.
      
      Die Daten konnten nicht in das Transaktionsprotokoll verschoben werden. Die Daten sind möglicherweise beschädigt: Volume-ID: F:, Gerätename: \Device\HarddiskVolume7.
      
                 Fehlerstatus: Ein nicht vorhandenes Gerät wurde angegeben.
      
                 Geräte-GUID: {bd0b7f69-f71c-3fad-2eb4-c5303153de8c}
                 Gerätehersteller: TO Exter
                 Gerätemodell: nal USB 3.0     
                 Geräterevision: 0104
                 Seriennummer des Geräts: 2015033100081
                 Bustyp: USB
      
                 Seriennummer des Adapters: 
      
      
      Die Daten konnten nicht in das Transaktionsprotokoll verschoben werden. Die Daten sind möglicherweise beschädigt: Volume-ID: F:, Gerätename: \Device\HarddiskVolume7.
      
                 Fehlerstatus: Ein nicht vorhandenes Gerät wurde angegeben.
      
                 Geräte-GUID: {bd0b7f69-f71c-3fad-2eb4-c5303153de8c}
                 Gerätehersteller: TO Exter
                 Gerätemodell: nal USB 3.0     
                 Geräterevision: 0104
                 Seriennummer des Geräts: 2015033100081
                 Bustyp: USB
      
                 Seriennummer des Adapters: 
      
      
      System call failed: WinUsb_ControlTransfer: 433.
      
      {Fehler beim verzögerten Schreibvorgang} Nicht alle Daten für Datei "" wurden gespeichert. Die Daten gingen verloren. Mögliche Ursachen sind Fehler bei der Computerhardware oder bei der Netzwerkverbindung. Versuchen Sie, die Datei woanders zu speichern.
      
      System call failed: WinUsb_ControlTransfer: 433.
      
      Die Qualitätssicherungsüberprüfung für Fingereingabe-/Touchpad-Hardware wurde erfolgreich abgeschlossen.
      
      
      Dienst "MariaDB" wurde unerwartet beendet. Dies ist bereits 2 Mal passiert.
      
      Volume "F:" (\Device\HarddiskVolume12) ist fehlerfrei. Es ist keine Aktion erforderlich.
      

      Keine Ahnung, was da war. Aber an den USBs hängt einiges. 2 Platten, Drucker.

      1 Reply Last reply Reply Quote 0
      • K
        klassisch Most Active last edited by

        Da kommt man sich so richtig blöd vor. Ich finde keine Möglichkeit, den Speicherort der Datenbank festzulegen.
        Habe gelesen, man könne da in my.in oder my.cnf. Alles das scheint es bei mir nicht zu geben.
        Heidi hilft leider auch nicht weiter.

        BananaJoe 1 Reply Last reply Reply Quote 0
        • BananaJoe
          BananaJoe Most Active @klassisch last edited by

          @klassisch laut google klingt das nun nicht so schwer ...
          https://www.techbrothersit.com/2017/12/how-to-change-mariadb-data-directory-on.html

          Bei mir unter Linux steht es in der

          /etc/mysql/mariadb.conf.d/50-server.cnf
          

          in meiner `my.cnf' wird auf das Verzeichnis verweisen (so das alle Dateien dort includiert werden),
          dort gibt es einen Abschnitt wie folgt:

          [mysqld]
          #
          # * Basic Settings
          #
          user                    = mysql
          pid-file                = /run/mysqld/mysqld.pid
          socket                  = /run/mysqld/mysqld.sock
          #port                   = 3306
          basedir                 = /usr
          datadir                 = /var/lib/mysql
          tmpdir                  = /tmp
          lc-messages-dir         = /usr/share/mysql
          

          datadirklingt doch recht eindeutig ...

          Die Daten können auch in der my.cnf stehen
          Alternativ wäre MariaDB beim starten diese Angaben als Parameter mitzugeben, dann müsste es im Dienst zu sehen sein und könnte in der Registry geändert werden. Wahrscheinlich steht da abe rnur der Verweis auf die Konfigurationsdatei(en)

          K 1 Reply Last reply Reply Quote 0
          • K
            klassisch Most Active @BananaJoe last edited by

            @bananajoe sagte in Bewährte Histogrammfunktion?:

            Alternativ wäre MariaDB beim starten diese Angaben als Parameter mitzugeben, dann müsste es im Dienst zu sehen sein und könnte in der Registry geändert werden. Wahrscheinlich steht da abe rnur der Verweis auf die Konfigurationsdatei(en)

            Vielen Dank! So irgendwie muß das sein.
            Habe im MariaDB Verzeichnis nichts in Richtung *.cnf , *.cfg , .conf gefunden.
            Auch nicht unter users.
            Mal schauen, ob ich in der registry etwas finde, auch wenn ich mich dort nicht wirklich auskenne.

            1 Reply Last reply Reply Quote 0
            • K
              klassisch Most Active last edited by

              Das könnte damit zusammenhängen
              0dcd8a97-7610-4372-8157-45c1e19dd6d0-grafik.png

              Das heißt, das my.ini file steht im Datenverzeichnis.

              Dort steht dann

              [mysqld]
              datadir=F:/mariadb/data
              port=3306
              innodb_buffer_pool_size=942M
              [client]
              port=3306
              plugin-dir=C:\Program Files\MariaDB 10.7/lib/plugin
              

              D.h. ich müßte dann den regedit Eintrag umbiegen auf das neue Datenverzeichnis und dort dann in der my.ini ebenfalls das neue Datenverzeichnis benennen.

              Iregndwie doppelt, weil die ini im Datenverzeichnis und nicht beim Programm steht.

              1 Reply Last reply Reply Quote 0
              • K
                klassisch Most Active last edited by

                @BananaJoe vielen Dank, Bin wieder im Testbetrieb.
                Habe die my.ini auf dem neuen Laufwerk geändert und auch die registry editiert.
                Danke für Deine geduldieg und ausdauernde Hilfe. Ich hätte nicht erwartet, daß ein Linuxprogramm solche Infos in der Win registry hinterlegt.
                Jetzt beobachte ich weiter.
                Ich habe ja keinen Zeitdruck, aber um das Thema Datenbank werde ich auf kurz oder lang nicht drumrumkommen. Also langsam "ranpirschen".

                1 Reply Last reply Reply Quote 0
                • K
                  klassisch Most Active last edited by

                  So immerhin schon 3 Tage durchgelaufen ohne Probleme.
                  Mein Vetrauen wächst.
                  Also zurück zur Ausgangsfrage: Wie kann man jetzt aus den Daten Histogramme ableiten?
                  Nehme an, daß man dazu eine Datenbankabfrage vornimmt, wodurch dann die Histrogramme während der Abfrage berechnet werden.
                  Habe bisher noch keine Erfahrung mit solchen Abfragen und den mutmaßlich dafür genutzten "Sprachen".
                  Gibt es ein bewährtes und kompaktes Tutorial mit Beispielen an denen man sich orientieren udn entlanghangeln kann?

                  BananaJoe 1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active @klassisch last edited by

                    @klassisch also ich nutze den eCharts Adapter. Der findet selbst alle Datenpunkte bei denen eingestellt wurde das Daten aufgezeichnet werden sollen, egal ob über History, SQL oder anderes.
                    In der Konfiguration von eCharts kann ich dann diese Datenpunkte als Quelle auswählen und mit mein passendes Diagramm zusammen bauen, ggf. aus mehreren Datenpunkten.
                    In die VIS bekommt man es über das zughörige Widget.
                    Vorher hatte ich Float genutzt, das funktioniert sinngemäß genauso.

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      klassisch Most Active @BananaJoe last edited by

                      @bananajoe Vielen Dank, ich nutze noch Flot und kann Daten von History und MariaDB plotten.

                      Meine Frage geht jetzt in die Richtung:

                      • Ich habe Daten in ihrer zeitlichen Abfolge
                      • Aus diesem Zeitverlauf möchte ich nachträglich weitere Auswertungen fahren, wie z.B. ein Häufigkeitshistogramm erstellen. In Flot habe ich dazu keine Funktion gefunden und dachte jetzt, daß eine Datenbank das leisten kann.
                      BananaJoe 1 Reply Last reply Reply Quote 0
                      • BananaJoe
                        BananaJoe Most Active @klassisch last edited by

                        @klassisch Wenn du dir die Anleitung des SQL-Adapters anschaust siehts du dort wie man eigene Abfragen machen kann.
                        Eine Auswertung wäre ja ein SQL-Statement / - Abfrage

                        Was genau willst du "Auswerten"?

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          klassisch Most Active @BananaJoe last edited by

                          @bananajoe sagte in Bewährte Histogrammfunktion?:

                          @klassisch Wenn du dir die Anleitung des SQL-Adapters anschaust siehts du dort wie man eigene Abfragen machen kann.

                          Vielen Dank, das werde ich mir anschauen

                          Eine Auswertung wäre ja ein SQL-Statement / - Abfrage

                          Das war meine Vermutung

                          Was genau willst du "Auswerten"?

                          Ich will wissen wie häufig die aufgezeichneten Werte in entsprechenden Wertebereichen liegen. Also ein einfaches Histogramm aus aufgezeichneten Daten generieren.

                          BananaJoe 1 Reply Last reply Reply Quote 0
                          • BananaJoe
                            BananaJoe Most Active @klassisch last edited by

                            @klassisch pff da kann ich dir nicht weiterhelfen. Sicher könnte ich mir das zusammengoogeln, aber das kannst du dann auch selbst.

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              klassisch Most Active @BananaJoe last edited by

                              @bananajoe sagte in Bewährte Histogrammfunktion?:

                              @klassisch pff da kann ich dir nicht weiterhelfen. Sicher könnte ich mir das zusammengoogeln, aber das kannst du dann auch selbst.

                              Danke, Ja klar, Du mußt Dir nicht meine Arbeit machen.
                              Ich starte mal mit der Anleitung zum SQL Adapter und schleiche mich langsam an das Thema an.

                              F 1 Reply Last reply Reply Quote 0
                              • F
                                fastfoot @klassisch last edited by

                                @klassisch Hier mal eine SQL Abfrage für Tankerkönig, die Klassen und Datenpunkt ID('s) kannst du ja sehr leicht anpassen. Evlt vorher mit Heidi-SQL durchspielen

                                SELECT d.name,
                                SUM(CASE WHEN val BETWEEN 1.70 AND 1.79 THEN 1 ELSE NULL END) AS k1,
                                SUM(CASE WHEN val BETWEEN 1.80 AND 1.89 THEN 1 ELSE NULL END) AS k2,
                                SUM(CASE WHEN val BETWEEN 1.90 AND 1.99 THEN 1 ELSE NULL END) AS k3,
                                SUM(CASE WHEN val BETWEEN 2.00 AND 2.09 THEN 1 ELSE NULL END) AS k4,
                                SUM(CASE WHEN val BETWEEN 2.10 AND 2.19 THEN 1 ELSE NULL END) AS k5,
                                SUM(CASE WHEN val BETWEEN 2.20 AND 2.29 THEN 1 ELSE NULL END) AS k6,
                                SUM(CASE WHEN val BETWEEN 2.30 AND 2.39 THEN 1 ELSE NULL END) AS k7
                                FROM ts_number n 
                                JOIN datapoints d ON n.id=d.id AND d.name LIKE "tankerkoenig.0.stations%.feed"
                                WHERE ts > UNIX_TIMESTAMP ('2022-3-1 00:00:00')*1000
                                GROUP BY d.name
                                
                                K 1 Reply Last reply Reply Quote 0
                                • K
                                  klassisch Most Active @fastfoot last edited by

                                  @fastfoot Danke für das Beispiel. Versuche mich nach und nach durchzukämpfen.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  929
                                  Online

                                  31.9k
                                  Users

                                  80.1k
                                  Topics

                                  1.3m
                                  Posts

                                  6
                                  58
                                  2062
                                  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