Air quality bot

Ahoj,

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í :mask:.

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:

  1. bot svými hláškami často repetitivními působí směšně
  2. údaje z oficiálních stanic jsou staré neplní real time ochranu (když jdu běhat, s dětmi ven atd.)
  3. ú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)
  4. 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.

Přídavkem přidávám podobné účty ze zahraničí pro inspiraci:
https://x.com/Troposfera/status/1797876974695932294
https://x.com/BCN_EspaiPublic/status/1797916211331715141
https://x.com/DefraUKAir/status/1797859675561472336
https://x.com/LondonAir/status/1797793281042223108
https://x.com/AQMD/status/1797712140998189435

3 Likes

Tohle je – společně s tím zpožděním údajů – deal breaker, ne? Jde to nějak spravit?

Ano lze obejít, můžeme používat hodinový json přímo z hydráku https://www.chmi.cz/files/portal/docs/uoco/web_generator/actual_hour_data_cze.json
Ale pak se musí vypočítat aqi…

Plus můžeme přidat data z amatérskych senzorů z Prahy: https://data.sensor.community/airrohr/v1/filter/area=50.08333,14.46667,10

1 Like

Ahoj všem,

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.

  1. 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.
  2. Cílem bylo přiblížit toto AQI širšímu publiku. Aby více lidí pochopilo, co vlastně znamená.
  3. 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í.
  4. 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:

  1. 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é)
  2. 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.
  3. 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
  4. 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.

Okomentuji ještě nasdílené účty:
https://x.com/Troposfera/status/1797876974695932294

  • tohle se mi celkem líbí, nelíbí se mi výběr podkladové mapy. hexagony, co mají sensor.community jsou podle mě skvělý
    x.com
  • tohle je dobrý. líbí se mi i účet, kombinují to i s dalšími relevantními tématy. Ale přijde mi spíše více manuální.
    x.com
  • podobný účet byl přesně důvod, proč jsem se rozhodl jít jinou cestou a zapojit nakonec i chatgpt. tohle nikdo nečte.
    x.com
  • tohle mi taky přijde dobrý, ale taky dost manuální

Z toho mi vyplývá otázka: jak moc to má být automatické, a jak moc v tom má být vlastní content?

1 Like

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í.

2 Likes

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) :slight_smile: 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 :slight_smile:
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.

1 Like

Díky za reakce!

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…) :slight_smile:
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 :slight_smile:

2 Likes

@honza.stefanides

  • 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

3 Likes

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? :slight_smile:

Golemio funguje dobře, tahám si tam průměry NO2, data jsou aktuální.

no právě proto jsem to chtěl hodit na mapu, aby to ukazovalo (barevně) stav na jednotlivých stanicích chmi

z toho důvodu mi připadá stavět vlastní API jako práce navíc s nejistým výstupem. Zvlášť teď, když se do toho bude tlačit AI. Jako třeba Aurora od Microsoftu Superfast Microsoft AI is first to predict air pollution for the whole world

Na obrázek jo - jen pak se na jednotlivé části moc nedá odkázat v textu? :slight_smile: “nechoďte běhat na P2, P4 a P10, jinde můžete…”

Jj, na predikce bude určitě někdo lepší než vy. A stavět API bez vlastních dat spíš nedává smysl… :slight_smile: