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. Praktische Anwendungen (Showcase)
  4. Grafana und Prometheus in iobroker ein-bzw.anbinden

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Grafana und Prometheus in iobroker ein-bzw.anbinden

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
167 Posts 32 Posters 54.9k Views 32 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.
  • L Lbpuma3

    Hallo,
    Ich habe diese Fehler Meldung (siehe anhang)
    Habe Grafana auf Windows istalliert kann das der Fehler sein?
    Oder muss ich die SQL datenbank erweitern mit (names .....)
    Möchte nur das die Daten die vom Iobroker in die SQL geschrieben werden in Grafana angezeigt werden.
    LG Thomas
    fehler.jpg

    SegwayS Offline
    SegwayS Offline
    Segway
    wrote on last edited by
    #35

    @Lbpuma3

    Bei SQL ist es etwas tricky, bin ich selber drüber gestolpert. Warum ? Weil die Datenpunkte nicht autoamtisch angezeigt werden.
    Deshalb suche ich mir in der Datenbank die entsprechende ID raus und die musst du in die vorletzte Zeile eintragen --> n.id = 1422 (ist für eine Temperaturmessung)

    SELECT
      floor(n.ts/1000) as time_sec,
      n.val as value,
      "Temperatur" as metric
    FROM ts_number n
    WHERE $__unixEpochFrom()*1000<n.ts and $__unixEpochTo()*1000>n.ts and n.id = 1422
    ORDER BY n.ts ASC
    

    Gruß Dirk
    Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

    L 1 Reply Last reply
    0
    • SegwayS Segway

      @Lbpuma3

      Bei SQL ist es etwas tricky, bin ich selber drüber gestolpert. Warum ? Weil die Datenpunkte nicht autoamtisch angezeigt werden.
      Deshalb suche ich mir in der Datenbank die entsprechende ID raus und die musst du in die vorletzte Zeile eintragen --> n.id = 1422 (ist für eine Temperaturmessung)

      SELECT
        floor(n.ts/1000) as time_sec,
        n.val as value,
        "Temperatur" as metric
      FROM ts_number n
      WHERE $__unixEpochFrom()*1000<n.ts and $__unixEpochTo()*1000>n.ts and n.id = 1422
      ORDER BY n.ts ASC
      
      L Offline
      L Offline
      Lbpuma3
      wrote on last edited by
      #36

      @Segway said in Grafana und Prometheus in iobroker ein-bzw.anbinden:

      WHERE $__unixEpochFrom()*1000<n.ts and $__unixEpochTo()*1000>n.ts and n.id = 1422

      Danke du hast mir sehr geholfen.
      Großkleinschreibung bei "__unixEpochTo" war mein Fehler.
      LG

      1 Reply Last reply
      0
      • sissiwupS Offline
        sissiwupS Offline
        sissiwup
        wrote on last edited by
        #37

        Hallo, um die Auswahl der Datenpunkte einfacher zu gestalten habe ich Variablen eingebaut:

        Anmerkung 2019-03-02 110018.jpg

        Anmerkung 2019-03-02 110055.jpg

        Anmerkung 2019-03-02 110131.jpg

        Device

        SELECT DISTINCT concat(sname," ",mid(name,10,10)," ",raum) FROM `datapoints` where not isnull(sname) and instr(lname,"-") = 3 and instr(lname,":")=6  and length(raum)>1
        

        Geräte:

        SELECT concat(right(concat("0000",id),4)," ",lname,"(",raum,") ",case type when 0 then "Nu" when 1 then "St" when 2 then "Bo" else "?" end) FROM `datapoints` where not isnull(lname) and instr(lname,"-") = 3 and instr(lname,":")=6 and (instr(lname,"BAT")>0 or instr(lname,"MOTION")>0 or instr(lname,"BRIGHT")>0 or instr(lname,"TEMP")>0 or instr(lname,"STATE")>0 or instr(lname,"VALVE")>0 or instr(lname,"HUMI")>0 or instr(lname,"POWER")>0) order by lname
        

        Datapoints

        SELECT concat(right(concat("0000",id),4)," ",lname,"(",raum,") ",case type when 0 then "Nu" when 1 then "St" when 2 then "Bo" else "?" end) FROM `datapoints` where not isnull(lname)  order by lname
        

        Anmerkung 2019-03-02 110239.jpg

        Anmerkung 2019-03-02 110402.jpg

        Anmerkung 2019-03-02 110459.jpg

        Man kann die Variablen auch in Querys verwenden:

        Anmerkung 2019-03-02 111413.jpg

        Anmerkung 2019-03-02 111519.jpg

        Anmerkung 2019-03-02 111147.jpg

        Anmerkung 2019-03-02 111213.jpg

        MfG

        Sissi

        –-----------------------------------------

        1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


        SegwayS 2 Replies Last reply
        1
        • sissiwupS sissiwup

          Hallo, um die Auswahl der Datenpunkte einfacher zu gestalten habe ich Variablen eingebaut:

          Anmerkung 2019-03-02 110018.jpg

          Anmerkung 2019-03-02 110055.jpg

          Anmerkung 2019-03-02 110131.jpg

          Device

          SELECT DISTINCT concat(sname," ",mid(name,10,10)," ",raum) FROM `datapoints` where not isnull(sname) and instr(lname,"-") = 3 and instr(lname,":")=6  and length(raum)>1
          

          Geräte:

          SELECT concat(right(concat("0000",id),4)," ",lname,"(",raum,") ",case type when 0 then "Nu" when 1 then "St" when 2 then "Bo" else "?" end) FROM `datapoints` where not isnull(lname) and instr(lname,"-") = 3 and instr(lname,":")=6 and (instr(lname,"BAT")>0 or instr(lname,"MOTION")>0 or instr(lname,"BRIGHT")>0 or instr(lname,"TEMP")>0 or instr(lname,"STATE")>0 or instr(lname,"VALVE")>0 or instr(lname,"HUMI")>0 or instr(lname,"POWER")>0) order by lname
          

          Datapoints

          SELECT concat(right(concat("0000",id),4)," ",lname,"(",raum,") ",case type when 0 then "Nu" when 1 then "St" when 2 then "Bo" else "?" end) FROM `datapoints` where not isnull(lname)  order by lname
          

          Anmerkung 2019-03-02 110239.jpg

          Anmerkung 2019-03-02 110402.jpg

          Anmerkung 2019-03-02 110459.jpg

          Man kann die Variablen auch in Querys verwenden:

          Anmerkung 2019-03-02 111413.jpg

          Anmerkung 2019-03-02 111519.jpg

          Anmerkung 2019-03-02 111147.jpg

          Anmerkung 2019-03-02 111213.jpg

          SegwayS Offline
          SegwayS Offline
          Segway
          wrote on last edited by
          #38

          @sissiwup

          Das gibts doch nicht, GENAU DAS HABE ICH GESUCHT !!!!!
          Genial --> 5 STERNE !!!!!!

          Gruß Dirk
          Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

          1 Reply Last reply
          0
          • sissiwupS sissiwup

            Hallo, um die Auswahl der Datenpunkte einfacher zu gestalten habe ich Variablen eingebaut:

            Anmerkung 2019-03-02 110018.jpg

            Anmerkung 2019-03-02 110055.jpg

            Anmerkung 2019-03-02 110131.jpg

            Device

            SELECT DISTINCT concat(sname," ",mid(name,10,10)," ",raum) FROM `datapoints` where not isnull(sname) and instr(lname,"-") = 3 and instr(lname,":")=6  and length(raum)>1
            

            Geräte:

            SELECT concat(right(concat("0000",id),4)," ",lname,"(",raum,") ",case type when 0 then "Nu" when 1 then "St" when 2 then "Bo" else "?" end) FROM `datapoints` where not isnull(lname) and instr(lname,"-") = 3 and instr(lname,":")=6 and (instr(lname,"BAT")>0 or instr(lname,"MOTION")>0 or instr(lname,"BRIGHT")>0 or instr(lname,"TEMP")>0 or instr(lname,"STATE")>0 or instr(lname,"VALVE")>0 or instr(lname,"HUMI")>0 or instr(lname,"POWER")>0) order by lname
            

            Datapoints

            SELECT concat(right(concat("0000",id),4)," ",lname,"(",raum,") ",case type when 0 then "Nu" when 1 then "St" when 2 then "Bo" else "?" end) FROM `datapoints` where not isnull(lname)  order by lname
            

            Anmerkung 2019-03-02 110239.jpg

            Anmerkung 2019-03-02 110402.jpg

            Anmerkung 2019-03-02 110459.jpg

            Man kann die Variablen auch in Querys verwenden:

            Anmerkung 2019-03-02 111413.jpg

            Anmerkung 2019-03-02 111519.jpg

            Anmerkung 2019-03-02 111147.jpg

            Anmerkung 2019-03-02 111213.jpg

            SegwayS Offline
            SegwayS Offline
            Segway
            wrote on last edited by
            #39

            @sissiwup sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

            SELECT DISTINCT concat(sname," ",mid(name,10,10)," ",raum) FROM datapoints where not isnull(sname) and instr(lname,"-") = 3 and instr(lname,":")=6 and length(raum)>1

            Bei mir kommt leider ein Fehler - ne Idee ?
            c3a8f600-86ca-495f-ae83-eab42c2e0fff-image.png

            Gruß Dirk
            Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

            sissiwupS 1 Reply Last reply
            0
            • SegwayS Segway

              @sissiwup sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

              SELECT DISTINCT concat(sname," ",mid(name,10,10)," ",raum) FROM datapoints where not isnull(sname) and instr(lname,"-") = 3 and instr(lname,":")=6 and length(raum)>1

              Bei mir kommt leider ein Fehler - ne Idee ?
              c3a8f600-86ca-495f-ae83-eab42c2e0fff-image.png

              sissiwupS Offline
              sissiwupS Offline
              sissiwup
              wrote on last edited by
              #40

              @Segway sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

              @sissiwup sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

              SELECT DISTINCT concat(sname," ",mid(name,10,10)," ",raum) FROM datapoints where not isnull(sname) and instr(lname,"-") = 3 and instr(lname,":")=6 and length(raum)>1

              Bei mir kommt leider ein Fehler - ne Idee ?
              c3a8f600-86ca-495f-ae83-eab42c2e0fff-image.png

              Hi, ggf. musst du bei dir die Abfragten anpassen. Meine Abfragen gehen auf die erweiterten Tabellen (siehe erste Beiträge)

              MfG

              Sissi

              –-----------------------------------------

              1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


              1 Reply Last reply
              0
              • sissiwupS sissiwup

                Zuerst exportieren wir alle Datenpunkte aus iobroker:

                im Skriptadapter erzeuge ein Skript:

                (Hier nutzt besser die optimierte Version von Dutchman - ein paar Posts weiter unten)

                var anz=0;
                var data="";
                var states = $('*').each(function(id,i) {
                
                    if (getObject(id)) {
                        anz=anz+1;
                        var devname=getObject(id).common.name;
                        var channel=getObject(id).common.name.split(":");
                        var dp = getObject(id,"rooms");
                        var raum=dp.enumNames;
                        if (raum.length>0) {
                        //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">"+raum+"<");
                        } else {
                        //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">"+"----------"+"<");
                            raum="-"
                        }
                        data = data + '"'+id+'","'+channel[0]+'","'+devname+'","'+raum+'"'+String.fromCharCode(10);
                
                    }
                });
                  //log(data);
                  var fs = require('fs');
                  fs.writeFile('/home/shares/allusers/namen.csv', data,'binary', function (error) {
                    console.log(' file written-'+anz);
                });
                

                Der Pfad "/home/shares/allusers/namen.csv" muss natürlich angepasst werden.

                Im MySQL erzeugen wir eine neue Tabelle:
                609_graf3.jpg
                609_graf4.jpg
                Importieren: Hier ist die Zeichentabelle für ein Linux-System ausgewählt, ggf. anpassen.
                609_graf5.jpg
                Jetzt erweitern wir die Tabelle Datapoints:

                (hier brauchen nur sname,lname und raum hinzugefügt werden, alle als TEXT und NULLable)

                (Achtung, wenn ihr type0,… auch hinzufügt, macht sie Nullable, nicht wie auf dem Bild!)
                609_graf6.jpg

                Jetzt füllen wir die Datenpunkte mit sprechenden Namen:

                ​````
                UPDATE datapoints SET lname=(select lname from namen where namen.name=datapoints.name limit 1);
                UPDATE datapoints SET sname=(select sname from namen where namen.name=datapoints.name limit 1);
                UPDATE datapoints SET raum=(select raum from namen where namen.name=datapoints.name limit 1);

                SegwayS Offline
                SegwayS Offline
                Segway
                wrote on last edited by
                #41

                @sissiwup sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

                Jetzt füllen wir die Datenpunkte mit sprechenden Namen:
                ​````
                UPDATE datapoints SET lname=(select lname from namen where namen.name=datapoints.name limit 1)
                UPDATE datapoints SET sname=(select sname from namen where namen.name=datapoints.name limit 1)
                UPDATE datapoints SET raum=(select raum from namen where namen.name=datapoints.name limit 1)

                Mal eine Frage:
                In welcher der angelegten Tabellen muss ich sein um diese Befehle "abzufeuern" ???
                Einmal ist mir die DB schon abgeschmiert :-(

                Gruß Dirk
                Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                sissiwupS 1 Reply Last reply
                0
                • SegwayS Segway

                  @sissiwup sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

                  Jetzt füllen wir die Datenpunkte mit sprechenden Namen:
                  ​````
                  UPDATE datapoints SET lname=(select lname from namen where namen.name=datapoints.name limit 1)
                  UPDATE datapoints SET sname=(select sname from namen where namen.name=datapoints.name limit 1)
                  UPDATE datapoints SET raum=(select raum from namen where namen.name=datapoints.name limit 1)

                  Mal eine Frage:
                  In welcher der angelegten Tabellen muss ich sein um diese Befehle "abzufeuern" ???
                  Einmal ist mir die DB schon abgeschmiert :-(

                  sissiwupS Offline
                  sissiwupS Offline
                  sissiwup
                  wrote on last edited by
                  #42

                  @Segway sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

                  @sissiwup sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

                  Jetzt füllen wir die Datenpunkte mit sprechenden Namen:
                  ​````
                  UPDATE datapoints SET lname=(select lname from namen where namen.name=datapoints.name limit 1)
                  UPDATE datapoints SET sname=(select sname from namen where namen.name=datapoints.name limit 1)
                  UPDATE datapoints SET raum=(select raum from namen where namen.name=datapoints.name limit 1)

                  Mal eine Frage:
                  In welcher der angelegten Tabellen muss ich sein um diese Befehle "abzufeuern" ???
                  Einmal ist mir die DB schon abgeschmiert :-(

                  Hi,
                  du musst das nur machen, wenn du meine Variablen 1:1 übernehmen willst.
                  Die Tabelle namen im Space iobroker sollte gefüllt sein.
                  Und du updates die Tabelle datapoints. Und es sind 3 einzelne Befehle, sonst per ";" trennen!

                  MfG

                  Sissi

                  –-----------------------------------------

                  1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                  SegwayS 1 Reply Last reply
                  0
                  • sissiwupS sissiwup

                    @Segway sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

                    @sissiwup sagte in Grafana und Prometheus in iobroker ein-bzw.anbinden:

                    Jetzt füllen wir die Datenpunkte mit sprechenden Namen:
                    ​````
                    UPDATE datapoints SET lname=(select lname from namen where namen.name=datapoints.name limit 1)
                    UPDATE datapoints SET sname=(select sname from namen where namen.name=datapoints.name limit 1)
                    UPDATE datapoints SET raum=(select raum from namen where namen.name=datapoints.name limit 1)

                    Mal eine Frage:
                    In welcher der angelegten Tabellen muss ich sein um diese Befehle "abzufeuern" ???
                    Einmal ist mir die DB schon abgeschmiert :-(

                    Hi,
                    du musst das nur machen, wenn du meine Variablen 1:1 übernehmen willst.
                    Die Tabelle namen im Space iobroker sollte gefüllt sein.
                    Und du updates die Tabelle datapoints. Und es sind 3 einzelne Befehle, sonst per ";" trennen!

                    SegwayS Offline
                    SegwayS Offline
                    Segway
                    wrote on last edited by
                    #43

                    @sissiwup

                    Jo das hatte ich nicht gemacht und jetzt nachgeholt.
                    Kannst du mir einmal erklären, wie nun diese drei Variablen anzuwenden sind wenn ich nun einen Graph erstellen möchte ? SO ganz verstehe ich das noch cniht:

                    ddce3af0-3e2b-4235-be31-0b0e8be09a4d-image.png

                    Gruß Dirk
                    Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                    1 Reply Last reply
                    0
                    • crunchipC Offline
                      crunchipC Offline
                      crunchip
                      Forum Testing Most Active
                      wrote on last edited by
                      #44

                      https://www.heise.de/newsticker/meldung/Grafana-6-2-legt-mehr-Wert-auf-Sicherheit-4432467.html

                      umgestiegen von Proxmox auf Unraid

                      1 Reply Last reply
                      0
                      • C Offline
                        C Offline
                        ChrisXY
                        wrote on last edited by
                        #45

                        hm ist es nicht einfacher den influxDB Adapter zu nutzen ? Die InfluxDB kommt direkt mit Grafana klar das man da ganz einfach nach Werten und Geräten suchen kann.

                        1 Reply Last reply
                        0
                        • KnallochseK Offline
                          KnallochseK Offline
                          Knallochse
                          wrote on last edited by Knallochse
                          #46

                          Für alle die Probleme mit der Einbindung ins VIS haben

                          https://forum.iobroker.net/topic/23503/welche-proxmox-vms-habt-ihr/101

                          Bei Grafana selber gibt es eine Setting "allow_embedding" in der grafana.ini, welche auf true gestellt werden muss.
                          

                          Danke an @Sempre

                          Diese Einstellung muss ab Grafana Version 6.2 vorgenommen werden, um Dashboards im iFrame darzustellen.

                          HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                          arteckA 1 Reply Last reply
                          0
                          • KnallochseK Knallochse

                            Für alle die Probleme mit der Einbindung ins VIS haben

                            https://forum.iobroker.net/topic/23503/welche-proxmox-vms-habt-ihr/101

                            Bei Grafana selber gibt es eine Setting "allow_embedding" in der grafana.ini, welche auf true gestellt werden muss.
                            

                            Danke an @Sempre

                            Diese Einstellung muss ab Grafana Version 6.2 vorgenommen werden, um Dashboards im iFrame darzustellen.

                            arteckA Offline
                            arteckA Offline
                            arteck
                            Developer Most Active
                            wrote on last edited by arteck
                            #47

                            @Knallochse du solltest mal vielleicht schreiben was die Einstellung bewirkt

                            allow_embedding
                            
                            When false, the HTTP header X-Frame-Options: deny will be set in Grafana HTTP responses which will instruct browsers to not allow rendering Grafana in a <frame>, <iframe>, <embed> or <object>. The main goal is to mitigate the risk of Clickjacking. Default is false.
                            

                            zigbee hab ich, zwave auch, nuc's genauso und HA auch

                            KnallochseK 1 Reply Last reply
                            0
                            • arteckA arteck

                              @Knallochse du solltest mal vielleicht schreiben was die Einstellung bewirkt

                              allow_embedding
                              
                              When false, the HTTP header X-Frame-Options: deny will be set in Grafana HTTP responses which will instruct browsers to not allow rendering Grafana in a <frame>, <iframe>, <embed> or <object>. The main goal is to mitigate the risk of Clickjacking. Default is false.
                              
                              KnallochseK Offline
                              KnallochseK Offline
                              Knallochse
                              wrote on last edited by
                              #48

                              Auf Aufforderung von @arteck
                              Diese Einstellung bewirkt:

                              allow_embedding
                              
                              When false, the HTTP header X-Frame-Options: deny will be set in Grafana HTTP responses which will instruct browsers to not allow rendering Grafana in a <frame>, <iframe>, <embed> or <object>. The main goal is to mitigate the risk of Clickjacking. Default is false.
                              

                              :grinning:

                              HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                              1 Reply Last reply
                              0
                              • coyoteC Offline
                                coyoteC Offline
                                coyote
                                Most Active
                                wrote on last edited by
                                #49

                                Habe heute auch Grafana in einem Proxmox Debian 10 Container installiert. Alles ok soweit, läuft mit dem neuen simpleAPI Adapter.
                                Jetzt meine Frage, bekomme es nicht in Vis eingebettet, obwohl ich "allow_embedding" auf true stehen habe und den Grafana Server neu gestartet habe. Jemand ne Idee woran es liegen kann?
                                Im iframe steht "Server hat die Verbindung abgelehnt" aber warum?

                                arteckA 1 Reply Last reply
                                0
                                • sissiwupS sissiwup

                                  Zuerst exportieren wir alle Datenpunkte aus iobroker:

                                  im Skriptadapter erzeuge ein Skript:

                                  (Hier nutzt besser die optimierte Version von Dutchman - ein paar Posts weiter unten)

                                  var anz=0;
                                  var data="";
                                  var states = $('*').each(function(id,i) {
                                  
                                      if (getObject(id)) {
                                          anz=anz+1;
                                          var devname=getObject(id).common.name;
                                          var channel=getObject(id).common.name.split(":");
                                          var dp = getObject(id,"rooms");
                                          var raum=dp.enumNames;
                                          if (raum.length>0) {
                                          //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">"+raum+"<");
                                          } else {
                                          //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">"+"----------"+"<");
                                              raum="-"
                                          }
                                          data = data + '"'+id+'","'+channel[0]+'","'+devname+'","'+raum+'"'+String.fromCharCode(10);
                                  
                                      }
                                  });
                                    //log(data);
                                    var fs = require('fs');
                                    fs.writeFile('/home/shares/allusers/namen.csv', data,'binary', function (error) {
                                      console.log(' file written-'+anz);
                                  });
                                  

                                  Der Pfad "/home/shares/allusers/namen.csv" muss natürlich angepasst werden.

                                  Im MySQL erzeugen wir eine neue Tabelle:
                                  609_graf3.jpg
                                  609_graf4.jpg
                                  Importieren: Hier ist die Zeichentabelle für ein Linux-System ausgewählt, ggf. anpassen.
                                  609_graf5.jpg
                                  Jetzt erweitern wir die Tabelle Datapoints:

                                  (hier brauchen nur sname,lname und raum hinzugefügt werden, alle als TEXT und NULLable)

                                  (Achtung, wenn ihr type0,… auch hinzufügt, macht sie Nullable, nicht wie auf dem Bild!)
                                  609_graf6.jpg

                                  Jetzt füllen wir die Datenpunkte mit sprechenden Namen:

                                  ​````
                                  UPDATE datapoints SET lname=(select lname from namen where namen.name=datapoints.name limit 1);
                                  UPDATE datapoints SET sname=(select sname from namen where namen.name=datapoints.name limit 1);
                                  UPDATE datapoints SET raum=(select raum from namen where namen.name=datapoints.name limit 1);

                                  AxelF1977A Offline
                                  AxelF1977A Offline
                                  AxelF1977
                                  wrote on last edited by
                                  #50

                                  @sissiwup said in Grafana und Prometheus in iobroker ein-bzw.anbinden:

                                  Zuerst exportieren wir alle Datenpunkte aus iobroker:

                                  im Skriptadapter erzeuge ein Skript:

                                  (Hier nutzt besser die optimierte Version von Dutchman - ein paar Posts weiter unten)

                                  var anz=0;
                                  var data="";
                                  var states = $('*').each(function(id,i) {
                                  
                                      if (getObject(id)) {
                                          anz=anz+1;
                                          var devname=getObject(id).common.name;
                                          var channel=getObject(id).common.name.split(":");
                                          var dp = getObject(id,"rooms");
                                          var raum=dp.enumNames;
                                          if (raum.length>0) {
                                          //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">"+raum+"<");
                                          } else {
                                          //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">"+"----------"+"<");
                                              raum="-"
                                          }
                                          data = data + '"'+id+'","'+channel[0]+'","'+devname+'","'+raum+'"'+String.fromCharCode(10);
                                  
                                      }
                                  });
                                    //log(data);
                                    var fs = require('fs');
                                    fs.writeFile('/home/shares/allusers/namen.csv', data,'binary', function (error) {
                                      console.log(' file written-'+anz);
                                  });
                                  

                                  Der Pfad "/home/shares/allusers/namen.csv" muss natürlich angepasst werden.

                                  Im MySQL erzeugen wir eine neue Tabelle:

                                  Hallo zusammen,

                                  @sissiwup , sind diese Schritte auch notwendig, wenn es schon eine prall gefüllt MYSQl Datenbank gibt, mit Werten der letzten 2 Jahre?
                                  Oder kann man hier ab einem anderen Punkt der Anleitung beginnen?

                                  Danke

                                  ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                                  1 Reply Last reply
                                  0
                                  • coyoteC coyote

                                    Habe heute auch Grafana in einem Proxmox Debian 10 Container installiert. Alles ok soweit, läuft mit dem neuen simpleAPI Adapter.
                                    Jetzt meine Frage, bekomme es nicht in Vis eingebettet, obwohl ich "allow_embedding" auf true stehen habe und den Grafana Server neu gestartet habe. Jemand ne Idee woran es liegen kann?
                                    Im iframe steht "Server hat die Verbindung abgelehnt" aber warum?

                                    arteckA Offline
                                    arteckA Offline
                                    arteck
                                    Developer Most Active
                                    wrote on last edited by arteck
                                    #51

                                    @coyote hast du den anonymous Zugang frei geschaltet.. und kein https verwenden

                                    zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                    coyoteC 1 Reply Last reply
                                    0
                                    • arteckA arteck

                                      @coyote hast du den anonymous Zugang frei geschaltet.. und kein https verwenden

                                      coyoteC Offline
                                      coyoteC Offline
                                      coyote
                                      Most Active
                                      wrote on last edited by
                                      #52

                                      @arteck ist ja schon ne Weile her, aber ja der anonymous Zugang war das Problem. Tut mittlerweile alles :+1:

                                      1 Reply Last reply
                                      0
                                      • G Offline
                                        G Offline
                                        GiuseppeS
                                        wrote on last edited by
                                        #53

                                        Danke für die Anleitung. Funktioniert mit dem ioBroker Proxy einwandfrei.

                                        Allerdings habe ich meine Web Instanzen immer über https angesprochen. Über den https proxy lässt sich grafana aber nicht einwandfrei steuern.

                                        Gibt es eine Möglichkeit, den https Proxy im Zusammspiel mit grafana zu nutzen?

                                        Danke

                                        1 Reply Last reply
                                        0
                                        • G Offline
                                          G Offline
                                          GiuseppeS
                                          wrote on last edited by
                                          #54

                                          Jetzt bräuchte ich doch noch Unterstützung:

                                          Wenn ich Grafana über den ioBroker Proxy bediene, ist ein Einloggen nicht möglich. Es kommt keine Fehlermeldung auf der Grafana Seite. Im ioBroker log kommt seitens Proxy die Meldung: proxy hangs up.

                                          Habe anonymous login in Grafana enabled und die Web Instanz mit http (nicht https) verwendet. Den anonymous Zugang in Grafana habe ich auf "Viewer" beschränkt.

                                          Funktioniert es bei euch?

                                          arteckA 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

                                          469

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          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