Witam,
Ostatnio zauważyłem na stronie rozklad-pkp.pl że można wyświetlić sobie na żywo odjazdy z wybranej stacji kolejowej, wystarczy wyszukać staję i kliknąć TICKER DLA TABLICY STACYJNEJ wychodzi coś takiego:
Chciałbym jakoś te dane wyciągnąć do HA i zrobić kartę coś jak w tym temacie:
Próbowałem wyciągnąć dane w NR jak w ww przykładzie, ale dostaję błędy, przed debugowaniu strony też nie rzuciły mi się w oczy właściwe dane do wyciągnięcia. Proszę o pomoc.
Pokus632
(Mariusz)
17 Marzec 2024 17:14
2
Cześć,
jakieś postępy w tym pomyśle?
Postępy były, dane wyciągnąłem ale niestety PKP po kilku godzinach blokuje adres IP ze względu na duży ruch, zrobiłem nawet przycisk aby odpytywało serwer jak potrzebuję danych ale i tak po 2-3 użyciach dziennie blokowali IP. Z tego powodu dalsze prace zarzuciłem.
Odświeżę temat, bo dzięki stronie bilkom udało się stworzyć coś takiego:
macek
12 Wrzesień 2024 20:49
5
Fajnie tylko co nam - użytkownikom forum - to daje? Wiemy, że można więc koledzy “do roboty” .
2 polubienia
Coś w tym stylu tutaj flow do NodeRED
pkp.zip (2,2 KB)
Oraz karta:
type: custom:vertical-stack-in-card
cards:
- type: custom:html-template-card
ignore_line_breaks: true
content: >
<style>
.center-header { text-align: center; width: 100%; }
table { margin-bottom: -15px; } /* Reduce bottom margin of the header table */
</style> <table width="100%" border="0" style="border: 0px black solid;
border-collapse: collapse;"> <!-- Header Row --> <tr> <!-- Icon Cell -->
<td class="icon" width="20%" style="padding: 4px 4px 2px 4px;"> <span
style="color: royalblue;" data-darkreader-inline-color="">
<ha-icon icon="mdi:train-variant"></ha-icon>
</span> </td> <!-- Title Cell --> <td class="center-header" colspan="2"
style="padding: 4px 4px 2px 4px;"> <span style="color: white;"
data-darkreader-inline-color="">
<b>Łódź Kaliska</b>
</span> </td> <!-- Sensor Cell --> <td width="15%" style="text-align:
center; padding: 4px 4px 2px 4px;"> <span style="color: white"
data-darkreader-inline-color="">
{{ states('sensor.time') }}
</span> </td> </tr>
- type: custom:flex-table-card
entities:
include:
- sensor.lodz_kaliska_1
- sensor.lodz_kaliska_2
- sensor.lodz_kaliska_3
- sensor.lodz_kaliska_4
- sensor.lodz_kaliska_5
- sensor.lodz_kaliska_6
- sensor.lodz_kaliska_7
- sensor.lodz_kaliska_8
- sensor.lodz_kaliska_9
- sensor.lodz_kaliska_10
columns:
- name: ' '
data: przewoznik
icon: mdi:train
align: center
modify: |-
if (x.length == 0) {
" ";
} else
switch(true) {
case x.includes('TLK'):
'<div style="background-color: blue; color: white;">' + x + '</div>';
break;
case x.includes('LP'):
'<div style="background-color: lightgoldenrodyellow; color: black;">' + x + '</div>';
break;
case x.includes('L'):
'<div style="background-color: yellow; color: black;">' + x + '</div>';
break;
case x.includes('IC'):
'<div style="background-color: orange; color: black;">' + x + '</div>';
break;
case x.includes('IR'):
'<div style="background-color: darkred; color: white;">' + x + '</div>';
break;
case x.includes('R'):
'<div style="background-color: red; color: white;">' + x + '</div>';
break;
case x.includes('KW'):
'<div style="background-color: magenta; color: white;">' + x + '</div>';
break;
default:
x;
}
- name: ' '
data: czas
icon: mdi:clock-outline
align: center
modify: if(x.length == 0){" "}else{x}
- name: ' '
data: opoznienie
icon: mdi:clock-alert-outline
align: center
modify: |-
if (x.length == 0) {
" ";
} else {
if (x === "+0'") {
'<div style="color: green;">' + x + '</div>';
} else {
'<div style="color: red;">' + x + '</div>';
}
}
- name: ' '
data: kierunek
icon: mdi:directions-fork
align: c
modify: if(x.length == 0){" "}else{x}
css:
tbody tr td:nth-child(1)+: 'min-width: 73px;width: 73px;'
tbody tr td:nth-child(2)+: 'min-width: 43px;width: 43px;'
tbody tr td:nth-child(3)+: 'min-width: 38px;width: 38px;'
Potrzeba zainstalować z HACS: custom:vertical-stack-in-card, custom:html-template-card i custom:flex-table-card
4 polubienia