Unzufrieden mit homeputer-Sonnenzeiten?

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

tsa
Beiträge: 725
Registriert: 03.01.2008, 17:42
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Unzufrieden mit homeputer-Sonnenzeiten?

Beitrag von tsa » 11.11.2008, 09:59

Hallo Stephan,

so viele Informationen in komprimierter Form - gute Idee - tolle Arbeit. Danke!
Neben kleinen optischen Änderungen (damit alles besser zu meinen anderen Anzeigen passt), habe ich eine Änderung gemacht, die andere auch interessieren könnte.
Nicht jeder hat ja die neuere PHP-Version am laufen, die den Befehl date_sun_info() unterstützt. Und nur wegen diesem Befehl wollte ich nicht gleich "upgraden".

Mit der "Original"-PHP Version geht das ganze auch, wenn man die folgende Zeile tauscht:

Statt:

Code: Alles auswählen

$sun_info = date_sun_info($datum, $lat, $long);
einfach eintragen:

Code: Alles auswählen

$sun_info[0] = date_sunrise($datum, SUNFUNCS_RET_TIMESTAMP, $lat, $long, 90.583333, 0);
$sun_info[1] = date_sunset($datum,  SUNFUNCS_RET_TIMESTAMP, $lat, $long, 90.583333, 0);
$sun_info[2] = round(($sun_info[1] - $sun_info[0]) /2) + $sun_info[0];
$sun_info[3] = date_sunrise($datum, SUNFUNCS_RET_TIMESTAMP, $lat, $long, 96.0, 0);
$sun_info[4] = date_sunset($datum,  SUNFUNCS_RET_TIMESTAMP, $lat, $long, 96.0, 0);
Übrigens - ich habe das Script als Include implementiert.

Gruss
Thomas


PS: Hast Du am Ende des Scripts den Befehl ImageDestroy($im); nur vergessen, oder braucht's den in der Kommandozeilenversion nicht?
Zuletzt geändert von tsa am 21.03.2009, 06:38, insgesamt 1-mal geändert.

aerofreek
Beiträge: 12
Registriert: 13.08.2007, 15:55
Wohnort: Thüringen

Re: Unzufrieden mit homputer-Sonnenzeiten?

Beitrag von aerofreek » 05.12.2008, 12:18

tsa hat geschrieben:Hallo Udo,

1. Du hast die beiden Objekte Morgendaemmerung und Abendaemmerung als Typ Zeichen angelegt (Groß-/Kleinschreibung beachten!)
2. In eines der beiden hast Du obigen Code kopiert
3. In diesem hast Du dann auch einen "Ausführungsintervall bei Tageswechsel" aktiviert?

Was geht nun nicht, gibt es eine Fehlermeldung?

Beachte, das die erste Ausführung erst beim nächsten Tageswechsel stattfindet. Willst Du die Werte gleich nach Start der Studio-Software aktualisiert haben, dann trage in Dein "*Init-Makro" noch folgende Zeile ein:

Code: Alles auswählen

Makro starten Abenddaemmerung **bzw. Morgendaemmerung (je nachdem, in welchem Makro der PHP-Code enthalten ist...)
ich hoffe es hilft :wink:

Gruss
Thomas
Hallo Thomas,

endlich mein Feedback. Ich habe alles noch mal kontrolliert,Objekte usw. sind ok.
Es steht in beiden jeweils "0" drin.
Php-version mit echo ausgelesen : 5.26
Welche Dateien von php müssen mindestens im Contronics-Ordner stehen ?

Gruss
Udo

tsa
Beiträge: 725
Registriert: 03.01.2008, 17:42
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Unzufrieden mit homeputer-Sonnenzeiten?

Beitrag von tsa » 05.12.2008, 15:27

Hallo Udo,

eigentlich sind keine PHP-Erweiterungen für diese Funktionalität nötig. D.h. folgende Dateien sollten im Ordner der homeputerStudio.exe stehen:
- php4app.dll
- php5ts.dll

Aber wenn Du die Version auslesen kannst, läuft auch Dein PHP!

Wenn 0 in beiden Objekten steht, liefern wahrscheinlich die Funktionen date_sunrise() und date_sunset() ein FALSE zurück.
Wahrscheinlich sind die übergebenen Parameter nicht korrekt. Oder die eingestellte Zeitzone ist ungültig?!

Gruss
Thomas
Zuletzt geändert von tsa am 21.03.2009, 06:38, insgesamt 1-mal geändert.

mfreye
Beiträge: 237
Registriert: 22.12.2007, 08:01

Re: Unzufrieden mit homputer-Sonnenzeiten?

Beitrag von mfreye » 30.12.2008, 10:19

Hallo Sanys,

habe dein Lösung mit PHP mal umgesetzt, läuft wunderbar!

Jetzt habe ich aber ne Frage:

Ich möchte gerne wie erreichen der Zeitwerte einen Wert setzen. Nur wie mache ich das?

wenn Uhrzeit = sunrise dann
....
endewenn

Vergleicht HomeStudio auch nur die ersten Zeichen? Da er ja eigentlich folgendes Vergleicht müsste:

wenn 16:00:23 = 16:00 dann
....
endewenn

Oder wie muss ich das anstellen?

MfG
MFreye

mfreye
Beiträge: 237
Registriert: 22.12.2007, 08:01

Re: Unzufrieden mit homputer-Sonnenzeiten?

Beitrag von mfreye » 03.01.2009, 15:53

Hallo zusammen.

Habe es jetzt hin bekommen.

Code: Alles auswählen

time:=Uhrzeit
<?
$V_AnzeigeSA_time = substr($V_AnzeigeSA_time,0,5);
.....
>?

wenn time = sunrisecivil dann
test := 111
endewenn
MfG
MFreye

Horst-Moor
Beiträge: 2
Registriert: 16.11.2009, 13:43

Re: Unzufrieden mit homeputer-Sonnenzeiten?

Beitrag von Horst-Moor » 16.11.2009, 14:08

Hallo sanys
Bin kein Software-Guru, nur Anwender

Dein SunInfo.php ist wirklich gut. Ich benutze es erfolgreich in Homeputer-Software.
Jetzt möchte ich dieses Script ebenfals unter Linux (Debian) benutzen. Ich habe es 1=1 übernommen.

Warum will Linux "imageantialias ( $im, 0 );" in Zeile 227 und "imageantialias ( $im, 1 );" in Zeile 230 nicht haben?
Es erscheint die Meldung :
Fatal error: Call to undefined function imageantialias() in /fhz1300/Makros/SunInfo_echo.php on line 227

Horst-Moor

Benutzeravatar
Sanys
Beiträge: 270
Registriert: 31.01.2007, 12:29
Wohnort: Wetterau

Re: Unzufrieden mit homeputer-Sonnenzeiten?

Beitrag von Sanys » 16.11.2009, 15:03

Hallo Horst-Moor,

hört sich so an, als ob php nicht weiß, wo die php_gd2.dll zu finden ist. Das must Du in deiner Linux-php Umgebung entsprechend einrichten. Also in der php.ini der php-Installation die das SunInfo-script abarbeitet muss das irgendwie so aussehen:

Code: Alles auswählen

[PHP]

; Directory in which the loadable extensions (modules) reside.
extension_dir = ".\ext\"

extension=php_gd2.dll


und natürlich die Dateien vorhanden sein, an der angegebenen Stelle.

/ und \ verhalten sich unter Linux aber irgendwie anders als unter Windows. Da musst Du die Pfade mal genauer nachsehen, vielleicht liegt es ja daran.


Viel Erfolg


sanys
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen ;-)

Horst-Moor
Beiträge: 2
Registriert: 16.11.2009, 13:43

Re: Unzufrieden mit homeputer-Sonnenzeiten?

Beitrag von Horst-Moor » 16.11.2009, 17:01

Hallo Sanys

Das ging aber fix. Unter Linux kann man meines wissens keine *.dll einbinden, diese ist nur für Windows vorgesehen. Habe etwas gegoogelt konnte aber nichts aussagefähiges finden. Vielleicht können wir trotzdem gemeinsam eine Lösung erreichen.

1. Die Pfade unter Linux habe ich entsprechend angepasst ( war klar, hatte ich nicht erwähnt)
2. Die Zeile 227 und 230 habe ich remarkt
3. Das Script laüft einwandfrei ohne Fehler durch
4 Das Bild als *.jpg ist tadellos nur die Daten stimmen nicht ( ich weis nicht, wie ich Bilder oder Text als Anhang in diesem Forum mitsenden kann?)

Habe ein eigenes Script "Date_sun_info.php" mit foldendem Inhalt geschrieben:

<?php
$sun_info = date_sun_info(strtotime("2009-11-16"), 53.809982, 9.635726);
foreach ($sun_info as $key => $val) {
echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

Jetzt komms

Windows-Ausgabe:
C:\makros>C:\php\php.exe date_sun_info.php
sunrise: 07:51:23
sunset: 16:21:18
transit: 12:06:20
civil_twilight_begin: 07:11:51
civil_twilight_end: 17:00:50
nautical_twilight_begin: 06:28:34
nautical_twilight_end: 17:44:07
astronomical_twilight_begin: 05:47:01
astronomical_twilight_end: 18:25:39

Linux-Ausgabe:
Horst-Moor@server:~/Makros$ php date_sun_info.php
sunrise: 03:19:18
sunset: 14:59:56
transit: 09:09:37
civil_twilight_begin: 02:57:15
civil_twilight_end: 15:21:59
nautical_twilight_begin: 02:31:41
nautical_twilight_end: 15:47:33
astronomical_twilight_begin: 02:06:13
astronomical_twilight_end: 16:13:02

Vollkommen unterschiedliche Zeiten, ist natürlich auch auf den Bildern zu sehen.

Liegt es an der fehlenden php_gd2.dll?
Hast Du eine Erklärung?

Dank im voraus

Horst-Moor

Benutzeravatar
Sanys
Beiträge: 270
Registriert: 31.01.2007, 12:29
Wohnort: Wetterau

Re: Unzufrieden mit homeputer-Sonnenzeiten?

Beitrag von Sanys » 16.11.2009, 20:23

Hallo Horst-Moor

da ich von Linux so gar keine Ahnung habe kann ich nicht viel helfen. Unter Linux wird php wohl kompiliert, dabei muss die entsprechende GD-Bibliothek mit dabei sein, sonst kann es diese Funktion nicht. Warum aber nur antialias nicht geht :?: :?: :?: Ich hätte eher vermutet, die ganze Grafik geht dann nicht. Die 2 Zeilen sind aber nicht soooo wichtig, es soll nur der Kreisbogen ohne Stufen angezeigt werden.

Teil 2 Deiner Fragen: wieso unterschiedliche Zeiten?
Ich vermute es liegt an der Zeiteinstellung des Rechners. Der php Interpreter rechnet irgendetwas, die Ausgabe basiert aber auf der eingestellten Zeitzone. Unter Windows wird diese bei der Uhr eingestellt, wie Linux das handhabt kann ich nicht sagen.
Vielleicht hilft ein Blick ins php Handbuch bei
date_default_timezone_get
weiter. Evtl. kannst Du rauskriegen, in welcher Zeit der Linux-Rechner unterwegs ist.

Viel Erfolg


sanys
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen ;-)

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“