CrestronInfo
Größtes deutschsprachiges Crestron® Userforum / Crestronforum / Crestron Forum
 


 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Daten von Google APIs nutzen



 
Neues Thema eröffnen   Neue Antwort erstellen    CrestronInfo Foren-Übersicht -> Programmierung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Øle!
Administrator



Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 12.07.2006
Beiträge: 431
Wohnort: 71711 Steinheim/Murr

BeitragVerfasst am: 26.09.2011, 22:17    Titel: Daten von Google APIs nutzen Antworten mit Zitat

ACHTUNG!
Google hat die Weather-API deaktiviert!

Das Beispiel mit der Weather-API funktioniert nicht mehr!

Diese Modul dient nun nur noch als Bastelvorlage für andere APIs.


(Stand September 2012)



Bastelzeit!

Von Google gibt es diverse APIs = Application Programming Interface = Programmierschittstellen.
Die bekannteste davon ist wahrscheinlich google weather.

Wenn man im Browser www.google.com/ig/api?weather=28195-Germany&hl=de eingibt, erhält man folgende Antwort:
Code:
<xml_api_reply version="1">

<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0">

<forecast_information>
<city data="Bremen, Bremen"/>
<postal_code data="28195-Germany"/>
<latitude_e6 data=""/>
<longitude_e6 data=""/>
<forecast_date data="2011-09-26"/>
<current_date_time data="2011-09-26 19:20:00 +0000"/>
<unit_system data="SI"/>
</forecast_information>

<current_conditions>
<condition data="Meistens bewölkt"/>
<temp_f data="66"/>
<temp_c data="19"/>
<humidity data="Luftfeuchtigkeit: 78 %"/>
<icon data="/ig/images/weather/mostly_cloudy.gif"/>
<wind_condition data="Wind: NW mit 21 km/h"/>
</current_conditions>

<forecast_conditions>
<day_of_week data="Mo."/>
<low data="13"/>
<high data="24"/>
<icon data="/ig/images/weather/mostly_sunny.gif"/>
<condition data="Meist sonnig"/>
</forecast_conditions>

<forecast_conditions>
<day_of_week data="Di."/>
<low data="6"/>
<high data="20"/>
<icon data="/ig/images/weather/chance_of_rain.gif"/>
<condition data="Vereinzelt Regen"/>
</forecast_conditions>

<forecast_conditions>
<day_of_week data="Mi."/>
<low data="8"/>
<high data="22"/>
<icon data="/ig/images/weather/mostly_sunny.gif"/>
<condition data="Meist sonnig"/>
</forecast_conditions>

<forecast_conditions>
<day_of_week data="Do."/>
<low data="10"/>
<high data="22"/>
<icon data="/ig/images/weather/mostly_sunny.gif"/>
<condition data="Meist sonnig"/>
</forecast_conditions>
</weather>
</xml_api_reply>


Syntax: /ig/api?weather=[Ort]-[Land]&hl=[Länderkürzel für die Ausgabesprache]

Für den Ort funktionieren sowohl die Angabe des Ortes als auch die deutsche Postleitzahl, bei Wien oder Bern hat es mit der Postleitzahl nicht geklappt.
Es sollte also z. B. 28195-Germany, Berlin-Germany, Wien-Austria oder Bern-Switzerland lauten.

Die Ausgabesprache beeinflusst auch die Masseinheiten (Celsius, Fahrenheit, km/h, mph).

Kleine Unterschiede konnte ich noch zwischen google.com und google.de feststellen:
google.com:
Code:
<humidity data="Luftfeuchtigkeit: 75 %"/>
<wind_condition data="Wind: N mit 11 km/h"/>

google.de:
Code:
<humidity data="Feuchtigkeit: 75 %"/>
<wind_condition data="Wind: N mit Windgeschwindigkeiten von 11 km/h"/>


Ich habe mal ein Crestron-Modul gebaut, das folgendes macht:
- TCP/IP-Client mit angegebener Adresse verbinden
- den API-Befehl absetzen
- warten, bis der HTML-End-Tag </xml_api_reply> eingeht
- Digital Output "API_Complete" auf HIGH setzen
- TCP/IP-Client Verbindung trennen
- HTML-Header entfernen
- die einzelnen HTML-Tags nacheinander als Strings ausgeben

Das Modul google_api.umc findet Ihr unter http://the-missed-link.com/downloads.html

Das Modul habe ich nicht explizit an google weather angepasst, um es auch für andere APIs nutzen zu können.

Viel Spaß!
_________________
Gruß, Øle!

Alles wird gut!


Zuletzt bearbeitet von Øle! am 18.09.2012, 16:35, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Øle!
Administrator



Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 12.07.2006
Beiträge: 431
Wohnort: 71711 Steinheim/Murr

BeitragVerfasst am: 27.09.2011, 02:39    Titel: Details zu google weather Antworten mit Zitat

Bei der Auswertung der Daten von google weather sind noch einige Details zu klären:

Die Temperaturen müssen "von hinten" ausgewertet werden, da die Antwort bei einstelligen Temperaturen ohne vorgestellte Null und bei positiven Temperaturen ohne Vorzeichen erfolgt:
also <low data="3"/>
oder <low data="13"/>
oder <low data="-13"/>

Die vorgeschlagenen Icons können als Trigger für eine Animation auf einem Touchpanel oder X-Panel genutzt werden,
dazu müsste man natürlich alle möglichen Konditionen kennen.
Bisher konnte ich im Netz folgende Möglichkeiten für "icon data" finden:

1.: sunny.gif
2.: mostly_sunny.gif
3.: partly_cloudy.gif
4.: mostly_cloudy.gif
5.: cloudy.gif
6.: chance_of_rain.gif
7.: mist.gif (Nieselregen)
8.: rain.gif
9.: showers.gif
10.: flurries.gif (Böen)
11.: chance_of_storm.gif
12.: storm.gif
13.: chance_of_tstorm.gif
14.: thunderstorm.gif
15.: chance_of_snow.gif
16.: snow.gif
17.: sleet.gif (Graupel)
18.: icy.gif
19.: dust.gif
20.: fog.gif
21.: smoke.gif
22.: haze.gif

Ich habe dafür ein Modul gebaut, welches einen Analogwert gemäß dieser Reihenfolge ausgibt.
Der String <icon data="/ig/images/weather/snow.gif"/> würde also einen Analogwert von 16 erzeugen.

Das Modul google_weather_icon_data_to_analog.umc liegt ebenfalls auf http://the-missed-link.com/downloads.html
_________________
Gruß, Øle!

Alles wird gut!


Zuletzt bearbeitet von Øle! am 30.09.2011, 20:50, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HST




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 29.09.2010
Beiträge: 347
Wohnort: Wien

BeitragVerfasst am: 27.09.2011, 09:11    Titel: Re: Details zu google weather Antworten mit Zitat

Hello!

Øle! hat folgendes geschrieben:
Bei der Auswertung der Daten von google weather sind noch einige Details zu klären:

Die Temperaturen müssen "von hinten" ausgewertet werden, da die Antwort bei einstelligen Temperaturen ohne vorgestellte Null und bei positiven Temperaturen ohne Vorzeichen erfolgt:
also <low data="3"/>
oder <low data="13"/>
oder <low data="-13"/>


Nicht zwangsläufig. man kann die Zeile auch brutal in ein ATOI schicken. Dann bleibt die Zahl über und der Rest wird ignoriert.
Man muss nur vorher das "-" FINDen/auswerten, denn meiner Meinung nach ist ATOI unsigend only, d.h. ignoriert das Minus-Zeichen
Oder kommen da Kommas o.ä. auch noch daher?
_________________
Mein neuer Blog: http://www.haraldsteindl.eu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Øle!
Administrator



Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 12.07.2006
Beiträge: 431
Wohnort: 71711 Steinheim/Murr

BeitragVerfasst am: 27.09.2011, 23:42    Titel: Antworten mit Zitat

Hi Harald!

Temperaturwerte im Zehntelbereich kommen anscheinend nicht vor - bei Tagesprognosen sowieso nicht.
Da ich mit diesen Daten ja nur eine Tendenz darstellen möchte, reicht mir das.

Also: Bitte verwendet diese Daten nicht für die Planung von Aktionen wie die Bezwingung eines Neuntausenders oder Wattwanderungen nach England!
_________________
Gruß, Øle!

Alles wird gut!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
X-Topher




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 13.07.2006
Beiträge: 567
Wohnort: Braunschweig

BeitragVerfasst am: 28.09.2011, 00:06    Titel: Antworten mit Zitat

Schön gemacht, wenngleich das Wetter bei mir schon lange via Yahoo mit einem fertigen Macro angezeigt wird.

Was mich interessieren würde wäre eine Implementierung der Spreadsheets, in die meine Steuerungen Nutzungsdaten ablegen, so zB Lampenlaufzeiten der Beamer, Anzahl der Schaltzyklen und solche Dinge.
In einer Tabelle kann man das sicherlich auch ganz gut auswerten und mit netten Grafiken darstellen.
Wenn diese Daten nicht nur lokal gesammelt würden fände ich das sehr hilfreich und viel besser, als wenn mir eine Steuerung eine Mail schickt (wobei ich das noch nie gemacht habe).

Hat jemand Interesse, das einmal umzusetzen?
_________________
Chris Horn

Memo to myself: „Das Leben ist kurz, weniger wegen der kurzen Zeit, die es dauert, sondern weil wir uns von dieser kurzen Zeit fast keine nehmen, um es zu genießen.“ Jean-Jacques Rousseau
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
HST




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 29.09.2010
Beiträge: 347
Wohnort: Wien

BeitragVerfasst am: 28.09.2011, 10:12    Titel: Antworten mit Zitat

Servus Chris!

http://code.google.com/apis/chart/image/
wäre Dein Freund denke ich mal fürs Bilder malen. Ich hab mich einmal mit dem Gedanken gespielt sowas zu machen, hab mir aber nie die Zeit genommen...

Bye
HST
_________________
Mein neuer Blog: http://www.haraldsteindl.eu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
X-Topher




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 13.07.2006
Beiträge: 567
Wohnort: Braunschweig

BeitragVerfasst am: 28.09.2011, 23:58    Titel: Antworten mit Zitat

Hallo Harald,

die CHarts sind ja später nur eine Darstellung der gesammelten Daten, also der zweite oder dritte Schritt.
Zuerst einmal muss eine Steuerung die Daten ja in eine Datenbank/Tabelle eintragen, wofür sich sicherlich die Google Spreadsheet API eignet, oder? Von dort aus würde ich die Daten dann entweder lokal oder mittels Google Chart API grafisch aufbereiten.
Die Chart API selbst ist zum Datensammeln (über längere Zeiträume) eher nicht geeignet. Oder habe ich etwas übersehen?
_________________
Chris Horn

Memo to myself: „Das Leben ist kurz, weniger wegen der kurzen Zeit, die es dauert, sondern weil wir uns von dieser kurzen Zeit fast keine nehmen, um es zu genießen.“ Jean-Jacques Rousseau
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
HST




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 29.09.2010
Beiträge: 347
Wohnort: Wien

BeitragVerfasst am: 29.09.2011, 09:37    Titel: Antworten mit Zitat

Servus!

ja, wobei die Datensammlerei ja durchaus auch auf einer CF-Karte in einer DIN-AP2 laufen könnte.
Es geht da eigentlich mehr um die Art und Weise, wie man die Daten speichert. Eine (für deren Anwendungszweck!) optimale Weise wie man Daten über einen langen Zeitraum mit abnehmender Genauigkeit und ddaher recht platzsparend abspeichert gibts hier:
http://oss.oetiker.ch/mrtg/doc/mrtg.en.html

Es kommt eh der Winter. Vielleicht findet sich wer, der das nach S+ portiert!

Bye
HST
_________________
Mein neuer Blog: http://www.haraldsteindl.eu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
X-Topher




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 13.07.2006
Beiträge: 567
Wohnort: Braunschweig

BeitragVerfasst am: 29.09.2011, 23:44    Titel: Antworten mit Zitat

Moin!

Nee, Harald, auf einer lokalen CF Karte will das doch keiner wirklich speichern, dann komme ich an die Daten ja nicht so ohne Weiteres heran. Wenn ich schon den Aufwand betreibe, dann bitte mit dem Nutzen, dass die Daten aus meinem Büro zugänglich sind.
Und dafür drängt sich die Ablage in der Cloud ja förmlich auf.
_________________
Chris Horn

Memo to myself: „Das Leben ist kurz, weniger wegen der kurzen Zeit, die es dauert, sondern weil wir uns von dieser kurzen Zeit fast keine nehmen, um es zu genießen.“ Jean-Jacques Rousseau
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
X-Topher




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 13.07.2006
Beiträge: 567
Wohnort: Braunschweig

BeitragVerfasst am: 29.09.2011, 23:54    Titel: Antworten mit Zitat

HST hat folgendes geschrieben:

Es kommt eh der Winter. Vielleicht findet sich wer, der das nach S+ portiert!


Hast du eigentlich Auszubildende oder Praktikanten beschäftigt? Winken
_________________
Chris Horn

Memo to myself: „Das Leben ist kurz, weniger wegen der kurzen Zeit, die es dauert, sondern weil wir uns von dieser kurzen Zeit fast keine nehmen, um es zu genießen.“ Jean-Jacques Rousseau
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Øle!
Administrator



Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 12.07.2006
Beiträge: 431
Wohnort: 71711 Steinheim/Murr

BeitragVerfasst am: 30.09.2011, 21:28    Titel: Antworten mit Zitat

Erste Ergebnisse:



P.S.:
Wie würdet Ihr unter SimplWin mehrere Strings zu einem zusammenfügen?
Temp_LOW$ + " bis " Temp_HIGH$ + "ºC"
Das Gradzeichen schreibe ich natürlich als \xBA - schon klar...
Ich bin mir sicher, sowas schon mal unter SimplWin gemacht zu haben, ich bekomme es aber einfach nicht mehr hin,.
Habs jetzt wie immer mit Simpl+ gemacht.
_________________
Gruß, Øle!

Alles wird gut!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
X-Topher




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 13.07.2006
Beiträge: 567
Wohnort: Braunschweig

BeitragVerfasst am: 14.10.2011, 11:18    Titel: Antworten mit Zitat

Øle! hat folgendes geschrieben:

Wie würdet Ihr unter SimplWin mehrere Strings zu einem zusammenfügen?
Temp_LOW$ + " bis " Temp_HIGH$ + "ºC"


Serial Gather?


Signals/Parameters

Serial input: <in$>
Serial output: <out$>
Two single-precision parameters: <delimiter> and <length>

Sollte funktionieren, wenn Du als delimiter hier zB '°C' angibst.
_________________
Chris Horn

Memo to myself: „Das Leben ist kurz, weniger wegen der kurzen Zeit, die es dauert, sondern weil wir uns von dieser kurzen Zeit fast keine nehmen, um es zu genießen.“ Jean-Jacques Rousseau
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
X-Topher




Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 13.07.2006
Beiträge: 567
Wohnort: Braunschweig

BeitragVerfasst am: 21.10.2011, 23:25    Titel: Antworten mit Zitat

HST hat folgendes geschrieben:

http://code.google.com/apis/chart/image/


Von Chip Moody gibt es eine fertige Demo im Yahoo Forum.
Funktionierte auf einer QM-RMC sofort problemlos.

Hier der Link zum file:
Dynamic Image Charts QMRMC.zip
Create charts using dynamic images based on data collected by your processor

Und dann gibt's da noch eine weitere Anwendung, auf der ersten basierend:
Google Charts Strip Recorder v2.zip
Generates a strip chart for display on a dynamic graphic. Based on original work by Chip Moody for Dynamic Images - added tinyurl capbility to store more data. Updated to add autoscaling on y axis.

Ich habe allerdings nicht ausprobiert, ob man die Files auch laden kann, wenn man nicht in Yahoo's Crestron Forum angemeldet ist.

Die Umsetzung ist ganz nett und veranschaulicht im Zweifelsfall, wie man soetwas programmiert. Es zeigt aber auch, dass das meinem Gedanken eben nicht entspricht.
_________________
Chris Horn

Memo to myself: „Das Leben ist kurz, weniger wegen der kurzen Zeit, die es dauert, sondern weil wir uns von dieser kurzen Zeit fast keine nehmen, um es zu genießen.“ Jean-Jacques Rousseau
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    CrestronInfo Foren-Übersicht -> Programmierung Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Shure qsc String für VK Kamera Steuer... mediainstaller Programmierung 0 07.11.2013, 22:50
Keine neuen Beiträge .EGT Files öffnen? (EIB-Daten) futuretec Programmierung 0 08.11.2009, 23:06
Keine neuen Beiträge Lange Nummern als Parameter nutzen Øle! Programmierung 1 24.02.2009, 19:11
Keine neuen Beiträge Daten Logger s_moto Programmierung 8 08.01.2008, 15:26

Tags
Programm



Powered by phpBB 2.0.23 © 2001, 2002 phpBB Group

BBoard.de bietet Ihnen ein Kostenloses Forum mit zahlreichen tollen Features

Impressum