Welche Möglichkeiten gibt es?
Werte per Automation (YAML) in eine Tabelle (MariaDB) oder in ein File (Text oder csv) schreiben.
Welche Möglichkeiten gibt es?
Werte per Automation (YAML) in eine Tabelle (MariaDB) oder in ein File (Text oder csv) schreiben.
So hab’s selber rausgefunden .
Habe ein Nodify für die Erstellung und schreiben in eine .csv
Und eine Automation dazu erstellt.
Der Code/die Vorgehensweise dazu wäre für nachfolgende User sicherlich interessant.
notify:
- platform: file
name: Zählerstände_Monat
filename: /config/www/csv_log/Zaehler.csv
timestamp: false
# Automation
alias: Zählerstände_Monat
description: ""
trigger:
- platform: time
at: "00:02:00"
condition:
- condition: template
value_template: "{{ now().day == 1 }}"
action:
- service: notify.zahlerstande_monat
data:
message: >
{{now().strftime('%d.%m.%Y')}} ;
{{states('sensor.stromzahler_sml_total_in',)}} ; kWh ;
{{states('sensor.gaszahler_m3',)}} ; m3 ;
{{states('sensor.wasserzaehler_value',)}} ; m3
mode: single
Ergebniss:

Hi, sehr interessantes Thema für mich. Ich bekomme es aber nicht hin. Habe dies hier in die configuration.yaml geschrieben.
notify:
- platform: file
name: Zählerstände_Jahr
filename: /config/www/strom_log/zaehler.csv
timestamp: false
aber service: notify.zahlerstande_jahr existiert nicht. (nach Neustart..etc) Was mache ich falsch?
Danke!
Bei name: in der nodify hast du ä und unten ohne mach mal alles ohne umlaute und gleicher Benennung.
Pfad muss existieren!
Gruss
Ich greife das noch einmal auf.
Ich habe in der configuration.yaml folgende erweiter:
notify:
- platform: file
name: Zaehlerstaende
filename: /config/www/csv_log/Zaehler.csv
timestamp: false
In der Automation versuche ich folgendes zu machen was aber nicht geht zu speichern.
alias: Zaehlerstaende
description: ""
mode: single
triggers:
- at: "00:00:00"
trigger: time
conditions: null
actions:
- data:
message: >
{{now().strftime('%d.%m.%Y')}} ;
{{states('sensor.fritz_smart_energy_250_2_energie',)}} ; kWh ;
{{states('sensor.energy250_energie',)}} ; kwh
action: notify.Zaehlerstaende
Ziel ist es das täglich die Werte der beiden Sensoren gespeichrt werden in der Datei Zaehlerstaende.
Wo ist der Bock begraben?
Danke im Voraus und mfg
Heinz-Jörg Hefer
Ich nutze für so was aus HACS die Erweiterung “pyscript”. Über entsprechende python scripte kann man dann Werte in eine MariaDB schreiben und dabei auch Variablen aus Homeassistant nutzen.
Hast du richtigen Neustart gemacht ?
Änder mal die Großschreibung von Zählerstände bei notifiy auf klein
Neustart durchgeführt (System neu starten) und nun auch sowohl in der configuration.yaml als ich in der automation alles klein geschrieben allerdings ohne erfolg. Fehler bleibt bestehen
Was steht in den Protokollen ?
Logger: homeassistant.components.automation.zaehlerstaende
Quelle: helpers/script.py:2098
Integration: Automation (Dokumentation, Probleme)
Erstmals aufgetreten: 13:08:48 (1 Vorkommnis)
Zuletzt protokolliert: 13:08:48
Zaehlerstaende: Error executing script. Service not found for call_service at pos 1: Action notify.zaehlerstaende not found
by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
s.a.: (Neues Update & Features - Hier in der Community 🫶)
Okay dann wurde das nicht angelegt.
Der File Pfad ist vorhanden ?
Falls ja , hängt das dann wohl mit einer Änderung in HA zusammen .
Scheinbar wurde die Yaml Config für Notifiy entfernt.
Ich teste das gerade mal auf meinem Testsystem
Per Windows Rechner kann ich den Ordner \\homeassistant\config aufrufen.
Habe auch
notify:
- platform: file
name: Zaehlerstaende
filename: /config/www/csv_log/Zaehler.csv
timestamp: false
in
notify:
- platform: file
name: Zaehlerstaende
filename: /config/Zaehler.csv
timestamp: false
geändert
Ok vorgehen ist nun komplett anders :
Du musst die Integration File installieren
Die fragt was du anlegen willst dort wählst du Einrichten eines Benachrichtigungsdienstes
Wenn du hier Timestamp wählst wird in der Textdatei ein zeitstempel dem Text vorrangestellt.
Dann in deiner Automation als Aktion Benachrichtigungen: Benachrichtigungsmeldung senden
Als Ziel wählst du die in File angelegte Entität
In Meldung kannst du dann deine Daten eingeben
Das wars
Aber
notify:
- platform: file
name: zaehlerstaende
filename: /config/Zaehler.csv
timestamp: false
das muss schon noch in der configuration.yaml bleiben oder?
Was muss dann in der Automation stehen?
Kann da noch der yaml bleiben wie oben geschrieben oder muss hier was geändert werden?
Nein in. der config steht nichts mehr, dein Zaehlerstande wird jetzt über die file Integration angelegt.
Hast du das gemacht ?
Du kannst das noch benennen in dem du auf die Entität klickst und der dann einen Namen gibst
Hier z.B. Test
In der Automation wie oben beschrieben vorgehen :
dann auf yaml umschalten über das 3 Punkte menü
Da kannst du dann deinen Text füllen
- data:
message: >
{{now().strftime('%d.%m.%Y')}} ;
{{states('sensor.fritz_smart_energy_250_2_energie',)}} ; kWh ;
{{states('sensor.energy250_energie',)}} ; kwh
Vielen Dank schon mal bis hierher.
Jetzt kommt die Meldung im Protokoll:
Logger: homeassistant.components.automation.zaehlerstaende
Quelle: helpers/script.py:2098
Integration: Automation (Dokumentation, Probleme)
Erstmals aufgetreten: 14:49:51 (1 Vorkommnis)
Zuletzt protokolliert: 14:49:51
Zaehlerstaende: Error executing script. Error for call_service at pos 1: Write access to www/homeassistant/csv/zaehlerstaende.csv failed: FileNotFoundError(2, 'No such file or directory')
Im Explorer in Windows habe ich diesen Pfad per SMB:
\\homeassistant\config\csv\zaehlerstaende.csv
wie bekomme ich den richtigen Pfad/Ordner für die Datei hin?
Und so sieht die automations yaml aus:
alias: Zaehlerstaende
description: ""
triggers:
- at: "00:00:00"
trigger: time
conditions: null
actions:
- action: notify.send_message
metadata: {}
data:
message: >
{{now().strftime('%d.%m.%Y')}} ;
{{states('sensor.fritz_smart_energy_250_2_energie',)}} ; kWh ;
{{states('sensor.energy250_energie',)}} ; kwh
target:
entity_id: notify.file
mode: single
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
Dann hast du den Pfad nicht angelegt.
Geh mal in den Fileditor und schau dir da an was im www verzeichniss drin steht und mach nen screen davon