Pokeys Uhrzeit stellen (aus aktuellem Anlass, Sommerzeit)

Ich würde gern die Uhrzeit von meinen Pokeys vom IPS aus überwachen/stellen, letztens war ja wieder Zeitumstellung und das Tor ging natürlich erst ne Stunde später auf…

So richtig weiß ich aber nicht wie, hab nur das hier gefunden https://www.symcon.de/forum/threads/29910-Rolladensteuerung-mit-Pokeys?p=276071#post276071 daraus werde ich aber irgendwie nicht schlau.

Hat das schon jemand bei sich laufen und wäre so freundlich eine kurze Erklärung abzugeben?
Pokeys als NTP-Client geht ja bestimmt nicht :smiley:

Modbus Adr 612 läßt sich schreiben und lesen, Dein Link mit dem Code befasste sich mit dem Lesen des Jahres, das ist nicht sooo einfach.
Modbus Adressen sind ab Seite 80 im Pokeys PDF zufinden.
Gruß Helmut

ah ok, das kam nicht so ganz an… mir reicht die Uhrzeit.
Dann schau ich mal ob ich das gelöst bekomme.

Habe fertig.
da mich die aktuelle Pokeyuhrzeit nicht wirklich im Webfront interessiert und ich auch nicht sekündlich prüfen muss ob die Uhrzeit eine Sekunde falsch geht um diese dann zu stellen, hab ich die Sache sehr vereinfacht und Ressourcenschonend umgesetzt.
Es wird einfach jeden früh 3:30 Uhr dieses Skript gestartet und die Uhrzeit für alle Pokeys auf 3:30 Uhr gestellt.

<?
//Uhrzeit stellen, alle Pokeys um 3:30 Uhr früh (ausgeführt über tägliches Ereignis)
$sek= 1;
$min=30;
$h=3;

//Villa
ModBus_WriteRegisterWord(46908 /*[Hardware\PoKeys\Villa\ADR610 Uhrzeit Sekunde]*/,$sek);	//Sekunde
ModBus_WriteRegisterWord(16582 /*[Hardware\PoKeys\Villa\ADR611 Uhrzeit Minute]*/,$min);	//Minute
ModBus_WriteRegisterWord(15067 /*[Hardware\PoKeys\Villa\ADR612 Uhrzeit Stunde]*/,$h);	//Stunde

//WE1
ModBus_WriteRegisterWord(16034 /*[Hardware\PoKeys\WE1\ADR610 Uhrzeit Sekunde]*/,$sek);	//Sekunde
ModBus_WriteRegisterWord(57372 /*[Hardware\PoKeys\WE1\ADR611 Uhrzeit Minute]*/,$min);	//Minute
ModBus_WriteRegisterWord(52259 /*[Hardware\PoKeys\WE1\ADR612 Uhrzeit Stunde]*/,$h);	//Stunde

//Werkstatt
ModBus_WriteRegisterWord(45061 /*[Hardware\PoKeys\Werkstatt\ADR610 Uhrzeit Sekunde]*/,$sek);	//Sekunde
ModBus_WriteRegisterWord(45302 /*[Hardware\PoKeys\Werkstatt\ADR611 Uhrzeit Minute]*/,$min);	//Minute
ModBus_WriteRegisterWord(12398 /*[Hardware\PoKeys\Werkstatt\ADR612 Uhrzeit Stunde]*/,$h);	//Stunde

?>

Einstellungen für Modbusinstanz
Einheit: Word
Funktion lesen:Read Input Registers (04)
Adresse lesen: 610/611/612
Funktion schreiben: Write Single Register (06)
Adresse schreiben: 610/611/612

Eine Stolperfalle war noch in der Pokeys Konfigurationssoftware unter set Date&Time eingestellt.
Unten in dem Auswahlmenü war bei ein paar Pokeys „UTC+01“ drin, dort muss Disabled drin stehen, ansonsten konnte ich auf Adresse 612 schreiben was ich wollte, es wurde immer eine Stunde drauf gerechnet.

Edit: Schaltzeit von 2 Uhr auf 3:30 Uhr geändert, da sonst am Tag der Sommer-/Winterzeitumstellung der Pokeys früh noch die falsche Uhrzeit hat.