Projektbezogener Stromverbrauch

Juergen

Member
Hallo,
ich habe einen 3D Drucker mittes schaltbarer Strommessdose angeschlossen , wie kann ich im HA den Stromverbrauch Projektbezogen ermitteln , also beim Einschalten soll der Sensor genullt werden damit ich beim Ausschalten den Stromverbrauch einfach ablesen kann (ein Anzeige der Stromkosten währe auch nett z.Z. noch 23ct/kWh ) ?
 

u5zzug

Active member
Such mal nach Auto laden, ich habe da mal erklärt, wie ich den Verbrauch pro Ladung feststelle.
 

meister

New member
Würde einfach den anfangs-wert in eine Helfer-Variable schreiben und danach die differenz anzeigen
 

meister

New member
gute frage :)

helfer variable anlegen (Number)
script erstellen: kwh wert in die neue helfer-variable schreiben
button anlegen: start script
und dann eine card die die differenz der 2 werte anzeigt

so in etwa
 

meister

New member
2 Helfer (Number):
input_number.projectstartkwh
input_number.projectendkwh

2 Scripte:


Code:
alias: NewProjectStart
sequence:
  - service: input_number.set_value
    target:
      entity_id: input_number.projectstartkwh
    data:
      value: 0{{ states('sensor.mainpower_l3_energy') | float }}
mode: single


alias: NewProjectStop
sequence:
  - service: input_number.set_value
    data:
      value: 0{{ (states('sensor.mainpower_l3_energy') | float) - (states('input_number.projectstartkwh') | float) }}
    target:
      entity_id: input_number.projectendkwh
mode: single

nach dem script 'NewProjectStop' kann man den wert aus input_number.projectendkwh auslesen
geht auch ohne das 2. Script, dann muss halt das template irgendwie in die anzeige mit rein

oder per template sensor
Code:
template:
  - sensor:
      - name: "NewProjectEnergy"
        unit_of_measurement: "Wh"
        state: >
          0{{ (states('sensor.mainpower_l3_energy') | float) - (states('input_number.projectstartkwh') | float) }}



ABER: irgendwie bekomme ich seltsamme werte, also von der logik passt es aber die werte sehen seltsam aus :(
OK, scheint doch zu stimmen, im frontend schaut es nur seltsam aus wegen dem runden der werte
 
Zuletzt bearbeitet:

Juergen

Member
2 Helfer (Number):
input_number.projectstartkwh
input_number.projectendkwh

2 Scripte:


Code:
alias: NewProjectStart
sequence:
  - service: input_number.set_value
    target:
      entity_id: input_number.projectstartkwh
    data:
      value: 0{{ states('sensor.mainpower_l3_energy') | float }}
mode: single
Kann ich so nicht eingeben , Message malformed : extra Keys Not allowed @ Data .....
 

Juergen

Member
Code:
alias: New ProjectStart
description: ""
trigger:
  - platform: state
    entity_id:
      - switch.hm_es_pmsw1_pl_dn_r1_oeq1544270_state
    from: "on"
condition: []
action:
  - service: input_number.set_value
    data:
      value: 0{{ states('sensor.hm_es_pmsw1_pl_dn_r1_oeq1544270_power') | float }}
    target:
      entity_id: input_number.projectstartkwh
mode: single
so scheint es zu gehen.
Der Wert ist dann in Wattstunde , das müsste also durch 1000 geteilt werden ?
 

Juergen

Member
bleibe die frage wie kann ich das durch 1000 teilen und das dann auf 3 Nachkommastellen begrenzen ?
 
Zuletzt bearbeitet:

meister

New member
Ja sorry, daher war ich auch verwirrt , es ist alles in Wh.

wenn man den wert als template macht, könnte das so funktionieren, aber ich weis leider nicht wie man das auf 3 stellen formatiert ;(
Code:
 0{{ ((states('sensor.mainpower_l3_energy') | float) - (states('input_number.projectstartkwh') | float) / 1000) }}

Vielleicht kann man es im template auch noch formatieren, dann kommt aber ein string raus,
oder man setzt irgendwie den typ richtig so das im frontend dann die formatierung gemacht wird

EDIT:
{{ "%.3f"|format(((states('sensor.mainpower_l3_energy') | float) - (states('input_number.projectstartkwh') | float) / 1000)) }}
so kann man es formatieren, wird aber halt en string draus
 

u5zzug

Active member
templates.yaml:
YAML:
#######################################################################
#    Auto aktueller Ladezyklus, Energie in kWh
#######################################################################
- sensor:
    - name: auto_aktueller_ladezyklus
      icon: mdi:gauge-full
      state: "{{ (states('sensor.shelly_shsw_pm_a4cf12f3d281_total_consumption')|default(0)|float - states('input_number.auto_zahlerstand_ladebeginn')|default(0)|float)|round(2) }}"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: measurement
 

meister

New member
ja max wert muss man wohl angeben, ich hab einfach viele nullen angehägt (1000000000)

Und ich musste mein esphome Plug neu flashen, da dieser nur TodayUsage hatte und wenn ich über nacht drucke is das ein wenig blöd wenn der bei null neu anfängt zu zählen :(
 

Juergen

Member
so läuft es jetzt
Code:
 {{ ((states('sensor.hm_es_pmsw1_pl_dn_r1_oeq1544270_energy_counter')|default(0)|float - states('input_number.projectstartkwh')|default(0)|float)/1000) |round(3) }}

die steckdose von Homematic zählt durch ich weiss allerdings nicht wann die überläuft also wieder bei 0 Anfäng

schönen dank auch an u5zzug
 

Juergen

Member
muss ich jetzt nicht verstehen gestern lieft das heute nach dem core-opdate heist es unavailable

Code:
   - sensor:
     - name: "NewProjectEnergy"
       unique_id: "NewProjectEnergy"
       unit_of_measurement: "Wh"
       state: >
         {{ ((states('sensor.hm_es_pmsw1_pl_dn_r1_oeq1544270_energy_counter')|default(0)|float - states('var.startkwh')|default(0)|float)/1000) |round(3) }}
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
2.182
Beiträge
25.494
Mitglieder
1.635
Neuestes Mitglied
Dennis
Oben