Jump to content

API Zähler mit MQTT befüllen


dinkel1975

Recommended Posts

  • 3 weeks later...

Hi,

du erstellst eine Automation die ich in meinem Fall alle 20 Sekunden triggere.

Dann eine Aktion "MQTT: Veröffentlichen" mit folgendem Inhalt:

Topic: warp3/"wie deine warp heißt" meine heißt 2aZY /meters/2/update

Payload: [Wert1, Wert2, Wert3, usw. je nach dem was du alles definiert hast in der Warp3]

und das wars auch schon.

Viel Erfolg.

Link zu diesem Kommentar
Share on other sites

On 8/23/2024 at 6:15 AM, dinkel1975 said:

du erstellst eine Automation die ich in meinem Fall alle 20 Sekunden triggere.

Wie bist du auf die 20 Sekunden gekommen?

Für PV-Überschussladen sollte der Zähler im Sekundentakt frische Werte bekommen. Für dynamisches Lastmanagement musst du das sogar tun, wenn du nicht riskieren willst, die Sicherung am überwachten Anschluss rauszuwerfen.

Aktuell wird die Aktualisierungsrate noch nicht überprüft, kommt aber Bald™.

Falls dein Homeassistant die Werte gar nicht im Sekundentakt bekommt, musst du dir etwas Anderes überlegen, wie du da drankommst.

Link zu diesem Kommentar
Share on other sites

Für PV-Überschussladen sollten schon ca. alle zwei Sekunden neue Werte reinkommen. Die sekündlichen Updates sind empfehlenswert, damit halt auch mal eins fehlen kann. Wenn mal zwei oder drei hintereinander fehlen, ist das auch nicht kritisch, macht aber unter Umständen die Regelung schlechter.

Bei Modbus RTU auf TCP Umsetzern ist allerdings weniger die Updaterate das Problem, sondern eher, dass die Wallbox meist nicht das einzige Gerät ist, das darauf zugreift. Wenn du noch eine Hausautomatisierung oder irgendeine Hersteller-App benutzt, stehen sich die Geräte alle gegenseitig auf den Füßen.

Link zu diesem Kommentar
Share on other sites

Nichts hält dich davon ab, alle ein oder zwei Sekunden den API-Zähler zu aktualisieren und mehrmals nacheinander den selben Wert reinzuschreiben. 😉 Wir können nur überprüfen, ob deine Software noch lebt und Werte liefert. Ob die Werte auch sinnvoll sind oder nicht, können wir nicht überprüfen. Das liegt in deiner Verantwortung.

Trotzdem einmal der Hinweis, dass mit einem langsamen Zähler das Risiko steigt, bei aktivem dynamischen Lastmanagement doch zu Sicherung rauszuwerfen. Wenn dein Auto lädt, dein Hausanschluss am Limit ist und dann ein weiterer großer Verbraucher eingeschaltet wird, kann das Lastmanagement erst mit fünf Sekunden Verzögerung auf diese Verbrauchsspitze reagieren. Dazu kommt dann noch ca. eine Sekunde Verzögerung für Netzwerkkommunikation und die Autos brauchen – je nach Modell – um die fünf Sekunden, bis sie die Ladeleistung tatsächlich reduzieren. Einige Modelle, wie z. B. ein Opel eCorsa, reduzieren ihre Ladeleistung dann auch nur relativ langsam. Die vier Extrasekunden beim Zähler können da schon den Unterschied machen zwischen Sicherung bleibt drin oder fliegt raus.

Link zu diesem Kommentar
Share on other sites

Am 23.8.2024 um 11:59 schrieb MatzeTF:

Bei Modbus RTU auf TCP Umsetzern ist allerdings weniger die Updaterate das Problem, sondern eher, dass die Wallbox meist nicht das einzige Gerät ist, das darauf zugreift. Wenn du noch eine Hausautomatisierung oder irgendeine Hersteller-App benutzt, stehen sich die Geräte alle gegenseitig auf den Füßen.

Jo, du hast recht, das ist hier das Problem. Da gibt es auch keine gute Lösung, oder?

Link zu diesem Kommentar
Share on other sites

Danke dinkel1975,

das hat mir schon ein wenig weiter geholfen.

Am 23.8.2024 um 06:15 schrieb dinkel1975:

Hi,

du erstellst eine Automation die ich in meinem Fall alle 20 Sekunden triggere.

Dann eine Aktion "MQTT: Veröffentlichen" mit folgendem Inhalt:

Topic: warp3/"wie deine warp heißt" meine heißt 2aZY /meters/2/update

Payload: [Wert1, Wert2, Wert3, usw. je nach dem was du alles definiert hast in der Warp3]

und das wars auch schon.

Viel Erfolg.

Durch die Anregung von MatzeTF habe ich auch noch die Abtastrate des Hausanschlusszählers und die Updaterate des Apizählers auf 1 Sekunde reduziert.

Meine Lösung für die Automation sieht wie folgt aus:

alias: Warp2 API counter updater
description: Aktualisiert des API-Zähler (Hausanschluss) des WARP2
trigger:
  - platform: time_pattern
    seconds: /1
condition: []
action:
  - action: mqtt.publish
    metadata: {}
    data:
      qos: 0
      topic: warp2/Xan/meters/1/update
      payload: "[{{ states('sensor.sdm630_total_system_power') }}]"
      retain: false
mode: single

Das Problem war das der Zähler per Modbus nur etwa alle 10 Sekunden von Homeassistant ausgelesen wurde. Dieses konnte ich beschleunigen, indem ich beim Sensor einen Scaninterval hinzugefügt habe. Somit wird der nun jede Sekunde ausgelesen.

  #modbus:
- name: SDM630
  type: serial
  method: rtu
  port: /dev/ttyUS
  baudrate: 9600
  stopbits: 1
  bytesize: 8
  parity: N
  sensors:
    - name: sdm630_total_system_power
      address: 52
      input_type: input
      # count: 2
      slave: 1
      precision: 2
      # scale: 0.001
      data_type: float32
      unit_of_measurement: W
      device_class: power
      scan_interval: 1
      unique_id: a2da5638-1830-413e-a3ae-0c2c0d8774f0

Nun scheint alles Perfekt zu laufen, mal sehen ich damit das PV-Überschussladen zum laufen bekomme :-)

bearbeitet von MonsyX
Link zu diesem Kommentar
Share on other sites

Ich machs so, dass ich tagsüber PV Modus aktiv habe. Und in der Nacht schalte ich automatisch auf Schnell. Weil sonst würde es da in der Nacht keine Ladung geben. Beim Wechsel von Schnell auf PV, die Ladung stoppen und mit PV wieder starten.

bearbeitet von dinkel1975
Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...