od roku 2021 existuje na Xku bot jménem Air Quality Prague @prague_air Jana Hynka, který informuje o současné kvalitě ovzduší v Praze (lze použít i pro jiná města) vždy ráno a večer. Od srpna 2023 se hlášky bota generují za přispění GPT, celý kód a výchozí texty najdete na GitHub - johnnyheineken/prague_air_quality: Twitter bot to report on Prague's air quality. Data o aktuální situaci vzduchu pocházejí z IQ Air, tedy to jsou oficiální data, která ČHMÚ (Český hydrometeorologický ústav) předává ven pro EU. Jedná se o tříhodinové průměry, totožná data, které se používají pro výpočet IKO (Index kvality ovzduší). Bot má v současnosti něco přes 1k followers. Běží na Keboola. Honza mě snad ještě doplní.
struktura tweetu:
V tweetu bot nejprve vypíše AQI (Air Quality Index) - podle US AQI - a chatgpt přidá nějakou hlášku. Plus někdy vypíše hladinu překročení polutantů.
příklad tweetu:
AQI v Praze nyní stouplo na 60. Zvláště tyto hodnoty jsou nad doporučenými limitůmi WHO: NO₂ (0.4x), PM₂.₅ (0.4x) a PM₁₀ (0.2x). Špatný vzduch může zhoršit výkon traderů až o 7%. Buďte opatrní .
proč:
Zvedám toto téma jako jeden z nápadů, které padly v průběhu akcelerace v Česko.Digital (teď již ukončené) s našim spolkem Senzor vzduchu. Po domluvě s autorem bychom chtěli bota předělat, možná zahrnout nové zdroje, grafiku a celkově zlepšit dojem generovaných hlášek.
moje poznatky:
bot svými hláškami často repetitivními působí směšně
údaje z oficiálních stanic jsou staré neplní real time ochranu (když jdu běhat, s dětmi ven atd.)
údaje ze stanic nejsou platné pro celou Prahu, jedná se o průměr AQI i polutantů pro celou Prahu, hodnota neřekne nic uživateli o situaci v jeho bezprostřední blízkosti. (Situace může být na Praze 10 naprosto rozdílná než na např. na Praze 6)
Xko samotné - má cenu investovat naše úsilí do této sítě? Portnout to na Mastodon, kde je méně uživatelů? Jiné kanály?
Tímto zvu k diskuzi, co vy byste očekávali od bota, který vás má informovat o aktuální kvalitě vzduchu. Děkuji za vaše připomínky a nápady.
jojo, chci potvrdit co Michael napsal. Rád ten Twitter účet poskytnu a přemigruju svoje postování kdyžtak někam jinam:)
Pro co největší engagement by ale bylo potřeba, aby na něm bylo co nejvíce unikátního contentu.
aktuální kód je dostupný tady, akorát jsem to updatoval a kód je identický, který běží na Keboole.
Vrátím se ještě k motivaci, co bylo cílem a co bych si přál zachovat.
O kvalitu vzduchu jsem se začal zajímat ve chvíli, kdy jsem byl několikrát v Asii a zažil dny, kdy se nedalo dýchat. To mě vedlo ke stažení IQ Air, a tam jsem začal kvalitu vzduchu sledovat. Jejich AQI se pro mě stalo referenční hodnotou, proto jsem ji reportoval.
Cílem bylo přiblížit toto AQI širšímu publiku. Aby více lidí pochopilo, co vlastně znamená.
Tím se to lišilo od dřívějších Michaelových pokusů, kde jsem vnímal celkem vysokou “barrier to entry” k pochopení.
Myslím si, že snadná pochopitelnost a co nejvyšší relevance by měla být cílem celého snažení. Tam vnímám, že je určitě velký prostor pro zlepšení
Co mě napadá, od boku:
teď se nikam neukládají poslední tweety do databáze. Kdyby se přidávaly poslední tweety do kontextu, myslím si, že by bylo možné udělat tweety variabilnější (nevím, jestli ale méně směšné)
myslím si, že ať se rozhodneme pro jakoukoli síť, obrázky budou mít největší engagement. Rád bych začal vytvářet mapy Prahy.
Myslím si, že by bylo dobré cca následující:
a) každý den v týdnu jiný content
b) aktuální “výstrahy”, když by to bylo relevantní
c) někdy klidně vysázet tweetu více, do threadu
d) generovat podrobné reporty na novém webu, a zájemce odkazovat na detailní informace tam
co se týče platformy, já bych navrhoval, ať to je multiplatformní. Nemyslím si, že dodělat integraci do Threads, bluesky (tam jsem a tam chodím), mastodon už by byl velký problém.
Když se bavíme o podobě výstupu, tak na Mastodonu engagement nehraje žádnou roli – síť s viditelností těch příspěvků nijak nešachuje.
Celkově by mně dávalo největší smysl zpřístupnit ve strojově čitelné podobě přes API ta data, integrace na různé sítě nebo i další kanály pak IMO lidi rádi dodělají.
Mně tweet přijde takový málo zajímavý - aneb jako předpověď počasí pro ČR - že v Praze má pršet nás v Ostravě moc nezajímá (max., že sem to přijde o půl dne později) Jako propagace-povědomí o tématu je pravidelný tweet fajn - jde to lajkovat, sdílet… Ale pro reálné rozhodování “mám jít ven” stejně chci čerstvá a lokalizovaná data, tj. žádné průměry za čas ani lokality = tweet by musel být pro každou měřící stanici. Aktuální stav potřebuju ukázat vedle teploměru (doma mám na ePaper počasí a nejbližší stanici ČHMÚ), ideálně i s předpovědí za půl den až den nebo aspoň s trendem. Jedinou vyjímkou jsou viditelně smogová období, kdy je smrádek od Katowic až po Přerov a několik dnů je v podstatě jedno, kdo-kde-co naměřil
Jinak souhlas se zoulem - zveřejňovat detailní strojová data, propagovat, a nechat na komunitě, co z nich vyrobí - widget na plochu v telefonu, integraci do meteostanic apod.
ad Zoul:“Celkově by mně dávalo největší smysl zpřístupnit ve strojově čitelné podobě přes API ta data, integrace na různé sítě nebo i další kanály pak IMO lidi rádi dodělají”.
Vývoj takovéhle API je nad naše síly. Navíc, podle mých informací ČHMÚ bude v “dohledné” době aktualizovat stránky a pricipy správy a přístupu k datovým sadám. Proto bych raději počkal až to dokončí.
ad Honza Stefanides:“Ale pro reálné rozhodování “mám jít ven” stejně chci čerstvá a lokalizovaná data, tj. žádné průměry za čas ani lokality = tweet by musel být pro každou měřící stanici.”
Proto bych navrhoval se tedy soustředit na Mapu Prahy - vyřeší se tím lokalizace a blízkost uživatele k nejbližší stanici, mohou být použita buď oficiální trojhodinová data z ČHMÚ nebo od IQ Air. Dále Předpověď - IQ Air má předpoveď na API pokud se nepletu. Také databázi týdenních hlášek a ukládání, aby se zvýšila uvěřitelnost a rozmanitost.
Co vy na to? Jak mohu pomoci @Jan_Hynek a možná @sigy přidá víc?
IQ Air vypadá zajímavě - prodávají vlastní senzory (vč. CE), do mapy mají integrované i ty od ČHMÚ, mají pěknou mobilní aplikaci vč. widgetů, předpověď do budoucna, API mají taky hotové https://api-docs.iqair.com/, jen teda komerční… (IQAir | First in Air Quality) - za mně ideální kandidát domů i do té školy/obce a velká konkurence pro vás? (mít to v češtině a lokálního prodejce+podporu…)
Ad tweety - sám píšeš, že P10 může být jiná než P6 - tj. ukazovat stav za celou Prahu mi přijde trochu nepoužitelné. Aneb pořádně bych definoval cílovku pro ty tweety - např. ta propagace a vzdělávání spíš, než pravidelné hlídání “můžu jít ven na P6?”. To pak pomůže i ve směrování konkrétních textů pro tweety
IQAir už je v botovi implementovaný, jen teda free community tier. Ta dovoluje requesty na city level. Na vyšší granularitu (station level) je API za 4k EUR ročně - no thank you. Ale můžeme zkusit poslat mail, jestli se nesmilují.
Alternativně existuje Air Pollution - OpenWeatherMap - nejsem si teď jistý, jaká je granularita, myslím si, že ta je i per stanice dokonce, ale bez AQI. Muselo by se spočítat, ale to mě přijde jako menší problém. Tohle už je taky implementovaný. AFAIK teď beru asi data z jedné stanice na P1? Je to už dlouho, a moje dokumentace je skromná.
Ještě vím o v Polsku populárním Air Quality Map - Check air pollution in your area - MyAirly Tady jsem se k pricingu nedostal, ale afaik si myslím že jsem jim inquiry psal, jestli by mi data neposlali pro bota zdarma. Myslím si, že to zůstalo bez odpovědi.
Byl bych rád, abychom ale měli ideálně ze stanic naši vlastní API. Rád bych s tím kdyžtak @Michael_Lazan pomohl.
Ale co teď rychle googluji, vypadá to, že někdo už udělal tu práci za nás: https://api-sensor-community.bessarabov.com
Dávám teda té API tak 3/10, ale pracovat se s tím dá.
Taky jsem si vzpomněl, že API pro Pražské CHMU stanice už vystavěli na Golemio & pražská opendata: Open data hlavního města Prahy | Stav ovzduší – AMS ČHMÚ - API
Opět AFAIK jem to zkoušel kdysi dávno a vím, že tam byl problém s tím, že jsem se dostal jen k datům cca půl roku starým. Třeba se to změnilo, ale možná by stálo za to lidi z golemia (Ben Kotmel a spol.) kontaktovat, jestli se s tím nedá něco udělat.
Abych se vrátil k samotnému botovi a contentu, jak teď vnímám diskuzi:
a) stávající funkcionalita
něco by se mělo udělat se zprávama (asi nemusí být vždy, nějaký jiný formát)
rozhodně se klaním k tomu, že cílem by měla bejt propragace a vzdělávání. Z vlastní zkušenosti jsem rád, že vím, jaká je kvalita vzduchu venku, ale vlastní plány kvůli tomu nyní neměním. Celkově je ten bot stále myšlen jako politický push, než cokoli jiného.
b) nová funkcionalita
mapa prahy
cílem je lepší cílení na lidi - větší granularita
Co teda můžeme udělat:
quickwins:
změnit formát současnejch zpráv
udělat třeba i lokální verze (třeba pro Pardubice, Ostravu)
prozkoumat líp openweather API a stavět vlastní AQI
začít dělat osvětový thready
zkusit někde vyprosit nějakou lepší API
integrace na jiný platformy (Threads, Bluesky)
medium-term
implementovat lepší API
mapy, grafický content
propagovat další vzdělávání, setkávání
S grafickým contentem integrace na Instagram
long-term
oficiální CHMI API
Jestli Vás napadají nějaké další kroky, co můžeme ještě udělat, budu rád
Asi jsem úplně nepochopil - co očekáváte od toho “lepšího API”? Data vašich senzorů jsou v sensor.community a tam už API je (ať už bessarabov.com nebo přímo APIs · opendata-stuttgart/meta Wiki · GitHub), ČHMÚ nějaký strojový formát má-vždycky bude mít. Co ještě by mělo umět takové API - když nemáte žádná vlastní data a všichni můžou jít rovnou k původnímu zdroji?
Zdroje dat – abychom se někam posunuli, můžeme udělat jednoduchý přehled (včetně frekvence, aktuálnosti, spolehlivosti, granularity…), ať je snadno vidět, co je k dispozici? Pokud má nějaká data Golemio, stálo by imho za to se s nimi spojit na přímo, minimálně budou rádi za jakékoliv další využití, kterým se můžou chlubit.
Kanály a lokalita – to je pro začátek, myslím, úplně jedno. Pokud je to jednodušší vytvořit pro Prahu a Twitter, pojďme to nejprve doladit tam. Pokud to bude fungovat, můžeme pak špekulovat, jak to naškálovat (ideálně plně automatizovaně) na další sítě, kraje, města…
Cíl – Moje původní pointa byla, že stávající bot se zabývá zajímavým tématem, ale plácá koniny. Za mě by bylo úplně v pohodě, pokud bychom mohli i třeba zpětně (klidně na týdenní bázi) shrnout, co významného se dělo a v souvislosti s tím lidi směrovat na další informace.
Tj. např.:
Tento týden byla ve středu velmi výjimečná koncentrace PM2.5, dosahovala až hodnot XY. V takové koncentraci WHO doporučuje zavřít okna a vyhnout se venkovním aktivitám (obzvlášť pro lidi s astmatem). + MAPA
Chcete se naučit, kde najít aktuální stav vzduchu nebo se dokonce sami zapojit do měření? www.XY.cz
Nebo ty sledující vybízet k vysvětlování, čím by to mohlo být. Nebo rovnou dávat do kontextu dopady a data (kolika lidí se to týká, odkaz na symptomy…). Zkrátka srozumitelně a přehledně shrnovat výjimečné stavy, vybízet lidi k zájmu o téma obecně nebo o tu danou lokalitu.
Prosim, doplnte me. Budu rad. Prihodme tam klidne pocasi, dopravni vytizenost, “aktualni ekonomickou aktivitu”, … - cokoli, co by mohlo ovlivnovat aktualni cistotu vzduchu. Kdyz budeme postupne sbirat dostatek zdroju, muzeme delat zajimavejsi insighty. A samozrejme to zaintegruju.
b) placa koniny:
engagement. K cemu je jakykoli podobny bot, kdyz nedostane zadne views. Soucasny status quo je ten, ze engagement dostanou bud a) rage baity, ktere tam hodim, nebo b) ve dnech se spatnou kvalitou vzduchu.
Prosim, tohle bych neztracel z pozoru. Neverim tomu, ze by jeden tweet tydne v danem tvaru adekvatni engagement dostal.
Navrhuju zde sidestep:
udelat seznam zajimavych zdroju
udelat jednoducheho bota, ktery pomocit gpt udela thread o danem zdroji (tohle se da automatizovat!)
c) task at hand:
za me to znamena prekopat celou aplikaci. Doted jsem si usnadnil praci - kdyz se psal prispevek, tak se i stahovaly data. Tohle prestane platit.
zaklad:
navrhuju, ze pristi verze bude stahovat data as-is - treba petkrat denne (keboola to zvladne, furt bych se mel vejit do free tieru).
je potreba vytvorit tabulku pro kazdy zdroj.
pak 1x tejdne sql do db, najit minima/maxima (idealne per ctvrt, treba).
ukazat nejhorsi casy.
rict, co takove casy muzou znamenat a co s tim clovek muze delat
i wish: identifikovat zdroje a duvody (inverze, …)
mapa
co ted identifikuju za tasky:
a) rozpojit download dat a generovani tweetu
b) ulozeni do db
c) ziskani dat relevantnich pro tweet
d) vytvoreni tweetu
e) vytvoreni mapy
Chcete se nekdo neceho ujmout? Ja si pro zacatek beru a) a b). Do kebooly vas snadno pridam, github pipeline nemam stale nastavenou.
Mluvil jsem s Petrem Šimečkem z Keboola. Rádi nás podpoří (máme poslat číslo projektu v PAYG). Mention potěší, ale moc rádi by feedback, jestli všechno funguje jak má?