-
GAMEPOD.hu
Okos Otthon összefoglaló
Új hozzászólás Aktív témák
-
szat8
tag
válasz
LouiS22 #24754 üzenetére
"Persze így elvész a kódturkálás szépsége, cserébe nem kapsz agyfaszt."
Nekem pont az a kedvenc részem.A múltkor pár órát rádobtam, hogy valamit kibogarásszak az Időkép oldaláról HA alatt a scraperrel, és igazából nem is működött teljesen jól a végeredmény. De azóta jobban megismerkedtem a CSS select kódokkal, és már sokkal letisztultabb lett az "új verzió".
A bonyolultságát már csak az adja, hogy ne úgy kezdje a szöveget, hogy "Csütörtökön", hanem úgy, hogy "Ma", de az időkép egyszer csak délután átvált a következő napra, mert akkor már az aznapi már nem igazán számít előrejelzésnek... Szóval ennek, illetve a 255 karakteres limitnek a kezelése bonyolít csak, de így is sokat egyszerűsítettem rajta:- platform: scrape
resource: https://www.idokep.hu/elorejelzes/Budapest
name: "Időkép - Mai időjárás1"
select: ".hosszutavu-elorejelzes p:nth-of-type(1)"
value_template: >
{% set day = 'Ma' if value[:3]==['Hét','Ked','Sze','Csü','Pén','Szo','Vas'][now().strftime('%w') | int - 1] else 'Holnap' %}
{{ day + ' ' + (value.split(' ', 1)[1]) | truncate(245, true, '') }}- platform: scrape
resource: https://www.idokep.hu/elorejelzes/Budapest
name: "Időkép - Mai időjárás2"
select: ".hosszutavu-elorejelzes p:nth-of-type(1)"
value_template: >
{{ (value.split(' ', 1)[1])[245:] | truncate(255, true, '') }}- platform: scrape
resource: https://www.idokep.hu/elorejelzes/Budapest
name: "Időkép - Mai időjárás3"
select: ".hosszutavu-elorejelzes p:nth-of-type(1)"
value_template: >
{{ (value.split(' ', 1)[1])[500:] | truncate(255, true, '') }}Utána a szöveget egyesítve így küldöm be TTS felolvasóba:
"{{ [states('sensor.idokep_mai_idojaras1'), states('sensor.idokep_mai_idojaras2'), states('sensor.idokep_mai_idojaras3')] | join | replace(' -',' minusz ') }}"
Számomra pont a különböző kódnyelvek érintőleges megismerése az egyik izgalmas része a dolognak, gyakorlatilag ez az egyik fő oka, hogy szöszölök az egésszel.