Skip to content

Instantly share code, notes, and snippets.

@lowang
Last active October 25, 2023 19:29
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lowang/18601a2d063a1e933fb7c6e0e97a3c7c to your computer and use it in GitHub Desktop.
Save lowang/18601a2d063a1e933fb7c6e0e97a3c7c to your computer and use it in GitHub Desktop.
[PL] Energa Operator energy meter sensor
# multiscrape can be found in HACS, src: https://github.com/danieldotnl/ha-multiscrape
multiscrape:
- resource: 'https://mojlicznik.energa-operator.pl/dp/UserData.do'
scan_interval: 43200 # 12h
form_submit:
submit_once: True
resource: 'https://mojlicznik.energa-operator.pl/dp/UserLogin.do'
select: "#loginForm"
input:
j_username: email
j_password: 'password'
sensor:
- unique_id: energa_energy_meter_total_consumption
name: Energy meter total consumption
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
select: '#right > table > tr > td.last'
value_template: '{{ value | striptags | replace(" ", "") | replace(",", ".") | float }}'
on_error:
value: last
@lowang
Copy link
Author

lowang commented Jan 11, 2022

dla liczników dwukierunkowych z tego co pisał Maks konfiguracja powinna wyglądać tak:

select_list: "#right > table.clear > tr > td.last"
value_template: >-
{% set list = (value | striptags | replace(" ", "")).split(',') %}
{% set value = float(list[2] + "." + list[3]) %}       
{{value}}

więcej: https://www.smartnydom.pl/forum/fotowoltaika/integracja-z-mojlicznik-od-energa-s-a/paged/2/#post-22057

@7streak
Copy link

7streak commented Jan 17, 2022

Podany kod dla licznikó dwukierunkowych generuje błąd "missed comma between flow collection entries"
Chociaż to chyba kwestia formatowania a nie kodu

@catgiggle
Copy link

Tyle się namęczyłem, a tutaj gotowiec. Ale widzę kilka różnic, więc podrzucam moją wersję:

multiscrape:
  - resource: https://mojlicznik.energa-operator.pl/dp/UserData.do
    scan_interval: 3600
    form_submit:
      resource: "https://mojlicznik.energa-operator.pl/dp/UserLogin.do"
      select: "form#loginForm"
      submit_once: True
      resubmit_on_error: True
      input:
        j_username: "xxx@gmail.com"
        j_password: "admin123"
    sensor:
      - unique_id: consumed_energy_total
        name: Consumed energy total
        select: 'div#right > table > tr:nth-of-type(1) > td.last'
        value_template: "{{ value|regex_replace('[^0-9,]', '')|replace(',', '.')|float }}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        on_error:
          value: last
      - unique_id: donated_energy_total
        name: Donated energy total
        select: 'div#right > table > tr:nth-of-type(3) > td.last'
        value_template: "{{ value|regex_replace('[^0-9,]', '')|replace(',', '.')|float }}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        on_error:
          value: last

@rgniado
Copy link

rgniado commented May 12, 2023

Małe rozszerzenie. Działa dla taryfy G12/G12w, licznik dwukierunkowy. Dzięki autorowi.

configuration.yaml:

# Energa operator
multiscrape:
  - resource: https://mojlicznik.energa-operator.pl/dp/UserData.do
    scan_interval: 3600
    form_submit:
      resource: "https://mojlicznik.energa-operator.pl/dp/UserLogin.do"
      select: "form#loginForm"
      submit_once: True
      resubmit_on_error: True
      input:
        j_username: "nazwaxxxx@gmail.com"
        j_password: "adminxxx"
    sensor:
      - unique_id: consumed_energy_total_day
        name: Consumed Energy Total Day (A1+)
        select: 'div#right > table > tr:nth-of-type(1) > td.last'
        value_template: "{{ value|regex_replace('[^0-9,]', '')|replace(',', '.')|float }}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        on_error:
          value: last
      - unique_id: consumed_energy_total_night
        name: Consumed Energy Total Night (A2+)
        select: 'div#right > table > tr:nth-of-type(3) > td.last'
        value_template: "{{ value|regex_replace('[^0-9,]', '')|replace(',', '.')|float }}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        on_error:
          value: last
# Energia oddana do sieci
      - unique_id: donated_energy_total_day
        name: Donated Energy Total Day (A1-)
        select: 'div#right > table > tr:nth-of-type(5) > td.last'
        value_template: "{{ value|regex_replace('[^0-9,]', '')|replace(',', '.')|float }}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        on_error:
          value: last
      - unique_id: donated_energy_total_night
        name: Donated Energy Total Night (A2-)
        select: 'div#right > table > tr:nth-of-type(7) > td.last'
        value_template: "{{ value|regex_replace('[^0-9,]', '')|replace(',', '.')|float }}"
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        on_error:
          value: last

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment