SUNSET/SUNRISE abfragen und anzeigen

Begonnen von myfhem41113, 04 November 2013, 09:24:25

Vorheriges Thema - Nächstes Thema

myfhem41113

Hallo @all,
wie kann ich die aktuellen Werte für SUNSET/SUNRISE abfragen und diese in einem Raum z.B. "Wetter" anzeigen ?

Danke schonmal für die Hilfe  :D
Fritzbox 7390 mit CUL
Hager KNX

betateilchen

mit sunrise()

gib doch mal in die Kommandozeile (im Frontend) { sunrise() } ein, dann sollte eine Zeit ausgegeben werden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

bugster_de

so:

fhem.cfg:
# ****************************************************************************
#   Variablen fuer Sonnenauf- und Untergang
# ****************************************************************************
define Sonnenaufgang dummy
attr Sonnenaufgang eventMap /on:Activ/off:Inactiv/
attr Sonnenaufgang fm_order 8
attr Sonnenaufgang group Vorhersage
attr Sonnenaufgang room Haus,Garten

define Sonnenuntergang dummy
attr Sonnenuntergang eventMap /on:Activ/off:Inactiv/
attr Sonnenuntergang fm_order 8
attr Sonnenuntergang group Vorhersage
attr Sonnenuntergang room Haus,Garten

define Sun_RiseSet_Timer at *02:20:15 { WT_Set_SunsetSunrise();; }
attr Sun_RiseSet_Timer group Wetter
attr Sun_RiseSet_Timer room _Zeit


und in der 99_Utils.pm
# ------------------------------------------------------------------------
#  Function to update the Sunset / Sunrise Display
#  Usage: ($success) = myUtils_Get_Sunset( );
# ------------------------------------------------------------------------
sub WT_Set_SunsetSunrise( ) {

    my $buf = sunrise_abs( 0 );
    fhem( "set Sonnenaufgang $buf" );
   
    $buf = sunset_abs( 0);
    fhem( "set Sonnenuntergang $buf" );
   
    return( true );
}

betateilchen

da brauchts aber keine eigene Funktion dafür, um einen Funktionswert in einen dummy zu schreiben...

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

myfhem41113

@betateilchen:

{ sunrise() }


Ergibt:  30:23:22

@bugster_de:
Damit bin ich erschlagen. Geht das einfacher ?
Fritzbox 7390 mit CUL
Hager KNX

betateilchen

Zitat von: myfhem41113 am 04 November 2013, 11:49:19Ergibt:  30:23:22

Perfekt. Siehste, so einfach geht das :)

Zitat von: myfhem41113 am 04 November 2013, 11:49:19Damit bin ich erschlagen. Geht das einfacher ?

Klar geht das einfacher. Du brauchst zwei dummy-Definitionen, um die Werte zu speichern:
define Sonnenaufgang dummy
define Sonnenuntergang dummy


Diesen Werten musst Du einmal pro Tag (vorzugsweise nachts, vor Sonnenaufgang, die korrekten Werte zuweisen:

define Sun_RiseSet_Timer at *02:20:15 { fhem("set Sonnenaufgang sunrise()"); fhem("set Sonnenuntergang sunset()"); }

Das wars schon.

Die beiden dummy-"Devices" solltest Du dann problemlos im floorplan darstellen können.
Vielleicht könnte man sogar direkt die Funktionsergebnisse im floorplan darstellen, aber von floorplan hab ich keine Ahnung, da ich den nicht nutze.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

myfhem41113

Okay. Habe jetzt folgenden Code in meiner fhem.cfg

#Sonnenauf-/untergang
define Sonnenaufgang dummy
define Sonnenuntergang dummy
define Sun_RiseSet_Timer at *02:20:15 { fhem("set Sonnenaufgang sunrise()"); fhem("set Sonnenuntergang sunset()"); }
attr Sun_RiseSet_Timer room Wetter



Mache ich dann die Anzeige mit ?

attr  Sonnenaufgang room Wetter
Fritzbox 7390 mit CUL
Hager KNX

betateilchen

Weiss ich nicht, ich weiss doch nicht, was dein room "Wetter" für eine Funktion hat/haben soll?

Auf jeden Fall sollten in den beiden dummy-Devices die korrekten Uhrzeiten für Sonnenauf- und -untergang stehen. (zumindest ab morgen früh)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Puschel74

Hallo,

ZitatErgibt:  30:23:22

Du musst nur 24:00:00 abziehen um den tatsächlichen Sonnenaufgang zu erhalten.
Beim Sonnenuntergang jetzt natürlich ebenso.
Wenn das at aber, wie von betateilchen vorgeschlagen, erst morgen früh um 02:20:15 auslöst hast du in Sonnenaufgang und Sonnenuntergang die "richtige" Uhrzeit stehen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

bugster_de

Zitat von: betateilchen am 04 November 2013, 11:02:26
da brauchts aber keine eigene Funktion dafür, um einen Funktionswert in einen dummy zu schreiben...
Das ist schon klar. Ich habe aber die Erfahrung gemacht, dass inline Perl Code in der FHEM.cfg irgendwann dazu neigt, sehr groß zu werden. Das erhöht dann die Lesbarkeit der *.cfg Dateien nicht gerade. Für diese einfache Variante ist das sicherlich Overkill, aber da Symetrie der Ausweg der Phantasielosen ist, mache ich es halt immer gleich: Perl Code kommt in eine 99_*.pm Datei :-)

myfhem41113

Ähm, wie komme ich jetzt an die Werte von Sonnenauf-/untergang dummy ?  :-[
Fritzbox 7390 mit CUL
Hager KNX

bugster_de

was eminst Du mit wie komme ich daran? Einfach das FHEM Frontend aufmachen, in den Raum gehen, in dem die Werte angezeigt werden und sich dann daran erfreuen?

attr  Sonnenaufgang room Wetter
Wenn Du das so umgesetzt hast, dann ist der Raum "Wetter" der richtige. da findet sich das dann

krk_0812

Hallo,
ich wollte die Abfrage auch einbauen, erhalte aber eine Fehlermeldung, sobald ich die Zeile, wie vorgeschlagen, in die fhem.cfg einfügen will:
define Sun_RiseSet_Timer at *02:20:15 { fhem("set Sonnenaufgang sunrise()"); fhem("set Sonnenuntergang sunset()"); }

Unknown command fhem("set, try help. Unknown command }, try help.

Ws ist da falsch?
2 x FB7390 + 2 x RaspberryPi (FHEM)
Reserve: 2x FB7050, 2x FB7270, 1x FB7390, 1 x 7490, CUL,

ph1959de

@krk_0812: wenn Du das in die fhem.cfg einträgst, musst Du die Semikolon verdoppeln. So wie's da steht müsstest Du es über das Webinterface in die at-Details eintragen.

Gruß, Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

krk_0812

Einen schönen guten Morgen,

leider hat die Funktion "SUNRISE/SUNSET" bei mir heute Nacht keine Funktion entwickelt, ich finde auch keinen Log-file, in dem etwas steht.

# Sonnenauf- und Untergang
define Sonnenaufgang dummy
attr Sonnenaufgang room Esszimmer
define Sonnenuntergang dummy
attr Sonnenuntergang room Esszimmer
define Sun_RiseSet_Timer at *02:20:15 { fhem("set Sonnenaufgang sunrise()");;  fhem("set Sonnenuntergang sunset()")}
attr Sun_RiseSet_Timer room Esszimmer
2 x FB7390 + 2 x RaspberryPi (FHEM)
Reserve: 2x FB7050, 2x FB7270, 1x FB7390, 1 x 7490, CUL,