Ich versuche seit gestern eine Textdatei in einen Sensor einzulesen… Forensuche, Beispiele, ChatGPT, Perplexity… ich komme nicht weiter…
Die Zugriffe sind vorhanden, die Rechte der Datei auch… die YAML ist ok, aber der Sensor taucht nicht auf… und wenn steht “unbekannt” in dem Sensor…
Leider fehlt mir noch eine Menge Wissen um zu verstehen, warum das nicht geht… kann mir jemand helfen?
Ein Beispiel war folgendes:
command_line:
- sensor:
name: myUnix
command: "cat /config/_motion_picture/status.txt"
unique_id: myunix12
crypton
28. November 2024 um 15:29
2
Was steht denn in deiner status.txt
?
command_line:
- sensor:
name: myUnix
command: "cat /config/_motion_picture/status.txt"
unique_id: myunix12
Funktioniert hier ohne Probleme.
das ist eine Textdatei die aus einem Prozess heraus diverse Meldungen generiert und dort hineinschreibt.
Es ist keine geordnete Datei analog csv oder ähnlichem… mir geht es darum erstmal herauszufinden wie man das grundsätzlich macht.
In der Datei könnte auch nur 5 oder 150 Zeilen Text stehen… Es könnte auch eine Log Datei sein… wie gesagt einfach eine Textdatei…
Evtl. liegt es daran, dass man diesen Text dann nicht anzeigen kann?
crypton
28. November 2024 um 15:51
4
Hast du mal ein Beispiel? Beim State bist du auf 255 Zeichen beschränkt!
ja klar…
status.txt (1,1 KB)
Nachtrag:
Ach so… das könnte die Ursache sein…
Gibt es eine andere Möglichkeit? ggf. mit Python eine Datei auszulesen?
by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)
Edit: Danke für den Hinweis. Werde ich berücksichtigen.
crypton
28. November 2024 um 16:13
7
Ja, schau mal, ist direkt aus der HA Doku und für eine Remote-Datei, sollte aber auch lokal funktionieren:
command_line:
- sensor:
command: python3 -c "import requests; print(requests.get('http://remote-host/sensor_data.txt').text)"
name: File value
Ansonsten könntest du den Text der Datei ggf. auch in ein Attribut packen, da hast du die Beschränkung auf 255 Zeichen nicht.
Super, vielen Dank für Deine Unterstützung, schau ich mir an!
crypton
28. November 2024 um 17:07
9
Hier noch der Sensor falls du den Text im Attribut haben möchtest:
command_line:
- sensor:
name: myUnix
command: "cat /config/_motion_picture/status.txt | jq -R -s -c '{text: .}'"
json_attributes:
- text
value_template: "ok"
unique_id: myunix12
oh das ist nett, vielen Dank, werde ich heute Abend testen !
LG