Wie externe Seite (Beispiel: Wordclock) im Webfront automatisch skalieren?

Hallo zusammen,

ich habe einen Wordclock Source unter diesem Link https://forum-raspberrypi.de/forum/thread/7157-word-clock-source-code/ gefunden und mit Hilfe von XAMPP als externe Seite, innerhalb eines Seitenteilers, ins Webfront einbinden können…

…habe aber das Problem das diese Uhr offensichtlich eine statische Größe besitzt und sie deshalb nur teilweise angezeigt wird.

Vermutlich wäre die Frage in einem http oder php Forum viel besser aufgehoben, aber vielleicht gibt es ja im IPS noch einen Parameter den ich beeinflussen kann, damit IPS die Uhr beim einbinden skaliert!?

Wenn nicht, dann muss ich vermutlich die zugehörige .css anpassen, denke ich mal… Auh backe…:eek:

Liebe Grüße

Gollum

Warum XAMPP? Das ist doch eine simple PHP Seite und IP-Symcon ist selber ein PHP Server. Also einfach in eine HTMLBox nutzten oder die Datei im webfront/user Ordner ablegen.

Du musst nur den Viewport ändern und im CSS die Schriftgröße bzw. die Tabellengröße, ich weis ja nicht wie groß Du das haben willst. Hast Du mal ausprobiert wie das angezeigt wird wenn Du das einfach in eine HTMLBox packst, wie groß soll das denn angezeigt werden?

Hallo Fonzo,

das …

Warum XAMPP? Das ist doch eine simple PHP Seite und IP-Symcon ist selber ein PHP Server. Also einfach in eine HTMLBox nutzten oder die Datei im webfront/user Ordner ablegen.

…waren meine ersten Versuche… Nur leider Fehlanzeige. Bzgl. HTML Box hatte ich eine String Variable angelegt, den Quelltext hineinkopiert und als Variablenprofile HTML Box ausgewählt. Angezeigt wurde dann der hineinkopierte Quelltext im Webfront… Dann habe ich einen zusätzlichen Webserver im IPS instanziert und so wie du es vorgeschlagen hast (und es auch so in der Doku steht) die zwei Dateien index.php und format.css in C:\IP-Symcon\webfront\user\ plaziert. Anschliessend habe ich im Webfront als externe Seite dann sowas wie >http://localhost/index.php< versucht. Leider auch ohne Erfolg.
Abschliessend dann Plan C mit XAMPP und ebenso der Einbindung als externe Seite. Was auch auf anhieb funktionierte, nur halt ohne das die Ausgabe im Seitenteiler passend skaliert wird…

Viewport das ist ein Stichwort dem ich mal nachgehen werde… Danke dafür…
Wenn du noch weitere Ideen hast…

Grüße

Gollum

Hi zusammen,

habe das zum Spaß gerade mal schnell ausprobiert, nicht schön aber es geht :stuck_out_tongue:


<?php

#	header("Cache-Control: no-cache, must-revalidate");
#	header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
#	header("Pragma: no-cache");


	// AUS/EIN "Schalter" für die Uhr, 0 = Alles Anzeigen AUS, 1 = Anzeigen je nach Uhrzeit EIN

	$clock_on = 1;

	// Das Wort "Uhr" ganz unten rechts anzeigen? 1 = ja, 0 = nein

	$display_uhr=0;

	// Wenn die Uhr "eingeschaltet" ist, die Basic wie "ES", "IST" und "UHR" (falls $display_uhr = 1) anzeigen.

	if ($clock_on == 1)
		{
			$display_basics = 1;
		}
		else
		{
			$display_basics = 0;
		}

	// Systemzeit auslesen

	$current_time_hour = exec("date +'%H'"); // Stunden in Variable schreiben
	$current_time_minute = exec("date +'%M'"); // Minuten in Variable schreiben

	// Variablen zum debuggen manuell setzen
	//	 $current_time_hour = '01';
	//	 $current_time_minute = '15';


	/*
	Anzahl der angezeigten Punkte berechnen:

	Die aktuelle Anzahl Minuten durch 10 Teilen, vom Ergebnis die Zahl vor dem Komma extrahieren (Funktion "floor"), diese dann mit 10 malnehmen, das Ergebnis der ganzen Geschichte von der aktuellen Anzahl Minuten abziehen.
	Somit erhält die Einer-Stelle der aktuellen Minuten. Falls die Einerstelle >= 5 (z.B. 14:37 Uhr), dann 5 abziehen.
	*/

	$number_of_dots = $current_time_minute - ( 10 * ( floor( $current_time_minute / 10 ) ) );
	if ($number_of_dots >= 5)
	{
		$number_of_dots = $number_of_dots - 5;
	}

// Reload der Seite alle x Sekunden

	$delay = 60;


if ($current_time_minute =='00')
		{
			$fuenf = 0;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 0;
			$nach = 0;
			$vor = 0;
			$current_time_display = $current_time_hour;
		}

	if ($current_time_minute <= '05')
		{
			$fuenf = 0;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 0;
			$nach = 0;
			$vor = 0;
			$current_time_display = $current_time_hour;
		}

	if ($current_time_minute >= '05')
		{
			$fuenf = 1;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 0;
			$nach = 1;
			$vor = 0;
			$current_time_display = $current_time_hour;
		}

	if ($current_time_minute >= '10')
		{
			$fuenf = 0;
			$zehn = 1;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 0;
			$nach = 1;
			$vor = 0;
			$current_time_display = $current_time_hour;
		}

	if ($current_time_minute >= '15')
		{
			$fuenf = 0;
			$zehn = 0;
			$viertel = 1;
			$zwanzig = 0;
			$halb = 0;
			$nach = 1;
			$vor = 0;
			$current_time_display = $current_time_hour;
		}

	if ($current_time_minute >= '20')
		{
			$fuenf = 0;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 1;
			$halb = 0;
			$nach = 1;
			$vor = 0;
			$current_time_display = $current_time_hour;
		}

	if ($current_time_minute >= '25')
		{
			$fuenf = 1;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 1;
			$nach = 0;
			$vor = 1;
			$current_time_display = $current_time_hour + 1;
		}

	if ($current_time_minute == '30')
		{
			$fuenf = 0;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 1;
			$nach = 0;
			$vor = 0;
			$current_time_display = $current_time_hour + 1;
		}

	if ($current_time_minute > '30')
		{
			$fuenf = 0;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 1;
			$nach = 0;
			$vor = 0;
			$current_time_display = $current_time_hour + 1;
		}

	if ($current_time_minute >= '35')
		{
			$fuenf = 1;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 1;
			$nach = 1;
			$vor = 0;
			$current_time_display = $current_time_hour + 1;
		}

	if ($current_time_minute >= '40')
		{
			$fuenf = 0;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 1;
			$halb = 0;
			$nach = 0;
			$vor = 1;
			$current_time_display = $current_time_hour + 1;
		}

	if ($current_time_minute >= '45')
		{
			$fuenf = 0;
			$zehn = 0;
			$viertel = 1;
			$zwanzig = 0;
			$halb = 0;
			$nach = 0;
			$vor = 1;
			$current_time_display = $current_time_hour + 1;
		}

	if ($current_time_minute >= '50')
		{
			$fuenf = 0;
			$zehn = 1;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 0;
			$nach = 0;
			$vor = 1;
			$current_time_display = $current_time_hour + 1;
		}

	if ($current_time_minute >= '55')
		{
			$fuenf = 1;
			$zehn = 0;
			$viertel = 0;
			$zwanzig = 0;
			$halb = 0;
			$nach = 0;
			$vor = 1;
			$current_time_display = $current_time_hour + 1;
		}

	if ($current_time_display == '24')
		{
			$current_time_display = '00';
		}

	/*
		IF Abfragen, um die 24H Darstellung auf die 12h Anzeige der Wörter anzupassen.
		Beispiel: 1 Uhr ist das gleiche wie 13 Uhr.

	*/

	if ( ($current_time_display == '01') || ($current_time_display == '13') )
		{
			$hour = 1;
		}

	if ( ($current_time_display == '02') || ($current_time_display == '14') )
		{
			$hour = 2;
		}

	if ( ($current_time_display == '03') || ($current_time_display == '15') )
		{
			$hour = 3;
		}

	if ( ($current_time_display == '04') || ($current_time_display == '16') )
		{
			$hour = 4;
		}

	if ( ($current_time_display == '05') || ($current_time_display == '17') )
		{
			$hour = 5;
		}

	if ( ($current_time_display == '06') || ($current_time_display == '18') )
		{
			$hour = 6;
		}

	if ( ($current_time_display == '07') || ($current_time_display == '19') )
		{
			$hour = 7;
		}

	if ( ($current_time_display == '08') || ($current_time_display == '20') )
		{
			$hour = 8;
		}

	if ( ($current_time_display == '09') || ($current_time_display == '21') )
		{
			$hour = 9;
		}

	if ( ($current_time_display == '10') || ($current_time_display == '22') )
		{
			$hour = 10;
		}

	if ( ($current_time_display == '11') || ($current_time_display == '23') )
		{
			$hour = 11;
		}

	if ( ($current_time_display == '12') || ($current_time_display == '00') )
		{
			$hour = 12;
		}


$html = '';

$html = $html.'<html>';

$html = $html.'<head>';

$html = $html.'<title>WordClock QLOCKTWO Style</title>';

// für die korrekte Darstellung von Umlauten: char"set" UTF-8 einstellen

$html = $html.'<meta http-equiv="content-type" content="text/html; char"set"=UTF-8">';

$html = $html.'<meta http-equiv="refresh" content="'.$delay.'">';

// Viewport für Mobilgeräte (iOS/Android) einstellen

$html = $html.'<meta charset=utf-8>';
$html = $html.'<meta name=viewport content="width=device-width, initial-scale=0.4, maximum-scale=0.4">';
$html = $html.'<meta name=apple-mobile-web-app-capable content=yes>';
$html = $html.'<meta name=apple-mobile-web-app-status-bar-style content=black>';

// Globales Stylesheet aus Datei einbinden

$html = $html.'<style>';
/* Definition des Aussehens der Links (In dieser Website nicht benötigt,aber egal */
$html = $html.'a:link{text-decoration:none;color:#FFFFFF;}';
$html = $html.'a:visited{text-decoration:none;color:#FFFFFF;}';
$html = $html.'a:focus{text-decoration:none;color:#FFFFFF}';
$html = $html.'a:hover{text-decoration:none;color:yellow;}';
$html = $html.'a:active{text-decoration:none;color:#FFFFFF;}';
/* Definitionen für <body> */
$html = $html.'body{color:#FFFFFF;background-color:#000000;font-family:Verdana,Arial,Helvetica,Incised;font-size:12pt;}';
/* Definitionen für äuasser Tabelle,um die "Uhr" in der Mitte des Viewports zu zentrieren */
$html = $html.'table.aussen{border:3px;border-collapse:collapse;border-spacing:0px;width:100%;height:100%;}';
/* Definitionen für innere Tabelle,die eigentliche "Uhr" */
$html = $html.'table.normal{border:0px solid #FFFFFF;border-collapse:collapse;border-spacing:0px;margin:auto;vertical-align:middle;width:800px;height:600px;}';
/* Definitionen für die Tabellenzellen,einmal .set (Anzeige leuchtet),und .unset (Anzeige leuchtet nicht,ausgegraut) */
$html = $html.'td.set{color:#0000FF;text-align:center;vertical-align:middle;font-family:Verdana, Arial,Helvetica,Incised;font-size:32px;font-weight:bold;white-space:nowrap;width:72px;height:54px;}';
$html = $html.'td.unset{color:#1E1E1E;text-align:center;vertical-align:middle;font-family:Verdana, Arial,Helvetica,Incised;font-size:32px;font-weight:bold;white-space:nowrap;width:72px;height:54px;}';
$html = $html.'</style>';

$html = $html.'</head>';

$html = $html.'<body>';
echo	'<table class="aussen">'; // Beginn aussere Tabelle (um die Uhr vertikal und horzionzal zu zenrtieren)
$html = $html.		'<tr>';
$html = $html.			'<td>';
$html = $html.				'<table class="normal">'; // Beginn innere Tabelle
$html = $html.					'<tr>';
								if ($display_basics == 1) // Wenn $display_basics == 1 (entspricht $clock_on == 1), das Wort "ES" einblenden
								{
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">S</td>';
								}
								else
								{
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">S</td>';
								}

								$html = $html.'<td class="unset">K</td>';

								if ($display_basics == 1) // Wenn $display_basics == 1 (entspricht $clock_on == 1), das Wort "IST" einblenden
								{
									$html = $html.'<td class="set">I</td>';
									$html = $html.'<td class="set">S</td>';
									$html = $html.'<td class="set">T</td>';
								}
								else
								{
									$html = $html.'<td class="unset">I</td>';
									$html = $html.'<td class="unset">S</td>';
									$html = $html.'<td class="unset">T</td>';
								}
								$html = $html.'<td class="unset">L</td>'; // immer "unset" anzeigen.

								if ( ($clock_on == 1) && ($fuenf == 1) ) // Wenn $fuenf == 1, das Wort "FÜNF" einblenden
								{
									$html = $html.'<td class="set">F</td>';									
									$html = $html.'<td class="set">Ü</td>';
									$html = $html.'<td class="set">N</td>';
									$html = $html.'<td class="set">F</td>';
								}
								else
								{
									$html = $html.'<td class="unset">F</td>';									
									$html = $html.'<td class="unset">Ü</td>';
									$html = $html.'<td class="unset">N</td>';
									$html = $html.'<td class="unset">F</td>';
								}
$html = $html.					'</tr>';

$html = $html.					'<tr>';
								if ( ($clock_on == 1) && ($zehn == 1) ) // Wenn $zehn == 1, das Wort "ZEHN" einblenden
								{
									$html = $html.'<td class="set">Z</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">H</td>';
									$html = $html.'<td class="set">N</td>';
								}
								else
								{
									$html = $html.'<td class="unset">Z</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">H</td>';
									$html = $html.'<td class="unset">N</td>';
								}

								if ( ($clock_on == 1) && ($zwanzig == 1) )
								{									
									$html = $html.'<td class="set">Z</td>';
									$html = $html.'<td class="set">W</td>';
									$html = $html.'<td class="set">A</td>';
									$html = $html.'<td class="set">N</td>';
									$html = $html.'<td class="set">Z</td>';
									$html = $html.'<td class="set">I</td>';
									$html = $html.'<td class="set">G</td>';
								}
								else
								{									
									$html = $html.'<td class="unset">Z</td>';
									$html = $html.'<td class="unset">W</td>';
									$html = $html.'<td class="unset">A</td>';
									$html = $html.'<td class="unset">N</td>';
									$html = $html.'<td class="unset">Z</td>';
									$html = $html.'<td class="unset">I</td>';
									$html = $html.'<td class="unset">G</td>';
								}
$html = $html.					'</tr>';

$html = $html.					'<tr>';
								$html = $html.'<td class="unset">D</td>'; // immer "unset" anzeigen.
								$html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
								$html = $html.'<td class="unset">E</td>'; // immer "unset" anzeigen.
								$html = $html.'<td class="unset">I</td>'; // immer "unset" anzeigen.

if ( ($clock_on == 1) && ($viertel == 1) ) // Wenn $viertel == 1, das Wort "VIERTEL" einblenden
								{
									$html = $html.'<td class="set">V</td>';
									$html = $html.'<td class="set">I</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">R</td>';
									$html = $html.'<td class="set">T</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">L</td>';
								}
								else
								{
									$html = $html.'<td class="unset">V</td>';
									$html = $html.'<td class="unset">I</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">R</td>';
									$html = $html.'<td class="unset">T</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">L</td>';
								}
$html = $html.					'</tr>';

$html = $html.					'<tr>';
								$html = $html.'<td class="unset">T</td>'; // immer "unset" anzeigen.
								$html = $html.'<td class="unset">G</td>'; // immer "unset" anzeigen.

								if ( ($clock_on == 1) && ($nach == 1) ) // Wenn $nach == 1, das Wort "NACH" einblenden
								{
									$html = $html.'<td class="set">N</td>';
									$html = $html.'<td class="set">A</td>';
									$html = $html.'<td class="set">C</td>';
									$html = $html.'<td class="set">H</td>';
								}
								else
								{
									$html = $html.'<td class="unset">N</td>';
									$html = $html.'<td class="unset">A</td>';
									$html = $html.'<td class="unset">C</td>';
									$html = $html.'<td class="unset">H</td>';
								}
								
								if ( ($clock_on == 1) && ($vor == 1) ) // Wenn $vor == 1, das Wort "VOR" einblenden								
								{
									$html = $html.'<td class="set">V</td>';
									$html = $html.'<td class="set">O</td>';
									$html = $html.'<td class="set">R</td>';
								}
								else
								{
									$html = $html.'<td class="unset">V</td>';
									$html = $html.'<td class="unset">O</td>';
									$html = $html.'<td class="unset">R</td>';
								}
							$html = $html.'<td class="unset">J</td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset">M</td>'; // immer "unset" anzeigen.
$html = $html.					'</tr>';

$html = $html.					'<tr>';

								if ( ($clock_on == 1) && ($halb == 1) ) // Wenn $halb == 1, das Wort "HALB" einblenden
								{
									$html = $html.'<td class="set">H</td>';
									$html = $html.'<td class="set">A</td>';
									$html = $html.'<td class="set">L</td>';
									$html = $html.'<td class="set">B</td>';
								}
								else
								{
									$html = $html.'<td class="unset">H</td>';
									$html = $html.'<td class="unset">A</td>';
									$html = $html.'<td class="unset">L</td>';
									$html = $html.'<td class="unset">B</td>';
								}
							$html = $html.'<td class="unset">Q</td>';

								if ( ($clock_on == 1) && ($hour == 12) ) // Wenn $hour == 12 oder == 00, das Wort "ZWÖLF" einblenden
								{
									$html = $html.'<td class="set">Z</td>';
									$html = $html.'<td class="set">W</td>';
									$html = $html.'<td class="set">Ö</td>';
									$html = $html.'<td class="set">L</td>';
									$html = $html.'<td class="set">F</td>';
								}
								else
								{
									$html = $html.'<td class="unset">Z</td>';
									$html = $html.'<td class="unset">W</td>';
									$html = $html.'<td class="unset">Ö</td>';
									$html = $html.'<td class="unset">L</td>';
									$html = $html.'<td class="unset">F</td>';
								}
							$html = $html.'<td class="unset">P</td>'; // immer "unset" anzeigen.
$html = $html.					'</tr>';

$html = $html.					'<tr>';

								if ( ($clock_on == 1) && ($hour == 2) ) // Wenn $hour == 2, das Z von ZWEI einblenden.
								{
									$html = $html.'<td class="set">Z</td>';
									$html = $html.'<td class="set">W</td>';
								}
								else
								{
									$html = $html.'<td class="unset">Z</td>';
									$html = $html.'<td class="unset">W</td>';
								}

								if ( ($clock_on == 1) && ( ($hour == 2) || ($hour == 1) ) ) // Wenn $hour == 2 oder == 1, das EI von zwEI oder EIn einblenden
								{
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">I</td>';
								}
								else
								{
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">I</td>';
								}

								if ( ($clock_on == 1) && ($hour == 1) ) // Wenn $hour == 1 ($current_time_hour = 1 oder 13), das N "EIN" einblenden
								{
									$html = $html.'<td class="set">N</td>';
								}
								else
								{
									$html = $html.'<td class="unset">N</td>';
								}
								
								if ( ($clock_on == 1) &&  ( ($current_time_minute >='05') && ($current_time_display == '01') ) )// S von EINS nur einblenden, $current_time_display == '01' UND
																																																								// $current_time_minute größer/gleich '05'
								{
									$html = $html.'<td class="set">S</td>';
									$html = $html.'<td class="unset">I</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">B</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">N</td>';
								}
								
								else if ( ($clock_on == 1) &&  ($hour == 7) ) // Wenn $hour == 7 ($current_time_hour = 7 oder 19), das Wort "SIEBEN" einblenden
								{
									$html = $html.'<td class="set">S</td>';
									$html = $html.'<td class="set">I</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">B</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">N</td>';
								}
								else
								{
									$html = $html.'<td class="unset">S</td>';
									$html = $html.'<td class="unset">I</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">B</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">N</td>';
								}
$html = $html.					'</tr>';

$html = $html.					'<tr>';
							$html = $html.'<td class="unset">K</td>'; // immer "unset" anzeigen.

								if ( ($clock_on == 1) && ($hour == 3) ) // Wenn $hour == 3 ($current_time_hour = 3 oder 15), das Wort "DREI" einblenden
								{
									$html = $html.'<td class="set">D</td>';
									$html = $html.'<td class="set">R</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">I</td>';
								}
								else
								{
									$html = $html.'<td class="unset">D</td>';
									$html = $html.'<td class="unset">R</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">I</td>';
								}
							$html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset">H</td>'; // immer "unset" anzeigen.

								if ( ($clock_on == 1) && ($hour == 5) ) // Wenn $hour == 5 ($current_time_hour = 5 oder 17), das Wort "FÜNF" einblenden
								{
									$html = $html.'<td class="set">F</td>';
									$html = $html.'<td class="set">Ü</td>';
									$html = $html.'<td class="set">N</td>';
									$html = $html.'<td class="set">F</td>';
								}
								else
								{
									$html = $html.'<td class="unset">F</td>';
									$html = $html.'<td class="unset">Ü</td>';
									$html = $html.'<td class="unset">N</td>';
									$html = $html.'<td class="unset">F</td>';
								}
$html = $html.					'</tr>';

$html = $html.					'<tr>';
								if ( ($clock_on == 1) && ($hour == 11) ) // Wenn $hour == 11 ($current_time_hour = 11 oder 23), das Wort "ELF" einblenden
								{
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">L</td>';
									$html = $html.'<td class="set">F</td>';
								}
								else
								{
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">L</td>';
									$html = $html.'<td class="unset">F</td>';
								}


								if ( ($clock_on == 1) && ($hour == 9) ) // Wenn $hour == 9 ($current_time_hour = 9 oder 21), das Wort "NEUN" einblenden
								{
									$html = $html.'<td class="set">N</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">U</td>';
									$html = $html.'<td class="set">N</td>';
								}
								else
								{
									$html = $html.'<td class="unset">N</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">U</td>';
									$html = $html.'<td class="unset">N</td>';
								}

								if ( ($clock_on == 1) && ($hour == 4) ) // Wenn $hour == 4 ($current_time_hour = 4 oder 16), das Wort "VIER" einblenden
								{
									$html = $html.'<td class="set">V</td>';
									$html = $html.'<td class="set">I</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">R</td>';
								}
								else
								{
									$html = $html.'<td class="unset">V</td>';
									$html = $html.'<td class="unset">I</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">R</td>';
								}
$html = $html.					'</tr>';

$html = $html.					'<tr>';
							$html = $html.'<td class="unset">W</td>'; // immer "unset" anzeigen.

								if ( ($clock_on == 1) && ($hour == 8) ) // Wenn $hour == 8 ($current_time_hour = 8 oder 20), das Wort "ACHT" einblenden
								{
									$html = $html.'<td class="set">A</td>';
									$html = $html.'<td class="set">C</td>';
									$html = $html.'<td class="set">H</td>';
									$html = $html.'<td class="set">T</td>';
								}
								else
								{
									$html = $html.'<td class="unset">A</td>';
									$html = $html.'<td class="unset">C</td>';
									$html = $html.'<td class="unset">H</td>';
									$html = $html.'<td class="unset">T</td>';
								}

								if ( ($clock_on == 1) && ($hour == 10) ) // Wenn $hour == 10 ($current_time_hour = 10 oder 22), das Wort "ZEHN" einblenden
								{
									$html = $html.'<td class="set">Z</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">H</td>';
									$html = $html.'<td class="set">N</td>';
								}
								else
								{
									$html = $html.'<td class="unset">Z</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">H</td>';
									$html = $html.'<td class="unset">N</td>';
								}
							$html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset">S</td>'; // immer "unset" anzeigen.
$html = $html.				'</tr>';

$html = $html.					'<tr>';
$html = $html.'<td class="unset">B</td>';

								if ( ($clock_on == 1) && ($hour == 6) ) // Wenn $hour == 6 ($current_time_hour = 6 oder 18), das Wort "sechs" einblenden
								{
									$html = $html.'<td class="set">S</td>';
									$html = $html.'<td class="set">E</td>';
									$html = $html.'<td class="set">C</td>';
									$html = $html.'<td class="set">H</td>';
									$html = $html.'<td class="set">S</td>';
								}
								else
								{
									$html = $html.'<td class="unset">S</td>';
									$html = $html.'<td class="unset">E</td>';
									$html = $html.'<td class="unset">C</td>';
									$html = $html.'<td class="unset">H</td>';
									$html = $html.'<td class="unset">S</td>';
								}
							$html = $html.'<td class="unset">F</td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset">M</td>'; // immer "unset" anzeigen.
	
	if ( ( ($clock_on == 1) && ($display_uhr == 1) ) || ($current_time_minute <= '04') ) // Das Wort "Uhr" einblenden, falls $display_uhr == 1
								{
									$html = $html.'<td class="set">U</td>';
									$html = $html.'<td class="set">H</td>';
									$html = $html.'<td class="set">R</td>';
								}
								else
								{
									$html = $html.'<td class="unset">U</td>';
									$html = $html.'<td class="unset">H</td>';
									$html = $html.'<td class="unset">R</td>';
								}
$html = $html.					'</tr>';

$html = $html.					'<tr>';
								if ( ($clock_on == 1) && ($number_of_dots >= 1)) // Punkte für die 4 Minuten zwischen den Schritten anzeigen, Berechnung in Zeile 39. Pro Minute wird ein Punkt angezeigt.
								{
									$html = $html.'<td class="set">.</td>';
								}
								else
								{
									$html = $html.'<td class="unset">.</td>';
								}
								
								if ( ($clock_on == 1) && ($number_of_dots >= 2))
								{
									$html = $html.'<td class="set">.</td>';
								}
								else
								{
									$html = $html.'<td class="unset">.</td>';
								}
								
								if ( ($clock_on == 1) && ($number_of_dots >= 3))
								{
									$html = $html.'<td class="set">.</td>';
								}
								else
								{
									$html = $html.'<td class="unset">.</td>';
								}
								
								if ( ($clock_on == 1) && ($number_of_dots >= 4))
								{
									$html = $html.'<td class="set">.</td>';
								}
								else
								{
									$html = $html.'<td class="unset">.</td>';
								}

							$html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
							$html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
$html = $html.					'</tr>';
$html = $html.				'</table>'; // Ende innere Tabelle
$html = $html.			'</td>';
$html = $html.		'</tr>';



$html = $html.	'</table>'; // Ende aussere Tabelle


$html = $html.'</body>';

$html = $html.'</html>';
	
SetValue(22102 /*[Steuerung\Sonstiges\Worldclock\Weltuhr]*/, $html);  		
?>

Muss halt in der letzten Zeile noch deine String Variable austauschen!

PS: war nur ein schneller Versuch, würde das refresh Pragma rausschmeißen und das Script dann aller 60s ausführen :wink:

Hallo Pitti,

ich glaube das ist genau der Ansatz den ich gesucht hatte. Nur leider klappt es mit der Anzeige bei mir nicht.
Was habe ich gemacht…

  1. Variable vom Typ string angelegt.
  2. Script angelegt und Code hinein kopiert. (Variablen ID habe ich angepasst)
  3. Auf ausführen geklickt (Im Script Editor oder auch im Webfront) -> Dauer Schleife und keine Anzeige im WF-> Abbruch nur durch Schließen des Scripts im Editor möglich

Wahrscheinlich nur eine Kleinigkeit…, aber ich steh gerade mal wieder auf’m Schlauch…

Vielen Dank erstmal…

Gollum

Hi Gollum,

warte noch ein kurzen Moment, mach es gerade hübsch :wink: Poste dann hier!

Ciao Pitti

…wenn du es schön machen willst, dann ändere vielleicht auch noch gleich die Zeilen

// Systemzeit auslesen

	$current_time_hour = exec("date +'%H'"); // Stunden in Variable schreiben
	$current_time_minute = exec("date +'%M'"); // Minuten in Variable schreiben

gegen

	// Systemzeit auslesen

	$akt_time = new Datetime();
	
	$current_time_hour = (int)$akt_time->format('H');   // Stunden in Variable schreiben
	$current_time_minute = (int)$akt_time->format('i');   // Minuten in Variable schreiben

Da hakte es bei mir… (Ursache wahrscheinlich PHP 7.xxx was wir ja bald alle haben)

Gruß

Gollum

Hi zusammen,

gleich mal eine lustige Sache IPS tauglich gemacht :smiley:

Wie immer, einmal auf der Console ausführen und dann im Webfront verlinken! Wenn man die Einstellungen (Switch’es) im Webfront weglässt passt die Uhr perfekt auf die iPad-Auflösung. Kann aber jeder selber rumspielen :wink:


<?
################################################################################
# Scriptbezeichnung: System.Worldclock.ips.php
# Version: 1.0,20180217
# Author:  Heiko Wilknitz (@Pitti)
#          Original aus dem forum-raspberrypi.de von Harry (@9899-painkiller)
#
# inspiriert von der "QLOCKTWO" Uhr von Biegert & Funk.
#
# ------------------------------- Installation ---------------------------------

# Dieses Skript richtet automatisch alle nötigen Objekte bei manueller
# Ausführung auf der Console ein.
#  
# ----------------------------- Konfigruration ---------------------------------
#
$interval = 1; // aller einer Minute
#
################################################################################

switch ($_IPS['SENDER']) {
  // INSTALL & INITIALIZE 
  case 'Execute':
    Install($interval);
    break;
  // UPDATE CLOCK
  case 'TimerEvent':
    UpdateClock();
    break;
  // AKTION VIA WEBFRONT
  case 'WebFront':
    // Speichern
    SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
    break;
}

# -------------------------------- FUNKTIONEN ----------------------------------

// Legt alle notwendigen Variablen an!
function Install($interval)
{
  // Weltuhr
  $vid = CreateVariableByName($_IPS['SELF'], "Weltuhr", 3);
  IPS_SetVariableCustomProfile($vid, '~HTMLBox');

  // Prefix  "ES" & "IST" anzeigen.
  $vid = CreateVariableByName($_IPS['SELF'], "Prefix anzeigen", 0);
  IPS_SetVariableCustomProfile($vid, '~Switch');
  IPS_SetVariableCustomAction($vid, $_IPS['SELF']);
  SetValue($vid, true); 

  // Suffix "UHR" anzeigen.
  $vid = CreateVariableByName($_IPS['SELF'], "Suffix anzeigen", 0);
  IPS_SetVariableCustomProfile($vid, '~Switch');
  IPS_SetVariableCustomAction($vid, $_IPS['SELF']);
  SetValue($vid, true); 

  // Uhrzeit anzeigen
  $vid = CreateVariableByName($_IPS['SELF'], "Uhrzeit anzeigen", 0);
  IPS_SetVariableCustomProfile($vid, '~Switch');
  IPS_SetVariableCustomAction($vid, $_IPS['SELF']);
  SetValue($vid, true); 

  // ScriptTimer
  IPS_SetScriptTimer($_IPS['SELF'], $interval * 60);
}

// Erzeugt eine Variable unterhalb {id} mit dem Namen {name} vom Typ [type}
// Existiert die Variable schon wird diese zurückgeliefert.
// Types: 0 = Boolean, 1 = Integer, 2 = Float, 3 = String
function CreateVariableByName($id, $name, $type) 
{ 
   $vid = @IPS_GetVariableIDByName($name, $id); 
   if($vid===false) { 
      $vid = IPS_CreateVariable($type); 
      IPS_SetParent($vid, $id); 
      IPS_SetName($vid, $name); 
   }
   return $vid; 
}

function UpdateClock()
{
  // Wenn die "eingeschaltet" ist, "ES" und "IST" anzeigen.
  $vid = CreateVariableByName($_IPS['SELF'], "Prefix anzeigen", 0);
  $display_prefix = GetValue($vid); 
  // Wenn die "eingeschaltet" ist, "UHR" anzeigen.
  $vid = CreateVariableByName($_IPS['SELF'], "Suffix anzeigen", 0);
  $display_uhr = GetValue($vid); 
  // AUS/EIN "Schalter" für die Uhr, 0 = Alles Anzeigen AUS, 1 = Anzeigen je nach Uhrzeit EIN
  $vid = CreateVariableByName($_IPS['SELF'], "Uhrzeit anzeigen", 0);
  $clock_on = GetValue($vid); 
  // Systemzeit auslesen
  $akt_time = new Datetime(); 
  $current_time_hour = (int)$akt_time->format('H');   // Stunden in Variable schreiben 
  $current_time_minute = (int)$akt_time->format('i');   // Minuten in Variable schreiben  
  //$current_time_hour = exec("date +'%H'"); // Stunden in Variable schreiben
  //$current_time_minute = exec("date +'%M'"); // Minuten in Variable schreiben
  // Anzahl der angezeigten Punkte berechnen:
  // Die aktuelle Anzahl Minuten durch 10 Teilen, vom Ergebnis die Zahl vor dem Komma extrahieren (Funktion "floor"), 
  // diese dann mit 10 malnehmen, das Ergebnis der ganzen Geschichte von der aktuellen Anzahl Minuten abziehen.
  // Somit erhält die Einer-Stelle der aktuellen Minuten. Falls die Einerstelle >= 5 (z.B. 14:37 Uhr), dann 5 abziehen.
  $number_of_dots = $current_time_minute - ( 10 * ( floor( $current_time_minute / 10 ) ) );
  if ($number_of_dots >= 5) {
    $number_of_dots = $number_of_dots - 5;
  }
  if ($current_time_minute =='00') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute <= '05') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '05') {
    $fuenf = 1;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '10') {
    $fuenf = 0;
    $zehn = 1;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '15') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 1;
    $zwanzig = 0;
    $halb = 0;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '20') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 1;
    $halb = 0;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '25') {
    $fuenf = 1;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 1;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute == '30') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 1;
    $nach = 0;
    $vor = 0;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute > '30') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 1;
    $nach = 0;
    $vor = 0;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '35') {
    $fuenf = 1;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 1;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '40') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 1;
    $halb = 0;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '45') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 1;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '50') {
    $fuenf = 0;
    $zehn = 1;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '55') {
    $fuenf = 1;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_display == '24') {
    $current_time_display = '00';
  }

  // IF Abfragen, um die 24H Darstellung auf die 12h Anzeige der Wörter anzupassen.
  // Beispiel: 1 Uhr ist das gleiche wie 13 Uhr.

  if ( ($current_time_display == '01') || ($current_time_display == '13') ) {
    $hour = 1;
  }
  if ( ($current_time_display == '02') || ($current_time_display == '14') ) {
    $hour = 2;
  }
  if ( ($current_time_display == '03') || ($current_time_display == '15') ) {
    $hour = 3;
  }
  if ( ($current_time_display == '04') || ($current_time_display == '16') ) {
    $hour = 4;
  }
  if ( ($current_time_display == '05') || ($current_time_display == '17') ) {
    $hour = 5;
  }
  if ( ($current_time_display == '06') || ($current_time_display == '18') ) {
    $hour = 6;
  }
  if ( ($current_time_display == '07') || ($current_time_display == '19') ) {
    $hour = 7;
  }
  if ( ($current_time_display == '08') || ($current_time_display == '20') ) {
    $hour = 8;
  }
  if ( ($current_time_display == '09') || ($current_time_display == '21') ) {
    $hour = 9;
  }
  if ( ($current_time_display == '10') || ($current_time_display == '22') ) {
    $hour = 10;
  }
  if ( ($current_time_display == '11') || ($current_time_display == '23') ) {
    $hour = 11;
  }
  if ( ($current_time_display == '12') || ($current_time_display == '00') ) {
    $hour = 12;
  }

  // HTML erzeugen
  $html = '';
  //$html = $html.'<html>';
  //$html = $html.'<head>';
  //$html = $html.'<title>WordClock QLOCKTWO Style</title>';
  //$html = $html.'<meta http-equiv="content-type" content="text/html; char"set"=UTF-8">';
  //$html = $html.'<meta http-equiv="refresh" content="'.$delay.';url=index.php">';
  // Viewport für Mobilgeräte (iOS/Android) einstellen
  //$html = $html.'<meta charset=utf-8>';
  //$html = $html.'<meta name=viewport content="width=device-width, initial-scale=0.4, maximum-scale=0.4">';
  //$html = $html.'<meta name=apple-mobile-web-app-capable content=yes>';
  //$html = $html.'<meta name=apple-mobile-web-app-status-bar-style content=black>';
  // Globales Stylesheet aus Datei einbinden
  $html = $html.'<style>';
  // Definition des Aussehens der Links (In dieser Website nicht benötigt,aber egal
  //$html = $html.'a:link{text-decoration:none;color:#FFFFFF;}';
  //$html = $html.'a:visited{text-decoration:none;color:#FFFFFF;}';
  //$html = $html.'a:focus{text-decoration:none;color:#FFFFFF}';
  //$html = $html.'a:hover{text-decoration:none;color:yellow;}';
  //$html = $html.'a:active{text-decoration:none;color:#FFFFFF;}';
  // Definitionen für <body>
  ////$html = $html.'body{color:#FFFFFF;background-color:#000000;font-family:Verdana,Arial,Helvetica,Incised;font-size:12pt;}';
  // Definitionen für äuasser Tabelle,um die "Uhr" in der Mitte des Viewports zu zentrieren
  // removed: border:3px;border-collapse:collapse;border-spacing:0px;
  $html = $html.'table.aussen{width:100%;height:100%;}';
  // Definitionen für innere Tabelle,die eigentliche "Uhr"
  // removed: border:0px solid #FFFFFF;border-collapse:collapse; border-spacing:0px;width:800px;height:600px;
  $html = $html.'table.normal{margin:auto;vertical-align:middle;}';
  // Definitionen für die Tabellenzellen,einmal .set (Anzeige leuchtet),und .unset (Anzeige leuchtet nicht,ausgegraut)
  // removed: font-family:Verdana, Arial,Helvetica,Incised;
  $html = $html.'td.set{color:#0000FF;text-align:center;vertical-align:middle;font-size:32px;font-weight:bold;white-space:nowrap;width:64px;height:48x;}';
  // removed: font-family:Verdana, Arial,Helvetica,Incised;
  $html = $html.'td.unset{color:#424242;text-align:center;vertical-align:middle;font-size:32px;font-weight:bold;white-space:nowrap;width:64px;height:48px;}';
  $html = $html.'</style>';
  //$html = $html.'</head>';
  //$html = $html.'<body>';
  $html = $html.'<table class="aussen">'; // Beginn aussere Tabelle (um die Uhr vertikal und horzionzal zu zenrtieren)
  $html = $html.'<tr>';
  $html = $html.'<td>';
  $html = $html.'<table class="normal">'; // Beginn innere Tabelle
  $html = $html.'<tr>';

  // Wenn $display_prefix == 1, das Wort "ES" einblenden
  if ($display_prefix == 1) {
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">S</td>';
  }
  else {
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">S</td>';
  }

  $html = $html.'<td class="unset">K</td>';
  
  // Wenn $display_prefix == 1, das Wort "IST" einblenden
  if ($display_prefix == 1) {
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">S</td>';
    $html = $html.'<td class="set">T</td>';
  }
  else {
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">S</td>';
    $html = $html.'<td class="unset">T</td>';
  }
  $html = $html.'<td class="unset">L</td>'; // immer "unset" anzeigen.
  // Wenn $fuenf == 1, das Wort "FÜNF" einblenden
  if ( ($clock_on == 1) && ($fuenf == 1) ) {
    $html = $html.'<td class="set">F</td>';                 
    $html = $html.'<td class="set">Ü</td>';
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">F</td>';
  }
  else {
    $html = $html.'<td class="unset">F</td>';                 
    $html = $html.'<td class="unset">Ü</td>';
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">F</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Wenn $zehn == 1, das Wort "ZEHN" einblenden
  if ( ($clock_on == 1) && ($zehn == 1) ) {
      $html = $html.'<td class="set">Z</td>';
      $html = $html.'<td class="set">E</td>';
      $html = $html.'<td class="set">H</td>';
      $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  if ( ($clock_on == 1) && ($zwanzig == 1) ) {
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">W</td>';
    $html = $html.'<td class="set">A</td>';
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">G</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">W</td>';
    $html = $html.'<td class="unset">A</td>';
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">G</td>';
  }
  $html = $html.'</tr>';
  
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">D</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">E</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">I</td>'; // immer "unset" anzeigen.
  // Wenn $viertel == 1, das Wort "VIERTEL" einblenden
  if ( ($clock_on == 1) && ($viertel == 1) ) {
    $html = $html.'<td class="set">V</td>';
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">R</td>';
    $html = $html.'<td class="set">T</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">L</td>';
  }
  else {
    $html = $html.'<td class="unset">V</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">R</td>';
    $html = $html.'<td class="unset">T</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">L</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">T</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">G</td>'; // immer "unset" anzeigen.
  // Wenn $nach == 1, das Wort "NACH" einblenden
  if ( ($clock_on == 1) && ($nach == 1) ) 
  {
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">A</td>';
    $html = $html.'<td class="set">C</td>';
    $html = $html.'<td class="set">H</td>';
  }
  else
  {
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">A</td>';
    $html = $html.'<td class="unset">C</td>';
    $html = $html.'<td class="unset">H</td>';
  }
  // Wenn $vor == 1, das Wort "VOR" einblenden    
  if ( ($clock_on == 1) && ($vor == 1) )            
  {
    $html = $html.'<td class="set">V</td>';
    $html = $html.'<td class="set">O</td>';
    $html = $html.'<td class="set">R</td>';
  }
  else
  {
    $html = $html.'<td class="unset">V</td>';
    $html = $html.'<td class="unset">O</td>';
    $html = $html.'<td class="unset">R</td>';
  }
  $html = $html.'<td class="unset">J</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">M</td>'; // immer "unset" anzeigen.
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Wenn $halb == 1, das Wort "HALB" einblenden
  if ( ($clock_on == 1) && ($halb == 1) ) {
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">A</td>';
    $html = $html.'<td class="set">L</td>';
    $html = $html.'<td class="set">B</td>';
  }
  else {
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">A</td>';
    $html = $html.'<td class="unset">L</td>';
    $html = $html.'<td class="unset">B</td>';
  }
  $html = $html.'<td class="unset">Q</td>';
  // Wenn $hour == 12 oder == 00, das Wort "ZWÖLF" einblenden
  if ( ($clock_on == 1) && ($hour == 12) ) {
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">W</td>';
    $html = $html.'<td class="set">Ö</td>';
    $html = $html.'<td class="set">L</td>';
    $html = $html.'<td class="set">F</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">W</td>';
    $html = $html.'<td class="unset">Ö</td>';
    $html = $html.'<td class="unset">L</td>';
    $html = $html.'<td class="unset">F</td>';
  }
  $html = $html.'<td class="unset">P</td>'; // immer "unset" anzeigen.
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Wenn $hour == 2, das Z von ZWEI einblenden.
  if ( ($clock_on == 1) && ($hour == 2) ) {
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">W</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">W</td>';
  }
  // Wenn $hour == 2 oder == 1, das EI von zwEI oder EIn einblenden
  if ( ($clock_on == 1) && ( ($hour == 2) || ($hour == 1) ) ) {
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">I</td>';
  }
  else {
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">I</td>';
  }
  // Wenn $hour == 1 ($current_time_hour = 1 oder 13), das N "EIN" einblenden
  if ( ($clock_on == 1) && ($hour == 1) ) {
    $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">N</td>';
  }
  // S von EINS nur einblenden, $current_time_display == '01' UND $current_time_minute größer/gleich '05'
  if ( ($clock_on == 1) &&  ( ($current_time_minute >='05') && ($current_time_display == '01') ) ) {
    $html = $html.'<td class="set">S</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">B</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  // Wenn $hour == 7 ($current_time_hour = 7 oder 19), das Wort "SIEBEN" einblenden
  else if ( ($clock_on == 1) &&  ($hour == 7) ) {
    $html = $html.'<td class="set">S</td>';
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">B</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">S</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">B</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">K</td>'; // immer "unset" anzeigen.
  // Wenn $hour == 3 ($current_time_hour = 3 oder 15), das Wort "DREI" einblenden
  if ( ($clock_on == 1) && ($hour == 3) ) {
    $html = $html.'<td class="set">D</td>';
    $html = $html.'<td class="set">R</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">I</td>';
  }
  else {
    $html = $html.'<td class="unset">D</td>';
    $html = $html.'<td class="unset">R</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">I</td>';
  }
  $html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">H</td>'; // immer "unset" anzeigen.
  // Wenn $hour == 5 ($current_time_hour = 5 oder 17), das Wort "FÜNF" einblenden
  if ( ($clock_on == 1) && ($hour == 5) ) {
    $html = $html.'<td class="set">F</td>';
    $html = $html.'<td class="set">Ü</td>';
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">F</td>';
  }
  else {
    $html = $html.'<td class="unset">F</td>';
    $html = $html.'<td class="unset">Ü</td>';
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">F</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Wenn $hour == 11 ($current_time_hour = 11 oder 23), das Wort "ELF" einblenden
  if ( ($clock_on == 1) && ($hour == 11) ) {
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">L</td>';
    $html = $html.'<td class="set">F</td>';
  }
  else {
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">L</td>';
    $html = $html.'<td class="unset">F</td>';
  }
  // Wenn $hour == 9 ($current_time_hour = 9 oder 21), das Wort "NEUN" einblenden
  if ( ($clock_on == 1) && ($hour == 9) ) {
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">U</td>';
    $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">U</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  // Wenn $hour == 4 ($current_time_hour = 4 oder 16), das Wort "VIER" einblenden
  if ( ($clock_on == 1) && ($hour == 4) ) {
    $html = $html.'<td class="set">V</td>';
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">R</td>';
  }
  else {
    $html = $html.'<td class="unset">V</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">R</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">W</td>'; // immer "unset" anzeigen.
  // Wenn $hour == 8 ($current_time_hour = 8 oder 20), das Wort "ACHT" einblenden
  if ( ($clock_on == 1) && ($hour == 8) ) {
    $html = $html.'<td class="set">A</td>';
    $html = $html.'<td class="set">C</td>';
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">T</td>';
  }
  else {
    $html = $html.'<td class="unset">A</td>';
    $html = $html.'<td class="unset">C</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">T</td>';
  }
  // Wenn $hour == 10 ($current_time_hour = 10 oder 22), das Wort "ZEHN" einblenden
  if ( ($clock_on == 1) && ($hour == 10) ) {
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  $html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">S</td>'; // immer "unset" anzeigen.
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">B</td>';
  // Wenn $hour == 6 ($current_time_hour = 6 oder 18), das Wort "sechs" einblenden
  if ( ($clock_on == 1) && ($hour == 6) ) {
    $html = $html.'<td class="set">S</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">C</td>';
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">S</td>';
  }
  else {
    $html = $html.'<td class="unset">S</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">C</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">S</td>';
  }
  $html = $html.'<td class="unset">F</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">M</td>'; // immer "unset" anzeigen.
  // Das Wort "Uhr" einblenden, falls $display_uhr == 1
  if ( ( $display_uhr == 1 ) || ($current_time_minute <= '04') ) {
    $html = $html.'<td class="set">U</td>';
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">R</td>';
  }
  else {
    $html = $html.'<td class="unset">U</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">R</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Punkte für die 4 Minuten zwischen den Schritten anzeigen, Berechnung in Zeile 39. Pro Minute wird ein Punkt angezeigt.
  if ( ($clock_on == 1) && ($number_of_dots >= 1)) {
    $html = $html.'<td class="set">.</td>';
  }
  else {
    $html = $html.'<td class="unset">.</td>';
  }
  if ( ($clock_on == 1) && ($number_of_dots >= 2)) {
    $html = $html.'<td class="set">.</td>';
  }
  else {
    $html = $html.'<td class="unset">.</td>';
  }
  if ( ($clock_on == 1) && ($number_of_dots >= 3)) {
    $html = $html.'<td class="set">.</td>';
  }
  else {
    $html = $html.'<td class="unset">.</td>';
  }
  if ( ($clock_on == 1) && ($number_of_dots >= 4)) {
    $html = $html.'<td class="set">.</td>';
  }
  else {
    $html = $html.'<td class="unset">.</td>';
  }
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'</tr>';
  $html = $html.'</table>'; // Ende innere Tabelle
  $html = $html.'</td>';
  $html = $html.'</tr>';
  $html = $html.  '</table>'; // Ende aussere Tabelle
  //$html = $html.'</body>';
  //$html = $html.'</html>';
  $vid = CreateVariableByName($_IPS['SELF'], "Weltuhr", 3);
  SetValue($vid, $html);  
}      
?>

So sieht es dann im Webfront aus (einmal mit & und einmal ohne Einstellungen)

Viel Spaß
Pitti

Also ich hab den Code mal reinkopiert und schreibe in eine String Variable bei mir passt die Größe ohne weitere Modifikation des CSS.

Wie groß soll die denn werden?

Hallo Fonzo,

ich hatte totalen Blödsinn verzapft und den Code so wie er war in die String Variable mit HTML Profile kopiert. Erst nach Pitti’s Änderungen hatte ich realisiert das ich da nur den generierten HTML Code reinschreiben darf… Dabei hatte ich mich, die ganze Zeit über, schon gefragt wie ich das .css dazu bekommen soll… :slight_smile: (Nebenbei gefragt, wie hast du das dazu gezaubert?)

Ok definitiv was dazu gelernt heute…

Danke dafür allen zusammen!

Gruß

Gollum

@Pitti,
spielerei, aber gefällt mir.:slight_smile:
Habe nur die Textfarbe mal geändert, blau ist nicht mein Ding.:smiley:

Absolut :smiley: … aber für meinen kränklichen Zustand gerade die passende Abwechselung!

Bin auch noch am suchen, welche ist es denn bei DIr geworden?

Ciao Pitti

Erst mal gelb

Vielen dank für das Skript…
Echt ne witzihe sache…

Mal sehen ob ich das als Bildschirmschoner verwenden kann

Tolle Sache das Skript. Eine Sache dazu:
Im Original wird „Uhr“ nur bei vollen Stunden (bis einschließlich 4 Minuten vor/nach) angezeigt.

Danke für das Script.

Bei mir wird aber eine 1 (Eins) als Ein angezeigt. :confused:

wordclock.PNG

Gruß

Ja das mit dem S hat mich auch gestört und ich habe es bei mir geändert. Anbei die Version mit dem „S“


<?php
################################################################################
# Script:   Other.Worldclock.ips.php
# Version:  1.1.20190208
# Author:   Heiko Wilknitz (@Pitti)
#           Original aus dem forum-raspberrypi.de von Harry (@9899-painkiller)
#
# inspiriert von der "QLOCKTWO" Uhr von Biegert & Funk.
#
# ------------------------------ Installation ----------------------------------
#
# Dieses Skript richtet automatisch alle nötigen Objekte bei manueller
# Ausführung ein. Eine weitere manuelle Ausführung setzt alle benötigten Objekte
# wieder auf den Ausgangszustand.
#
# - Neues Skript erstellen
# - Diesen PHP-Code hineinkopieren
# - Abschnitt 'Konfiguration' den eigenen Gegebenheiten anpassen 
# - Skript Abspeichern
# - Skript Ausführen
#
# ------------------------------ Changelog -------------------------------------
#
# 17.02.2018 - Initalversion (v1.0)
# 02.08.2019 - Ich will immer das S von Eins
#
# ------------------------------ Konfiguration ---------------------------------
#
$interval = 1; // aller einer Minute
#
################################################################################

switch ($_IPS['SENDER']) {
  // INSTALL & INITIALIZE 
  case 'Execute':
    Install($interval);
    break;
  // UPDATE CLOCK
  case 'TimerEvent':
    UpdateClock();
    break;
  // AKTION VIA WEBFRONT
  case 'WebFront':
    // Speichern
    SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
    break;
}

# -------------------------------- FUNKTIONEN ----------------------------------

// Legt alle notwendigen Variablen an!
function Install($interval)
{
  // Weltuhr
  $vid = CreateVariableByName($_IPS['SELF'], "Weltuhr", 3);
  IPS_SetVariableCustomProfile($vid, '~HTMLBox');

  // Prefix  "ES" & "IST" anzeigen.
  $vid = CreateVariableByName($_IPS['SELF'], "Prefix anzeigen", 0);
  IPS_SetVariableCustomProfile($vid, '~Switch');
  IPS_SetVariableCustomAction($vid, $_IPS['SELF']);
  SetValue($vid, true); 

  // Suffix "UHR" anzeigen.
  $vid = CreateVariableByName($_IPS['SELF'], "Suffix anzeigen", 0);
  IPS_SetVariableCustomProfile($vid, '~Switch');
  IPS_SetVariableCustomAction($vid, $_IPS['SELF']);
  SetValue($vid, true); 

  // Uhrzeit anzeigen
  $vid = CreateVariableByName($_IPS['SELF'], "Uhrzeit anzeigen", 0);
  IPS_SetVariableCustomProfile($vid, '~Switch');
  IPS_SetVariableCustomAction($vid, $_IPS['SELF']);
  SetValue($vid, true); 

  // ScriptTimer
  IPS_SetScriptTimer($_IPS['SELF'], $interval * 60);
}

// Erzeugt eine Variable unterhalb {id} mit dem Namen {name} vom Typ [type}
// Existiert die Variable schon wird diese zurückgeliefert.
// Types: 0 = Boolean, 1 = Integer, 2 = Float, 3 = String
function CreateVariableByName($id, $name, $type) 
{ 
   $vid = @IPS_GetVariableIDByName($name, $id); 
   if($vid===false) { 
      $vid = IPS_CreateVariable($type); 
      IPS_SetParent($vid, $id); 
      IPS_SetName($vid, $name); 
   }
   return $vid; 
}

function UpdateClock()
{
  // Wenn die "eingeschaltet" ist, "ES" und "IST" anzeigen.
  $vid = CreateVariableByName($_IPS['SELF'], "Prefix anzeigen", 0);
  $display_prefix = GetValue($vid); 
  // Wenn die "eingeschaltet" ist, "UHR" anzeigen.
  $vid = CreateVariableByName($_IPS['SELF'], "Suffix anzeigen", 0);
  $display_uhr = GetValue($vid); 
  // AUS/EIN "Schalter" für die Uhr, 0 = Alles Anzeigen AUS, 1 = Anzeigen je nach Uhrzeit EIN
  $vid = CreateVariableByName($_IPS['SELF'], "Uhrzeit anzeigen", 0);
  $clock_on = GetValue($vid); 
  // Systemzeit auslesen
  $akt_time = new Datetime(); 
  $current_time_hour = (int)$akt_time->format('H');   // Stunden in Variable schreiben 
  $current_time_minute = (int)$akt_time->format('i');   // Minuten in Variable schreiben  
  //$current_time_hour = exec("date +'%H'"); // Stunden in Variable schreiben
  //$current_time_minute = exec("date +'%M'"); // Minuten in Variable schreiben
  // Anzahl der angezeigten Punkte berechnen:
  // Die aktuelle Anzahl Minuten durch 10 Teilen, vom Ergebnis die Zahl vor dem Komma extrahieren (Funktion "floor"), 
  // diese dann mit 10 malnehmen, das Ergebnis der ganzen Geschichte von der aktuellen Anzahl Minuten abziehen.
  // Somit erhält die Einer-Stelle der aktuellen Minuten. Falls die Einerstelle >= 5 (z.B. 14:37 Uhr), dann 5 abziehen.
  $number_of_dots = $current_time_minute - ( 10 * ( floor( $current_time_minute / 10 ) ) );
  if ($number_of_dots >= 5) {
    $number_of_dots = $number_of_dots - 5;
  }
  if ($current_time_minute =='00') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute <= '05') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '05') {
    $fuenf = 1;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '10') {
    $fuenf = 0;
    $zehn = 1;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '15') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 1;
    $zwanzig = 0;
    $halb = 0;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '20') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 1;
    $halb = 0;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour;
  }
  if ($current_time_minute >= '25') {
    $fuenf = 1;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 1;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute == '30') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 1;
    $nach = 0;
    $vor = 0;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute > '30') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 1;
    $nach = 0;
    $vor = 0;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '35') {
    $fuenf = 1;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 1;
    $nach = 1;
    $vor = 0;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '40') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 1;
    $halb = 0;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '45') {
    $fuenf = 0;
    $zehn = 0;
    $viertel = 1;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '50') {
    $fuenf = 0;
    $zehn = 1;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_minute >= '55') {
    $fuenf = 1;
    $zehn = 0;
    $viertel = 0;
    $zwanzig = 0;
    $halb = 0;
    $nach = 0;
    $vor = 1;
    $current_time_display = $current_time_hour + 1;
  }
  if ($current_time_display == '24') {
    $current_time_display = '00';
  }

  // IF Abfragen, um die 24H Darstellung auf die 12h Anzeige der Wörter anzupassen.
  // Beispiel: 1 Uhr ist das gleiche wie 13 Uhr.

  if ( ($current_time_display == '01') || ($current_time_display == '13') ) {
    $hour = 1;
  }
  if ( ($current_time_display == '02') || ($current_time_display == '14') ) {
    $hour = 2;
  }
  if ( ($current_time_display == '03') || ($current_time_display == '15') ) {
    $hour = 3;
  }
  if ( ($current_time_display == '04') || ($current_time_display == '16') ) {
    $hour = 4;
  }
  if ( ($current_time_display == '05') || ($current_time_display == '17') ) {
    $hour = 5;
  }
  if ( ($current_time_display == '06') || ($current_time_display == '18') ) {
    $hour = 6;
  }
  if ( ($current_time_display == '07') || ($current_time_display == '19') ) {
    $hour = 7;
  }
  if ( ($current_time_display == '08') || ($current_time_display == '20') ) {
    $hour = 8;
  }
  if ( ($current_time_display == '09') || ($current_time_display == '21') ) {
    $hour = 9;
  }
  if ( ($current_time_display == '10') || ($current_time_display == '22') ) {
    $hour = 10;
  }
  if ( ($current_time_display == '11') || ($current_time_display == '23') ) {
    $hour = 11;
  }
  if ( ($current_time_display == '12') || ($current_time_display == '00') ) {
    $hour = 12;
  }

  // HTML erzeugen
  $html = '';
  //$html = $html.'<html>';
  //$html = $html.'<head>';
  //$html = $html.'<title>WordClock QLOCKTWO Style</title>';
  //$html = $html.'<meta http-equiv="content-type" content="text/html; char"set"=UTF-8">';
  //$html = $html.'<meta http-equiv="refresh" content="'.$delay.';url=index.php">';
  // Viewport für Mobilgeräte (iOS/Android) einstellen
  //$html = $html.'<meta charset=utf-8>';
  //$html = $html.'<meta name=viewport content="width=device-width, initial-scale=0.4, maximum-scale=0.4">';
  //$html = $html.'<meta name=apple-mobile-web-app-capable content=yes>';
  //$html = $html.'<meta name=apple-mobile-web-app-status-bar-style content=black>';
  // Globales Stylesheet aus Datei einbinden
  $html = $html.'<style>';
  // Definition des Aussehens der Links (In dieser Website nicht benötigt,aber egal
  //$html = $html.'a:link{text-decoration:none;color:#FFFFFF;}';
  //$html = $html.'a:visited{text-decoration:none;color:#FFFFFF;}';
  //$html = $html.'a:focus{text-decoration:none;color:#FFFFFF}';
  //$html = $html.'a:hover{text-decoration:none;color:yellow;}';
  //$html = $html.'a:active{text-decoration:none;color:#FFFFFF;}';
  // Definitionen für <body>
  ////$html = $html.'body{color:#FFFFFF;background-color:#000000;font-family:Verdana,Arial,Helvetica,Incised;font-size:12pt;}';
  // Definitionen für äuasser Tabelle,um die "Uhr" in der Mitte des Viewports zu zentrieren
  // removed: border:3px;border-collapse:collapse;border-spacing:0px;
  $html = $html.'table.aussen{width:100%;height:100%;}';
  // Definitionen für innere Tabelle,die eigentliche "Uhr"
  // removed: border:0px solid #FFFFFF;border-collapse:collapse; border-spacing:0px;width:800px;height:600px;
  $html = $html.'table.normal{margin:auto;vertical-align:middle;}';
  // Definitionen für die Tabellenzellen,einmal .set (Anzeige leuchtet),und .unset (Anzeige leuchtet nicht,ausgegraut)
  // removed: font-family:Verdana, Arial,Helvetica,Incised;
  $html = $html.'td.set{color:#FF8000;text-align:center;vertical-align:middle;font-size:32px;font-weight:bold;white-space:nowrap;width:54px;height:42x;}';
  // removed: font-family:Verdana, Arial,Helvetica,Incised;
  $html = $html.'td.unset{color:#555555;text-align:center;vertical-align:middle;font-size:32px;font-weight:bold;white-space:nowrap;width:54px;height:42px;}';
  $html = $html.'</style>';
  //$html = $html.'</head>';
  //$html = $html.'<body>';
  $html = $html.'<table class="aussen">'; // Beginn aussere Tabelle (um die Uhr vertikal und horzionzal zu zenrtieren)
  $html = $html.'<tr>';
  $html = $html.'<td>';
  $html = $html.'<table class="normal">'; // Beginn innere Tabelle
  $html = $html.'<tr>';
  // Wenn $display_prefix == 1, das Wort "ES" einblenden
  if ($display_prefix == 1) {
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">S</td>';
  }
  else {
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">S</td>';
  }
  $html = $html.'<td class="unset">K</td>';
 
  // Wenn $display_prefix == 1, das Wort "IST" einblenden
  if ($display_prefix == 1) {
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">S</td>';
    $html = $html.'<td class="set">T</td>';
  }
  else {
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">S</td>';
    $html = $html.'<td class="unset">T</td>';
  }
  $html = $html.'<td class="unset">L</td>'; // immer "unset" anzeigen.
  // Wenn $fuenf == 1, das Wort "FÜNF" einblenden
  if ( ($clock_on == 1) && ($fuenf == 1) ) {
    $html = $html.'<td class="set">F</td>';                 
    $html = $html.'<td class="set">Ü</td>';
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">F</td>';
  }
  else {
    $html = $html.'<td class="unset">F</td>';                 
    $html = $html.'<td class="unset">Ü</td>';
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">F</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Wenn $zehn == 1, das Wort "ZEHN" einblenden
  if ( ($clock_on == 1) && ($zehn == 1) ) {
      $html = $html.'<td class="set">Z</td>';
      $html = $html.'<td class="set">E</td>';
      $html = $html.'<td class="set">H</td>';
      $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  if ( ($clock_on == 1) && ($zwanzig == 1) ) {
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">W</td>';
    $html = $html.'<td class="set">A</td>';
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">G</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">W</td>';
    $html = $html.'<td class="unset">A</td>';
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">G</td>';
  }
  $html = $html.'</tr>';
  
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">D</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">E</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">I</td>'; // immer "unset" anzeigen.
  // Wenn $viertel == 1, das Wort "VIERTEL" einblenden
  if ( ($clock_on == 1) && ($viertel == 1) ) {
    $html = $html.'<td class="set">V</td>';
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">R</td>';
    $html = $html.'<td class="set">T</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">L</td>';
  }
  else {
    $html = $html.'<td class="unset">V</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">R</td>';
    $html = $html.'<td class="unset">T</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">L</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">T</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">G</td>'; // immer "unset" anzeigen.
  // Wenn $nach == 1, das Wort "NACH" einblenden
  if ( ($clock_on == 1) && ($nach == 1) ) 
  {
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">A</td>';
    $html = $html.'<td class="set">C</td>';
    $html = $html.'<td class="set">H</td>';
  }
  else
  {
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">A</td>';
    $html = $html.'<td class="unset">C</td>';
    $html = $html.'<td class="unset">H</td>';
  }
  // Wenn $vor == 1, das Wort "VOR" einblenden    
  if ( ($clock_on == 1) && ($vor == 1) )            
  {
    $html = $html.'<td class="set">V</td>';
    $html = $html.'<td class="set">O</td>';
    $html = $html.'<td class="set">R</td>';
  }
  else
  {
    $html = $html.'<td class="unset">V</td>';
    $html = $html.'<td class="unset">O</td>';
    $html = $html.'<td class="unset">R</td>';
  }
  $html = $html.'<td class="unset">J</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">M</td>'; // immer "unset" anzeigen.
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Wenn $halb == 1, das Wort "HALB" einblenden
  if ( ($clock_on == 1) && ($halb == 1) ) {
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">A</td>';
    $html = $html.'<td class="set">L</td>';
    $html = $html.'<td class="set">B</td>';
  }
  else {
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">A</td>';
    $html = $html.'<td class="unset">L</td>';
    $html = $html.'<td class="unset">B</td>';
  }
  $html = $html.'<td class="unset">Q</td>';
  // Wenn $hour == 12 oder == 00, das Wort "ZWÖLF" einblenden
  if ( ($clock_on == 1) && ($hour == 12) ) {
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">W</td>';
    $html = $html.'<td class="set">Ö</td>';
    $html = $html.'<td class="set">L</td>';
    $html = $html.'<td class="set">F</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">W</td>';
    $html = $html.'<td class="unset">Ö</td>';
    $html = $html.'<td class="unset">L</td>';
    $html = $html.'<td class="unset">F</td>';
  }
  $html = $html.'<td class="unset">P</td>'; // immer "unset" anzeigen.
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Wenn $hour == 2, das Z von ZWEI einblenden.
  if ( ($clock_on == 1) && ($hour == 2) ) {
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">W</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">W</td>';
  }
  // Wenn $hour == 2 oder == 1, das EI von zwEI oder EIn einblenden
  if ( ($clock_on == 1) && ( ($hour == 2) || ($hour == 1) ) ) {
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">I</td>';
  }
  else {
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">I</td>';
  }
  // Wenn $hour == 1 ($current_time_hour = 1 oder 13), das N "EIN" einblenden
  if ( ($clock_on == 1) && ($hour == 1) ) {
    $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">N</td>';
  }
  // S von EINS nur einblenden, $current_time_display == '01' UND $current_time_minute größer/gleich '05'
  // ICH WILL IMMER DAS S :) if ( ($clock_on == 1) &&  ( ($current_time_minute >='05') && ($current_time_display == '01') ) ) {
  if ( ($clock_on == 1) &&  (($hour == 1) && ($current_time_minute >='05')  ) ) {
    $html = $html.'<td class="set">S</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">B</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  // Wenn $hour == 7 ($current_time_hour = 7 oder 19), das Wort "SIEBEN" einblenden
  else if ( ($clock_on == 1) &&  ($hour == 7) ) {
    $html = $html.'<td class="set">S</td>';
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">B</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">S</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">B</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">K</td>'; // immer "unset" anzeigen.
  // Wenn $hour == 3 ($current_time_hour = 3 oder 15), das Wort "DREI" einblenden
  if ( ($clock_on == 1) && ($hour == 3) ) {
    $html = $html.'<td class="set">D</td>';
    $html = $html.'<td class="set">R</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">I</td>';
  }
  else {
    $html = $html.'<td class="unset">D</td>';
    $html = $html.'<td class="unset">R</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">I</td>';
  }
  $html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">H</td>'; // immer "unset" anzeigen.
  // Wenn $hour == 5 ($current_time_hour = 5 oder 17), das Wort "FÜNF" einblenden
  if ( ($clock_on == 1) && ($hour == 5) ) {
    $html = $html.'<td class="set">F</td>';
    $html = $html.'<td class="set">Ü</td>';
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">F</td>';
  }
  else {
    $html = $html.'<td class="unset">F</td>';
    $html = $html.'<td class="unset">Ü</td>';
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">F</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Wenn $hour == 11 ($current_time_hour = 11 oder 23), das Wort "ELF" einblenden
  if ( ($clock_on == 1) && ($hour == 11) ) {
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">L</td>';
    $html = $html.'<td class="set">F</td>';
  }
  else {
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">L</td>';
    $html = $html.'<td class="unset">F</td>';
  }
  // Wenn $hour == 9 ($current_time_hour = 9 oder 21), das Wort "NEUN" einblenden
  if ( ($clock_on == 1) && ($hour == 9) ) {
    $html = $html.'<td class="set">N</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">U</td>';
    $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">N</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">U</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  // Wenn $hour == 4 ($current_time_hour = 4 oder 16), das Wort "VIER" einblenden
  if ( ($clock_on == 1) && ($hour == 4) ) {
    $html = $html.'<td class="set">V</td>';
    $html = $html.'<td class="set">I</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">R</td>';
  }
  else {
    $html = $html.'<td class="unset">V</td>';
    $html = $html.'<td class="unset">I</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">R</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">W</td>'; // immer "unset" anzeigen.
  // Wenn $hour == 8 ($current_time_hour = 8 oder 20), das Wort "ACHT" einblenden
  if ( ($clock_on == 1) && ($hour == 8) ) {
    $html = $html.'<td class="set">A</td>';
    $html = $html.'<td class="set">C</td>';
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">T</td>';
  }
  else {
    $html = $html.'<td class="unset">A</td>';
    $html = $html.'<td class="unset">C</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">T</td>';
  }
  // Wenn $hour == 10 ($current_time_hour = 10 oder 22), das Wort "ZEHN" einblenden
  if ( ($clock_on == 1) && ($hour == 10) ) {
    $html = $html.'<td class="set">Z</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">N</td>';
  }
  else {
    $html = $html.'<td class="unset">Z</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">N</td>';
  }
  $html = $html.'<td class="unset">R</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">S</td>'; // immer "unset" anzeigen.
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  $html = $html.'<td class="unset">B</td>';
  // Wenn $hour == 6 ($current_time_hour = 6 oder 18), das Wort "sechs" einblenden
  if ( ($clock_on == 1) && ($hour == 6) ) {
    $html = $html.'<td class="set">S</td>';
    $html = $html.'<td class="set">E</td>';
    $html = $html.'<td class="set">C</td>';
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">S</td>';
  }
  else {
    $html = $html.'<td class="unset">S</td>';
    $html = $html.'<td class="unset">E</td>';
    $html = $html.'<td class="unset">C</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">S</td>';
  }
  $html = $html.'<td class="unset">F</td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset">M</td>'; // immer "unset" anzeigen.
  // Das Wort "Uhr" einblenden, falls $display_uhr == 1
  if ( ( $display_uhr == 1 ) || ($current_time_minute <= '04') ) {
    $html = $html.'<td class="set">U</td>';
    $html = $html.'<td class="set">H</td>';
    $html = $html.'<td class="set">R</td>';
  }
  else {
    $html = $html.'<td class="unset">U</td>';
    $html = $html.'<td class="unset">H</td>';
    $html = $html.'<td class="unset">R</td>';
  }
  $html = $html.'</tr>';
  $html = $html.'<tr>';
  // Punkte für die 4 Minuten zwischen den Schritten anzeigen, Berechnung in Zeile 39. Pro Minute wird ein Punkt angezeigt.
  if ( ($clock_on == 1) && ($number_of_dots >= 1)) {
    $html = $html.'<td class="set">.</td>';
  }
  else {
    $html = $html.'<td class="unset">.</td>';
  }
  if ( ($clock_on == 1) && ($number_of_dots >= 2)) {
    $html = $html.'<td class="set">.</td>';
  }
  else {
    $html = $html.'<td class="unset">.</td>';
  }
  if ( ($clock_on == 1) && ($number_of_dots >= 3)) {
    $html = $html.'<td class="set">.</td>';
  }
  else {
    $html = $html.'<td class="unset">.</td>';
  }
  if ( ($clock_on == 1) && ($number_of_dots >= 4)) {
    $html = $html.'<td class="set">.</td>';
  }
  else {
    $html = $html.'<td class="unset">.</td>';
  }
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'<td class="unset"> </td>'; // immer "unset" anzeigen.
  $html = $html.'</tr>';
  $html = $html.'</table>'; // Ende innere Tabelle
  $html = $html.'</td>';
  $html = $html.'</tr>';
  $html = $html.  '</table>'; // Ende aussere Tabelle
  //$html = $html.'</body>';
  //$html = $html.'</html>';
  $vid = CreateVariableByName($_IPS['SELF'], "Weltuhr", 3);
  SetValue($vid, $html);  
}      
?>

Gruß Heiko

Kann man über die Einstellungen „Prefix“ und „suffix“ entsprechend steuern!