Hallo liebe Spezialisten,
als eingefleischtem HA Dummy, war ich stolz auf mich, dass es mir gelang, die Impulse eines Stromzählers auszulesen.
Nun würde ich gerne mit dem selben Bord, einen weiteren Zähler auslesen.
Bin jedoch maßlos überfordert.
Anbei mal die Yaml, welche ich momentan verwende (gnadenlos aus dem Netz kopiert, ohne zu verstehen, was ich eigentlich mache).
esphome:
name: strom-pv-esp
friendly_name: strom-pv-esp
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "H+yz9LMqs/6EKc1LHofD6SVdbuCmcjv5wSPTD0H4WC4="
ota:
password: "6328755891573e12f4775c99bb862117"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Strom-Pv-Esp Fallback Hotspot"
password: "7KUi5W1a34VY"
captive_portal:
globals:
- id: total_pulses
type: int
restore_value: false
initial_value: '838557*10'
binary_sensor:
- platform: gpio
id: internal_pulse_counter
pin:
number: GPIO5
mode: INPUT_PULLUP
name: "Strom-PV-Impuls"
filters:
- delayed_on: 10ms
on_press:
then:
- lambda: id(total_pulses) += 1;
sensor:
- platform: template
name: "Stromproduktion-PV"
device_class: energy
unit_of_measurement: "kWh"
state_class: "total_increasing"
icon: "mdi:lightning-bolt"
accuracy_decimals: 2
lambda: |-
return id(total_pulses) * 0.001;
ESP_LOGD("Stromproduktion-PV TAG", "Pulse bisher: %d", id(total_pulses));
Wäre super, wenn ihr mir weiter helfen könntet.
Gruß
Christoph
Linos
2. Juli 2023 um 13:18
2
Hi, eigentlich nur einen weiteren „binary_sensor“ mit anderen GPIO und „Sensor (Template)“ definieren.
binary_sensor:
- platform: gpio
id: internal_pulse_counter
pin:
number: GPIO5
mode: INPUT_PULLUP
name: "Strom-PV-Impuls"
filters:
- delayed_on: 10ms
on_press:
then:
- lambda: id(total_pulses) += 1;
- platform: gpio
id: internal_pulse_counter
pin:
number: #ANDERE GPIO-NUMMER#
mode: INPUT_PULLUP
name: "#NEUER STROMZÄHLER#"
filters:
- delayed_on: 10ms
on_press:
then:
- lambda: id(total_pulses) += 1;
sensor:
- platform: template
name: "Stromproduktion-PV"
device_class: energy
unit_of_measurement: "kWh"
state_class: "total_increasing"
icon: "mdi:lightning-bolt"
accuracy_decimals: 2
lambda: |-
return id(total_pulses) * 0.001;
ESP_LOGD("Stromproduktion-PV TAG", "Pulse bisher: %d", id(total_pulses));
- platform: template
name: "#NEUER STROMZÄHLER#"
device_class: energy
unit_of_measurement: "kWh"
state_class: "total_increasing"
icon: "mdi:lightning-bolt"
accuracy_decimals: 2
lambda: |-
return id(total_pulses) * 0.001;
ESP_LOGD("Stromproduktion-PV TAG", "Pulse bisher: %d", id(total_pulses));
Hallo Linos,
vielen Dank für die schnelle Antwort.
Macht sich die Eintragung „globals“ in meinem Code dann nicht für beide Zähler bemerkbar, oder muss ich noch ein zweites „globals“ einfügen?
Gruß
Christoph
Linos
2. Juli 2023 um 14:02
4
Uh da hast du recht, dass habe ich übersehen .
Da kann ich dir nicht weiter helfen, wie du das für jeden Zähler separat machen kannst.
Ich persönlich würde es weg lassen. Ich war am Anfang auch darauf den absoluten Zählerstand mitzuführen. In HA ist er uninteressant für mich geworden, da HA den Verbrauch/Ertrag einfach dazu addiert.
Dann werde ich das mal so versuchen und testen, was ich mir alles zerschieße
Gruß
Christoph
Hallo zusammen,
hat vielleicht doch noch jemand eine Lösung für obiges Problem?
Gruß
Christoph
Edding
21. September 2023 um 06:46
7
Bist du mit beiden am selben Pin 5 ?
Evtl gehts ja mit einem anderen Pin für den zweiten Zähler.
Mit was liest du eigentlich den Zähler aus?
Gruß
Hallo Eddind,
rein zum testen hatte ich das kurz gemacht, allerdings ist es nicht Zielführend, da beide Zähler unterschiedliche Anfangsstände und vor allem, unterschiedliche Impulse pro kWh haben.
Der Zweite Zähler soll auf Pin D2 also GPIO4 gelegt werden.
Gruß
Christoph
Esp8266 kosten doch fast nix, du könntest auch zwei nehmen. Was spricht dagegen?
Ist halt immer ungünstig gleich etwas komplizierteres als erstes esphome projekt zu nehmen.
Falls nicht, denke du könntest bei den globals den eintrag duplizieren, anders benennen und im zweiten code anpassen. Das könnt doch fkt?
Hallo MusicMunkee,
die Version mit den zwei ESP‘s habe ich jetzt verwendet.
Bedeutet aber, dass ich nun 14 ungenutzte Impulseingänge habe, als deren 6.
Wenn du einen funktionierenden Code-Schnipsel zur Verdopplung der Globals Befehles hättest, würde ich mich wie Hulle freuen
Gruß
Christoph
Hallo Omega13,
leider sagt mir Tasmota im Moment noch garnichts
Gruß
Christoph
Wie gesagt, du musst dein globals Eintrag duplizieren und anpassen. Hast du noch sonst noch nie programmiert? Das ist eigenltich so eines der häufigsten Dinge was man da macht.
Tasmota ist ne feine sache, aber evtl wenn du Anfänger bist kanns bischen knifflig werden
Hier ein Vorsvchlag zum Anpassen deines Codes.
Hier verdoppeln:
und die id anpassen
d.h. im zweiten so ändern:
- platform: template
name: "#NEUER STROMZÄHLER#"
device_class: energy
unit_of_measurement: "kWh"
state_class: "total_increasing"
icon: "mdi:lightning-bolt"
accuracy_decimals: 2
lambda: |-
return id(total_pulses_2) * 0.001;
ESP_LOGD("Stromproduktion-PV TAG", "Pulse bisher: %d", id(total_pulses_2));
ich hab aber keine Ahnung ob es wirklich so fkt, hab die situation ja nicht. Musst du ausprobieren.