Antworten
Apr 16, 2019 - 05:57
Konfortabler ist es ein Webseitenelement für solche Zwecke zu nutzten, dazu brauchst Du aber einen Endpunkt, der die lokale Webseite zur Verfügung stellt und dann den Wert in eine Variable schreibt. Möglich ist das z.B. mit IP-Symcon und einer HTMLBox, nur mit der CCU3 müstest Du dazu auf der CCU3 einen Webserver aufsetzten.
Mit einem Webseitenelement in NEO kannst Du entweder ein normales HTML Formular nutzten oder wenn es schöner sein soll einen beliebigen Timepicker.
Dritte Möglichkeit wäre es noch die Zeit als Slider in NEO einzustellen. Dazu wird dann auf Stunden, Minuten und Sekunden als seperate Variable geführt und kann dann einzeln mit einem Slider oder auch Rundslider eingestellt werden.
Apr 16, 2019 - 10:00
Die Uhrzeit wird in einem Textfeld anzeigt in NEO. Über die Uhrzeit wird einen transparenter Button gelegt, der ein Popup zur Einstellung der Uhrzeit öffnet.
Jedem Slider ist eine Variable für Stunde, Minute und Sekunde zugewiesen.
Mit dem Slider wird der Wert der Variable verändert.
In meinem Fall wird nun bei Variablenaktualisierung einer der Variablen ein neuer Timestamp berechnet der dann in die eigentliche Variable mit der Zeit geschrieben wird.
Das Glelche baust Du mit Programmen auf der CCU3 nach.
Zwei Möglichkeiten müssen berücksichtig werden und jeweils ein Skript ausführen.
Der Timestamp selber ändert sich, dann müssen die Einzelwerte für die Slider in NEO aktualisierst werden.
Sieht als Beispiel in PHP in IP-Symcon so aus, wird ausgeführt bei Variablenänderung der Variable mit dem Timestamp.
$timestamp = GetValue(44956 /*[Geräte\Mediola\NEO Zeit\Zeit NEO Timestamp]*/);
$hour = intval(date("H", $timestamp));
$minute = intval(date("i", $timestamp));
$seconds = intval(date("s", $timestamp));
SetValue(34069 /*[Geräte\Mediola\NEO Zeit\Zeit NEO Stunde]*/, $hour);
SetValue(14276 /*[Geräte\Mediola\NEO Zeit\Zeit NEO Minute]*/, $minute);
SetValue(36456 /*[Geräte\Mediola\NEO Zeit\Zeit NEO Sekunden]*/, $seconds);
das musst Du analog auf der CCU mit Skripten auf der CCU3 machen.
Oder aber einer der Slider wird in NEO verstellt, dann muss sich der Timestamp ändern
Sieht als Beispiel in PHP in IP-Symcon so aus, wird ausgeführt bei Variablenänderung einer der Variablen die durch NEO verstellt werden
$hour = GetValue(34069 /*[Geräte\Mediola\NEO Zeit\Zeit NEO Stunde]*/);
$minute = GetValue(14276 /*[Geräte\Mediola\NEO Zeit\Zeit NEO Minute]*/);
$seconds = GetValue(36456 /*[Geräte\Mediola\NEO Zeit\Zeit NEO Sekunden]*/);
$timestamp = mktime($hour, $minute, $seconds);
SetValue(44956 /*[Geräte\Mediola\NEO Zeit\Zeit NEO Timestamp]*/, $timestamp);
das musst Du analog auf der CCU mit Skripten auf der CCU3 machen.
So stellst Du sicher das die Werte in NEO als auch der eigentliche Timestamp in der CCU aktuell ist.
Problem bei dem Workarround ist der Slider, der vom Anfangswert nicht dem Wert einer Uhr entspricht. Eigentlich müste der 0 Wert ja oben und nicht unten sein. Keine Ahnung ob man das irgendwie in NEO anpassen kann. Eventuell kann hier ja Mediola eine Lösung für den Slider mit Uhrzeiten anbieten. Ansonsten müsste ein Webseitenelement genutzt werden, damit ist man dann flexibel auch vom Layout bzw. hat mehr Möglichkeiten das so darzustelen wie man will.
Von
Gibt es für die dritte Möglichkeit eine Anleitung?
Von
Für die dritte Möglichkeit must Du mal auf der CCU3 rumprobieren, mit CCU Skripten muss ich leider passen, da kenne ich mich null aus, da ich selber IP-Symcon für solche Zwecke benutzte.
Es können da dann auf alle Fälle ziemlich viele Variablen zusammen kommen, da Du ja für jede einzustellende Zeit drei Variablen brauchst, nämlich eine für Stunden, Minuten und bei Bedarf Sekunden.
In NEO legst Du dann einfach einen Slider oder einen runden Slider auf die Systemvariable und weist den passenden Range zu bei Stunden z.B. 0 bis 24. Damit kannst Du dann die Variable der CCU3 einstellen. Der Rest must Du in dem Fall dann mit Programmen in der CCU3 lösen. Wenn also eine Variablenaktualisierung einer der drei Zeit Variablen erfolgt musst Du daraus dann den Zeitwert in der CCU3 berechnen, den Du in die eigentliche Variable mit dem Timestamp schreibst.
Das Verstellen der drei Variablen aus NEO sollte einfach sein um aus den drei Variablen dann einen Timestamp mit der CCU3 zu berechen würde ich entweder dies im Homematic Forum fragen oder aber vielleicht findet sich ja auch hier jemand der Skripte mit der CCU3 nutzt und sich mit so was auskennt.
Ich selber nutzte ergänzend IP-Symcon, da wird ber PHP benutzt und nicht die Skriptsprache der CCU.
Von
Ich selber nutzte IPShadowing zur Rolladensteuerung von Homematic, da muss ich selber nicht so viel Spripte schreiben.
https://bit.ly/2FX5M2C
Neuen Kommentar hinzufügen