Vorstellung LoxInFlux: Lox-Daten zu Telegraf/Influx für "Echtzeit" Loxone Statistiken

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Acidcliff
    Dumb Home'r
    • 06.09.2021
    • 11

    #1

    Vorstellung LoxInFlux: Lox-Daten zu Telegraf/Influx für "Echtzeit" Loxone Statistiken

    Hallo zusammen,

    ich möchte euch ein Projekt vorstellen, das ich rund um Weihnachten umgesetzt habe:

    LoxInFlux
    GitHub: https://github.com/Jakob-Gliwa/loxInFlux

    Kurz gesagt:
    Es ist vergleichbar mit dem Kern von Stats4Lox, jedoch speziell für Power User gedacht, die kompromisslos alle von Loxone generierten Daten sammeln wollen – insbesondere, wenn ohnehin eine Telegraf-Instanz für andere Zwecke (z. B. Zigbee2MQTT oder HASS-Daten) läuft.

    Details:
    • LoxInFlux hängt sich an die Websocket-Schnittstelle von Loxone und erhält in Echtzeit alle Updates der in der Visu sichtbaren Controls. Für alle anderen Daten wird ein Grabber verwendet, der diese periodisch (auch über die bestehende Websocketverbindung) abfragt.
    • Die gesammelten Daten werden an eine Telegraf-Instanz weitergeleitet und können in Timeseries-Datenbanken wie InfluxDB gespeichert werden. Mit Tools wie Grafana lassen sich dann wie gewohnt Dashboards und Analysen erstellen.
    • Keine Konfiguration von bspw. VirtualIns in Loxone notwendig : Es werden pauschal alle Daten abgefragt, keine explizite Auswahl von Controls erforderlich.
    • "Opinionated" Ansatz":
      • Keine UI oder Konfigurationsmöglichkeiten für spezifische Controls
      • Filterung, Umbenennung und Deduplizierung erfolgen ausschließlich über Telegraf.
      • Keine End-to-End-Lösung: Telegraf, InfluxDB und Grafana müssen separat installiert werden.
      • Läuft standalone oder als Docker-Container (empfohlen).
    Warum das Ganze?
    Ehrlich gesagt: „Weil es geht.“ 😉

    Da ich selbst jahrelang Stats4Lox benutzt habe (und zur Sicherheit noch nutze), sollten die Tags weitgehend konsistent zu Stats4Lox sein - dass ihr eure Historie nahtlos weiterführen könnt, kann ich aber nicht garantieren.

    Würde mich über Feedback freuen, falls es jemand von euch probieren will!
  • <Andreas>
    LoxBus Spammer
    • 07.03.2023
    • 281

    #2
    Ich find das richtig Cool, Stats4Lox belastet mit den Mqtt Broker zu stark und außerdem könnte man dann alles sauber in Docker laufen lassen 😃

    Werd ich definitiv testen 👌🏻

    Kommentar

    • Acidcliff
      Dumb Home'r
      • 06.09.2021
      • 11

      #3
      Danke dir! 😊

      LoxInFlux kann theoretisch auch MQTT statt UDP als Übertragungsprotokoll zu Telegraf nutzen – also falls du deinen Broker noch mehr knechten möchtest, wäre das die optimale Gelegenheit. 😄 Spaß beiseite: In meinen Tests war MQTT tatsächlich sogar ressourcenschonender als UDP.

      Übrigens, zum Thema Docker: Ich habe auch einen Docker-fähigen “MQTT Relay” entwickelt – im Prinzip eine ähnlich abgespeckte/opinionated Version des MQTT-Gateway. Läuft bei mir jetzt seit etwa drei Wochen stabil. Da es eine kritische Komponente ist, möchte ich es aber erst nach umfangreichen Tests veröffentlichen. Falls du Interesse hast, es vorab zu testen, schick mir einfach eine PN! 🙂

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 4700

        #4
        Stats4Lox nutzt kein MQTT - außer beim Live Collector wenn man JEDE Änderung haben will. Das möchte man aber nicht für alles haben, weil es die Datenbank gigantisch anwachsen lässt.

        Ansonsten werden die Daten per HTTP vom Miniserver abgeholt und dann über ein Socket weiterverarbeitet. Aber eben als Pull.

        Zuletzt geändert von Prof.Mobilux; In den letzten 4 Wochen.
        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar


        • <Andreas>
          <Andreas> kommentierte
          Kommentar bearbeiten
          Ja, ich meinte den live controller, wobei ich es mittlerweile besser in Griff habe

        • Acidcliff
          Acidcliff kommentierte
          Kommentar bearbeiten
          Das mit dem Datenwachstum ist aber auf jeden Fall ein wichtiger Punkt. Bspw. sind Elemente wie die Energiemeter können extrem gesprächig sein.

          Daher ist es wichtig ein sinnvolles Telegraf-Setup aufzubauen, bspw.:
          - processors.dedup -> Um gleichbleibende Werte zu filtern
          - aggregators.final (oder andere Aggregatoren) -> Um Werte über einen bestimmten Zeitraum zu aggregieren

          Dass es am Ende größer wird als wenn man nur für ausgwählte Elemente alle X Minuten grabt ist aber natürlich klar.

          Mit großer Macht kommt große Verantwortung
      Lädt...