Powiadomienia
Wyczyść wszystko
Fotowoltaika
76
Wpisów
15
Użytkownicy
13
Reactions
15.8 K
Wyświetleń
@tani_kredyt Rzeczywiście multiscrape działa, tylko w moim przypadku się nie sprawdza, bo ja potrzebuje pobrać dane z dwóch kont, a niestety on się nie wylogowuje po pierwszym wejściu i w drugim już jest zalogowany i pobiera te same wartości. Może w weekend powalczę jeszcze z node-red.
Zauważyłem, że w przeglądarce brave też nie mogę się zalogować, bo mówi, że już jestem zalogowany w innym oknie.
Dodane : 13/04/2023 10:58 am
Panowie przestało mi działać multiscrape wywala coś takiego:
2023-05-07 22:01:46.785 ERROR (MainThread) [custom_components.multiscrape.sensor] Scraper_noname_0 # Energy meter total consumption # Unable to scrape data: ValueError: Template error: float got invalid input '00003832.1350.00003701.6890' when rendering template '{{ value | striptags | replace(" ", "") | replace(",", ".") | float }}' but no default was specified
2023-05-07 22:03:52.296 ERROR (MainThread) [custom_components.multiscrape.coordinator] Scraper_noname_0 # Exception in form-submit feature. Will continue trying to scrape target page.
Dodane : 09/05/2023 8:20 am
Po prostu liczba "00003832.1350.00003701.6890" nie jest liczbą float :). Trzeba ciąg podzielić pewnie na pół. Ingerencja w skrypt potrzebna.
Dodane : 09/05/2023 11:45 am
tri wolak zareagował
@steel_rat O Panie drogi, a co ja mam tu zmienić? 🙂
multiscrape:
- resource: 'https://mojlicznik.energa-operator.pl/dp/UserData.do'
scan_interval: 120
form_submit:
submit_once: True
resource: 'https://mojlicznik.energa-operator.pl/dp/UserLogin.do'
select: "#loginForm"
input:
j_username: "xxx"
j_password: "xxx"
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_list: '#right > table > tr > td.last'
value_template: '{{ value | striptags | replace(" ", "") | replace(",", ".") | float }}'
on_error:
value: last
Dodane : 09/05/2023 11:51 am
@triwolak Czyli jak podejrzewałem, to po pierwsze musisz mieć dwa scrapper'y, lub podwójny jak go tam zwał jeden consumpion a drugi production o ile chcesz mieć obie wartości z HA
a poza tym musisz jakoś rozdzielic te liczby.
Jak byś mi przysłał w wiadomosci prywatnej źródło strony jak to widać u Ciebie od
<div id="right" ....
do
<div style="color: #666;width: 400px;margin: 20px 0 0 40px;">
Odczyt danych został wykonany zdalnie przy użyciu inteligentnego licznika energii elektrycznej. </div>
</div>
to może coś wymyślę. Ale to tylko metodą ja coś napiszę a ty sprawdzisz bo ja nie mam podwójnego licznika, żeby stestowac.
Dodane : 10/05/2023 10:10 am
tri wolak zareagował
@tiwek udostępniam tutaj, może jeszcze komuś posłuży - dziękuje!
<div id="right" class="rightSide">
<div class="beamSeparator">
<div class="insideBeam" style="margin: 0;">
<div class="loginText" style="margin: 0 10px 0 0;">Ostatnie odczyty licznika</div>
</div>
</div>
<table class="clear" style="width: 87%;">
<colgroup>
<col class="col1">
<col class="col2">
</colgroup>
<tbody><tr style="" title="">
<td class="first">
<div style="display: inline-block;overflow: hidden;width: 120px;height: 16px;white-space: nowrap;">A+ strefa 1</div>
<div style="font-size: 10px">2023-05-10 00:00</div>
</td>
<td class="last" style="vertical-align: top;"> <span class="digit1">0</span>
<span class="digit1">0</span>
<span class="digit1">0</span>
<span class="digit1">0</span>
<span class="digit1">3</span>
<span class="digit1">8</span>
<span class="digit1">6</span>
<span class="digit1">4</span>
<span class="koma">,</span>
<span class="afterComa">2</span>
<span class="afterComa">7</span>
<span class="afterComa">9</span>
<span class="afterComa">0</span>
</td>
</tr>
<tr style="height: 10px;">
<td> </td>
<td> </td>
</tr>
<tr style="" title="">
<td class="first">
<div style="display: inline-block;overflow: hidden;width: 120px;height: 16px;white-space: nowrap;">A- strefa 1</div>
<div style="font-size: 10px">2023-05-10 00:00</div>
</td>
<td class="last" style="vertical-align: top;"> <span class="digit1">0</span>
<span class="digit1">0</span>
<span class="digit1">0</span>
<span class="digit1">0</span>
<span class="digit1">3</span>
<span class="digit1">8</span>
<span class="digit1">1</span>
<span class="digit1">3</span>
<span class="koma">,</span>
<span class="afterComa">4</span>
<span class="afterComa">0</span>
<span class="afterComa">9</span>
<span class="afterComa">0</span>
</td>
</tr>
<tr style="height: 10px;">
<td> </td>
<td> </td>
</tr>
</tbody></table>
<div style="color: #666;width: 400px;margin: 20px 0 0 40px;">
Odczyt danych został wykonany zdalnie przy użyciu inteligentnego licznika energii elektrycznej. </div>
</div>
Dodane : 10/05/2023 10:19 am
@triwolak czyli tak:
W tym scrapperze zmieniamy na:
value_template: '{{ value | striptags | replace(" ", "") | replace(",", ".") | truncate(13,true,"") | float }}'
Dodane : 10/05/2023 11:16 am
Tak wygląda mój config i wszystko działa:
multiscrape:
- resource: https://mojlicznik.energa-operator.pl/dp/UserData.do
scan_interval: 3600
log_response: False
form_submit:
resource: "https://mojlicznik.energa-operator.pl/dp/UserLogin.do"
select: "form#loginForm"
submit_once: True
resubmit_on_error: True
input:
j_username: !secret moj_licznik_usr
j_password: !secret moj_licznik_pwd
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: stored_energy_total
name: Stored 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
Dodane : 10/05/2023 11:33 am
@tani_kredyt no wlasnie nie wiedzialem jak wydłubadc tylko jednego <td class="last"
@matulekpl Mi node red przestał działać, nie wiem czemu nie mogę namierzyć, może mnie zbanowali, multiscape też nie spełnia swojego, bo się nie wylogowuje a potrzebuje zczytywać liczniki z dwóch niezależnych kont. Więc skorzystałem z dockera energa-scrapper i też działa.
Dodane : 10/05/2023 11:46 am
@tiwek @tani_kredyt @matulekpl
no dzień mi działało a teraz mam:
Logger: custom_components.multiscrape.sensor Source: custom_components/multiscrape/sensor.py:172 Integration: Multiscrape scraping component (documentation, issues) First occurred: 12 maja 2023 13:12:46 (50 occurrences) Last logged: 13:13:47 Scraper_noname_0 # Consumed energy total # Unable to scrape data: Could not find a tag for given selector Consider using debug logging and log_response for further investigation. Scraper_noname_0 # Stored energy total # Unable to scrape data: Could not find a tag for given selector Consider using debug logging and log_response for further investigation.
Dodane : 14/05/2023 1:04 pm
@triwolak Coś musiało ci się zmienić na stronie. Jak się loguję, to mam jakieś wyskakujące okno.
Zaloguj się z przeglądarki i zobacz. Poza tym zmień czas wywoływania multiscrpapera z godziny na trochę więcej, bo Cię zablokują.
Dodane : 15/05/2023 1:34 pm
Strona 4 / 4
Poprzednia





