A macie może jakiś pomysł jak ograć taryfy prądu aby rozróżnić koszt zużycia prądu w poszczególnych taryfach?
@limes Wtaj na forum. Myślę że w przededniu wprowadzenia opłaty mocowej, to rozwiązanie z “taryfikatorem” i tak może nie mieć już zastosowania od nowego roku.
Hej W sumie racja…
Witam.
Mam problem z Utility Meter.
Nie wiem dlaczego wartości kWh zliczane przez integrację Utility Meter różnią się od wartości kWh zliczane przez ESP Home “platform: total_daily_energy”
Impulsy z licznika są zliczane przez ESP (platform: pulse_counter) który utworzył “sensor.moc”. Jego wskazania (kW) pokrywają się ze wskazaniami licznika. Następnie przy pomocy ESP “platform: total_daily_energy” zamieniam kW na kWh i ten wynik jest prezentowany w dashboardzie przez “sensor.total_daily_energy” - i również jest prwadziwy.
Problemem jest integracja Utility Meter w HA. Jako źródło danych wstawiłem “sensor.total_daily_energy” ale sumy kWh prezentowane przez niego są znacznie niższe niż wskazywane przez “sensor.total_daily_energy”. To samo miałem kiedy jako źródło wstawiłem “sensor.moc”…
Czy ktoś spotkał się z takim błędem?
HA
utility_meter:
daily_energy:
source: sensor.total_daily_energy
cycle: daily
tariffs:
- peak
- offpeak
monthly_energy:
source: sensor.total_daily_energy
cycle: monthly
tariffs:
- peak
- offpeak
ESP Home
- platform: total_daily_energy
name: "Total Daily Energy"
power_id: moc
- platform: pulse_counter
pin: GPIO12
unit_of_measurement: 'kW'
name: 'Moc'
id: 'moc'
filters:
- multiply: 0.06
count_mode:
rising_edge: INCREMENT
falling_edge: DISABLE
time:
- platform: sntp
id: 'czas'
Zliczasz impulsy z licznika ?
U mnie jest
filters:
# Multiplication factor from W to kW is 0.001
- multiply: 0.001
unit_of_measurement: kWh
Tak, ale impulsy są liczone poprawnie. Ba, zobrazowane są poprawnie w dashboardzie ( “sensor.total_daily_energy” generowany przez ESP) , nie wiem tylko co z tym robi integracja Utility Meter…
Artur, proszę opisz jak to technicznie i na czym masz to zrealizowane.
Blitz BW-SHP2 i SmartDGM gniazdka ładnie się otwierają, jest trochę lutowania wgrana ESPHome
KOD: dla SmartDMG
substitutions:
plug_name: lodowka
# Higher value gives lower watt readout
current_res: "0.00221"
# Lower value gives lower voltage readout
voltage_div: "945"
esphome:
name: lodowka
platform: ESP8266
board: esp8285
# WiFi connection
wifi:
ssid: ' '
password: ' '
manual_ip:
static_ip: 192.168.1.94
gateway: 192.168.1.100
subnet: 255.255.255.0
dns1: 192.168.1.100
dns2: 192.168.1.100
# Enable logging
logger:
# Enable Web server
#web_server:
# port: 80
# Enable Home Assistant API
api:
password: 'PASSWORD'
ota:
password: 'PASSWORD'
time:
- platform: homeassistant
id: homeassistant_time
binary_sensor:
- platform: gpio
name: "${plug_name}_button"
pin:
number: GPIO3
inverted: True
on_press:
- switch.toggle: relay
- platform: status
name: ${plug_name}_Status
switch:
- platform: gpio
id: relay
name: "${plug_name}_Relay"
pin: GPIO14
icon: mdi:power-socket-eu
restore_mode: ALWAYS_ON
on_turn_on:
- switch.turn_on: blue_led
on_turn_off:
- switch.turn_off: blue_led
- platform: gpio
id: blue_led
name: "${plug_name}_LED_Blue"
icon: mdi:led-on
pin: GPIO1
inverted: True
restore_mode: ALWAYS_ON
- platform: gpio
id: red_led
name: "${plug_name}_LED_Red"
pin: GPIO13
inverted: True
restore_mode: ALWAYS_OFF
sensor:
- platform: hlw8012
sel_pin:
number: GPIO12
inverted: True
cf_pin: GPIO04
cf1_pin: GPIO05
# Higher value gives lower watt readout
current_resistor: 0.00221
# Lower value gives lower voltage readout
voltage_divider: 794
current:
name: "${plug_name}_Amperage"
icon: mdi:current-ac
unit_of_measurement: A
voltage:
name: "${plug_name}_Voltage"
icon: mdi:flash-circle
unit_of_measurement: V
power:
name: "${plug_name}_Wattage"
unit_of_measurement: W
id: "${plug_name}_Wattage"
change_mode_every: 8
update_interval: 10s
- platform: total_daily_energy
name: "${plug_name}_Total Daily Energy"
icon: mdi:circle-slice-3
power_id: "${plug_name}_Wattage"
filters:
# Multiplication factor from W to kW is 0.001
- multiply: 0.001
unit_of_measurement: kWh
# Extra sensor to keep track of plug uptime
- platform: uptime
id: uptime_sec
text_sensor:
- platform: template
name: ${plug_name}_Uptime Sensor
lambda: |-
int seconds = (id(uptime_sec).state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
icon: mdi:clock-start
update_interval: 113s
Na moje lamerskie oko - to nie widzę u Ciebie integracji “utility_meter”… z którą mam problem u mnie.
Masz “platform: total_daily_energy” którą również posiam w swoim ESP, ale ona działa dobrze…
EDIT: zauważyłem że wartości generowane przez integrację “Utility meter” różnią się od “sensor.total_daily_energy” o 0,61… Napisałem szablon wprowadzający tą poprawkę izobaczę jak to wyjdzie.
Przy okazji mam pytanie jak w automatyzacji dołożyć zmianę taryfy peek/offpeak związaną z dniem tygodnia?
Pochwalił byś się jak wyglądają u Ciebie te wykresy słupkowe z podsumowaniem
Chce coś takiego zrobić u siebie ale bez użycia grafany i jestem ciekaw czy jest to możliwe
Zastosowałem ten kod :
utility_meter:
dzien_lodowka:
source: sensor.shelly_shplg_s_dbef0e_total_consumption
cycle: daily
miesiac_lodowka:
source: sensor.shelly_shplg_s_dbef0e_total_consumption
cycle: monthly
rok_lodowka:
source: sensor.shelly_shplg_s_dbef0e_total_consumption
cycle: yearly
miesiac_pralka:
source: sensor.shelly_shplg2_1_db609f_total_consumption
cycle: monthly
rok_pralka:
source: sensor.shelly_shplg2_1_db609f_total_consumption
cycle: yearly
Fajnie działa z gniazdkami Blitzwolf .
Pytanie :
Jak go przerobić żeby z jednego urządzenia mieć : zużycie wczorajsze , dzisiejsze , w miesiaca wstecz i z biezącego miesiąca ?
A możesz to jakoś na przykładzie podać ? Bo nie wiem jak to zrobić
Zaczynam dopiero zabawę i chyba za wysokie progi
#pomiar
utility_meter:
dzienna_lodowka:
source: sensor.tz3000_g5xawfcq_ts0121_ca9a35fe_electrical_measurement
cycle: daily
miesieczna_lodowka:
source: sensor.tz3000_g5xawfcq_ts0121_ca9a35fe_electrical_measurement
cycle: monthly
sensor:
- platform: template
sensors:
sensor.tz3000_g5xawfcq_ts0121_ca9a35fe_electrical_measurement:
friendly_name: "dzienna_lodowka"
unit_of_measurement: 'kW'
value_template: "{{ state_attr('dzienna_lodowka_last_period', 'last_period') }}"
#pomiar
utility_meter:
dzienna_lodowka:
source: sensor.tz3000_g5xawfcq_ts0121_ca9a35fe_electrical_measurement
cycle: daily
miesieczna_lodowka:
source: sensor.tz3000_g5xawfcq_ts0121_ca9a35fe_electrical_measurement
cycle: monthly
sensor:
- platform: template
sensors:
poprzedni_miesiac_lodowka
friendly_name: "Poprzedni_miesiac_lodowka"
unit_of_measurement: 'kWh'
value_template: "{{ state_attr('miesiac_lodowka', 'last_period') }}"
Wyrzuca mi : bad indentation of a mapping entry at line 99, column 22:
friendly_name: “Poprzedni_miesiac_lodowka”
to błąd wcięć - każda spacja w YAML ma znaczenie, musisz też pokombinować z wklejaniem tekstu na forum (np. zaznacz cały wklejony i wciśnij cudzysłowy) jeśli jest sformatowany inaczej niż w pliku konfiguracyjnym trudno znaleźć błąd.
PS edytowałem posty wyżej, by było widać jak to powinno wyglądać
jestem krok dalej ale jeszcze nie na końcu
invalid config for [sensor.template]: invalid template (TemplateSyntaxError: unexpected char ‘‘’ at 14) for dictionary value @ data[‘sensors’][‘poprzedni_miesiac_lodowka’][‘value_template’]. Got ‘{{ state_attr(‘miesieczna_lodowka’, ‘last_period’) }}’. (See ?, line ?).
Możesz udostępnić kod źródłowy karty, siedzę i próbuję zrobić jak u ciebie, ale mizernie mi to idzie, byłbym wdzięczny, fajnie masz ją skonfigurowaną
Te znaki to prawdopodobnie tzw. cudzysłowy pisarskie (np. można je uzyskać przez alt+0132 czy alt+0148) niedopuszczalne w kodzie.