Achtung: Luxtronik.pm ist aktuell eine Testversion. Das Modul ist funktionsfähig, aber möglicherweise nicht ausreichend getestet.

Eine Haftung für Schäden, die eventuell durch Verwendung des Moduls entstehen, wird nicht übernommen. Die Verwendung erfolgt auf eigenes Risiko!

Download-Link unten am Ende der Seite

Installation:

1. Luxtronik.pm in ein Diskverzeichnis kopieren

2. Das Kommando > use lib "/path/to/your/directory" < im aufrufenden Skript verwenden, um das Modul einzubinden.

 

Luxtronik.pm

 

 

NAME

Luxtronik - Steuern und Abfragen einer Luxtronik 1 Steuerung

 

VERSION

Dieses Dokument bezieht sich auf die Version 0.5 der Luxtronik-Schnittstelle. Veroeffentlicht am 18.10.2014

 

SYNOPSIS

 use Luxtronik;
 my $luxtronik = Luxtronik->new();
 # Hole Informationsdaten der Luxtronik-Steuerung:
 $luxtronik->update_infos();
 # Speichere alle Temperatuerwerte in Liste @temperatur:
 my @temperatur = $luxtronik->temperaturen();
 # Lege Ruecklauftemperatur in $tr ab:
 my $tr = $luxtronik->temperaturen('ruecklauf')
 # Schalte Warmwasserbereitung ab:
 $luxtronik->warmwasser('aus');

 

BESCHREIBUNG

Luxtronik.pm stellt eine objektorientierte Schnittstelle zur Kommunikation mit einer Luxtronik-Steuerung (Hardwareversion 1) bereit.

 

KONSTRUKTORMETHODEN

$luxtronik = Luxtronik->new();
$luxtronik = Luxtronik->new(serialport => '/dev/ttyS0', request_retries => 5);

Diese Methode erzeugt das Luxtronik-Objekt und gibt es zurueck.

   Option            Voreinstellung   Beschreibung
   ------            --------------   ------------
   serialport        /dev/ttyS0       Gibt die zu verwendente serielle Schnittstelle an.
   request_retries   5                Gibt an, wie oft im Belegungsfall versucht wird,
                                      eine Kommunikation mit der Luxtronik ueber die
                                      serielle Schnittstelle durchzufuehren.

 

OBJEKTMETHODEN

Bei den Objektmethoden wird zwischen aktiven und passiven Methoden unterschieden.

Aktive Methode: Baut bei Aufruf eine Kommunikationsverbindung zur Luxtronik auf und liest oder schreibt Daten ueber diese Verbindung.

Passive Methode: Baut bei Aufruf keine Kommunikationsverbindung zur Luxtronik auf. Gibt nur Objekteigenschaften zurueck, die ggf. vorher durch eine aktive Methode gesetzt wurden.

$luxtronik->heizung;
$luxtronik->heizung($action);

Bei Aufruf ohne Argument wird die Betriebsart der Heizung zurueckgegeben. Mit Argument kann die gewuenschte Betriebsart gesetzt werden.

Methodenart: aktiv

   Moegliche Betriebsarten   Argument ($action)
   -----------------------   ------------------
   Automatik                 automatik
   Zweitwaermeerzeuger       zwe
   Party                     party
   Ferien                    (wird derzeit noch nicht unterstuetzt)
   Aus                       aus
$luxtronik->warmwasser;
$luxtronik->warmwasser($action);

Bei Aufruf ohne Argument wird die Betriebsart der Warmwasserbereitung zurueckgegeben. Mit Argument kann die gewuenschte Betriebsart gesetzt werden.

Methodenart: aktiv

   Moegliche Betriebsarten   Argument ($action)
   -----------------------   ------------------
   Automatik                 automatik
   Zweitwaermeerzeuger       zwe
   Party                     party
   Ferien                    (wird derzeit noch nicht unterstuetzt)
   Aus                       aus
$luxtronik->heizkurve;
$luxtronik->heizkurve(\%hk);

Bei Aufruf ohne Argument wird eine Referenz auf einen Hash zurueckgegeben, der die aktuelle Heizkurve enthaelt.

Methodenart: aktiv

   Hashkey:                     Bedeutung:
   --------                     ----------
   codeword                     Luxtronik Protokollcodewort
   elements                     Anzahl der aller Werte (ohne Codeword)
   abweichung                   Heizkurvenabweichug vom Standardwert -5 - +5
   endpunkt                     Heizkurvenendpunkt
   parallelverschiebung         Parallelverschiebung der Heizkurve
   absenkung                    Nachtabsenkung
   key6                         unbekannter Wert
   key7                         unbekannter Wert
   key8                         unbekannter Wert
   key9                         unbekannter Wert
   key10                        unbekannter Wert

Alle zurueckgegebenen Temperaturwerte werden als zehntel Grad Celsius dargestellt. Ein Wert von 35 entspricht also 3,5 Grad Celsius.

Wird der Methode eine Referenz auf einen Hash uebergeben, welcher die Heizkurve enthaelt, dann diese Heizkurve gesetzt. Der Rueckgabewert entspricht in diesem Fall 1 (true).

   Praxisbeispiel
   --------------
   $hkref = $luxtronik->heizkurve;              erzeuge Referenz auf Heizkurvenhash
   $hkref->{'abweichung'} = -15;                Heizkurve um -1,5 Grad Celsius absenken
   $luxtronik->heizkurve($hkref);               neue Heizkurve abspeichern
$luxtronik->exit_progmode;

Noch nicht implementiert.

Methodenart: aktiv

$luxtronik->update_infos

Holt die aktuellen Informationsdaten der Luxtronik-Steuerung ab und speichert diese in den Objekteigenschaften. Diese Methode muss mindestens einmal aufgerufen werden, bevor eine der nachfolgend aufgefuehrten Abfragemethoden aufgerufen wird.

Methodenart: aktiv

$luxtronik->info_time

Gibt Datum und Uhrzeit des letzten Aufrufs von $luxtronik->update_infos zurueck.

Methodenart: passiv

$luxtronik->temperaturen
$luxtronik->temperaturen('vorlauf')
$luxtronik->temperaturen('ruecklauf')
$luxtronik->temperaturen('ruecklauf_soll')
$luxtronik->temperaturen('heissgas')
$luxtronik->temperaturen('aussen')
$luxtronik->temperaturen('brauchwasser_ist')
$luxtronik->temperaturen('brauchwasser_soll')
$luxtronik->temperaturen('waermequelle_ein')
$luxtronik->temperaturen('kaeltekreis')
$luxtronik->temperaturen('mischkreis1_vorlauf')
$luxtronik->temperaturen('mischkreis1_vorlauf_soll')
$luxtronik->temperaturen('raumstation')

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Temperaturen in der aufgefuehrten Reihenfolge zurueckgegeben. Mit Argument wird der Wert der angefragten Temperatur als Skalar zurueckgegeben. Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Temperaturen in Grad Celsius
   ----------------------------
   Vorlauf
   Ruecklauf
   Ruecklauf Soll
   Heissgas
   Aussen
   Brauchwasser Ist
   Brauchwasser Soll
   Waermequelle Eingang
   Kaeltekreis
   Mischkreis 1 Vorlauf
   Mischkreis 1 Vorlauf Soll
   Raumstation
$luxtronik->eingaenge
$luxtronik->eingaenge('asd')
$luxtronik->eingaenge('evu')
$luxtronik->eingaenge('hd')
$luxtronik->eingaenge('mot')
$luxtronik->eingaenge('nd')
$luxtronik->eingaenge('pex')

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Eingaengen in der aufgefuehrten Reihenfolge zurueckgegeben. Mit Argument wird der Wert des angefragten Eingangs als Skalar zurueckgegeben. Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Eingaenge
   ---------
   ASD
   EVU
   HD
   MOT
   ND
   PEX
$luxtronik->ausgaenge
$luxtronik->ausgaenge('abtauventil')
$luxtronik->ausgaenge('bup')
$luxtronik->ausgaenge('fup1')
$luxtronik->ausgaenge('hup')
$luxtronik->ausgaenge('mischer1_auf')
$luxtronik->ausgaenge('mischer1_zu')
$luxtronik->ausgaenge('ventilation')
$luxtronik->ausgaenge('ventil_bosup')
$luxtronik->ausgaenge('verdichter1')
$luxtronik->ausgaenge('verdichter2')
$luxtronik->ausgaenge('zup_zip')
$luxtronik->ausgaenge('zwe1')
$luxtronik->ausgaenge('zwe2_sst')

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Ausgaengen in der aufgefuehrten Reihenfolge zurueckgegeben. Mit Argument wird der Wert des angefragten Ausgangs als Skalar zurueckgegeben. Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Ausgaenge
   ---------
   Abtauventil
   Brauchwasserumwaelzpumpe
   Fussbodenheizungsumwaelzpumpe
   Heizungsumwaelzpumpe
   Ausgang Mischer 1 Auf
   Ausgang Mischer 1 Zu
   Ventilation
   Ventil BOSUP
   Verdichter 1
   Verdichter 2
   ZUP-ZIP
   ZWE1
   ZWE2 SST
$luxtronik->ablaufzeiten
$luxtronik->ablaufzeiten('wp_seit')
$luxtronik->ablaufzeiten('zwe1_sei')
$luxtronik->ablaufzeiten('zwe2_seit')
$luxtronik->ablaufzeiten('netzeinv')
$luxtronik->ablaufzeiten('ssp_zeit_standzeit')
$luxtronik->ablaufzeiten('ssp_zeit_einschverz')
$luxtronik->ablaufzeiten('vd_stand')
$luxtronik->ablaufzeiten('hrm_zeit')
$luxtronik->ablaufzeiten('hrw_zeit')
$luxtronik->ablaufzeiten('tdi_seit')
$luxtronik->ablaufzeiten('sperre_bw')

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Ablaufzeitn in der aufgefuehrten Reihenfolge zurueckgegeben. Mit Argument wird der Wert der angefragten Ablaufzeit als Skalar zurueckgegeben. Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Ablaufzeiten
   ------------
   WP seit
   ZWE 1 seit
   ZWE 2 seit
   Netzeinschaltverz
   Schaltspielsperre (SSP) Standzeit
   Schaltspielsperre (SSP) Einschverz
   VD Stand
   HRM Zeit
   HRW Zeit
   TDI seit
   Sperre BW
$luxtronik->betriebsstunden
$luxtronik->betriebsstunden('vd1')
$luxtronik->betriebsstunden('vd1imp')
$luxtronik->betriebsstunden('vd1dez')
$luxtronik->betriebsstunden('vd2')
$luxtronik->betriebsstunden('vd2imp')
$luxtronik->betriebsstunden('vd2dez')
$luxtronik->betriebsstunden('zwe1')
$luxtronik->betriebsstunden('zwe2')
$luxtronik->betriebsstunden('wp')

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Betriebsstunden in der aufgefuehrten Reihenfolge zurueckgegeben. Mit Argument wird der Wert der angefragten Betriebsstunden als Skalar zurueckgegeben. Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Betriebsstunden
   ---------------
   VD1
   VD1 Impulse
   VD1 deZ
   VD2
   VD2 Impulse
   VD2 deZ
   ZWE1
   ZWE2
   WP
$luxtronik->anlagenstatus
$luxtronik->anlagenstatus('wp-typ')
$luxtronik->anlagenstatus('sw-stand')
$luxtronik->anlagenstatus('biv-stufe')
$luxtronik->anlagenstatus('betriebszustand')
$luxtronik->anlagenstatus('compact')
$luxtronik->anlagenstatus('comfort')
$luxtronik->anlagenstatus('einschaltzeitpunkt'

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Anlagenstatus in der aufgefuehrten Reihenfolge zurueckgegeben. Mit Argument wird der Wert des angefragten Anlagenstatus als Skalar zurueckgegeben. Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Anlagenstatus
   -------------
   WP-Typ
   SW-Stand
   Biv-Stufe
   Betriebszustand
   Compact
   Comfort
   Einschaltzeitpunkt
$luxtronik->fehlerspeicher
$luxtronik->fehlerspeicher(0)
$luxtronik->fehlerspeicher(1)
$luxtronik->fehlerspeicher(2)
$luxtronik->fehlerspeicher(3)
$luxtronik->fehlerspeicher(4)

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Fehlerspeichern in der aufgefuehrten Reihenfolge zurueckgegeben. Mit Argument wird der Wert des angefragten Fehlerspeichers als Skalar zurueckgegeben. Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Fehlerspeicher
   --------------
   0
   1
   2
   3
   4
$luxtronik->abschaltungen
$luxtronik->abschaltungen(0)
$luxtronik->abschaltungen(1)
$luxtronik->abschaltungen(2)
$luxtronik->abschaltungen(3)
$luxtronik->abschaltungen(4)

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Abschaltungen in der aufgefuehrten Reihenfolge zurueckgegeben. Mit Argument wird der Wert der angefragten Abschaltung als Skalar zurueckgegeben. Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Abschaltung
   -----------
   0
   1
   2
   3
   4
$luxtronik->informationen
$luxtronik->informationen('csv')

Bei Aufruf ohne Argument wird eine Liste mit den u.g. Informationen in der aufgefuehrten Reihenfolge zurueckgegeben. Mit dem Argument 'csv' erfolgt die Ausgabe im CSV-Format (Trennung durch Semikolon). Vor Aufruf diese Methode muss mindestens einmal $luxtronik->update_infos aufgerufen worden sein.

Methodenart: passiv

   Informationen
   -------------
   Info Zeit (Zeitpunkt des letzten Aufrufs von $luxtronik->update_infos)
   Liste aller Temperaturen
   Liste aller Eingaenge
   Liste aller Ausgaenge
   Liste aller Ablaufzeiten
   Liste aller Betriebsstunden
   Liste aller Fehlerspeicher
   Liste aller Abschaltungen
   Liste aller Anlagenstatus

 

AUTHOR

Thomas Hoerndlein

 

COPYRIGHT

Copyright (c) 2012-2013, Thomas Hoerndlein. All rights reserved, some wrongs reversed.

Attachments:
Download this file (Luxtronik.pm)Luxtronik.pm[Luxtronik.pm]34 kB2014-10-17 22:52

You have no rights to post comments