Zeitsynchronistation an FHT´s

Ich habe diesen Punkt noch auf meiner ToDo Liste, jedoch nicht allzuweit oben. In einem Handbuch scheint alles quasi ganz trivial zu sein. Wenn wir aber dazu keine Protokollinformationen haben sieht die Sache leider ganz anders aus. Reverse Engeneering und Probieren ist da gefragt… Einen Ansatz habe ich, jedoch klappt es noch nicht so ganz…

Grüße, paresy

Ist hier Weibsvolk anwesend ? NEEEIIIINNNN - Spass beiseite
Um es mit Brians Worten zu sagen „Ich folge nicht blind dem Schuh“
Nix mit Jünger oder so - einfach NUR überzeugt !

und das mit deinem Dimmer über 30 Minuten 16 Stufen sollte auch nicht wirklich ein Problem darstellen…

„in good old german anstatt php“: Skript zu einer bestimmten Zeit (oder auch Sunrise) ausführen und dasselbe Skript durch sich selbst wieder aufrufen lassen (Timer alle 2 Minuten) und einen Wert „inkrement_dimmerphase“ oder so ähnlich jeweils um 1 erhöhen und damit die Lampe heller werden lassen - dann brennt deine Lampe nach 16 Minuten mit halber Kraft, nach 32 Minuten voll. Also fast ein Volltreffer ! Und das mit ca. 10-20 Programmzeilen (geschätzt)

PS: hast du ne 1000er oder 1300er FHZ ? Für FHTs und deren Werte solltest du lieber eine 1300er haben (Krebse selbst noch mit ner 1000er rum, soll sich aber hoffentlich bald ändern)

Gruß

Jörg

Das mit dem Dimmer hat sich geklärt, ist implementiert wie’s sich gehört, chapeau!

@paresy
Vielleicht stelle ich mir das zu einfach vor, aber könnt ihr nicht auf dem USB mitlauschen? Lt. Contronics wird die Zeit 1* pro Minute gesetzt, und das müsste eigentlich doch auf dem Kabel zu finden sein, oder?

__Leo, judäische Volksfront

Ja. Ist schon alles vorhanden… Trotzdem klappt es noch nicht so ganz… wie gesagt. Es wird kommen, aber nicht heute oder nächste Woche.

Grüße, paresy

Naja, ich habe auch erst übernächste Woche Zeit für die Umsetztung, von daher ist’s nicht schlimm wenn’s dann erst funktioniert. :wink: Ich denke ich werde dann doch mal ein Invest-Antrag an meine Regierung stellen, wie ist denn die FHZ1300 bei IPS z.Z. verfügbar?

__Leo

… im Lager :wink:

Leute,

In mein versuch das FHT-synctime zu bekommen funzt dies NICHT:


<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : SetFHTTime.ips.php
Trigger  : 
Interval : 
*/
include_once("scripts/GlobalDefines.ips.php");

/* How it works ...

*/

$fht_array=array(0 => oliv_temp, 1 => okeu_temp, 2 => osl1_temp, 3 => osl2_temp);
//debug
$ldebug=GetValueBoolean("__debug");
$setmanual = true;
$logfilepath=__myhome."/log/gFHTsync.txt";

if ($ldebug) {
   $handle=fopen("$logfilepath", "a");
   if (!$handle){
      // error cannot open file
      echo("******* ERROR: Cannot open file '$tempfilepath'
");
   }
}
$thisdate = Getdate();
if ($setmanual) {
   $year = (int)"2000";
   $month = (int)"01";
   $day = (int)"01"; //is a saturday
   $hour = (int)"01";
   $min = (int)"00";
   $sec = (int)"00";
//ENDdebug
} else {
   $year = $thisdate["year"];
   $month = $thisdate["mon"];
   $day = $thisdate["mday"];
   $hour = $thisdate["hours"];
   $min = $thisdate["minutes"];
   $sec = $thisdate["seconds"];
}
$step=GetValueInteger("vfhtsync_run");
$stepstr="   $step   : ";
switch ($step){
case 0:
      //init settings
   if ($ldebug) fwrite($handle,"Proc started :$year/$month/$day $hour:$min:$sec
");
   IPS_SetScriptTimer("SetFHTTime",1*60); //1 mins make recursive
   SetValueBoolean("__fht_inhibit",true);  // no more sending to FHT's from other scripts
   break;
case 1:
   foreach($fht_array as $key => $value){
      FHT_SetYear($value, $year);
      if ($ldebug) fwrite($handle, "$stepstr $value set to: $year
");
   }
   break;
case 2:
   foreach($fht_array as $key => $value){
      FHT_SetMonth($value, $month);
      if ($ldebug) fwrite($handle, "$stepstr $value set to: $month
");
   }
   break;
case 3:
   foreach($fht_array as $key => $value){
      FHT_SetDay($value, $day);
      if ($ldebug) fwrite($handle, "$stepstr $value set to: $day
");
   }
   break;
case 4:
   foreach($fht_array as $key => $value){
      FHT_SetHour($value, $hour);
      if ($ldebug) fwrite($handle, "$stepstr $value set to: $hour
");
   }
   break;
case 5:
   foreach($fht_array as $key => $value){
      FHT_SetMinute($value, $min);
      if ($ldebug) fwrite($handle, "$stepstr $value set to: $min
");
   }
   break;
case 6:
   //reset all
   IPS_SetScriptTimer("SetFHTTime",0);
   SetValueBoolean("__fht_inhibit",false);
   SetValueInteger("vfhtsync_run", 0);
   if ($ldebug) fwrite($handle, "Proc finished: $year/$month/$day $hour:$min:$sec
");
}
if ($step<6){
      SetValueInteger("vfhtsync_run", $step+1);
}
if ($ldebug) fclose($handle);
?>

my (fehlende) 2 cents :confused:

hallo,

ok, dann gebe ich mein Script auch noch zum Besten. Dieses Script funktionniert eigentlich sehr gut. Alle Uhren gehen bis auf 1 Minute ganz genau, d.h, sie laufen nach. Da sowieso am Ende des Monats alle FHT Uhren ein wenig vor stehen, kompensiert sich das ganze und die Uhren laufen GENAU !

$hour = date("H");
$minutes = date("i");
$day = date("d");
$month = date("m");
$year = date("Y");

switch ($day)
    {

    case 1 :        FHT_SetMinute(26723,(integer)$minutes);  // FHT1
	                FHT_SetHour(26723,(integer)$hour);
                    FHT_SetDay(26723,(integer)$day);
                    FHT_SetMonth(26723,(integer)$month);
                    FHT_SetYear(26723,(integer)$year);
                    break;
                    
    case 2 :        FHT_SetMinute(11877,(integer)$minutes);  // FHT2
	                FHT_SetHour(11877,(integer)$hour);
                    FHT_SetDay(11877,(integer)$day);
                    FHT_SetMonth(11877,(integer)$month);
                    FHT_SetYear(11877,(integer)$year);
                    break;

    case 3 :        FHT_SetMinute(52123,(integer)$minutes);  // FHT3
	                FHT_SetHour(52123,(integer)$hour);
                    FHT_SetDay(52123,(integer)$day);
                    FHT_SetMonth(52123,(integer)$month);
                    FHT_SetYear(52123,(integer)$year);
                    break;

    case 4 :    ........


…eben soviele FHT’s man hat. Natürlich, wenn man mehr als 30 FHT’s dranhängt, geht es nicht mehr, da der Monat nur 28/29/30 Tage hat.
Naja, wer hat schon so viele !?

Das script wird über einen IPS Timer getriggert, der das Script um 3.00 Uhr in der Nacht einmal durchläuft.

mfG Franz

Ich hab ein ‚AHA‘ erlebniss…
Die FHT’s brauche also in 1e sendung die ganze Zeit …
hmm… ok ausförderung.

Bis spater :smiley:

Also bitte:

FUNZT (FHZ1300 :smiley: )


IP-SYMCON Event Scripting
*******************************
File     : SetFHTTime.ips.php
Trigger  : 
Interval : 
*/
include_once("scripts/GlobalDefines.ips.php");

/* How it works ...

*/
// USER settings
$mins_timeout=6;  /// FHZ1000=12 mins timeout; FHZ1300=6 mins
$fht_array=array(1 => oliv_temp, 2 => okeu_temp, 3 => osl1_temp, 4 => osl2_temp);
// END User settings

//debug
$ldebug=GetValueBoolean("__debug");
$setmanual = false; //set to true to set to predefined date/time see %%%%
$logfilepath=__myhome."/log/gFHTsync.txt";

if ($ldebug) {
   $handle=fopen("$logfilepath", "a");
   if (!$handle){
      // error cannot open file
      echo("******* ERROR: Cannot open file '$tempfilepath'
");
   }
}
$thisdate = Getdate();
if ($setmanual) {
/*

   %%%%%
   To check wheather or not it works, you can set a predefinde time here
   %%%%%
*/
   $year = (int)"2000";
   $month = (int)"01";
   $day = (int)"01"; //is a saturday
   $hour = (int)"00";
   $min = (int)"00";
   $sec = (int)"00";
/*

   ENDdebug

*/
} else {
   $year = $thisdate["year"];
   $month = $thisdate["mon"];
   $day = $thisdate["mday"];
   $hour = $thisdate["hours"];
   $min = $thisdate["minutes"];
   $sec = $thisdate["seconds"];
}
$step=GetValueInteger("vfhtsync_run");
$stepstr="   $step   : ";
if ($step==0){
      //init settings
   if ($ldebug) fwrite($handle,"Proc started :$year/$month/$day $hour:$min:$sec
");
   IPS_SetScriptTimer("SetFHTTime",$mins_timeout*60); //1 mins make recursive   !!!! SET TO EXPERIENCE !!!
   SetValueBoolean("__fht_inhibit",true);  // no more sending to FHT's from other scripts
}elseif ($step<5){                  //should be count(array-elements)
   FHT_SetYear($fht_array[$step], $year);
   FHT_SetMonth($fht_array[$step], $month);
   FHT_SetDay($fht_array[$step], $day);
   FHT_SetHour($fht_array[$step], $hour);
   FHT_SetMinute($fht_array[$step], $min);
   if ($ldebug) fwrite($handle, "$stepstr $fht_array[$step] set to: $year/$month/$day $hour:$min:$sec
");
   SetValueInteger("vfhtsync_run",$step+1);
}else{
   //reset all
   IPS_SetScriptTimer("SetFHTTime",0);
   SetValueBoolean("__fht_inhibit",false);
   SetValueInteger("vfhtsync_run", 0);
   $now=getDate();
   $year = $now["year"];
   $month = $now["mon"];
   $day = $now["mday"];
   $hour = $now["hours"];
   $min = $now["minutes"];
   $sec = $now["seconds"];
   if ($ldebug) fwrite($handle, "Proc finished: $year/$month/$day $hour:$min:$sec
");
}
if ($step<5){   //should be count(array-elements)
   SetValueInteger("vfhtsync_run", $step+1);
}else{
   SetValueInteger("vfhtsync_run", 0);
}
if ($ldebug) fclose($handle);
?>

PS: Habe keine lust mehr alle variablen zu erklaren… morgen vielleicht mehr dazu. Gehe Schkafen.

Gute nacht,
Fredje

Dat is ja der helle Wahnsinn!! Wenn ich mal so einen codeschnipsel mit allen zeitparametern laufen lasse, sind die minuten im FHT sofort „up to date“, der rest kommt nach und nach … ich staune! :eek: wäre so gar nicht mein ansatz gewesen :confused:
Wie GGG es sagt, alles auf einmal senden, dann wird alles gut :wink:

@ guyabano:
häts du ruhig mal früher sagen können … hehe :smiley:

grüsse
Torsten

Updated script above | funzzztttttsssscccchhhhhtttt gehe jetzt wirklich schlafen.

Hallo,
habe mal das script versucht. klappt aber leider nicht.
es wird gar kein befehl gesendet wenn ich das script manuel prüfe.

$hour = date(„H“);
$minutes = date(„i“);
$day = date(„d“);
$month = date(„m“);
$year = date(„Y“);

switch ($day)
{

case 1 :        FHT_SetMinute(23227,(integer)$minutes);  // Bad
                FHT_SetHour(23227,(integer)$hour);
                FHT_SetDay(23227,(integer)$day);
                FHT_SetMonth(23227,(integer)$month);
                FHT_SetYear(23227,(integer)$year);
                break;

case 2 :        FHT_SetMinute(62852,(integer)$minutes);  // Schlaf
                FHT_SetHour(62852,(integer)$hour);
                FHT_SetDay(62852,(integer)$day);
                FHT_SetMonth(62852,(integer)$month);
                FHT_SetYear(62852,(integer)$year);
                break;

case 3 :        FHT_SetMinute(35059,(integer)$minutes);  // Gast gross
                FHT_SetHour(35059,(integer)$hour);
                FHT_SetDay(35059,(integer)$day);
                FHT_SetMonth(35059,(integer)$month);
                FHT_SetYear(35059,(integer)$year);
                break;
               }

habe ich was übersehen oder falsch gemacht ?

mfg uwe

switch day:

welcher tag sind wir heute ? 28
welcher switch benutzt er ? Keine : es gibt keine switch bei 28 :smiley:

:smiley: :smiley: eben, GGGss hat es schon gesagt.
Für meinen Bedarf genügt es, einmal im Monat zu synchronisieren. Jedoch bei Neuinstallation eines FHT muss du das erste Mal schon manuell einrichten und abwarten.

mfG Franz

danke für die antwort, habe erst nicht richtig verstanden.

mfg uwe

Hallo

Ich habe diesen Punkt noch auf meiner ToDo Liste, jedoch nicht allzuweit oben. In einem Handbuch scheint alles quasi ganz trivial zu sein. Wenn wir aber dazu keine Protokollinformationen haben sieht die Sache leider ganz anders aus. Reverse Engeneering und Probieren ist da gefragt… Einen Ansatz habe ich, jedoch klappt es noch nicht so ganz…

Grüße, paresy

gibts zu dem ganzen Thema schon etwas neues?

In der Tat, ich habe auch die Software von der Konkurrenz hier, und bei denen klappt das tadellos, auf die Sekunde genau und das einmal am Tag !

Ich bin mir sicher, das die Jungs von IPS das auch noch gelöst kriegen !

Mache zur Zeit leider die selben Erfahrungen, das es mit IPS nicht sicher funktioniert
Habe mittlerweile schon einiges probiert (z.B. die Skripts von GGGss), leider nur mit teilweisem Erfolg.

Gruß
astrastar

Hallo astrastar,

es ist derzeit noch nicht in IPS realisiert.

Gruss Torro

Hallo Torro,

ich weis, das mit dem wann ist immer so eine Sache, aber gibt es zumindest schon einen Lichtschein am Horizont, wann das Problem gelöst wird?

Gruß
astrastar

Hallo astrastar,

dazu kann paresy etwas sagen, wenn er aus dem Urlaub wieder da ist.

Gruss Torro