Hallo zusammen
ich habe obigen Stromzähler und lese ihn mit einem Hichi V1.1 aus.
Anfangs mit Tasmota, jetzt mit ESPHome.
Das hat auch eine Zeit lang gut geklappt, seit einiger Zeit immer wieder mit Unterbrechungen in den Lesungen.
Mir wurden im Log 2 Probleme angezeigt, einderseits musste ich “minimum_chip_revision: “3.1”“ setzen und andererseits gab es wohl ein Problem mit der Quarzfrequenz.
Diese habe ich mit
sdkconfig_options:
CONFIG_XTAL_FREQ_40: ‘y’
gesetzt.
Trotzdem läuft es nicht rund.
Hier mal mein Code in ESPHome
esphome:
name: stromzaehlerhv
friendly_name: StromzaehlerHV
esp32:
board: esp32dev
framework:
type: esp-idf
sdkconfig_options:
CONFIG_XTAL_FREQ_40: 'y'
advanced:
minimum_chip_revision: "3.1"
# Enable logging
#logger:
# Enable Home Assistant API
api:
encryption:
key: "secret"
ota:
- platform: esphome
password: "secret"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Stromzaehlerhv Fallback Hotspot"
password: "secret"
captive_portal:
external_components:
- source: github://mampfes/esphome_obis_d0
uart:
id: uart_bus
tx_pin: 17
rx_pin: 16
baud_rate: 9600
data_bits: 7
parity: EVEN
stop_bits: 1
debug:
# Example configuration entry
logger:
level: DEBUG
obis_d0:
id: mysml
uart_id: uart_bus
optimize_size: true
# Logging if needed
on_telegram:
then:
- logger.log: "telegram received"
sensor:
- platform: obis_d0
name: "StromzEGVerbrauch"
obis_d0_id: mysml
obis_code: "1-0:1.8.0*255"
unit_of_measurement: kWh
accuracy_decimals: 8
device_class: energy
state_class: total_increasing
value_regex: "\\d{6}\\.\\d{8}\\*kWh"
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzEGVerbrauch_T1"
obis_d0_id: mysml
obis_code: "1-0:1.8.1*255"
unit_of_measurement: kWh
accuracy_decimals: 3
device_class: energy
state_class: total_increasing
value_regex: "\\d{6}\\.\\d{3}\\*kWh"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzEGVerbrauch_T2"
obis_d0_id: mysml
obis_code: "1-0:1.8.2*255"
unit_of_measurement: kWh
accuracy_decimals: 3
device_class: energy
state_class: total_increasing
value_regex: "\\d{6}\\.\\d{3}\\*kWh"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzEGErzeugung"
obis_d0_id: mysml
obis_code: "1-0:2.8.0*255"
unit_of_measurement: kWh
accuracy_decimals: 8
device_class: energy
state_class: total_increasing
value_regex: "\\d{6}\\.\\d{8}\\*kWh"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzMomVerbrauchGesamt"
obis_d0_id: mysml
obis_code: "1-0:16.7.0*255"
unit_of_measurement: W
accuracy_decimals: 8
device_class: energy
state_class: measurement
value_regex: "\\d{6}\\.\\d{2}\\*W"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzMomVerbrauch_L1"
obis_d0_id: mysml
obis_code: "1-0:36.7.0*255"
unit_of_measurement: W
accuracy_decimals: 2
device_class: energy
state_class: measurement
value_regex: "\\d{6}\\.\\d{2}\\*W"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzMomVerbrauch_L2"
obis_d0_id: mysml
obis_code: "1-0:56.7.0*255"
unit_of_measurement: W
accuracy_decimals: 2
device_class: energy
state_class: measurement
value_regex: "\\d{6}\\.\\d{2}\\*W"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzMomVerbrauch_L3"
obis_d0_id: mysml
obis_code: "1-0:76.7.0*255"
unit_of_measurement: W
accuracy_decimals: 2
device_class: energy
state_class: measurement
value_regex: "\\d{6}\\.\\d{2}\\*W"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzMomSpannung_L1"
obis_d0_id: mysml
obis_code: "1-0:32.7.0*255"
unit_of_measurement: V
accuracy_decimals: 1
device_class: energy
state_class: measurement
value_regex: "\\d{3}\\.\\d{1}\\*V"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzMomSpannung_L2"
obis_d0_id: mysml
obis_code: "1-0:52.7.0*255"
unit_of_measurement: V
accuracy_decimals: 1
device_class: energy
state_class: measurement
value_regex: "\\d{3}\\.\\d{1}\\*V"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
- platform: obis_d0
name: "StromzMomSpannung_L3"
obis_d0_id: mysml
obis_code: "1-0:72.7.0*255"
unit_of_measurement: V
accuracy_decimals: 1
device_class: energy
state_class: measurement
value_regex: "\\d{3}\\.\\d{1}\\*V"
# Filter, b/c sometimes NaN is received
filters:
- filter_out: nan
text_sensor:
- platform: obis_d0
name: "Device Identification"
obis_d0_id: mysml
obis_code: "1-0:96.1.0*255"
entity_category: diagnostic
value_regex: "\\w{14}"
- platform: obis_d0
name: "Manufacturer ID"
obis_d0_id: mysml
obis_code: "id"
entity_category: diagnostic
value_regex: "\\w+"
Muss ich in meinem Code noch irgendwas ändern ?
Übrigens ist es wohl so wenn was ausgelesen wurde ist der ESP eine Zeit lang nicht erreichbar.
Ich hoffe es kann einer helfen, ist schon nervig wenn das nicht sauber läuft
Vielen Dank im Voraus