PHP Sunrise <-> Homematic

Von Homematic :

Uhrzeit:  	19:41 Uhr  	Sonnenaufgang:  	08:11 Uhr
Datum: 	26.01.2009 	Sonnenuntergang: 	17:09 Uhr

Einstellung Salzburg 8° OSt, 50.7°Nord

von PHP / IPSymcon

Sonnenaufgang:  	07:15 Uhr
Sonnenuntergang: 	16:06 Uhr
// Sonnenauf.- u. Untergang berechnen
$longitude = 8;//14.074881;
$latitude = 50.7;//48.028615;

$day_offset = 0;//(GetValueInteger("SUNRISE_OFFSET")+(date("I")*60))/60+1;
$night_offset = 0;//(GetValueInteger("SUNSET_OFFSET")+(date("I")*60))/60+1;

$var_sunrise = date(date_sunrise(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, 90, $day_offset));
$var_sunset = date(date_sunset(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, 90, $night_offset));

warum solche unterschiede? mach ich da wo was falsch?

gruß snoopy

Hallo Snoppy,

deine Uhr geht um 1 Stunde verkehrt :smiley:

Bei mir stimmt es mit deinen Daten.

Uhr geht richtig, stimmt zumindest auf beiden geräten … aber vermutlich hat es was mit der Sommer/Winterzeit zu tun …

welche zeiten stimmen denn?

die von der HM oder die vom PHP`?

Hi!

Probiere mal folgendes:


$longitude = "50.7";                              		// Longitude (geografische Breite)
$latitude = "8";                               		// Latitude (geografische Länge)

if (date("I") == 1) $daylight = 2;       // Sommerzeit
if (date("I") == 0) $daylight = 1;       // Winterzeit

// *** Sonnenaufgang des heutigen Tages berechnen ***
$sunrise = date(date_sunrise(time(), SUNFUNCS_RET_STRING, $longitude, $latitude, 90.8333, $daylight));
echo "Sonnenaufgang um ",date($sunrise)," Uhr"."
";

// *** Sonnenuntergang des heutigen Tages berechnen ***
$sunset = date(date_sunset(time(), SUNFUNCS_RET_STRING, $longitude, $latitude, 90.8333, $daylight));
echo "Sonnenuntergang um ",date($sunset)," Uhr"."
";
echo "Der Offset zur GMT beträgt ",date($offsetgmt)," Stunden";

hmmm, jetzt kommt

Sonnenaufgang um 04:14 Uhr
Sonnenuntergang um 15:46 Uhr
Der Offset zur GMT beträgt  Stunden

raus …

Hallo Sn00py,

gibt es im Westerwald (50.7 8.0)auch einen Ort namens Salzburg?

Gruß
HJH

Bei mir steht damit:

Sonnenaufgang um 08:09 Uhr
Sonnenuntergang um 17:12 Uhr

ach ja, hatte ich noch vergessen

$offsetgmt = (date("Z")/3600);                     		// Offset zur GMT in Stunden

Brauchst du aber nicht.

müßte österreich - Salzburg sein zumindes laut Homematic und diese daten habe ich dann zum vergleih/testen genommen)

komisch, warum kommt bei mir ein falscher wert raus?

Wenn ich die Daten verkehrt eintrage…


$longitude = "8";                              		// Longitude (geografische Breite)
$latitude = "50.7";                               		// Latitude (geografische Länge)

dann kommen bei mir auch falsche Werte raus… :rolleyes:

Sonnenaufgang um 03:55 Uhr
Sonnenuntergang um 15:43 Uhr

:wink:

OK, eigentlich hatte ich einen Fehler in der Bezeichnung, der dich wahrscheinlich irretiert hatte, aber wenn du das genauso übernommen hättest, wärst du auch auf die Werte gekommen. Sorry! Hier nochmal die Richtigstellung:

$longitude = "8";                              		// Longitude (geografische Länge)
$latitude = "50.7";                               		// Latitude (geografische Breite)
  


if (date("I") == 1) $daylight = 2;       // Sommerzeit
if (date("I") == 0) $daylight = 1;       // Winterzeit

// *** Sonnenaufgang des heutigen Tages berechnen ***
$sunrise = date(date_sunrise(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, 90.8333, $daylight));
echo "Sonnenaufgang um ",date($sunrise)," Uhr"."
";


// *** Sonnenuntergang des heutigen Tages berechnen ***
$sunset = date(date_sunset(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, 90.8333, $daylight));
echo "Sonnenuntergang um ",date($sunset)," Uhr"."
";

Hallo,

ich habe bei Google Earth nachgesehen: es gibt tatsächlich an den genannten Koordinaten einen Ort mit Namen Salzburg.

Die Koordinaten von Salzburg in Österreich lauten: 47.8 / 13.0

Gruß
HJH