Hilfe bei der Formatierung

Leider verstehe ich die Formatierung von Listen (ist das überhaupt eine Liste?) usw. nicht. Wann brauche ich ein “-” und wie viel Leerzeichen usw. Hab das schon mal versucht mir anzulesen, aber ich kann mir das nicht merken. :frowning:

Ich habe einen Stromzähler auf ESPHome Basis, der über Impulse meinen Stromverbrauch ausließt.
Das funktioniert so weit auch, aber ich bekomme immer mal Peaks von 120000 W, 360000 W usw.
Nun hatte ich anfänglich nur die 120000W Peaks und habe die über:

  • filter_out: 120000
    herausgefiltert.
    Wenn ich nun weitere hinzufügen möchte, muss das dann so:
- filter_out: 
    120000
    180000
    360000

aussehen, oder so:

- filter_out: 
    - 120000
    - 180000
    - 360000

oder gar direkt unter das “f”?

Du kannst das auch softwareseitig im HA abfangen. Ich hatte mit meinem alten Sensor Probleme in der Zisterne gehabt und habe immer den aktuellen Messwert mit dem vorherigen verglichen. Wenn die Abweichung zu groß war wurde der aktuelle Eintrag verworfen. Somit musst du nicht alles manuell herausfiltern.

VG

Klingt gut. Kann ich das dann auch auf den ESP programmieren (wenn ja, wäre der Code sehr willkommen :wink:), oder “muss” ich da eine Automation erstellen (auch da würde ich den Code gerne nehmen :wink:)?

Ich hatte das ganze mit Node Red umgesetzt. Du bräuchtest eine Automation im HA dazu.

Ich schicke die Anfrage nochmal ins Rennen. Es sollte doch für unsere Code-Spezialisten einfach sein, mir die obige Frage zu beantworten.

Hast du den Node-RED code noch?
Dann könnte ich den anpassen.

Das mit Node-RED wäre natürlich schöner, aber auch da muss man ja wissen, welche Codezeilen man in welche Node einfügt. Und das ist auf jeden Fall komplizierter, also würde mir erstmal die einfache Formatierung für den ESP reichen, bis vielleicht jemand mit Node-RED aushelfen kann.

Leider nein da ich meinen Sensor umgestellt habe aber ich schaue morgen früh mal

Ich hole das nochmal hoch. Kann mir keiner bei der Formatierung helfen? Mir würde es reichen, wenn ich erst mal genau die 3 Werte herausfiltern könnte.

- filter_out: 120000

funktioniert für die 120000, aber egal was ich versucht habe, um weitere Werte herauszufiltern, ich bekomme einen Fehler beim Compilieren.

Hast du es mal so versucht?

- filter_out: 
  - 120000
  - 180000
  - 360000

Ja, kommt leider folgender Fehler

Failed config

sensor.pulse_meter: [source /config/esphome/stromzaehler.yaml:30]
  platform: pulse_meter
  pin: D1
  unit_of_measurement: W
  name: Energieverbrauch OG Alle (Aktuell)
  accuracy_decimals: 0
  device_class: power
  filters: 
    - multiply: 6
    - heartbeat: 10s
    - 
      expected float.
      filter_out: 
        - 120000
        - 180000
        - 360000
  icon: mdi:flash
  id: energieverbrauch_komplett_og_w

Im Code sieht es so:

sensor:
  - platform: pulse_meter
    pin: D1
    unit_of_measurement: W
    name: 'Energieverbrauch OG Alle (Aktuell)'
    accuracy_decimals: 0
    device_class: "power"
    filters:
      #- multiply: 0.006 # (60s/10000 pulses per kWh)
      - multiply: 6
      - heartbeat: 10s
      - filter_out: 
        - 120000
        - 180000
        - 360000
    icon: 'mdi:flash'
    id: energieverbrauch_komplett_og_w

aus.
Mit

sensor:
  - platform: pulse_meter
    pin: D1
    unit_of_measurement: W
    name: 'Energieverbrauch OG Alle (Aktuell)'
    accuracy_decimals: 0
    device_class: "power"
    filters:
      #- multiply: 0.006 # (60s/10000 pulses per kWh)
      - multiply: 6
      - heartbeat: 10s
      - filter_out: 120000       
    icon: 'mdi:flash'
    id: energieverbrauch_komplett_og_w

geht es.
Aber halt nur ein gefilterter Wert!

filters:
      #- multiply: 0.006 # (60s/10000 pulses per kWh)
      - multiply: 6
      - heartbeat: 10s
      - filter_out: 120000
      - filter_out: 180000
      - filter_out: 360000      

So hat er es kompiliert und geflasht.
Nun muss ich mal schauen, ob die Spitzen nicht mehr kommen, aber die waren auch sehr selten.
Wird eine wenig ein Ratespielchen. :slight_smile:

1 „Gefällt mir“

Hallo, ich wollte mal nachfragen, ob es was geholfen hat oder ob der Fehler noch besteht. Ich hab das gleiche Problem.

Bisher sind die

nicht mehrt aufgetreten.
Und lässt sich auch updaten.
Und kaum hab ich das Update gemacht bekomme ich andauernd viel zu hohe Werte, die sich aber minimal unterscheiden, also nicht über die Filter Funktion eliminiert werden können :frowning:

Auch das Update auf 2023.8.2 hat das Problem nicht behoben.
Wenn richtig das richtig zuordne, kam das Problem erst mit 2023.8.1, weil das automatische Backup den Titel 2023.8.0 trägt.
Ein Einspielen des Backups 2023.8.0 hat keine Lösung gebracht. Aber das liegt wohl auch daran, dass das nur das Add-on zurücksetzt, aber die installierte Version auf dem ESP8266 nicht zurücksetzt.
Kann mir jemand sagen, wie ich wieder die alte Version auf den ESP8266 bekomme?

Ich habe wohl eine Lösung gefunden im ESPHome code zu große Werte zu eliminieren. Zumindest ließ es sich fehlerfrei installieren und updaten.

filters:
      - multiply: 6
      - heartbeat: 10s
      - clamp:
          max_value: 20000
      - filter_out: 20000

Ich habe seither keine Werte > 20000, aber im Bereich < 20000 immer noch unrealistische Spitzen. Das Problem sind wohl generelle Messfehler.


Ich habe auch keine Ahnung was heute Nacht nach 4 Uhr > 2 kW verbraucht haben könnte, als alle geschlafen haben.
Ich habe schon versucht das Board ein wenig zu “bewegen”, aber das hat das Problem offensichtlich nicht gelöst.
Ich versuche mal die Tage am Poti zu drehen.

Moin, ich benötige auch etwas Hilfe bei einer Formatierung. Erst einmal mein Aufbau. In einem Ikea Luftqualitätssensor (Vindriktning) habe ich einen ESP8266 mit DHT Sensor verbaut. konnte auch alles flashen und mir werden Daten in Ha angezeigt. Temperatur und auch Luftqualität (scheinen) soweit zu stimmen. Mit einem Temperatur Sensor gegengemessen und Luftqualität mit einem zweiten Vindriktning Original abgeglichen. Allerdings wird mir bei der Luftfeuchte immer 27 Prozent zu viel angezeigt. Nun möchte ich im ESPHome Editor den Code soweit ändern, das ich ein Nummernfeld und einen zweiten Luftfeuchtewert in HA angezeigt bekomme. Auch das funktioniert insoweit, Das ich die Zahl über einen Slider einstellen kann. Der zweite Luftfeuchte wert ist allerdings Unbekannt. Dieser soll aus dem Originalem DHT wert minus der eingestellten Zahl errechnet werde. Das ganze über HA in die Config zu schreiben funktioniert ohne Probleme, der neue Sensor würde dann sofort klappen.
Ich möchte dies allerdings gerne direkt vor Ort im ESPHome gleich gelöst haben.

Hier ein ausschnitt aus meinem ESPHome

# Add DHT11 Sensor
  - platform: dht
    pin: GPIO5
    temperature:
      name: "Luftqualitätssensor Temperatur"
    humidity:
      id: humidity
      name: "Luftqualitätssensor Luftfeuchtigkeit"
    model: DHT11
    update_interval: 5s
  - platform: template
    name: "Kalibrierte Luftfeuchte"
    id: calibrated_humidity
    unit_of_measurement: "%"
    icon: "mdi:water-percent"
    filters:
    - lambda: |-
            float calibrated_humidity = id(humidity).state - id(numberkali).state;
            if (calibrated_humidity < 0.0) {
              calibrated_humidity = 0.0;
            }
            return calibrated_humidity;

number:
  - platform: template
    name: "Kalibrierungs Wert"
    id: numberkali
    unit_of_measurement: "%"
    optimistic: true
    min_value: -100
    max_value: 100
    step: 1

Bestimmt ist da nur ein Formatierungsfehler versteckt oder das ganze ist so gar nicht möglich.