Module – IPSenhancedFHZ

Allgemein

IPSenhanced ist ein Modul zur Steuerung der FHZ Module. Derzeit ist nur das FHT80b Thermostat verwirklicht. (FS20 sind in Planung.)

Damit ist die Portierung meiner eFHT Bricks für die IP-Symcon V1.x abgeschlossen.

Folgende Funktionalitäten stellt das Modul zur Verfügung.

  • Nutzung der Komfort-,Absenk- und Fenstertemperatur
  • Nutzung der Party-/Urlaubsfunktion
  • Nutzung des Wochenprogrammes
  • Initalisierung von FHT80b Modulen, auch automatisch (Thema: Einschlafen der FHT Thermostate)
  • Emulierung von Fenstersensoren von Fremdherstellern

Download und Installation

Die Installation gliedert sich wie für alle IPSLibrary Module in 3 Teile:

  • Download
  • Konfiguration
  • Installation

Download und Installation können entweder manuell mit dem IPSModuleManager gemacht werden oder man verwendet das IPSModuleManagerGUI Modul.

Konfiguration

Konfiguration:
Im File IPSenhancedFHZ_Configuration.inc.php werden die FHZ Devices und weitere Konfigurationsschalter definiert.

Ausgabe von Änderungen an den Statusvariablen

Durch Angabe von TRUE werden die Änderungen an den Statusvariablen (von IPS) in den IPSLogger geschrieben. Damit sind alle Änderungen (Anforderungen) betroffen die an das Device von IP-Symcon gesendet werden.

define ('c_eFHZ_debug_logging',	false);

Ausgabe von Änderungen an den Statusvariablen

Durch Angabe von TRUE werden die Änderungen an den Statusvariablen (vom Device) in den IPSLogger geschrieben. Damit sind alle Änderungen (Antworten) betroffen die von IP-Symcon empfangen werden.

define ('c_eFHZ_debug_logging',	false);

Eingestellte Sprache

Die für eFHZ eingestellte Sprache. Derzeit sind für DEUTSCH und ENGLISCH Sprachdateien enthalten. Voreingestellte Sprache: DEUTSCH

Die Sprachdateien berücksichtigen nicht nur die Ausgaben im IPSLogger sondern auch die Benennung der Statusvariablen. Dafür ist es notwendig die Sprache vor der Installation des Modules anzugeben.

define ('c_eFHZ_language',	   "DE");

Sollten weitere Sprachen notwendig werden, bitte diese an mich per PN Spawn schicken. Für Erstellung einer Sprachdatei: Kopieren der Datei: IPSenhancedFHZ_Language_DE.inc.php (Ornder: IPSLibrary/app/hardware/IPSenhancedFHZ Umbenennen der Datei: IPSenhancedFHZ_Language_XX.inc.php (XX=Sprachkürzel)

FTDI-Instanz

Notwendige Angabe: Falls keine gültige Angabe einer Objekt-ID vorhanden ist, wird die Installation abgebrochen. Über diese FTDI Instanz wird die Kommunikation (Lesend und Schreibend) durchgeführt.

define ('c_eFHZ_FTDIfhzID',    52744);

Autoinitialisierung des FHT80b

Durch Angabe von TRUE wird bei Empfangsausfall, das betreffende FHT80b neu initialisiert. Danach werden alle aktuellen Werte und Sollwerte (inkl. Wochenprogramm) an IPS übetragen.

define ('c_eFHZ_autoinit',     true);

Konfiguration der FHT80b’s

Die Konfiguration der FHT80b ist in Arrays einzuarbeiten.

	function IPSenhancedFHZ_GetFHZConfiguration() {
		return array(
			7346 =>	array(
				c_Property_eFHZ_Type		 => c_Type_eFHZ_FHT80b,
				c_Property_eFHZ_Name		 => 'eFHT80b_Kueche',
				c_Property_eFHZ_Description	 => 'Küche',
				c_Property_eFHZ_Leap		 => true,
				c_Property_eFHZ_windowemulate	 => true,       
				c_Property_eFHZ_windowsensors    => array (41110=>false),
				),
	   );
	}

Parameter:

c_Property_eFHZ_Type:

c_Type_eFHZ_FHT80b —> für FHT80b (derzeit NUR FHT80b möglich)

c_Property_eFHZ_Name:

Name des Device —> ist Name des Dummy-Modules in IPS

c_Property_eFHZ_Description:

Beschreibung

c_Property_eFHZ_Leap:

Schaltjahr —> bei älteren FHT gibt es einen Bug bei Schaltjahren Mit der Angabe TRUE wird der Schaltjahrfix angewendet. Thema:Schaltjahr-Bug bei FHT80b

c_Property_eFHZ_windowemulate:

Fensteremulierung —> Umstellung der FHT auf Fenstertemperatur bei Verwendung mit Sensoren von Fremdherstellern.

c_Property_eFHZ_windowsensors:

Fenstersensoren —> Objekt-ID des Sensors => Umkehrung der Eingangsfunktion FALSE:Fenster offen ist TRUE TRUE:Fenster offen ist FALSE

Synchronisierung der Aktoren

Für die Synchronisierung der Statusvariablen ist eine RegisterVariable Instanz vorgesehen. Das Installation und Einstellung wird durch eine Installationsroutine erledigt.

Weiterführende Links

IPSLibrary Main Thread

IPSLibrary Diskussions Thread

GUI

Bei IPSenhancedFHZ ist keine Möglichkeit für eine Bedienung über WebFront’s oder MobileGUI vorhanden bzw. vorgesehen. Derzeit bin ich eher dafür ein eigenes Heizungsmodul (z.B: IPSHeating) zu entwickeln. Dann können auch andere Hardware Thermostate und eben auch das IPSenhancedFHZ über IPSComponent (von Brownson) verwendet werden.

API Funktionen

Durch das Inkludieren des IPSenhancedFHZ API Scripts stehen alle Funktionen von IPSenhancedFHZ zur Verfügung:

    IPSUtils_Include ('IPSenhancedFHZ.inc.php', 'IPSLibrary::app::hardware::IPSenhancedFHZ');

    $device = new IPSenhancedFHZ(12345);  // Ansteuerung des Modules mit der eFHZ Instanz
    $device->sFHZ_SetDateAndTime();

Es gibt drei Arten von Methoden:

    • Single-Methoden  : Präfix „sFHZ_

Der Befehl wird sofort nach Aufruf an das betreffende Gerät geleitet.

    • Puffer-Methoden  : Präfix „bFHZ_

Der Befehl wird erst nach Aufruf von bFHT_SendTo an das betreffende Gerät geleitet. Damit ist es möglich, alle Befehle die Puffermethoden enthalten zu sammeln und als ein einziges Kommando an das Device zu senden.

    • Variablen-Methoden  : Präfix „vFHZ_

Mit den Variablenmethoden können die Zusände/Statusvariablen (aktuelle) ausgelesen werden.
Zusätzlich wird bei den Singlemethoden und Puffermethoden eine Anforderung an das Device gesendet um eine Rückmeldung der eingestellten Werte (Register) des Devices zu erhalten.

Single-Methoden

sFHZ_SetDateAndTime($timestamp=0)

Zweck:

Setzen von Datum und Zeit im FHT80b.

Übergaben:

(integer)$timestamp => UNIX Zeitstempel – Bei Angabe von 0 oder Fehlen wird die aktuelle Zeit herangezogen.

Sonstiges:

Der Schaltjahrbug wird dabei berücksichtigt.

sFHT_Init()

Zweck:

Initialisierung des FHT80b

sFHT_SetWeekProgram($Day,$Von1=false,$Bis1=false,$Von2=false,$Bis2=false)

Zweck:

Setzen des Wochenprogrammes für den angegebenen Wochentages

Übergaben:

(integer)$Day => Wochentag Bereich 0 bis 6 (wie in PHP angegeben)

(string)$Von1 => Beginn Zeitfenster 1  : Format „01:00“

(string)$Bis1 => Ende Zeitfenster 1  : Format „02:00“

(string)$Von2 => Beginn Zeitfenster 2  : Format „11:00“

(string)$Bis2 => Ende Zeitfenster 2  : Format „12:00“

Puffer-Methoden

bFHT_ClrBuffer()

Zweck:

Löschen des Übertragungspuffer im eFHZ

bFHT_RclActualState()

Zweck:

Anforderung zum Senden der aktuellen Werte im FHT80b (FHT –> IPS)

bFHT_RclTargetState()

Zweck:

Anforderung zum Senden der Sollwerte im FHT80b (FHT –> IPS)

bFHT_RclWeekProgram($Day=7)

Zweck:

Anforderung zum Senden des Wochenprogrammes im FHT80b (FHT –> IPS)

bFHT_SetTemperature($value)

Zweck:

Setzen der Solltemperatur im FHT80b

bFHT_SetSunTemperature($value)

Zweck:

Setzen der Komfortemperatur im FHT80b

bFHT_SetLunaTemperature($value)

Zweck:

Setzen der Absenktemperatur im FHT80b

bFHT_SetWindTemperature($value)

Zweck:

Setzen der Fenstertemperatur im FHT80b

bFHT_SetTemperatureByWindowMode($mode=false)

Zweck:

Setzen der Solltemperatur mit der Fenstertemperatur im FHT80b (=Aktivierung des emulierten Fenstermodus)

bFHT_SetMode($Mode)

Zweck:

Setzen des manuellen Modus, Automatikmodus, Party- oder Urlaubsfunktion

bFHT_SendTo($ClrBuffer=true)

Zweck:

Übertragung aller Befehle die im eFHZ Puffer gesammelt wurde.

Variablen-Methoden

vFHT_GetActualTemperature()

Zweck:

Rückgabe der aktuellen Temperatur

vFHT_GetTemperature()

Zweck:

Rückgabe der Solltemperatur
pre> vFHT_GetSunTemperature() </pre> Zweck:

Rückgabe der Komfortemperatur

vFHT_GetLunaTemperature()

Zweck:

Rückgabe der Absenkemperatur

vFHT_GetWindTemperature()

Zweck:

Rückgabe der Fensteremperatur

vFHT_GetMode()

Zweck:

Rückgabe des aktuellen Modus

vFHT_DecodeWeekProgram($Day,$request=false)

Zweck:

Umwandlung des Wochenprogrammes in eine lesbare Form (ARRAY)

Genauere Beschreibung der einzelnen Funktionen findet sich im Include File von IPSenhancedFHZ (zu finden unter „…/IP-Symcon/scripts/IPSLibrary/app/hardware/IPSenhancedFHZ/IPSenhancedFHZ_Device.class.php“)

Callback Funktionen

Todo …