MQTT => Influx => Grafana der Solardaten (nach Influx gehts nicht)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin Rasp-Berlin,

    Der MQTT ist nicht der PI, ich habe nur diese Daten angepasst

    Mhm, ich glaube ich verstehe die Verbindungswege der einzelnen Komponenten nicht.

    Ich dachte die influxdb läuft auf dem RPi. Die Meldungen im Journal sind von dem influx-daemon.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • MQTT => Influx => Grafana der Solardaten (nach Influx gehts nicht)? Schau mal ob du hier fündig wirst!

  • MQTT läuft auf einem Devuan-System, Influx und das Phyton-Script auf dem PI

    Wenn ich auf dem PI ein Verbidnungstest-Skript starten, wird diese Verbindung im MQTT-Log angezeigt.

    https://github.com/eclipse/paho.mqtt.python/issues/369

    (Mit meinen Daten angepasst ;)

    Das funktioniert also. Wieso kommen die Daten vom "Shelly Pro 1PM" nicht 'an'?

    Hier stehe ich und weiß im Moment nicht weiter.

    Wie man am Log-Auszug in #19 sieht, steht die Verbindung. Meine Vermutung ist jetzt nur noch, das das Skript auf eine Art abfragt, die der MQTT so nicht beantworten kann.

    In dem Skript hatte ich noch eine andere Änderung gemacht, und zwar habe ich den Benutzernamen und da sPasswort für die Datenbank herausgenommen, doch das hatte am Ergebnis nichts geändert.

    Computer ..... grrrrrr

  • Anstelle der IP im ersten Post den Eintrag 'localhost', obwohl dei beiden System auf unterschiedlichen #Debian'-Computern laufen. Der mit de Mosquitto ist ein Devuan mit SysVinit

    Dann gib mal die ip vom Pi in der Influx Adresse an.

    Das

    Code
    Connected with result code 0

    bedeutet das der Client im Script mit dem Broker Verbunden ist.

  • Moin Rasp-Berlin,

    Das funktioniert also. Wieso kommen die Daten vom "Shelly Pro 1PM" nicht 'an'?

    Das/Der MQTT hat die Daten? Das ist sicher?

    Wir reden nun ausschliesslich von der Verbindung MQTT -> influxdb?

    Auch richtig?

    SRI, das ich so blöde nachfrage...

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Solltest du/ihr mit MQTT jetzt auf keinen grünen Zweig kommen, warum auch immer,

    will ich nur mal erwähnt haben, dass Shelly eine API bietet mit der man auch sehr einfach die Daten direkt Abholen kann.

    https://shelly-api-docs.shelly.cloud/gen1/#shelly1-1pm-settings

    Kurzer Beispielcode

    Beispielcode Python:

    Das ist jetzt nur auszugsweise aus einem von mir geschriebenen Skript zusammen kopiert zum herzeigen, dass es gar nicht mal so aufwendig wäre.

    Bestimmt dürfte es mittlerweile auch schon Module für Shelly geben die einem die Schnittstelle in Python zur Verfügung stellen.

  • Das/Der MQTT hat die Daten? Das ist sicher?

    Ja, das hatte ich doch schon im ersten Beitrag geschrieben:

    Wir reden nun ausschliesslich von der Verbindung MQTT -> influxdb?

    ebenfalls richtig.

    Zitat von Hofei

    Solltest du/ihr mit MQTT jetzt auf keinen grünen Zweig kommen, warum auch immer,

    will ich nur mal erwähnt haben, dass Shelly eine API bietet mit der man auch sehr einfach die Daten direkt Abholen kann.

    https://shelly-api-docs.shelly.cloud/gen1/#shelly1-1pm-settings

    Interessante Seite, doch die Shelly Pro-Modelle habe ich da nicht gefunden, bis auf den Shelly4Pro, doch ich habe einen Shelly Pro 1PM. Hierbei weiß ich nicht wie viele Befehle aus dem Shelly 1 PM-System übernommen werden können. (Die Pros sind für die Hutschiene)

    Computer ..... grrrrrr

    Einmal editiert, zuletzt von Rasp-Berlin (17. September 2022 um 13:22)

  • Dann gib mal die ip vom Pi in der Influx Adresse an.

    Das

    Code
    Connected with result code 0

    bedeutet das der Client im Script mit dem Broker Verbunden ist.

    Das ist mir auch klar, deshalb vermute ich, das der Teil des Skriptes, der die Daten aus dem MQTT abholen soll, nicht richtig definiert ist.

    Hier noch einmal die Definition aus dem Skript:

    Und hier die Daten, als JSON, wie der MQTT sie darstellt:

    --------------

    Ich habe einen Fehler gefunden. Im Skript wird MQTT_TOPC gesetzt, doch dieses Topic gibt es nicht. Nachdem ich das auf

    MQTT_TOPIC = "shelly_BKW/status/switch:0/#"

    gesetzt habe, bekam ich:

    Der Fehler liegt in diesem Bereich:

    Das Skript kann mit dem Index "ENERGY" wohl nichts anfangen. Hmmm.

    [Die Payload, also das, was das Skript aus dem MQTT geholt hat, wird beim Fehler mit ausgegeben, weil im Skript 'print(paylod)' steht]

    Computer ..... grrrrrr

  • Hallo,

    ja, stimmt. Die JSON-Daten haben keinen Schlüssel "ENERGY". Wenn du das `[ENERGY]` im Quelltext entfernst und aus `MQTT_FIELDS` `total`entfernst, sollte das Skript zumindest Daten für die DB liefern. In wie fern das die Daten sind, die du Speichern willst (in den JSON-Daten sind ja noch mehr Daten drin) kann ich nicht beurteilen.

    Gruß, noisefloor

  • also, das Skript mault nicht mehr ;)

    Nur 'apower' muss dann noch vorzeichenfrei werden.

    Und in der Datenbank ist jetzt auch etwas zu finden:

    Schön ;)

    Computer ..... grrrrrr

  • Moin Rasp-Berlin,

    auch wenn ich kein Wächter bin...

    Ist dein Thema eigentlich erledigt?

    Wenn ja, dann als erledigt markieren. Danke!

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!