59_Weather: neuer Provider gesucht / Mitstreiter für Neuentwicklung gesucht

Begonnen von Dr. Boris Neubert, 26 März 2016, 09:59:01

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo Boris,

Ich fange gerade an für Wunderground die ersten Codeteile vor zu bereiten. Es stehen aber noch einige Fragen im Raum.
59_Weather sollte ja universal sein.


  • woeid wird in 59_Weather an gegeben und in der YahooAPI weiterverarbeitet, für Wunderground nennt sich das Station_ID. Es ist ja egal wie man das Kind nennt, daher meine Frage. So lassen??
  • wie hand haben wir das define von 59_Weather? Wo gebe ich an welche API er verwenden soll. Sollte im Define angegeben werden finde ich. Es gibt auch API's mit Key. Auch der sollte ins Define

Es wird da sicherlich noch mehr Fragen geben. Aber ich gehe es erstmal langsam an   ;D



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Prof. Dr. Peter Henning

Wenn wir schon bei Fragen der allgemeineneren Module sind:

Bei mir werden Wetternachrichten vorgelesen. Das bedeutet beispielsweise, dass man aus "Temperatur 10.4 °C" ein "Temperatur 10 Komma 4 Grad" machen muss.

So etwas gehört m.E. in die global verfügbaren Utilities - etwa als Funktion "translate2TTS". Die Frage ist aber, ob das dann wirklich von jedem selbst aufgerufen werden soll (man definiert eben einen dummy oder ein readingsProxy, welche diese Funktion ruft), oder ob man es auch als Option in das allgemeine Wettermodul einbaut.

LG

pah

Dr. Boris Neubert

Zitat von: Prof. Dr. Peter Henning am 05 April 2016, 12:18:06
Bei mir werden Wetternachrichten vorgelesen. Das bedeutet beispielsweise, dass man aus "Temperatur 10.4 °C" ein "Temperatur 10 Komma 4 Grad" machen muss.

So etwas gehört m.E. in die global verfügbaren Utilities - etwa als Funktion "translate2TTS". Die Frage ist aber, ob das dann wirklich von jedem selbst aufgerufen werden soll (man definiert eben einen dummy oder ein readingsProxy, welche diese Funktion ruft), oder ob man es auch als Option in das allgemeine Wettermodul einbaut.

Ich würde das gerne einbauen, weiß aber nicht, wie es aufgerufen oder verwendet wird. Diesbezügliche Patches nehme ich gerne entgegen und baue sie ein.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

Zitat von: CoolTux am 05 April 2016, 12:07:16

  • woeid wird in 59_Weather an gegeben und in der YahooAPI weiterverarbeitet, für Wunderground nennt sich das Station_ID. Es ist ja egal wie man das Kind nennt, daher meine Frage. So lassen??

Ich denke, dass das nur eine Frage der Dokumentation ist. Ich kann es später in der Dokumentation (und mit Suchen&Ersetzen auch im Code) durch eine allgemeinere Bezeichnung ersetzen, z.B. ID.

Zitat

  • wie hand haben wir das define von 59_Weather? Wo gebe ich an welche API er verwenden soll. Sollte im Define angegeben werden finde ich. Es gibt auch API's mit Key. Auch der sollte ins Define

Das ist schwieriger. Aus Gründen der Abwärtskompatibilität kann die Angabe der verwendeten Quelle nur ganz hinten im define als Option angefügt werden.

Ich könnte das aber auch so machen (meine Präferenz):

attr MyWeather API Yahoo
attr MyWeather Key 4711.0815

Das wird funktionieren, weil die erste Abfrage an das API erst gestellt wird, nachdem FHEM initialisiert ist, also das Attribut schon am Device bekannt ist. Bei Neuanlagen über die Oberfläche wird halt erst dann ein Aufruf ans API abgesetzt, wenn es ein entsprechendes Attribut gibt.

Viele Grüße
Boris



Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

ein vorschlag: wenn man die syntax für das define so erweitert das man parameter in der form name=wert angeben kann könnte man erweiterbar auch plugin spezifische werte übergeben.  die aktuelle variante mit der woid wäre dann rückwärtskompatibel nur für yahoo. die neue variante wäre dann

  define wetterxy Weather provider=yahoo woid=...

wenn ein provider noch einen key braucht wird er als zusätzlicher key=meinKey übergeben.

intern könnte man alle parameter in einen hash stecken und ans jeweilige plugin übergeben.

damit wäre auch für neue plugins nichts am framework modul zu ändern.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dr. Boris Neubert

Zitat von: justme1968 am 10 April 2016, 10:10:13

  define wetterxy Weather provider=yahoo woid=...

wenn ein provider noch einen key braucht wird er als zusätzlicher key=meinKey übergeben.

intern könnte man alle parameter in einen hash stecken und ans jeweilige plugin übergeben.


Das finde ich super! So wird's gemacht. Sobald ein Gleichheitszeichen in einem Parameter ist, wird die neue Syntax angenommen, ansonsten die alte.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!