aare.guru.api

Dienschte hinger aare.guru

Base-URL: https://aareguru.existenz.ch/

Bei Requests auf die API bitte app und version mitgeben.

Z.B.: ...currentV2.php?app=app.identifier.meine.app&version=1.31

Diese API ist öffentlich und darf benutzt werden, aber sag uns bitte auf aaregurus@existenz.ch Bescheid wenn du das machst. Und setz einen Link zurück auf https://aare.guru. Danke.

JSONP erlaubt via callback-Parameter. CORS-Header auf * gesetzt.

Mit viel Liebe, Christian Studer, cstuder@existenz.ch

Datenquellen

Datenquelle für die Aare-Messdaten: Bundesamt für Umwelt, Abteilung Hydrologie

Datenquelle für Wettermesswerte: MeteoSchweiz, SwissMetNet

Datenquelle für Wettervorhersagen (Ausser Aare-Temperatur-Prognose): Freundliche gesponsert von Meteotest

Messdaten werden ausgeliefert über die Existenz.ch APIs.

Übersicht über 2018-Datenservices

Für Aare.guru 2.0.

Ortsliste 2018

https://aareguru.existenz.ch/v2018/cities

Alle Orte inkl. aktueller Aare-Temperatur und Wettervorhersage in einem geordneten Array.

Schlüssel Einheit Beschreibung
city Unique key für diesen Ort.
name Kurzname der Ortschaft
longname Ausführlicher Name der Messstation
aare °C Aktuelle Aaretemperatur
sy # Tagessymbol Wettervorhersage
tn °C Tagesminimaltemperatur Wettervorhersage
tx °C Tagesmaximaltemperatur Wettervorhersage
forecast bool Ort verfügt über Aaretemperaturvorhersage
time s Messezeitpunkt der Aaretemperatur
url URL zum Datenservice
today URL zum Todaywidgetdatenservice

Aktuelle Daten 2018

https://aareguru.existenz.ch/v2018/current

Grundsätzlich gleich wie currentV2.php, standardmässig wird Ort bern geliefert, andere Orte über den GET-Parameter city verlangen:

https://aareguru.existenz.ch/v2018/current?city=thun

 Today-Widget 2018

https://aareguru.existenz.ch/v2018/today

Kleiner aktuelle-Werte-Service für die Today-Widget-Ansicht auf iOS etc.

Standardmässig wird Ort bern geliefert, andere Orte über den GET-Parameter city verlangen: https://aareguru.existenz.ch/v2018/today?city=thun

Schlüssel Einheit Beschreibung
aare °C Aktuelle Aaretemperatur
text Aktueller Aaretemperaturtext
time s Messezeitpunkt der Aaretemperatur
name Kurzname der Ortschaft
longname Ausführlicher Name der Messstation

Übersicht über currentV2.php (Für die 2017er Version der Apps)

https://aareguru.existenz.ch/currentV2.php

Zufällige Services

current.php

https://aareguru.existenz.ch/current.php

Sehr alter aktueller Service. Braucht der noch jemand?

today.php

https://aareguru.existenz.ch/today.php

Alter Service für Heute-Ansicht für das Heute-Widget von iOS und vielleicht noch jemand.

slack.php

https://aareguru.existenz.ch/slack.php

Schneller Hack für eine Slackintegration. (Legacy custom integration)

slack-admin-commands.php

https://aareguru.existenz.ch/slack-admin-commands.php

Slack-Administrationskommandos für /guruadmin. Geschützt mit Schutz.

webcam.php

https://aareguru.existenz.ch/webcam.php

Aktuellstes Bildli mit Logo und voll bärndeutschem Datum.

Deployment

Abkürzung: npm run deploy-LIVE

  1. Lokale Änderungen auf LIVE pushen: git push . master:LIVE
  2. Branch pushen: git push origin LIVE
  3. Warten.

Development

Starte den lokalen Webserver mit npm run serve.

Keine Datenbank, nur Textfiles. Keine Frameworks, nur Handarbeit.

Züüg

Das Repo ist organisch gewachsen. Hier wuchert noch folgendes rum:

/bin

On-off-Skripte für Importe etc.

Aktuell sind die Horizontsachen drin.

/cache

Die Cronjobs legen ihre zusammengetragene Daten als JSONs hier ab.

/cron

Cronjobs. Holen Daten von den anderen Webservices und konvertieren sie ins richtige Format.

/docs

Zusätzliche rumliegende Dokumentation.

crontab.txt

Alle Cronjobs welche zu diesem Repo gehören. (Kein automatisiertes Deployment, bloss zur Information!)

/img

Irgendwelche statischen Bildli.

/lib

Zentrale Bibliotheken, z.B. für die Skalas oder Farbextraktion.

/vendor

Composer-Libraries, einfach in Ruhe lassen. Wird vom composer.json bzw. .lock gefüttert, der Einfachheit halber halt auch hier drin.

/webcam

Webcam-Archiv seit Mai 2016. Mit Lücken wegen der unzuverlässigen Internetverbindung.

Im 'archive' bewahren wir das unveränderte Bild auf.

current.jpg ist das aktuellste Bild (Zugriff blockiert.) current.json die Metadaten zum aktuellsten Bild. current-color.jpg ist der extrahierte Gründbereich.

Zugriff immer über webcam.php, dort wird das Bild zugeschnitten, Logo und Datum hinzugefügt.

Bilder werden per FTP nach ~/aaregurucam geliefert, dort alle 20 Sekunden per Cronjob von copyWebcamImage.php abgeholt und behandelt.

Format beim reinkommen: aaregurucam-JAHR-MONAT-TAG_STUNDE_MINUTE_SEKUNDE.MILLIS.jpg

Format im Archiv: aaregurucam-TIMESTAMP.jpg