Command Shell Hier: Sensorwerte in Datei schreiben?

Hi,

hab schon echt viel hin und her probiert und komm einfach nicht drauf.
Ich möchte Werte in einer Datei zwischenspeichen weil ich eigentlich ein ganz anderes Problem habe:

Mir werden die Summenzähler ständig gelöscht und zurückgesetzt. Aktuell weiß ich mir nicht anders zu helfen.

Es ist ein Riemanscher Summenzähler. Der Sensor wo er drauf guckt, scheint manchmal nicht verfügbar. Kann ich aber auch nicht ändern.
Hat jemand noch eine Idee dazu?

Beste Grüße

Martin

Ich kann Dir nicht wirklich weiter helfen, da ich selber hierfür keine Lösung brauche.

Vor einigen Wochen bin ich mal auf

availability_template

gestossen. So richtig habe ich es nicht verstanden und ausprobiert, weil ich im Internet keine für mich passenden Beispiele gefunden habe. Meine Annahme hier wäre, dass der Sensor, wenn er “nicht available” ist, Werte nicht nullt.
Meine Vermutung ist, dass ein Sensor mit “unavailable oder unknown etc” also keinen Zahlen in Berechnungen wie 0 gewertet wird oder in Helfern dazu führt, dass sie plötzlich zurück gesetzt werden.

Belegen kann ich das alles nicht, mangels Zeit und Interesse da eine größere Testreihe zu starten, aber vielleicht hilft dir ja dieses

availability_template

Ich habe mein Problem, zumindest hoffe ich das, da mein Problem nicht mehr auftrat, wie folgt gelöst. Da ich jedoch keinen Positivtest machen kann, weiss ich auch nicht ob ich einfach nur Glück habe bisher :wink:

- name: "Total Power Solar"
  unique_id: "total_power_solar"
  device_class: power
  unit_of_measurement: "W"
  state: >
    {% if states('sensor.ahoy_p_ac') in ['unavailable', 'unknown', 'none'] %}
      {{ states('input_number.korrekturwertsolarproduktion')|float(0) }}
    {% elif states('sensor.ahoy_p_ac')| int < 5 %}
      {{ states('input_number.korrekturwertsolarproduktion')|float(0) }}
    {% else %}
      {{
        states('sensor.ahoy_p_ac')|float(0) +
        states('input_number.korrekturwertsolarproduktion')|float(0)
      }}
    {% endif %}

der Helfer

input_number.korrekturwertsolarproduktion

hat bei mir den Wert 0. Ich habe den bei mir angelegt, weil meine ahoyDTU an einigen Tagen UNKNOWN lieferte obwohl definitiv Stromertrag vorhanden war. Die fehlenden 800Wh habe ich dann über den Helfer korrigiert indem ich den Helfer auf 800 einstellte und 1h wartete bevor ich ihn wieder auf 0 stellte.

Drück Dir die Daumen

Claudius

Hi,

danke für den Hinweis. Ja der Sensor ist tatsächlich teilweise nicht verfügbar. Manchmal zwar schon aber ist nur 0. Damit hat der Zähler offenbar ein Problem…

Das availability_template war mir bekannt. Habe das überall an den Sensoren in Verwendung…

Ich teste das!

Der Wechsel zwischen “nicht verfügbar” und 0 scheint Folgesensoren oder Helfer sehr gerne zu verwirren. Zumindest ist mir das so aufgefallen.

Hi,

nöööööööööö tatsächlich macht nicht im geringsten einen unterschied! Verdammt :frowning:

Sogar bei einer “schleichmenge” von 1W… mehr ist auch nicht darstellbar.

Ich probier mal meinen Ansatz noch in der Ausführung und melde mich wieder

So ein Mist….
drück Dir die Daumen…
Claudius

2023-05-26 22_20_06-File editor – Home Assistant – Mozilla Firefox

Aber meine Hürde ist nun, wie bekomme ich die Sensordaten bitteschön in die Datei geschrieben?? Habe schon versucht:

Ja der Pfad ist ein anderer, und nein er schreibt auch nicht den sensorwert is data2.txt :frowning:

Moin,
hast du zufällig MQTT?
wenn du bei mqtt mit retain: true Sendest bleiben die Sachen auch nach ein Reboot in MQTT.

service: mqtt.publish
data:
  retain: true
  topic: zwischenspeicher/wert1
  payload: test123

vielleicht hilft es ja.

Edit: müsstest für den topic zwischenspeicher/wert1 dann ein MQTT Sensor erstellen finde keinen anderen weg die Werte wider in HomeAssistant rein zu bekommen.

mqtt:
  sensor:
  - name: "wert1"
    state_topic: "zwischenspeicher/wert1"

LG
Tobi