- <div class="title"><a href="http://people.skolelinux.org/pere/blog/40_kommuner_lenker_n__til_FiksGataMi_fra_sine_nettsider___gj_r_din_.html">40 kommuner lenker nå til FiksGataMi fra sine nettsider - gjør din?</a></div>
- <div class="date">28th October 2011</div>
- <div class="body"><p>Siden lansering av NUUGs tjeneste
-<a href="http://www.fiksgatami.no/">FiksGataMi</a>, en tjeneste for å
-gjøre det enkelt for innbyggerne og rapportere og holde rede på status
-for rapporter om problemer med offentlig infrastruktur, har tusenvis
-av innbyggere bidratt med meldinger. Og spesielt gledelig er det at
-det at de fleste i offentlige selv ser verdien av tjenesten. For noen
-dager siden oppdaget jeg nok en kommune som hadde lagt inn lenke til
-FiksGataMi fra forsiden sine nettsider, og slik omfavnet tjenesten som
-sin egen. Det er dermed 40 kommuner som lenker til FiksGataMi, og det
-utgjør nesten 10 prosent av kommunene i Norge. :)</p>
-
-<p>Det gjelder så langt Askøy kommune, Audnedal kommune, Aure kommune,
-Bærum kommune, Farsund kommune, Flekkefjord kommune, Folldal kommune,
-Grue kommune, Hadsel kommune, Hamar, Hægebostad kommune, Kongsberg
-kommune, Kristiansund kommune, Kvinesdal kommune, Kviteseid kommune,
-Levanger kommune, Lindesnes kommune, Lyngdal kommune, Lørenskog
-kommune, Løten kommune, Mandal kommune, Marnardal kommune, Moss
-kommune, Namsos kommune, Nissedal kommune, Sirdal kommune, Spydeberg
-kommune, Stjørdal kommune, Stord kommune, Søgne kommune, Sør-Odal
-kommune, Tolga kommune, Tynset kommune, Tysvær kommune, Ullensvang
-Herad, Vennesla kommune, Verdal kommune, Vågan kommune, Vågå kommune
-og Åseral kommune. Hvis din kommune ikke er på listen, hva med å
-sende dem en epost og foreslå at de også lenker til FiksGataMi?</p>
-
-<p>Her er et generalisert eksempel til meldingen kan sende til sin
-kommune basert på en epost utvikleren Ørjan Vøllestad sendte til sin
-kommune og som fikk kommunen til å lenke til FiksGataMi:</p>
-
-<p><blockquote>
-<pre>
-Subject: Gjøre FiksGataMi tilgjengelig fra kommune websiden
-To: kontakt@min.kommune.no
-
-Hei,
-
-Jeg bor i Min kommune og lurte på om Min kommune kunne lagt en link
-til FiksGataMi på forsiden, lett tilgjengelig slik andre kommuner har
-gjort. Se eksempler under på hvordan det er gjort tilgjengelig og en
-liste over kommuner som har tilgjengeliggjort fiksgatami.no fra
-kommune-siden.
-
-Hvis det ikke er ønskelig, ønsker jeg en tilbakemelding på hvorfor
-ikke. Jeg liker fiksgatami og synes tjenesten er super og gjør det
-lettere for kommuner å følge opp innmeldte saker fra innbyggerne.
-
-Se <a href="http://wiki.nuug.no/grupper/fiksgatami/tips">http://wiki.nuug.no/grupper/fiksgatami/tips</a> for spørsmål og svar mellom
-andre kommuner og fiksgatami.
-Se hovedsiden for tjenesten, <a href="http://www.fiksgatami.no/">http://www.fiksgatami.no/</a>
-De har allerede en Android applikasjon som kan promoteres,
-<a href="https://market.android.com/details?id=no.fiksgatami">https://market.android.com/details?id=no.fiksgatami</a>
-
-F.eks. <a href="http://www.mandal.kommune.no/">Mandal</a> har lenke til FiksGataMi på alle sine sider under
-overskriften "Min side / Selvbetjening".
-
-Mange andre kommuner har også omfavnet FiksGataMi, og lenket inn til
-tjenesten fra sine sider. Det gjelder så langt:
-
- 1. Askøy kommune, https://www.askoy.kommune.no/
- 2. Audnedal kommune, http://www.audnedal.kommune.no/
- 3. Aure kommune, http://www.aure.kommune.no/
- 4. Bærum kommune, https://www.baerum.kommune.no/
- 5. Farsund kommune, http://www.farsund.kommune.no/
- 6. Flekkefjord kommune, http://www.flekkefjord.kommune.no/
- 7. Folldal kommune, http://folldal.kommune.no/
- 8. Grue kommune, http://www.grue.kommune.no/
- 9. Hadsel kommune, http://www.hadsel.kommune.no/
- 10. Hamar, http://www.hamar.kommune.no/category.php?categoryID=1198
- 11. Hægebostad kommune, http://www.haegebostad.kommune.no/
- 12. Kongsberg kommune, http://www.kongsberg.kommune.no/
- 13. Kristiansund kommune, http://www.kristiansund.kommune.no/
- 14. Kvinesdal kommune, http://www.kvinesdal.kommune.no/
- 15. Kviteseid kommune, http://www.kviteseid.kommune.no/
- 16. Levanger kommune, http://www.levanger.kommune.no/
- 17. Lindesnes kommune, http://www.lindesnes.kommune.no/
- 18. Lyngdal kommune, http://www.lyngdal.kommune.no/
- 19. Lørenskog kommune, http://www.lorenskog.kommune.no/
- 20. Løten kommune, http://www.loten.kommune.no/
- 21. Mandal kommune, http://www.mandal.kommune.no/
- 22. Marnardal kommune, http://www.marnardal.kommune.no/
- 23. Moss kommune, http://www.moss.kommune.no/
- 24. Namsos kommune, http://www.namsos.kommune.no/
- 25. Nissedal kommune,
- http://www.nissedal.kommune.no/Tenester/Lokalt/Trygge%20Nissedal.aspx
- 26. Sirdal kommune, http://sirdal.kommune.be/
- 27. Spydeberg kommune, http://www.spydeberg.kommune.no/
- 28. Stjørdal kommune, https://www.stjordal.kommune.no/
- 29. Stord kommune, http://www.stord.kommune.no/
- 30. Søgne kommune, http://www.sogne.kommune.no/
- 31. Sør-Odal kommune, http://www.sor-odal.kommune.no/
- 32. Tolga kommune, http://tolga.kommune.no/
- 33. Tynset kommune, http://www.tynset.kommune.no/
- 34. Tysvær kommune, http://www.tysver.kommune.no/
- 35. Ullensvang Herad,
- http://www.ullensvang.herad.no/index.php?option=com_content&view=article&id=184:fiksgatami&catid=1:naering-og-utvikling&Itemid=174
- 36. Vennesla kommune, http://www.vennesla.kommune.no/
- 37. Verdal kommune, http://www.verdal.kommune.no/
- 38. Vågan kommune, http://www.vagan.kommune.no/
- 39. Vågå kommune, http://www.vaga.kommune.no/
- 40. Åseral kommune, http://www.aseral.kommune.no/
-</pre>
-</blockquote></p>
-
-<p>Ellers kan jeg melde at FiksGataMi har fått støtte for å rapportere
-inn via <a href="http://www.open311.org/">Open311</a>-grensesnittet i
-tillegg til å bruke epost. Det betyr at hvis det offentlige
-implementerer Open311-grensesnitt på sin interne database for å
-håndtere henvendelser, så kan FiksGataMi-rapporterer sendes direkte
-dit uten å gå via epost. Det kan spare litt arbeidstid hos kommuner,
-fylker og vegvesen. Støtten er utviklet av
-<a href="http://www.mysociety.org/">mySociety</a> i England og allerede
-i bruk der. Vi håper en norsk etat melder sin interesse for å bruke
-Open311 og dermed slippe å håndtere meldingene som epost.</p>
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Litt_informasjon_om_Bitfactorys_Bensinpris_API.html">Litt informasjon om Bitfactorys Bensinpris-API</a></div>
+ <div class="date">28th May 2012</div>
+ <div class="body"><p>I fjor lanserte Bitfactory en
+<a href="http://www.bitfactory.no/bensinpris.html">mobilapp for å få
+tilgang til bensinpriser</a> på landets bensinstasjoner ved å samle
+inn prisene på dugnad ved hjelp av mobilapp-ens brukere.
+Informasjonen app-ens brukere har samlet inn har så langt kun vært
+tilgjengelig for brukerne av app-ene, og API for å hente ut
+informasjonen fra andre plattformer har ikke vært publisert. Da
+løsningen kom spurte jeg utviklerne om de kunne publisere
+API-dokumentasjon og de skulle se på saken, men det har ikke skjedd så
+langt. Jeg antar de har vært for travelt opptatt til å publisere
+API-dokumentasjon.</p>
+
+<p>Utrolig nok er det i følge
+<a href="http://www.dn.no/energi/article2194526.ece">Dagens
+Næringsliv</a> og
+<a href="http://www.finnmarkdagblad.no/nyheter/article5323140.ece">Finnmark
+Dagblad</a> bensinstasjoner som nekter å oppgi prisene sine på
+telefon, slik at det ikke finnes en fornuftig måte å få tak i prisene
+på uten å samle dem inn på stedet. Flere har dugnader på gang for å
+samle inn prisinformasjon om bensin, men så vidt jeg kan se er det kun
+<a href="http://www.dinside.no/php/oko/bensin/vis_prisliste.php">dinside.no</a>
+og Bitfactorys App som får regelmessige oppdateringer. Dinsides
+oversikt er tilgjengelig på web for de som vil følge med, mens
+bitfactorys informasjon ikke er like enkelt tilgjengelig.<p>
+
+<p>Jeg tok meg derfor litt tid for å revers-utvikle protokollen for
+Bitfactorys mobilapp for å gjøre den innsamlede informasjonen mer
+tilgjengelig for flere. Protokollen bruker HTTP og normal
+forms-notasjon for POST. Jeg lot en telefon koble seg til mitt
+trådløsnett, og satte opp tcpdump til å samle all trafikken mot
+www.bitfactory.no, og deretter tittet på alle HTTP-kallene ved hjelp
+av wireshark. Her er API-kallene jeg har identifisert så langt.</p>
+
+<p><b>stasjonsDatabaseUpdateStamp</b></p>
+
+<p><tt>GET http://www.bitfactory.no/Bensin/ver1.1.stasjonsDatabaseUpdateStamp</tt></p>
+
+<p>Vet ikke helt hva dette API-kallet gjør, men navnet gjør at jeg
+tror den rapporterer når listen over stasjoner sist ble endret.
+Returverdien er et tall som pr. 2011-12-09 er 1319145491 og
+pr. 2012-05-28 er 1336420693. Mitt gjett er at dette er sekunder
+siden 1. januar 1970 ala det en finner på Linux, som kan konverteres
+til en leselig dato med <tt>perl -e 'print
+scalar(localtime(1319145491)), "\n"'</tt>. Den første verdien
+konverterer da til "Thu Oct 20 23:18:11 2011", mens den andre
+konverteres til "Mon May 7 21:58:13 2012".</p>
+
+<p><b>GetXMLDatabase</b></p>
+
+<p><tt>echo password=XYZXYZXYZXYZX | POST http://www.bitfactory.no/Bensin/GetXMLDatabase.php</tt></p>
+
+<p>Henter ned listen med stasjoner på XML-format. Argumentet er
+password som muligens følger med i programpakken og eventuelt
+genereres av app-en. Nedlasting med samme passord flere ganger ser
+ikke ut til å fungere. Innholdet er ca. 1600 stasjoner, men manglet
+bensinstasjonen i min hjemkommune Ballangen da jeg sjekket, så den er
+ikke komplett. Formatet på selve listen ser slik ut (klippet):</p>
+
+<p><pre>
+<?xml version="1.0" encoding="UTF-8"?>
+<STASJONSDATABASE>
+<STASJON>
+<NAME></NAME>
+<ADDRESS></ADDRESS>
+<ID>0</ID>
+<LATITUDE>0.000000</LATITUDE>
+<LONGITUDE>0.000000</LONGITUDE>
+<COMPANY></COMPANY>
+</STASJON>
+<STASJON>
+<NAME>Statoil Best Eidsvoll Verk</NAME>
+<ADDRESS>Gamle Trondheimsvei 339 2074 Eidsvoll Verk</ADDRESS>
+<ID>1</ID>
+<LATITUDE>60.303902</LATITUDE>
+<LONGITUDE>11.168100</LONGITUDE>
+<COMPANY>Best</COMPANY>
+</STASJON>
+[...]
+<STASJON>
+<NAME>Esso Andenes</NAME>
+<ADDRESS>Falcksgate 9, 8480 Andenes</ADDRESS>
+<ID>1822</ID>
+<LATITUDE>69.320999</LATITUDE>
+<LONGITUDE>16.118700</LONGITUDE>
+<COMPANY>Esso</COMPANY>
+</STASJON>
+</STASJONSDATABASE>
+</pre></p>
+
+<p><b>GetBanStatus</b></p>
+
+<p><tt>echo UDID=Android-123456789012345 | POST http://www.bitfactory.no/Bensin/ver1.1.GetBanStatus.php</tt></p>
+
+<p>Vet heller ikke helt hva dette API-kallet gjør. Navnet gjør at jeg
+tror den rapporterer om telefonen med UDID oppgitt som argument er
+bannlyst fra tjenesten. Bannlysning gjør antagelig at telefonen ikke
+kan brukes til å registrere bensinpriser, men det er også mulig det
+blokkerer for å se på priser. Eneste POST-argument er UDID, som ser
+ut til å være den unike ID-en til en mobil-enhet. Returnverdi er 'NO'
+for alle UDID-verdier jeg har testet. Gjetter på at alternativ
+returverdi er 'YES', men har ikke sett en slik verdi så langt.</p>
+
+<p><b>PriserVedStasjoner</b></p>
+
+<p><tt>echo 'stasjoner=810,364&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjoner.php</tt></p>
+
+<p>Dette kallet henter ut priser registrert på en eller flere
+bensinstasjoner. Den tar to POST-argumenter, "stasjoner" som er
+kommaseparert liste over stasjons-IDer (numeriske), og "day" som bør
+settes til "0" for å få ut informasjon om priser. Usikker på hva
+day-tallet betyr, men mistenker det har med hvor langt tilbake i tid
+det skal hentes ut informasjon.</p>
+
+<p>Resultatet som kommer tilbake er en kommaseparert liste for hver
+enkelt stasjon, med <br> som skillemarkør mellom hver stasjon.
+Ikke helt sikker på hva alle feltene er. Her er mine gjett:</p>
+
+<p><table>
+<tr><ht>Felt</ht><ht>Beskrivelse</ht></tr>
+<tr><td>1</td><td>Bensinstasjons-ID</td></tr>
+<tr><td>2</td><td>Pris for blyfri 95 oktan, flyttall med punktum som desimalskille.</td></tr>
+<tr><td>3</td><td>Klokkeslett da prisen ble oppdatert, format HH:MM. </td></tr>
+<tr><td>4</td><td>Telefon-ID på formen Android-123456789012345 eller hex-kodet streng/MD5-sum</td></tr>
+<tr><td>5</td><td>tall, uviss betydning. muligens relatert til day-verdien.</td></tr>
+<tr><td>6</td><td>Pris for blyfri 98-oktan?</td></tr>
+<tr><td>7</td><td>samme som felt 3</td></tr>
+<tr><td>8</td><td>samme som felt 4</td></tr>
+<tr><td>9</td><td>samme som felt 5</td></tr>
+<tr><td>10</td><td>Pris for disel</td></tr>
+<tr><td>11</td><td>Samme som felt 3</td></tr>
+<tr><td>12</td><td>Samme som felt 4</td></tr>
+<tr><td>13</td><td>Samme som felt 5</td></tr>
+</table></p>
+
+<p>En stasjonsoppføring består dermed av av bensinstasjons-ID og
+deretter tre blokker for 95-oktan bensin, 98-oktan bensin og
+disel.</p>
+
+<p><b>PriserVedStasjon</b></p>
+
+<p><tt>echo 'id=736&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjon.php</tt></p>
+
+<p>Ser ut til å returnere informasjon for en enkelt bensinstasjon.
+Formatet er dato på formen "08_12_2011" for 2011-12-08, og noe som ser
+ut som samme format som fra PriserVedStasjoner. For stasjoner der
+intet er registrert returnerer den "NO RESULTS".</p>
+
+<p><b>AllePriser</b></p>
+
+<p><tt>echo day=0 | POST http://www.bitfactory.no/Bensin/ver1.1.AllePriser.php</tt></p>
+
+<p>Returnere liste med av alle stasjoner det er registrert oppdaterte
+priser på siste 24 timer (eller er det fra ca. midnatt dagen før?).
+Returnerer "NO RESULTS" når listen er tom. Ellers returnerer den en
+dato på formen "Thursday_09_12_2011" fulgt av <br> og deretter
+en liste med stasjoner på samme format som PriserVedStasjoner.</p>