Ankündigung

Einklappen
Keine Ankündigung bisher.

Umfrage zur Nutzung der time-series Datenbank InfluxDB

Einklappen
Das ist ein wichtiges Thema.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • henfri
    antwortet
    Nee, nix neues.

    Einen Kommentar schreiben:


  • thomaszwanzinger
    antwortet
    Hallo,

    Ich würde mich gerne nach dem Stand der Dinge hier erkundigen. Nach einem Upgrade von Grafana läuft bei mir das influxdata plugin nicht mehr rund (daten werden nicht mehr geladen, UDP port ist aber offen), und wollte jetzt anfangen das Ganze zu debuggen => wenn es aber bereits eine neuere Version gibt mit der ich testen kann, mach ich das lieber.

    Liebe Grüße,
    Thomas

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    das verstehe ich. Aber haben wir denn eigentlich ein Performance-Problem, wenn jede Aktualisierung ein HTTP-Request ist?
    Ich habe bisher stets HTTP genutzt und kein Problem.

    Wie auch immer: Ich habe nix dagegen!

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • heckmannju
    antwortet
    Zitat von henfri Beitrag anzeigen
    Aber mal andersrum: Warum muss man sammeln, bei HTTP? Was spricht gegen neue Verbindungen pro Datenpunkt?
    Performance!

    In meinem Fall
    1 Request mit 3kb vs 180 Request a 1KB in den 10s betrachtungszeitraum bei mir.
    Zuletzt geändert von heckmannju; 05.05.2020, 16:02.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    für mich spricht nix dagegen.
    Aber man könnte die Sammelzeit ja auch konfigurierbar machen:
    0=Sofort senden
    >0 = Sammelzeit

    Aber mal andersrum: Warum muss man sammeln, bei HTTP? Was spricht gegen neue Verbindungen pro Datenpunkt?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • heckmannju
    antwortet
    Ich halte udp hier für das falsche protokoll da man ja wissen will ob das auch in der Datenbank angekommen ist.

    Wenn man viele Daten übertragen will sollte das blockweise alle x sekunden passieren ich habe da 3 Leistungsmessgeräte wo alle 10s mit 60 Datenpunkten abgefragt werden. Das will man nicht über einzelne udp pakete schicken. Ich denke da sollte man was bauen was die requests sammelt und dann blockweise überträgt. Dann kann man das auch wieder sauber über items machen und muss es nicht so wie ich reinfrikeln.

    Wie ist den die Erwartungshaltung an das influxxx plugin sollte das gleich nach einem update in der Datenbank stehen oder reicht es nach 10s?






    Angehängte Dateien

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    vielen Dank dafür.
    Ich denke, das Ziel sollte aber sein, dass das Plugin über udp oder http senden kann (und nicht nur http aus einer Logik nutzbar wird).
    Ich weiß nicht, ob dafür ein
    Code:
    def update_item(self, item, caller=None, source=None, dest=None):
      if self.use_http:
      self.sendhttp( line )
      else:
         self.send( line )
    Reicht, da ich nicht weiß, ob sendhttp die gleichen Daten erwartet...

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • heckmannju
    antwortet
    Hi Hendrik,
    ich habe es einfach so reingefrickelt.

    Weil ich nicht eingesehen habe das ich immer über ein Item gehen muss hier eine beispiel logick wie ich es benutze.
    VG
    Jürgen

    Code:
    sdm230 = minimalmodbus.Instrument('/dev/ttyUSB2', 2, mode='rtu')
    sdm230.serial.baudrate = 9600
    sdm230_fc = 4
    
    result = ""
    for reg in sdm230Register2:
        item = sh.return_item(sdm230Register2[reg][0])
        value = sdm230.read_float(reg-30001, sdm230_fc, 2) 
        item(value) 
        if sdm230Register2[reg][1] == "Wirkleistung":
            value = value*-1
        result += "{},location=PV2,device=sdm230 value={}\n".format( sdm230Register2[reg][1], value )
     
    sh.influxdb.sendhttp(result)
    Angehängte Dateien

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    smai hat es ja hier gut zusammengefasst:
    https://knx-user-forum.de/forum/supp...89#post1254389
    Also lange Rede kurzer Sinn:
    Ich würde influxdata entfernen und influxdb weiterentwickeln und dabei in erster Priorität HTTP implementieren, damit auch das Plugin von SgtSeppel abgelöst werden kann.
    Das macht in meinen Augen Sinn.

    Darüber hinaus:
    Eine Implementierung von HTTP fände ich sinnvoll.
    Per Parameter könnte eingestellt werden, dass auch Itemdaten per HTTP geschrieben werden. Damit könnte das Plugin von SgtSeppel ebenfalls vollständig abgelöst werden. HTTP ist von der Performance her zwar minim schlechter, dafür funktioniert es in der Standardinstallation und ist bei Remote-Datenbanken allenfalls einfacher.
    heckmannju magst du deinen Code teilen?
    Auch das würde ich unterschreiben, da HTTP per default aktiv ist, UDP nicht.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • heckmannju
    antwortet
    Gibt es jetzt eine Entscheidung welches Plugin benutzt werden soll?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    @smai: Kannst du deinen Stand bitte einmal veröffentlichen?
    Ich hab mir die drei Plugins auch gerade angesehen und würde da gerne voran kommen - aber ungerne wiederholen, was du schon gemacht hast.


    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Zitat von smai Beitrag anzeigen
    Ich bin (war) wie erwähnt dran. Es sind ja sogar drei Plugins. Zwei davon unterscheiden sich nur marginal, das dritte ist komplett anders aufgebaut.

    Mein Ziel wäre es, dass das Influx dasselbe API hat wie das database-Plugins hat. Damit könnte es auch direkt für smartVISU-Plots verwendet werden.

    Eigentlich bin ich fast fertig, dann allerdings an gewissen Details hängen geblieben. Ich werde das bei Gelegenheit nochmal angehen.
    smai Du hast vermutlich sehr wenig Zeit, wäre es sinnvoll, das Du Deinen aktuellen Stand veröffentlichst? Vielleicht kann jemand anders dann ja finalisieren?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    macht es vielleicht Sinn, den aktuellen Stand zu veröffentlichen?
    Ich habe bei dem von mir verwendeten Plugin das Problem, dass wenn sh.py schneller startet als Influx keine Daten geloggt werden -vermutlich weil der erste Verbindungsversuch fehlschlägt und ein Reconnect nicht stattfindet.

    Daher habe ich einen gewissen Handlungsbedarf.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • smai
    antwortet
    Ich bin (war) wie erwähnt dran. Es sind ja sogar drei Plugins. Zwei davon unterscheiden sich nur marginal, das dritte ist komplett anders aufgebaut.

    Mein Ziel wäre es, dass das Influx dasselbe API hat wie das database-Plugins hat. Damit könnte es auch direkt für smartVISU-Plots verwendet werden.

    Eigentlich bin ich fast fertig, dann allerdings an gewissen Details hängen geblieben. Ich werde das bei Gelegenheit nochmal angehen.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Also im influx Plugin funktioniert das "out of the box" mit enforce_updates und gegebenenfalls cycle. Hier wird ja keine Dauer gespeichert.
    Wäre übrigens dafür, beide influx Plugins zu einem zu verschmelzen. Hat hier jemand beide getestet? Wo liegen denn die Vor/Nachteile?

    Einen Kommentar schreiben:

Lädt...
X