Powiadomienia
Wyczyść wszystko
Fotowoltaika
76
Wpisów
15
Użytkownicy
13
Reactions
12.4 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 reacted
@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 reacted
@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
A że tak spytam - czemu nie używacie tego skryptu z początku posta?
Nie działa Wam czy co??
Trochę nie jestem na czasie, ale u mnie działa i ma się dobrze:
Dodane : 10/05/2023 11:28 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