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->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.