An die Wetter Modulauthoren API-Dokumentation online

Begonnen von CoolTux, 12 Januar 2019, 17:58:50

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Ich warte dann mal solange, bis jemand mir sagt was ich tun soll :)

CoolTux

Zitat von: rudolfkoenig am 26 Februar 2019, 18:39:25
Ich warte dann mal solange, bis jemand mir sagt was ich tun soll :)

Das wäre nett Rudi. Ich kümmere mich.


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

CoolTux

#17
Hallo Rudi,
Hab mich gekümmert


define Weather Weather apikey=DEMO API=DarkSkyDemoAPI,cachemaxage:600



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

betateilchen

Ein mögliches Problem mit dieser Lösung sehe ich darin, dass dieses Pseudo-Modul in der FHEM Konfiguration in jedes Auslieferungspaket mit eingepackt werden muss. Das könnte bei Anwendern zu - berechtigten - Fragen führen.

Mir ist zwischenzeitlich eine andere Idee eingefallen.

Könnte man nicht in der regulären DarkSkyAPI.pm den Demo-Modus einbauen, der dafür sorgt, dass im Fall (apikey eq 'DEMO') automatisch Demodaten zurückgeliefert werden, ohne eine echte Dienst-Abfrage durchzuführen?

Es ist den Benutzern vermutlich einfacher verständlich zu vermitteln, dass sie ihren eigenen APIkey eintragen müssen, als ein zweites Modul zu rechtfertigen, das "nix tut".
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Klingt logisch und sinnvoll. Ich denke das ich das relativ zeitnah morgen umgesetzt bekomme.
Melde mich morgen Mittag deswegen dann noch mal.
Danke Udo.


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

CoolTux

Guten Morgen,

Ich habe soeben eine Version von der DarkSkyAPI eingecheckt in der es einen Demomode gibt.
Einfach apikey=demo eingeben.


define Weather Weather apikey=demo


sollte ausreichend sein. Vorausgesetzt das im global Device latitude und longitude gesetzt ist.
Ansonsten muß in der Definition noch eine location Angabe mit rein.


define Weather Weather apikey=demo location=52.4545,13.4545



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

betateilchen

Funktioniert. Einen Vorschlag hätte ich noch, um nicht auf die Groß-/Kleinschreibung von "demo" achten zu müssen:


Index: DarkSkyAPI.pm
===================================================================
--- DarkSkyAPI.pm       (revision 18747)
+++ DarkSkyAPI.pm       (working copy)
@@ -168,7 +168,7 @@
           . $self->{lang}
           . '&units=auto';

-        if ( $self->{key} eq 'demo' )
+        if ( lc($self->{key}) eq 'demo' )
         { _RetrieveDataFinished($paramRef,undef,DEMODATA); }
         else { main::HttpUtils_NonblockingGet($paramRef); }
     }
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

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

betateilchen


Index: fhem.cfg.demo
===================================================================
--- fhem.cfg.demo       (revision 18750)
+++ fhem.cfg.demo       (working copy)
@@ -631,6 +631,8 @@
attr CT setList on:noArg off:noArg ct:colorpicker,CT,2000,1,6500
attr CT webCmd ct::ct 2040:ct 2630:ct 3703:ct 6250:on:off

+define Weather Weather apikey=demo location=52.4545,13.4545
+attr Weather room Weather

define Weather.weblink weblink htmlCode { WeatherAsHtmlH("Weather") }
attr Weather.weblink alias Weather Forecast
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Danke fuer den Patch.

Wenn man nach dem FHEM-Start Weather aufruft dann kriegt man eine relativ langweilige Seite (siehe Anhang).
Nach eine Weile aendert sich Initialized, und wenn man _danach_ ein Reload der Seite macht, dann sieht man alles in seiner vollen Pracht.
Das ist fuer den taeglichen Betrieb voellig ausreichend, fuer eine Demo-Seite aber Unschoen.
Koennt ihr an diesem Timeout (im Demo-Fall) was drehen?

CoolTux

Dafür müsste das Weather Modul angepasst werden. In meinen Augen ein mini Patch. Eventuell könntest Du es erst einmal damit testen und wenn es so ausreichend ist reiche ich den Patch bei Boris ein.


diff --git a/59_Weather.pm b/59_Weather.pm
index aa004bc..877e690 100755
--- a/59_Weather.pm
+++ b/59_Weather.pm
@@ -601,6 +601,10 @@ sub Weather_Notify($$) {
     Log3 $hash, 5,
"Weather $name: FHEM initialization or rereadcfg triggered update, delay $delay seconds.";
     Weather_RearmTimer( $hash, gettimeofday() + $delay );
+   
+    ### quick run GetUpdate then Demo
+    Weather_GetUpdate( $hash )
+    if ( lc($hash->{APIKEY}) eq 'demo' );

     return undef;
}
lines 1-15/15 (END)
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

rudolfkoenig


CoolTux

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

betateilchen

Die erstmal leere Seite beim Aufruf eines Weather devices nervt mich auch im Regelbetrieb.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

nils_

und nicht die commandref vergessen für den neuen apikey :D
viele Wege in FHEM es gibt!