Skip to content
  • Home
  • 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

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.5k

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

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

Grafana und Prometheus in iobroker ein-bzw.anbinden

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
167 Beiträge 32 Kommentatoren 54.8k 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
    #31

    @sissiwup:

    Hi,

    die Datenpunkte sind schon so da, nur die Namen sind vlt. noch nicht da.

    Dafür das Script von Dutchman laufen lassen (Export der Namen).

    Dann die Daten wie im 2. Post beschrieben importieren.

    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.

    Ich habe das bei mir automatisiert.

    Das Script läuft einmal pro Nacht (oder auf Anforderung).

    Import und SQL laufen anschließend cron-gesteuert. `

    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 
    

    455_sql1.jpg

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

    Komisch, ansonsten läuft das Ganze prima..

    Vielen Dank!

    Viele Grüße

    Christian

    PS: Die Automatisierungsmöglichkeit würde mich interessieren, wenn mal ganz viel Lust und Zeit da ist ;)

    PPS:

    So sehen die Tabellen aus:
    455_sql2.jpg
    455_namen.jpg

    1 Antwort Letzte Antwort
    0
    • 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 Offline
                                  KnallochseK Offline
                                  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 Offline
                                      KnallochseK Offline
                                      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.
                                      

                                      :grinning:

                                      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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          843

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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