Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  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.1k

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

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

Grafana und Prometheus in iobroker ein-bzw.anbinden

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
167 Beiträge 32 Kommentatoren 54.6k Aufrufe 32 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    ChristianF
    schrieb am zuletzt editiert von
    #32

    @ChristianF:

    @sissiwup:

    Und dann das SQL:

    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)
    

    erneut durchführen. `

    Danke für die Hilfe. Das Neu-Auslesen der Namen hat funktioniert, sie sind auch in der Tabelle "Namen" angekommen. Leider komme ich beim Thema SQL nicht weiter, da ich auf einen SQL Error laufe:

    Fehler
    
    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)
    
    MySQL meldet: Dokumentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `datapoints` SET `sname`=(select sname from namen where namen.name=datapo' at line 2 
    

    sql1.JPG

    Habe schon diverse Änderungen mit Hochkomma, Anführungszeichen, ohne alles usw. ausprobiert -> ändert nix 😞 `

    Falls noch jemand gegen diese Wand läuft: die SQL Statements müssen EINZELN und NACHEINANDER eingegeben werden. Danke @Sissiwup!

    1 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      bunni
      schrieb am zuletzt editiert von
      #33

      Hallo

      ich habe ein riesiges Problem mit der eigentlichen MySql b Bearbeitung, ich komme damit einfach nicht klar mit dem einsetzten der Ordner usw.

      Wenn ich das Script eingebe bekomme ich folgende Fehlermeldungen:

      <code>MariaDB [(none)]> var anz = 0;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var anz = 0' at line 1
      MariaDB [(none)]> var total = 0;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var total = 0' at line 1
      MariaDB [(none)]> var data = "";
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var data = ""' at line 1
      MariaDB [(none)]> var states = $('*').each(function(id, i) {
          -> 
          -> 
          ->     if (getObject(id)) {
          ->         anz = anz + 1;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var states = $('*').each(function(id, i) {
      
          if (getObject(id)) {
              an' at line 1
      MariaDB [(none)]>         try {
          ->             var devname = getObject(id).common.name;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'try {
                  var devname = getObject(id).common.name' at line 1
      MariaDB [(none)]>             var logenabled = getObject(id).common.custom["sql.0"].enabled;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var logenabled = getObject(id).common.custom["sql.0"].enabled' at line 1
      MariaDB [(none)]>             //count total states with sql logging enabled
          ->             total = total + 1;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '//count total states with sql logging enabled
                  total = total + 1' at line 1
      MariaDB [(none)]>             //onlz write states to file with sql logging enabled
          ->             if (logenabled === true) {
          ->                 log('extract : ' + devname);
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '//onlz write states to file with sql logging enabled
                  if (logenabled ' at line 1
      MariaDB [(none)]>                 var channel = getObject(id).common.name.split(":");
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var channel = getObject(id).common.name.split(":")' at line 1
      MariaDB [(none)]>                 var dp = getObject(id, "rooms");
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var dp = getObject(id, "rooms")' at line 1
      MariaDB [(none)]>                 var raum = dp.enumNames;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var raum = dp.enumNames' at line 1
      MariaDB [(none)]>                 if (raum.length > 0) {
          ->                     //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">"+raum+"<");
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '{
                          //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">' at line 1
      MariaDB [(none)]>                 } else {
          ->                     //    log(anz+"->"+id+":::::"+devname+"----"+channel[0]+">"+"----------"+"<");
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '} else {
                          //    log(anz+"->"+id+":::::"+devname+"----"+channe' at line 1
      MariaDB [(none)]>                     raum = "-";
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'raum = "-"' at line 1
      MariaDB [(none)]>                 }
          ->                 data = data + '"' + id + '","' + channel[0] + '","' + devname + '","' + raum + '"' + String.fromCharCode(10);
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '}
                      data = data + '"' + id + '","' + channel[0] + '","' + devname ' at line 1
      MariaDB [(none)]> 
      MariaDB [(none)]>             }
          -> 
          -> 
          ->         } catch (err) {}
          ->     }
          -> });
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '}
      
              } catch (err) {}
          }
      })' at line 1
      MariaDB [(none)]> 
      MariaDB [(none)]> //log(data);
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '//log(data)' at line 1
      MariaDB [(none)]> var fs = require('fs');
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'var fs = require('fs')' at line 1
      MariaDB [(none)]> fs.writeFile('/home/shares/allusers/namen.csv', data, 'binary', function(error) {
          ->     console.log(' object scanned : ' + anz);
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'fs.writeFile('/home/shares/allusers/namen.csv', data, 'binary', function(error) ' at line 1
      MariaDB [(none)]>     console.log(' SQL enabled objects written to file : ' + total);
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'console.log(' SQL enabled objects written to file : ' + total)' at line 1
      MariaDB [(none)]> });/code]</code>
      
      1 Antwort Letzte Antwort
      0
      • L Offline
        L Offline
        Lbpuma3
        schrieb am zuletzt editiert von
        #34

        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 1 Antwort Letzte Antwort
        0
        • 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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • sissiwupS Offline
              sissiwupS Offline
              sissiwup
              schrieb am zuletzt editiert von
              #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 Antworten Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • crunchipC Abwesend
                            crunchipC Abwesend
                            crunchip
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #44

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

                            umgestiegen von Proxmox auf Unraid

                            1 Antwort Letzte Antwort
                            0
                            • C Offline
                              C Offline
                              ChrisXY
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • KnallochseK Nicht stören
                                KnallochseK Nicht stören
                                Knallochse
                                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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 Nicht stören
                                    KnallochseK Nicht stören
                                    Knallochse
                                    schrieb am zuletzt editiert von
                                    #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.
                                    

                                    😀

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • coyoteC Offline
                                      coyoteC Offline
                                      coyote
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          764

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe