Jump to content

Tapo P110 Exporter / Prometheus / Grafana


JimnyCricket

Recommended Posts

Hallo ihr Lieben,

ich habe eine Smart-Steckdose von TP-Link "P110", die den Energieverbrauch messen kann (Würde gerne den Verbrauch von meinem Server messen und überwachen. Die Frau ist nicht begeistert davon, dass die Kiste 24/7 brummt 😄 ). Da ich die Daten gerne in einem Grafana-Dashboard angezeigt haben möchte, statt in der Handy-App von TP-Link, war ich auf der Suche dies umzusetzen. 

 

Ich habe bei den Grafana-Dashboards etwas passendes gefunden: https://grafana.com/grafana/dashboards/17104-energy-monitoring/

 

Dort sind auch Verlinkungen zu Github eingefügt, in der ein P110-Exporter zu finden ist. Mit diesem Exporter sollen wohl die Daten von dem P110 abgerufen und in Prometheus eingelesen werden, damit man diese dann in Grafana importieren kann.

 

https://github.com/PovilasID/P110-Exporter

 

Auch im Dockerhub ist es zu finden: https://hub.docker.com/r/povilasid/p110-exporter

 

Ich versuche nun seit 2 Tagen dieser Anleitung zu folgen, habe die Github-Dateien in /Appdata/Tapo-Exporter/ hochgeladen und über das Unraid-Terminal daraus ein Image erstellt (docker build -t tapo-exporter .). Danach habe ich den docker mit den Umgebungsvariablen gestartet:
 

docker run -d   --name tapo-exporter   -p 9333:9333   -e TAPO_EMAIL='Meine Email'   -e TAPO_PASSWORD='Mein Passwort'   -e PROMETHEUS_PORT=9090   tapo-exporter

 

allerdings wird der docker wenn ich docker ps eingebe nicht aufgelistet und ist im Dashboard aus und lässt sich nicht starten. Erst bekam ich eine Fehlermeldung, dass --prometheus-port kein richtiger Int wäre, mittlerweile bekomme ich einen fehler dass die config datei tapo.yaml nicht existieren würde, obwohl sie am richtigen ort liegt, sichtbar ist und die zugriffsrechte stimmen.

 

Momentaner Fehler:

 

Quote

Traceback (most recent call last):
  File "main.py", line 61, in <module>
  File "click/core.py", line 1157, in __call__
  File "click/core.py", line 1078, in main
  File "click/core.py", line 1434, in invoke
  File "click/core.py", line 783, in invoke
  File "main.py", line 46, in run
FileNotFoundError: [Errno 2] No such file or directory: '/app/tapo.yaml'
[8] Failed to execute script 'main' due to unhandled exception!

 

Mit dem Docker Pull Command aus dem Dockerhub hab ich es auch schon versucht.

 

Bin mit meinem Anfänger-Latein am Ende und die KI wiederholt sich auch nur noch xD

 

Hat jemand diesen Exporter schon einmal erstellt oder ist da etwas fitter drin und kann mir sagen wie das funktioniert?

 

Liebe Grüße

JimnyCricket

Edited by JimnyCricket
Link to comment

Hast Du statt Grafana etc. schonmal einfach über den HA (Home Automation) Docker nachgedacht. Der hat eigentlich eine TP Link Integration. Ich nutze die für meine KP115 und H(S)110 Energiemessungsdosen. 

 

Sieht dann so aus erstmal (das kann man auch als Grafik anzeigen oder Funktionen die aufintegrieren etc. hinzufügen):

676923537_Bildschirmfoto2023-11-24um16_03_26.thumb.png.ca2a6eadd5383bb9bb42673a3b9ebdae.png

 

In dem Bild ist NAS eine HS110 und NAS2 eine KP115 (ggf. hab ich jetzt die Bezeichnung detailliert im Kopp aber es sind beide TPlinks mit Strommessung). Über HA könnte man die sogar intelligent steuern. Zum Beispiel das eine immer bei Sonnenaufgang angeht und bei Sonnenuntergang aus etc.

 

Es gibt auch noch einen anderen Docker, den man aber manuell installieren muss nur für die TPLinks der aber nur Werte logt Steuern kann man da nix. Sieht so aus:

1274642982_Bildschirmfoto2023-11-24um16_07_26.thumb.png.b203f6b4474ea5b871e208d22ae0f244.png

 

 

Vielleicht wäre das eines davon einfacher für dich?

 

 

  • Like 1
Link to comment
16 hours ago, JimnyCricket said:

mittlerweile bekomme ich einen fehler dass die config datei tapo.yaml nicht existieren würde, obwohl sie am richtigen ort liegt, sichtbar ist und die zugriffsrechte stimmen.

wie kommst du darauf ?

 

16 hours ago, JimnyCricket said:

docker run -d   --name tapo-exporter   -p 9333:9333   -e TAPO_EMAIL='Meine Email'   -e TAPO_PASSWORD='Mein Passwort'   -e PROMETHEUS_PORT=9090   tapo-exporter

ich sehe hier keinerlei mappings von /appdata ... und die Datei sollte wenn dann unter

 

16 hours ago, JimnyCricket said:

FileNotFoundError: [Errno 2] No such file or directory: '/app/tapo.yaml'

im Docker liegen ... was du nicht kontrollieren kannst da weder mapped noch der Docker startet ... daher die Frage, wo liegt denn die Datei ?

 

Ansonsten, ich hoffe du nutzt Grafana bereits und machst es Dir deswegen so schwer ... ansonsten wäre HA wie @MPC561 vorschlug wahrscheinlich die einfachere Variante, da kann man auch ganz viel mit graphischen Spielereien versehen usw ... ;)

 

image.thumb.png.797d6a0a4b4ae3e61ac01f3b3b98b36b.png

 

image.thumb.png.ae19fdda77608a1a715f2d204f512ead.png

  • Like 1
Link to comment

Danke für eure Antworten.

 

@MPC561 

 

Ich hatte den Home Assistant Docker kurz mal installiert, dort wurde dann aber nur die Fritzbox und der Drucker gefunden und für den ganzen Alexa kram und die anderen Smart Steckdosen die mit Alexa betrieben werden, hieß es dann kaufen.

 

@alturismo

 

Quote

wie kommst du darauf ?

 

In der docker-compose.yml ist der pfad zur tapo.yaml hinterlegt (/mnt/user/appdata/tapo-exporter/tapo.yaml) und ich habe über die konsole abgefragt ob die rechte passen. Den genauen Command müsste ich im Verlauf raussuchen. Bei docker run hieß es ich soll die Umgebungsvariablen aus der docker-compose.yml mit angeben, also email, pw, und port. der Pfad der config war ursprünglich - ./tapo.yaml:/app/tapo.yaml:ro und ich habe es mittlerweile mal zu /mnt/user/appdata/tapo-exporter/tapo.yaml:/app/tapo.yaml geändert um zu gucken ob es damit funktioniert.

 

Nein bisher nutze ich Grafana noch nicht, finde aber die Möglichkeiten, von dem was ich bisher gesehen hab ganz cool und würde da gerne einiges umsetzen. 

Link to comment
1 hour ago, JimnyCricket said:

dort wurde dann aber nur die Fritzbox und der Drucker gefunden und für den ganzen Alexa kram und die anderen Smart Steckdosen die mit Alexa betrieben werden, hieß es dann kaufen.

ldann hast du nicht richtig geschaut ...

 

Beispiel.

https://www.home-assistant.io/integrations/alexa/

 

HA Cloud (Service von HA), der kostet, manual setup ... ist natürlich frei ...

 

und TP Link wäre einfach als Dienst hinzuzufügen gewesen ...

 

image.png.af0da776320ea8f6065b712c32ab9e64.png

 

egal, Grafana ist auch nice zur "Auswertung", HA ist halt "Smart Home" inklusive.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...