FHZ Buffer

Hallo, da ich 11 FHT’s in Betrieb habe, und ich eine „Wir alle gehen aus“-Sequenz starte, werden ja eigentlich viele FHT-Befehle übermittlet, im ganzen 22, einmal alle FHT’s auf Manuell setzen und eine abgesenkte Temperatur, alles in allem 2x11 befehle.
Doch irgendwie bleibt der Buffer hängen seit den letzten BETA’s (welche genau jetzt kann ich nicht sagen). Zwischen den Befehlen sind jeweils ein paar Minuten, doch irgendwie werden sie nicht weiter übertragen

mfG Franz

Hallo guyabano und paresy,

ich schließe mich an. Genau dieselbe Beobachtung habe ich auch gemacht.

Manchmal bleiben die Befehle sogar mehrere Stunden „hängen“.

Das war in den früheren Versionen nicht so.

gruß
HJH

Hallo,
habe das problem mit dem Buffer der FHZ 1000 auch. Habe 7 FHT zu laufen und da gehen schon einige Befehle baden.
Ich wollte mal fragen ob das Problem mit 1300 auch noch besteht oder ob es da besser ist.

cu uwe

und da gehen schon einige Befehle baden

bei mir ist es die reinste Katastrophe. 3 von 4 FHT Meldungen enden mit einem Timeout im Buffer. Seit die letzte BETA laeuft, muss ich abends manuell alle FHT’s umstellen, da nichts mehr zuverlaessig geschaltet wird. :mad:

Hier gibt es ein echtes Problem.

mfG Franz

Anhang: Hier sind 3 Grafiken von heute, dem 04/02/2006. Das sind nur 3 FHT’s, doch bei den anderen sieht es nicht besser aus. Ich werde IPS jetzt abschalten für eine gewisse Zeit, da keine FHT’s mehr zuverlässig arbeiten. Schade eigentlich !

Hallo,

das Problem hatte ich auch. Ich habe dann 2 Funktionen aus dem Forum in meine Hezungsscript´s eingebaut:

  1. Eine Prüfroutine ob die Werte die ich senden will nicht schon die aktuellen sind. Wenn schon aktuell dann muß nichts gesendet werden.
  2. Eine Sendeschleife die an die FHT´s sendet mit einer differenz von 3 Minuten je FHT.

Seitdem habe ich einen freien FHT-Buffer.

Gruß

DVB-Freak

Was bitte schön ist eine „Sendeschleife“?

Also, ein paar Tage zuvor mit der letzten offiziellen Version hatte ich das Problem gar nicht. Alles lief reibungslos. Nur seit ich die neueste BETA am laufen habe, geht nichts mehr. Nur das Schlimmste ist, ich mache immer Backups, doch diesmal habe ich keins gemacht, und habe auch gar nicht mit damit gerechnet.
Nun ja, jetzt wurde ich dafür bestraft. Auf jeden Fall, mein IPS Rechner ist bis auf weiters aus !

Edit:

Ich habe doch noch eine Bevor-BETA Version gefunden und lauffähig gemacht: Alle FHZ Befehle (im ganzen 13) waren innerhalb 15 Minuten durch ! Ich weis nicht, was in der letzten BETA da am FHZ Buffer gewurschtelt wurde ? :smiley: Naja, bei IPS sitzen gute Leute, die kriegen das schon hin !

mfG Franz

Hallo Franz,

wie währe es mit einer Standleitung:D
-Touchsreen
-Englisch - Deutsch
-FHT-Buffer

ich verliere gleich den Überblick.

Hier mein Workaround:

Nicht mehr die FHT-Script´s direkt ausführen, sondern über eine Schleif ausführen lassen. Das folgende Script wird alle 3 Minuten gestartet:

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : FHT_Loop.ips.php
Trigger  : 
Interval : 
*/
$fht_loop = GetValueInteger("FHT_LOOP_Counter");

if ($fht_loop < 4) $fht_loop = $fht_loop + 1;
else ($fht_loop = 0);

SetValueInteger("FHT_LOOP_Counter", $fht_loop);

switch ($fht_loop)
        {
         case  1 : IPS_RunScript("Wohnzimmer_FHT");
                   $Run1 =  date("H:i");
                   SetValueString("HMI_FHT_Wohnzimmer_lastrun", $Run1);
                   break;

         case  2 : IPS_RunScript("Andre_FHT");
                   $Run2 =  date("H:i");
                   SetValueString("HMI_FHT_Andre_lastrun", $Run2);
                   break;

         case  3 : IPS_RunScript("Dany_FHT");
                   $Run3 =  date("H:i");
                   SetValueString("HMI_FHT_Dany_lastrun", $Run3);
                   break;

         case  4 : IPS_RunScript("Kueche_FHT");
                   $Run4 =  date("H:i");
                   SetValueString("HMI_FHT_Kueche_lastrun", $Run4);
                   break;

            }





?>

Die obere Variable muß selbsverständlich angelegt werden.

Gruß

DVB-Freak

und hier noch meine Abwandlung des Heizungssteuerungsscript´s:

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Heizungssteuerung.ips.php
Trigger  :
Interval :
*/
$FHT_mode = GetValueInteger("Wohnzimmer_Temp_Mode");
$house_status = GetValueBoolean("FlagAnwesend");
$absenkung = GetValueFloat("HMI_Wohnzimmer_absenkung");

$hour=date("H");
$minute=date("i");
$time = $hour.":".$minute;
$heute = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
$tag = date("w");

$newtemp=GetValueFloat("Wohnzimmer_Memo_Temp");

//Auswertungsloop (0 = Auto / 1 = Manual / 2 = Urlaub / 3 = Party/Ferien)
$FHT_mode = $FHT_mode + 1 ;
//loopanpssung (1 = Auto / 2 = Manual / 3 = Urlaub / 4 = Party/Ferien)
switch ($FHT_mode)
        {
         case  1 : $handle = fopen("D:\Daten\Heizung_Wohnz.par","r");
                   Echo"Automatik";
                   break;

         case  2 : Echo"Manual";
                   break;

         case  3 : $handle = fopen("D:\Daten\Heizung_Ferien\Heizung_Wohnz.par","r");
                   Echo"Urlaub";
                   break;

         case  4 : $handle = fopen("D:\Daten\Heizungsdaten_Urlaub\Heizung_Wohnz.par","r");
                   Echo"Party / Ferien";
                   break;

            }
/*
// Choose Normal or Holiday Parameter-File
     if (GetValueBoolean("Wohnzimmer_Ferien_Status") == False)
         $handle = fopen("D:\Daten\Heizung_Wohnz.par","r");
        else
         $handle = fopen("D:\Daten\Heizung_Ferien\Heizung_Wohnz.par","r");
*/
//Datendatei auswerten
      while ($line = fgets($handle, 1000))
      {
          $parameter = explode(";", $line);    //[0]-Tag, [1]-(Ab)Zeit, [2]-Temperatur
          $day=$parameter[0];
          $switchtime=$parameter[1];
          $temp=$parameter[2];
          //Echo $day."<br>";
          //Echo $switchtime."<br>";
          //Echo $temp."<br>";
          if (($day == $heute[$tag]) AND ($time > $switchtime))
               $newtemp = substr($temp, 0, 4); // extract the "
" from the file
            }
fclose($handle);

//Anwesenheit feststellen, wenn keiner da dann absenken
IF ($house_status == false){
    $newtemp = $newtemp - $absenkung;
    }

// wenn Temperatur geändert dann senden
     if (GetValueFloat("Wohnzimmer_Memo_Temp") != $newtemp)
       {
        FHT_SetTemperature(23024, (float)$newtemp);
        SetValueFloat("Wohnzimmer_Memo_Temp", (float)$newtemp);
        SetValueString("HMI_Wohnzimmer_Last_message", "PARAMETER, Temperatur im Wohnzimmer auf ".$newtemp." °C gesetzt.");
       }
// wenn Temeratur aktuell dann nicht senden
     else
     if ((GetValueFloat("Wohnz_soll")) != (GetValueFloat("Wohnzimmer_Memo_Temp")))
         {
          SetValueString("HMI_Wohnzimmer_Last_message", "PARAMETER, Setpoint has been modified manually. Target has been adjusted!");
          FHT_SetTemperature(23024, (float)$newtemp);
         }

      SetValueString("HMI_Wohnzimmer_FHT_Script_run", "EXECUTED");

//    Wenn nach 1 Stunde nicht geändert dann nocheinmal senden

      $last_target_update = date("H:i", IPS_GetUpdateTime("Wohnz_soll"));
      $actual_temp = GetValueFloat("Wohnzimmer_Temp_ist");
      $target_temp = GetValueFloat("Wohnz_soll");

      $time_diff = (strtotime($time) - strtotime($last_target_update));

      if (($time_diff > 3600) AND (abs($actual_temp - $target_temp) > 3))
          {
           FHT_SetTemperature(23024, (float)$target_temp);
           SetValueString("HMI_Wohnzimmer_Last_message", "!! Target was not recieved by FHT. I sent it again !!");
           }
?>

Hoffe ich muß es nicht näher erklären, sonst muß ich mich wieder da reinarbeiten.

Gruß

DVB-Freak

Haha, das ist ja mein Script, den ich mal gepostet hatte ! Ja, ich frage das letzte Update der Variable ab, vergleiche dann mit der aktuellen Temperatur und wenn nach der definiterten Zeit Delta T nicht über einen gewissen Wert gestiegen ist, dann sende ich nochmal. Das klappt wunderbar bei mir !

So, jetzt ist mal wieder Ruhe im Käfig. Die letzte offizielle Version ohne Parallel-Threading läuft wieder ! Die Meldungen flutschen nur durch die FHZ.

mfG Franz

Ich wußte jetzt nicht genau von wem die ganzen von mir verwendeten schnipsel sind. Da die von Dir sind verstehe ich nicht warum es bei mir mit der letzten Beta und einer FHZ1000PC rennt und bei Dir nicht :confused: :confused:

Gruß und gute N8

DVB-Freak

Also das mit dem nichtfunktionieren der FHTs kann ich bestätigen. Irgendwie kommen mit der IPS-Beta weniger FHT-Befehle mehr durch. Auch bei einem Verstellen des Sollwertes vor Ort kommt der Wert nicht zur FHZ bzw. in IPS. Bitte einene schnellen Fix

Da muss ich noch was ergänzen:
Also mit der letzten Beta und der FHZ1000PC funktioniert bei mir alles. Ich habe dann auf die FHZ1300PC gewechselt und jetzt funktionieren die FHTs nicht mehr richtig: Ich kann nichts senden an die FHTs und bekommen keine Ist Temperaturen. Alle Befehle bleiben im FHT Queue hängen. Die Ventilpositionen kommen aber alle paar Minuten. FS20 geht auch alles. Ist da die 1300er kaputt oder was? Hilfe

Noch eine Ergänzung:
Ich habe jetzt wieder die FHZ1000PC anstelle der 1300er angeschlossen und nur im FTDI Modul entsprechend ausgewählt. Jetzt geht wieder alles: Die Ist-Temperaturen kommen rein und die Sollwerte kann ich zu den FHT schicken. Demnach liegt es wohl an der FHZ und nicht an der IPS-Beta.

Hi,

hattest du die FHT’s nach dem Wechsel auf die 1300er neu an der FHZ angemeldet ?

Gruß

cAtMaX

Nein. Warum sollte ich? Beim Start von IPS kommen die Meldungen das alles bidirektional verbunden ist.

Hallo,

weil die FHTs immer mit dem physischen Geraet verbunden sind. Wenn DU also statt der FHZ1000 eine neue FHZ1xxx anschliesst, musst Du die FHTs alle neu an der FHZ anmelden. Das hat nichts mit IPS zu tun, sondern ist eine Registrierung des FHTs an der FHZ. Da trotzdem im IPS einige Daten ankommen, koennte man denken, das ist ok, dem ist aber leider nicht so.

Also: Installation einer neuen FHZ bedeutet immer die Neuanmeldung aller FHTs an dieser neuen FHZ.

Gruss Torro

Danke Torro,

das wars, jetzt habe ich alle FHT neu angemeldet und die Werte kommen rein und raus. Wieder was gelernt. An was man nicht alles denken muss!

schon spass das deine anlage lauft

aber

wie steht es mit die beta-puffern die sich nicht rauspusten zum FHT 1-welcher weiss ich jetzt uberhaupt nicht mehr-00 ??

So,
nachdem meine 1300er jetzt mit den FHTs zusammenarbeitet gibts doch noch ein Problem: Es bleiben einige Befehle im FHT Puffer hängen und werden nach 1 h gelöscht (scheinbar hauptsächlich die Mode-Befehle). Die Temperaturen und Ventilpositionen kommen in beide Richtungen durch. Es wäre noch interessant zu sehen welcher Befehl im FHT Puffer hängt. Zur Zeit sieht man ja nur die Instanz ID. Lässt sich nicht diese 1% Sendeobergrenze irgendwie aushebeln?

Gruss
TK

Lässt sich nicht diese 1% Sendeobergrenze irgendwie aushebeln?

Doch, mit mehreren FHZ’s, leider die einzige Möglichkeit.

Es ist jetzt 20h43 und es hängen wiederum 8 Meldungen im Puffer, die kurz wieder vor dem Timeout stehen. Ich habe ehrlich den Frust !

mfG Franz