Hallo,
ich bin ganz neu bei IPS.
Wie kann ich Datum und Uhrzeit auf einer Kachel anzeigen.
Grüße
liteman
Hallo,
ich bin ganz neu bei IPS.
Wie kann ich Datum und Uhrzeit auf einer Kachel anzeigen.
Grüße
liteman
Versuche Dich mal an der Instance TileVisu-Wetter-Uhr-Kachel.
Nimm weg was Dir nicht gefällt.
Die Uhr oben in der ersten Zeile reicht Dir nicht?
Ich habe das vielleicht nicht genau genug erklärt.
Es geht mir eigentlich darum wo ich die Uhrzeit herbekomme um sie
dann in einer Variablen oder eben Kachel zu benutzen.
Kann die Symbox die Uhrzeit selbst zur Verfügung stellen?
Oder kann ich die Uhrzeit per NTP beziehen?
Grüße
liteman
Da hätte ich ein Script für Dich, mußt Dir dafür noch 5 Stringvariablen erstellen und ein zyklisches Ereignis 1 Sek für das Script erstellen.
<?php
$timestamp = time();
$datum = date("d.m.Y", $timestamp);
$Uhrzeit = date("H:i",$timestamp);
$stunde = date("H",$timestamp);
$minute = date("i",$timestamp);
$sekunde = date("s",$timestamp);
setvaluestring(19062,$datum);
setvaluestring(50678,$stunde);
setvaluestring(41503,$minute);
setvaluestring(31903,$sekunde);
//echo $Uhrzeit;
//echo $datum;
//echo $sekunde;
$tage = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
date_default_timezone_set("Europe/Berlin");
$tag = date("w");
//echo $tage[$tag]. ", ".$datum;
SetValueString(14134,$tage[$tag]. ", ".$datum)
?>
Danke für die Tips.
Das Script funktioniert bei manueller auslösung.
Nur die zyklische Auslösung klappt nicht.
Vielleicht noch ein bisschen einfacher gedacht:
Ich experimentiere aktuell ja nur rum.
Warum läuft oben gezeigtes Ereignis denn nicht?
Ändert sich das „Aktualisiert“ von dem Ereignis? Wenn nicht ist im Ereignis noch ein Fehler…
Nein, das “Aktualisiert” ändert sich nicht…
Wüsste jetzt aber nicht was in dem Ereignis noch falsch sein könnte?
Wo finde ich eine solche Aktion?
Bei mir läuft das Script
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : CurrentTime.ips.php
Trigger :
Interval :
*/
$currenttime = date("d.m.Y") . " " . date("H:i");
$dow = date("w");
switch($dow) {
case "0" :
$day = "So";
break;
case "1" :
$day = "Mo";
break;
case "2" :
$day = "Di";
break;
case "3" :
$day = "Mi";
break;
case "4" :
$day = "Do";
break;
case "5" :
$day = "Fr";
break;
case "6" :
$day = "Sa";
break;
}
$heuteD = date("d");
$heuteM = date("m");
$heuteY = date("Y");
$heute = mktime( 0, 0, 0, $heuteM, $heuteD, $heuteY );
$feiertag = array_search($heute, getGermanPublicHolidays(date("Y", heute)));
if (!$feiertag)
$feiertag = "";
SetValueString(38170, $day." ".$currenttime);
SetValueString(47603, $feiertag);
function getGermanPublicHolidays($year = null) {
if(!$easter = easter_date($year)) return false;
else {
$holidays['Neujahr'] = mktime(0,0,0,1,1,$year);
$holidays['Tag der Arbeit'] = mktime(0,0,0,5,1,$year);
$holidays['Karfreitag'] = strtotime("-2 days", $easter);
$holidays['Ostern'] = $easter;
$holidays['Ostersonntag'] = $easter;
$holidays['Ostermontag'] = strtotime("+1 day", $easter);
$holidays['Himmelfahrt'] = strtotime("+39 days", $easter);
$holidays['Pfingsten'] = strtotime("+49 days", $easter);
$holidays['Pfingstsonntag'] = strtotime("+49 days", $easter);
$holidays['Pfingstmontag'] = strtotime("+50 days", $easter);
$holidays['Tag der Einheit'] = mktime(0,0,0,10,3,$year);
$holidays['Reformationstag'] = mktime(0,0,0,10,31,$year);
$holidays['Heiligabend'] = mktime(0,0,0,12,24,$year);
$holidays['1. Weihnachtsfeiertag'] = mktime(0,0,0,12,25,$year);
$holidays['2. Weihnachtsfeiertag'] = mktime(0,0,0,12,26,$year);
$holidays['Silvester'] = mktime(0,0,0,12,31,$year);
$holidays['1. Advent'] = strtotime("1 sunday", mktime(0,0,0,11,26,$year));
$holidays['2. Advent'] = strtotime("2 sunday", mktime(0,0,0,11,26,$year));
$holidays['3. Advent'] = strtotime("3 sunday", mktime(0,0,0,11,26,$year));
$holidays['4. Advent'] = strtotime("4 sunday", mktime(0,0,0,11,26,$year));
return $holidays;
}
}
Die beiden String-Variablen müssen entsprechend angelegt werden.
Ereignis am Script
seit vielen Jahren.
Sollte so aussehen:
![]()
Das Problem liegt definitiv beim Ereignis. Hier steht unter Aktualisiert „Nie“.
Aber wo liegt der Fehler?
Die Aktion steckt unter „Wert setzen“ bei Integer und Float Variablen. Ich glaube du nutzt bisher eine String-Variable. Ich würde dir empfehlen stattdessen eine Integer-Variable mit der Darstellung „Datum/Uhrzeit“ zu verwenden. Dann kannst du in der Darstellung direkt einstellen, welche Teile du wie anzeigen möchtest und unter der Haube ist es einfach ein Zeitstempel. Und den kannst du dann wiederum per Aktion aktualisieren.
Also entweder verstehe ich das Prinzip von Symcon nicht oder …?
Ich habe eine Variable vom Typ „Integer“ angelegt.
Als Darstellung „Datum/Uhrzeit“ gewählt.
Design so eingestellt wie ich das möchte.
Soweit OK.
Aber wo gibt es da bitte eine Aktion „Wert setzen“?
Ich programmiere/parametriere seit Jahren RSLogix / RS Studio, Siemens, VisualStudio, KNX, tausende verschiedene gerätespezifische Softwaren und Tools.
Ich glaube nicht das ich jemals etwas so unintuitives wie Symcon gesehen habe.
Die Möglichkeiten von Symcon sind vielseitig, aber der Weg dahin ist naja …
Hab das jetzt mit überall mal klicken gefunden.
Warum das Ereignis aus Post 14 nicht funktioniert bleibt aber noch ein Rätsel?
Leg mal einfach ein leeres Script „Test“ an, dann einen Rechtsklick auf das Script im Objektbaum → Objekt Hinzufügen-> Ereignis->Zyklisch und dort dann einfach nur Zeitmuster auf Sekündlich und 5Sekunden eintragen, speichern fertig… Das sollte dann eigentlich funktionieren.
Das hat funktioniert.
Und ohne weiteres Zutun funktioniert jetzt auch das erste Ereignis / Script
Das soll mal einer verstehen …