Frage, bitShake Lesekopf und Home Assistant

Domi83

Rear Admiral
Registriert
Feb. 2010
Beiträge
5.353
Hallo Freunde der smarten Automatisierung etc.,

ich hätte da mal eine kleine Frage... bis vor ein paar Wochen habe ich von "Optokopf" Weidmann Elektronik gehabt. Dieser hat über den vzlogger Daten in meine InfluxDB2 und via MQTT an meinen Home Assistant gesendet. Hat auch prima gepasst, bis er anfing sporadisch nichts mehr zu senden oder falsche Werte.

Ich hatte dann im Internet geschaut, es gibt ein Teil von Hichi oder bitShake.

Da ich ein paar Tage frei hatte, wollte ich nicht warten, habe den bitShake bestellt, damit ich fertig bauen und basteln kann.

Das Teil ist da, Tasmota ist kein Neuland für mich, Gerät in Betrieb genommen, entsprechendes Skript für meinen Logarex interlegt, im Home Assistant alles vorbereitet, den bitShake eingebunden, fertig ist.

Home Assistant sendet für mich Daten von ausgewählten Sensoren an meine InfluxDB2 und durch sein integriertes "Energie" Dashboard hatte ich immer eine schicke Übersicht. Aber im Home Assistant selbst, sind immer wieder Ausreißer drin.

Das führt dann dazu, dass im Energie Dashboard schon mal behautet wird, mein Netzbezug beträgt fast "2 GWh" und das wäre geringfügig viel :D

Nun kann man diese Ausreißer manuell anpassen, aber meine Frage ist... habt ihr so etwas irgendwie besser in den Griff bekommen und wenn ja, wie?!

Interessant ist auch, parallel in der InfluxDB sind diese Ausreißer nicht vorhanden.

Ein Versuch war dann gleich zwei Tage später (also vor ein paar Wochen), das ganze über einen separaten Sensor zu erstellen, der mir Punkt und Komma korrekt setzt, aber scheinbar auch ohne Erfolg.

Code:
mqtt:
  sensor:
    - name: "hauptzaehler_gesamtverbrauch"
      unique_id: hauptzaehler_gesamtverbrauch
      state_topic: "tele/tasmota_92E930/SENSOR"
      value_template: >
        {% set val = value_json.LK13BE.total|string|replace(',', '.')|float %}
        {% if val > 1000 %}
          {{ val }}
        {% else %}
          {{ states('sensor.hauptzaehler_gesamtverbrauch') }}
        {% endif %}
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

    - name: "hauptzaehler_aktuell"
      unique_id: hauptzaehler_aktuell
      state_topic: "tele/tasmota_92E930/SENSOR"
      value_template: "{{ value_json.LK13BE.current }}"
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement

    - name: "hauptzaehler_einspeisung_gesamt"
      unique_id: hauptzaehler_einspeisung_gesamt
      state_topic: "tele/tasmota_92E930/SENSOR"
      value_template: "{{ value_json.LK13BE.total_out }}"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

    - name: "hauptzaehler_strom_l1"
      unique_id: hauptzaehler_strom_l1
      state_topic: "tele/tasmota_92E930/SENSOR"
      value_template: "{{ value_json.LK13BE[' amperage_l1'] }}"
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement

    - name: "hauptzaehler_strom_l2"
      unique_id: hauptzaehler_strom_l2
      state_topic: "tele/tasmota_92E930/SENSOR"
      value_template: "{{ value_json.LK13BE[' amperage_l2'] }}"
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement

    - name: "hauptzaehler_strom_l3"
      unique_id: hauptzaehler_strom_l3
      state_topic: "tele/tasmota_92E930/SENSOR"
      value_template: "{{ value_json.LK13BE[' amperage_l3'] }}"
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement

Habt ihr das auch und wenn ja, wie habt ihr das behoben und vielleicht denke ich zu komplex. Über meinen vzlogger ging das mal sehr easy, simple und einfach. Das .conf File fertig machen, hier und da Feintuning, fertig ist. Mag vielleicht für andere wieder komplex gewesen sein, dass war aber meine Art von "einfach" :D

Schon mal vielen Dank für Infos, Tipps und Ansätze.

Gruß, Domi
 
Moin, ich habe das Problem vor zwei oder drei Tagen gefunden. Warum auch immer, ab und an erfasst der BitShake bei dem Gesamtbezug "0 kWh" und springt dann wieder auf den wirklichen Wert.

Diese werden im Home Assistant gespeichert und somit glaubt Home Assistant, dass da zig kWh verballert werden.

Beispiel, 50.000 kWh ist der aktuelle Stand. Dann springt er auf 0 und dann auf 50.000 hoch und somit schreibt er eine Differenz von 50.000 kWh rein. Das sind wohl sogenannte "Ausreißer". Diese kann man manuell entfernen.

Ich habe mein Template angepasst und mir das so angepasst, das unnatürliche Sprünge, gar nicht erst erfasst werden sollen, fertig ist.

Code:
- sensor:
    - name: "hauptzaehler_gesamtverbrauch_bereinigt"
      unique_id: hauptzaehler_gesamtverbrauch_bereinigt
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing
      state: >
        {% set new = states('sensor.hichiir_lk13be_total') | float %}
        {% set old = states('sensor.hauptzaehler_gesamtverbrauch_bereinigt') | float(0) %}
        {% set diff = new - old %}
        {% if new >= old and (old == 0 or diff < 0.5) %}
          {{ new }}
        {% else %}
          {{ old }}
        {% endif %}

Gruß, Domi
 
  • Gefällt mir
Reaktionen: SaxnPaule
Zurück
Oben