Du kender det sikkert: Det er lørdag aften og du er egentlig på vej i seng. Men en idé har rumsteret i baghovedet nogen tid - og måske ku' du lige se om ikke den kunne have gang på jord?
Enter: En god øl og ChatGPT (link til den samlede dialog med ChatGPT findes i bunden, her i teksten er primært forkortede uddrag/screenshots).
Ideen: Som elbil-ejer vil jeg gerne have aktuelle timepriser på el indsat i en Google-kalender, så jeg let kan se det kommende døgns priser og få en notifikation, når timeprisen er under en given pris.
Til det skal jeg bruge noget data om elpriserne og en måde at få det ind i kalenderen.
Men hvordan skal jeg få de data ind i kalenderen? Først afsøger vi lidt muligheder i både Python og JavaScript (detaljer udeladt, det blev for komplekst til min prototype at bruge Googles API). Jeg overvejer også at bruge IFTTT-tjenesten hvor det er super simpelt at oprette events i Google-kalenderen, men udfordringen bliver det lidt mere komplekse omkring priserne (mere om det senere) og logikken i, hvornår jeg gerne vil have notifikationer.
Pointen her er ikke de konkrete prompts eller svar, men at det med ChatGPT er super simpelt at gå på opdagelse i forskellige muligheder:
...
...
Nå, måske er løsningen bare at oprette en iCal-fil (.ics)? Hvis jeg kan bestemme indholdet, så kan jeg nok få lige præcis de data i filen, som jeg ønsker.
Jeg kan jo prøve at give JSON-data'ene fra den norske service som input og se om ikke ChatGPT kan hjælpe mig med at få det til at blive en ics-fil:
... og der er endda instrukser med til at installere de nødvendige biblioteker!
Meen, jeg er lidt rusten i teknikken, så hvordan er det nu lige jeg let eksekverer koden på min Mac?
Klar tale! Men kunne jeg ikke lige få modificeret koden til at tilgå JSON-data direkte fra den norske service?
Ikke alt spiller - men min code-buddy kan naturligvis også fejlsøge :)
Så langt - så godt. Men nu bliver det magisk! At udregne den faktiske elpris pr. time er lidt komplekst, da den består af grundprisen (fra servicen) samt afgifter, forskellige tariffer i forskellige tidsrum og naturligvis også moms.
Priserne googler jeg mig til og forklarer her i nogenlunde menneskesprog - og vupti, så får jeg en opdateret kildekode med logikken indbygget - endda med brug af variabler, så jeg senere kan justere på de forskellige tillæg:
Den logik kunne jeg godt have brugt en god portion energi på at få på plads selv...
Det kunne også være smart at få en notifikation, hvis den samlede pris er under en eller anden grænseværdi:
Og sidste step, inden det - for alvor - blev sengetid: At prøve at importere .ics-filen i Google Calendar:
Mission accomplished! Og så er det ud og sætte elbilen til at lade fra kl. 13 og frem!
Samlet tidsforbrug fra idé til prototype var ca. en times tid.