Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin: InfluxDB für schicke Charts mit Grafana

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #46
    Hallo,

    Ich bin ein Stück weiter.
    Code:
    > use smarthome
    Using database smarthome
    > show series
    key
    ---
    Haustechnik.UVR.Aussentemp,caller=Logic
    Haustechnik.UVR.Kollektortemp,caller=Logic
    Haustechnik.UVR.Solarstr,caller=Logic
    Haustechnik.UVR.T_Speicher_1,caller=Logic
    Haustechnik.UVR.T_Speicher_2,caller=Logic
    Haustechnik.UVR.T_Speicher_3,caller=Logic
    Haustechnik.UVR.T_Speicher_4,caller=Logic
    
    > select * from "Haustechnik.UVR.T_Speicher_4" where "caller"='Logic' limit 10
    name: Haustechnik.UVR.T_Speicher_4
    time                caller value
    ----                ------ -----
    1526205943786832825 Logic  43.4
    1526206011365570596 Logic  43.5
    1526206053970396039 Logic  43.4
    1526206236988962172 Logic  43.2
    1526206841569230199 Logic  43.3
    1526207140966059130 Logic  43.4
    1526208041423157232 Logic  43.7
    1526208341004225386 Logic  43.5
    1526208641037602166 Logic  43.6
    1526209241081167805 Logic  43.7
    Das sieht doch erstmal gut aus, oder?

    Sehe ich es richtig, dass das Problem dann in Grafana liegen muss?

    @Msinn: Ja, die Umfrage habe ich gesehen und ich habe mich auch beteiligt.

    Gruß,
    Hendrik

    Kommentar


      #47
      Hallo,

      es funktioniert.
      Aus irgendeinem Grund war der Datenbereich der ganze 10.Mai. :-o

      Gruß&Danke,
      Hendrik

      Kommentar


        #48
        Ich habe gerade eine ganze Menge Fehlermeldungen im /var/log/influxdb.log gefunden und bemerkt, dass bei einigen Items die Grafiken gar nicht passen..

        Code:
        Jul  5 13:52:08 SmartHome influxd[659]: [udp] 2018/07/05 13:52:08 Failed to parse points: unable to parse 'jalousien.og.osten_stiegenhaus.hoehe,caller=AutoBlind Plugin,dest=None,source=None value=255.0': invalid number
        ....
        Jul  5 15:43:41 SmartHome influxd[659]: [retention] 2018/07/05 15:43:41 retention policy shard deletion check commencing
        Jul  5 15:46:11 SmartHome influxd[659]: [udp] 2018/07/05 15:46:11 Failed to parse points: unable to parse 'jalousien.eg.bad.hoehe,caller=AutoBlind Plugin,dest=None,source=None value=0.0': invalid number
        ....
        Jul  5 15:46:12 SmartHome influxd[659]: [udp] 2018/07/05 15:46:12 Failed to parse points: unable to parse 'jalousien.og.osten_stiegenhaus.hoehe,caller=AutoBlind Plugin,dest=None,source=None value=0.0': invalid number
        Wenn ich mir die Series über die CLI ansehe, kommen folgende Einträge von heute:
        Code:
        1530732848403330468     KNX     3/1/34  1.1.4   100 (=gestern)
        1530765006581725018     KNX     3/1/34  1.1.4   98.4 (= 6:30 Uhr)
        1530782022422315933     KNX     3/1/34  1.1.4   98.4 (=11:13 Uhr)
        1530791575503906175     KNX     3/1/34  1.1.4   98.4 (=13:52 Uhr)
        1530801881404778951     KNX     3/1/34  1.1.4   98.4 (=16:44 Uhr)
        Tatsächlich wurde die "0" niemals geschrieben, eine glatte "100" bzw 255 allerdings schon (gestern Abend).
        Entsprechend sinnfrei ist auch die grafische Darstellung in Grafana mit ein paar vereinzelten Balken. Über die SmartVISU und das database Plugin hingegen sieht alles okay aus:
        Screen Shot 2018-07-05 at 20.40.38.png
        Ähnliche Probleme habe ich übrigens auch mit boolschen Items, zB Steckdosen. Dort heißt es dann, dass 0.0 oder 1.0 auch eine invalid number sei. Irgendwelche Ideen?


        Plugincode startet übrigens so, ist das aktuellste aus dem 1.4.2 Master namens "influxdb". Ich habe es ohne weitere Config-Attribute eingebunden.
        Code:
        class InfluxDB(SmartPlugin):
            PLUGIN_VERSION = "1.0.0"
            ALLOW_MULTIINSTANCE = False
        
            def __init__(self, smarthome, host='localhost', udp_port=8089, keyword='influxdb', tags={}, fields={}, value_field='value'):
                self.logger = logging.getLogger(__name__)
                self.logger.info('Init InfluxDB')
        
                self.host = host
                self.udp_port = udp_port
                self.keyword = keyword
                self.tags = tags
                self.fields = fields
                self.value_field = value_field
                self.item_config = {}
        Angehängte Dateien

        Kommentar


          #49
          Moin,

          ich habe das Problem, dass sich das Plugin nicht mit der DB wieder verbindet, wenn die Verbindung mal abgebrochen ist.
          Kennt ihr das Problem/habt ihr Abhilfe?

          Gruß,
          Hendrik

          Kommentar


            #50
            henfri Probier mal das influxdata Plugin. Ist sehr simpel, hat bei mir jetzt aber einfach so getan, als würde influxdb noch laufen, obwohl ich influx service gestoppt habe. Auch nicht optimal, aber zumindest scheint es keine Probleme nach dem Reconnect zu geben.

            Zum obigen Problem von mir.. Hab einen pull request erstellt, bei dem der Caller-String so umgewandelt wird, dass er keine Probleme mehr macht.
            Zuletzt geändert von Onkelandy; 06.08.2018, 22:46.

            Kommentar


              #51
              Danke, probiere ich aus.

              Kommentar


                #52
                Bei mir hatte sich das InfluxDB Plugin mit einer "invalid tag format" - Fehlermeldung verhakt.
                Trace ist aus "/var/log/influxdb.log":
                Code:
                Apr 19 16:13:50 SmartHomeNG influxd[496]: ts=2020-04-19T14:13:50.235988Z lvl=info msg="Failed to parse points" log_id=0MGhD7Dl000 service=udp error="unable to parse 'EG.Wohnzimmer.RTR.Isttemp,caller=knx,source=1.1.2 7:ga=2/0/5,dest=2/0/5 value=22.36': invalid tag format"
                Ich habe die Methode "sendhttp" von "heckmannju" aus Post #36 in mein InfluxDB Plugin eingebaut um den Schreibvorgang besser zu diagnostizieren.
                Danach noch die Methode "create_line" angepasst: ":ga=" durch ",ga=" ersetzt (also den Doppelpunkt im Tag durch ein Komma).
                Seitdem funktioniert's!

                Kommentar


                  #53
                  Zitat von chrisr79 Beitrag anzeigen

                  Ich habe die Methode "sendhttp" von "heckmannju" aus Post #36 in mein InfluxDB Plugin eingebaut um den Schreibvorgang besser zu diagnostizieren.
                  Danach noch die Methode "create_line" angepasst: ":ga=" durch ",ga=" ersetzt (also den Doppelpunkt im Tag durch ein Komma).
                  Seitdem funktioniert's!
                  Magst das vielleicht auf Github entsprechend einpflegen? Danke! https://github.com/smarthomeNG/plugins/pulls

                  Kommentar

                  Lädt...
                  X