FHT'S aufwecken.

Hallo, ich habe bei mir 11 FHT (alle FHT80b) an einer FHZ 1300 laufen.

Wie schon öfters hier im Forum beschrieben, hören die FHT’s ab und an auf die IST Temperatur zu melden. An der Funkverbindung kanns eigentlich nicht liegen den Stellwerte kommen nach wie vor.
Ich hab mal etwas rumprobiert und ein universelles Skript gebastelt das alle FHT’s findet und ihnen wenn nötig eine Kick gibt. Das Script findet alle FHT und muss nicht an die Installation angepasst werden oder geändert wenn FHT dazukommen oder wegfallen.

Ausserdem gibts einen Check um nicht die FHZ buffer mit ‚kicks‘ zu überfüllen und Platz für den normalen Betrieb zu lassen.

Läuft bei mir prima und ich habe keine Ausfälle in den FHT Daten mehr.

Das Skript alle 15 Minuten per Timer aufrufen.

Ich in ein alter VB’ler und neu in PHP, wie parse ich denn etwas eleganter?

P.S.

sehe gerade einen Tippfehler

es muss natürlich:

if (TIME() - $LAST_TEMP_UPDATE > 900)

sein und nicht > 9

P.P.S

es gibt eine neuere Version des skripts, ein paar Beiträge weiter unten.

Wakeup_FHT.ips.rar (1.16 KB)

Steuerst Du die FHTs auch regelmäßig aus IPS?

Ich habe die Erfahrung gemacht, dass es sich dabei meistens um Garbling handelt, dass auftritt, wenn die Zeitfenster der FHTs (durch fehlende Synchronisation) übereinander laufen.

Durch regelmäßige Steuerung (wie mit sFHTs) findet nach einiger Zeit eine „pseudo-synchronisation“ statt.

Mit steigender Anzahl an FHTs nimmt das Problem zu.

ups… jetzt habe ich Dein Script total vergessen, >>> super Idee! :wink:

Gruß
Fabian

Hallo prof,

ne mein FHT laufen all im Automatik Modus, soll ja nicht in der Bude kalt werden wenn der PC mal nicht geht und Papa verreist ist…

Ich nehme die Temperatur Meldungen und Stellwerte um über einen FS20 4x Switch ggf. den Brenner zu sperren oder die Umwälzpumpe abzustellen. Dafür brauche ich aber regelmässige Temp und Stellwertmeldungen.

Seit das skript läuft hatte ich kein Lücken mehr in den FS 20 Meldungen über mehr als 20 Minuten.

Wenn keine Daten kommen, schicke ich keine Switch Kommandos mehr und nach spätestestens einer Stunde fällt das System in „Automode“ zurück da alle FS-20Switch Kommandos immer mit 1h timer gesendet werden. Wenn alles in Ordung ist wiederholt der PC die Switch Kommandos ehe die 1h abgelaufen ist.

Damit habe ich bei PC oder FS20 Problemen garantiert keinen Totalausfall der Heizung.

PS

@PsHome

Gute idee :slight_smile: TOP!

@fabian:

Durch regelmäßige Steuerung (wie mit sFHTs) findet nach einiger Zeit eine „pseudo-synchronisation“ statt.

Das sFHTs sendet nur bei gewunschte änderungen der soll-temp… deshalb wird die pseudo-synch nicht beansprucht. (Flanken steuerung). Das script checkt jede 30e minute nur ob es eine änderung gibt (flanke) die gesendet werden soll.

Gerade mal nachgesehen…
Der FHT in meiner Kuche hatte am 24.12 seit 08:03 absetzer und hat bis 15:12 gebraucht bis er wieder wach war… In dieser Zeitlucke hat er 3 befehle bekommen und hat es trozdem nicht geschafft wieder ‚wach‘ zu werden.
Ich sollte dieses verhalten mal etwas genauer anschauen.

Grusse,
Fredje

Hallo Fredje,

wie ich sehe, verhalten sich die FHTs bei jedem ein wenig anders. Die obige Aussage war nur eine mögliche Erklärung meinerseits aufgrund meiner Beobachtungen.

Allerdings hatte ich bisher nur sehr wenig Probleme mit den FHTs, daher kann ich nur mutmaßen…

Gruß und schönen zweiten Feiertag
Fabian

Danke für de Blumen :rolleyes:

Na wenn dann noch ein php Künstler dieses unmögliche Konstrukt:

$MODE_VARIABLE_NAME = substr(stristr(strist(($INSTANCE_DATA,'TargetModeVar Value="'),'"'),1);
$MODE_VARIABLE_NAME = substr($MODE_VARIABLE_NAME,0,strpos($MODE_VARIABLE_NAME,'"'));

etwas eleganter schreiben würde, dann wär ich mit der Funktion so richtig happy!


$MODE_VARIABLE_NAME = preg_match( '#TargetModeVar.*"(.*)"#', $INSTANCE_DATA, $m) ? $m[1] : '';

Danke Olli! :wink:

Hi, sehr gute Idee mit dem Skript, bin mal gespannt ob das so funktionieren wird. Dein Skript ist nur für eine FHZ ausgelegt oder? Hier ist ein Vorschlag für mehrere FHZ:


        // find the FHT's
       $CONNECTED_INSTANCES=IPS_GetModuleInstanceConnections($IPS_INSTANCE);
        //foreach($INSTANCE_LIST as $IPS_INSTANCE)
        foreach($CONNECTED_INSTANCES as $IPS_INSTANCE)
         {
         // check if we didnt fill to many buffers leave 2 for other things
         

Hallo

Was muß man wie am Script ändern um statt die Ist-Temp den Stellgrad zu aktualisieren (fragt ein PHP-Newbie)?

gruss
computerpap

Den stellgrad kann man nicht direkt beeinflussen. Die berechnung wird durch den FHT selber ausgefuhrt. Einzigster (mein deutsch) moglichkeit ist die SOLL-temp einstellen.

Wenn man nur ne möglichkeit finden wurde um den IST-temp zu änderen … das wäre was. Vielleicht fur 2017? :smiley:

Da hab ich bestimmt was falsch verstanden, was macht denn genau das Script?
Es sucht alle FHT’s und dann?

gruss
computerpap

also, ganz ehrlich, lies doch mal meinen original Beitrag und auch die Kommentare im Skript. Das sagt eigentlich alles, mehr gibts da nicht zu erkären.

Ich hab es so verstanden, wenn nach einer bestimmten Zeit keine Ist-Temp mehr übermittelt wurde wird durch das Script eine Übermittlung angestoßen.
(ich beschäftige mich erst seit ca. 6 Wochen mit php, sorry)Mich würde interessieren, ob es auch möglich ist, das Script so umzuschreiben, das es eine Übermittlung anstößt, wenn die Ventilposition nicht mehr übertragen wird.

gruss
computerpap

Das lässe sich änderen… obwohl die ist-werte und % werte im gleichem telegramm versendet werden - gibt es eigentlich kein anlass das um zu schreiben auf %-werte.

Wenn Ist-Werte und Ventilposition in einem Telegramm (ein Datenpaket) versendet werden, wieso wird dann nur der Istwert in IPS aktualisiert ?

gruss
computerpap

Ist eben FHZ bedingt. Da musst du die Entwickler von ELV fragen !

mfG Franz

Deine FHZ1000Pc ?

Ja, genau eine FHZ1000

Musst du mit dieser beschränkung leben können oder investieren in einer 1300’er … Sorry
Vor 2 jahre hatte ich das gleiche problem. 3 liefen, der 4e war problematisch, den 5en uberhaupt niks nada kam raus.