Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Bewährte Histogrammfunktion?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Bewährte Histogrammfunktion?

Scheduled Pinned Locked Moved JavaScript
58 Posts 6 Posters 3.7k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K klassisch

    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.

    BananaJoeB Offline
    BananaJoeB Offline
    BananaJoe
    Most Active
    wrote on last edited by
    #46

    @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)

    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

    K 1 Reply Last reply
    0
    • BananaJoeB BananaJoe

      @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 Offline
      K Offline
      klassisch
      Most Active
      wrote on last edited by
      #47

      @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
      0
      • K Offline
        K Offline
        klassisch
        Most Active
        wrote on last edited by
        #48

        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
        0
        • K Offline
          K Offline
          klassisch
          Most Active
          wrote on last edited by
          #49

          @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
          0
          • K Offline
            K Offline
            klassisch
            Most Active
            wrote on last edited by
            #50

            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?

            BananaJoeB 1 Reply Last reply
            0
            • K klassisch

              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?

              BananaJoeB Offline
              BananaJoeB Offline
              BananaJoe
              Most Active
              wrote on last edited by
              #51

              @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.

              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

              K 1 Reply Last reply
              0
              • BananaJoeB BananaJoe

                @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 Offline
                K Offline
                klassisch
                Most Active
                wrote on last edited by
                #52

                @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.
                BananaJoeB 1 Reply Last reply
                0
                • K klassisch

                  @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.
                  BananaJoeB Offline
                  BananaJoeB Offline
                  BananaJoe
                  Most Active
                  wrote on last edited by
                  #53

                  @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"?

                  ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                  K 1 Reply Last reply
                  0
                  • BananaJoeB BananaJoe

                    @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 Offline
                    K Offline
                    klassisch
                    Most Active
                    wrote on last edited by
                    #54

                    @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.

                    BananaJoeB 1 Reply Last reply
                    0
                    • K klassisch

                      @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.

                      BananaJoeB Offline
                      BananaJoeB Offline
                      BananaJoe
                      Most Active
                      wrote on last edited by
                      #55

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

                      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                      K 1 Reply Last reply
                      0
                      • BananaJoeB BananaJoe

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

                        K Offline
                        K Offline
                        klassisch
                        Most Active
                        wrote on last edited by
                        #56

                        @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
                        0
                        • K klassisch

                          @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 Offline
                          F Offline
                          fastfoot
                          wrote on last edited by
                          #57

                          @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
                          

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          K 1 Reply Last reply
                          0
                          • F fastfoot

                            @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 Offline
                            K Offline
                            klassisch
                            Most Active
                            wrote on last edited by
                            #58

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

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            471

                            Online

                            32.6k

                            Users

                            82.3k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe