Angefeuert durch diesen Satz
//Leider ist mir keine gescheite Formel hierfür eingefallen. Man kann ruhig blöd sein, man muss sich nur zu helfen wissen
in dem Script vom Smudo
https://www.symcon.de/forum/threads/10858-Jalousiemaster-Jalousien-steuern-mit-LCN
habe ich nach 4 Stunden intensivem Kopfzebrechen folgende Formeln erarbeitet.
function GetLCNtime($LCNtime){
if ($LCNtime<=255){
$Rest = $LCNtime % 32;
$Mod = ($LCNtime - $Rest)/32;
$Offset =$Rest * pow(2,$Mod);
$Faktor = 32 *(pow(2,$Mod)-1);
$PHPtime = ($Faktor + $Offset) * 0.03;
return $PHPtime;
} else {
echo "*** Fehler: Relaistimer über 255 sind nicht möglich ***";
exit;
}
}
function GetLCNRT($PHPtime){
if ($PHPtime <= 240.96){
$a = $PHPtime/0.03;
$b = ($a/32) + 1;
$c = log($b,2);
$Mod = floor($c);
$Rest = $c - $Mod;
$Faktor = 32 * (pow(2,$Mod)-1);
$Offset = ($a-$Faktor) / pow(2,$Mod);
$LCNtime = (int)($Offset + ($Mod*32));
return $LCNtime;
} else {
echo "*** Fehler: Laufzeiten über 240,96 Sek können nicht verarbeitet werden ***";
exit;
}
}
Benötigt wird diese Umrechnung für die LCN Funktion Relais Kurzzeit-Timer R8Tttzrr.
Wie die LCN-Entwickler auf diese Methode kommen ist mir aber immer noch ein Rätsel.