ebus_hz.cfg: Beispiel

ebus_solar.cfg: Beispiel
ebus_test.cfg: Beispiel
ebus_ww.cfg: Beispiel

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@7307 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
pahenning 2014-12-22 20:55:05 +00:00
parent 617c15efca
commit 0d893f0e76
8 changed files with 736 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,402 @@
########################################################################################
#
# Vaillant_routines.pl ===> Insert into 99_myUtils.pm
#
# Collection of various routines for Vaillant heating systems
#
# KEEP THE NAME AND COPYRIGHT
#
# Prof. Dr. Peter A. Henning
#
# $Id: 99_myUtils.pm 2014-12 - pahenning $
#
########################################################################################
#
# This programm is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# The GNU General Public License can be found at
# http://www.gnu.org/copyleft/gpl.html.
# A copy is found in the textfile GPL.txt and important notices to the license
# from the author is found in LICENSE.txt distributed with these scripts.
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
########################################################################################
###############################################################################
#
# Vaillant_HWC_mode_postproc
#
# postprocessing of
# "get HWC OperatingMode\n\000get HWC Param1"
# "read HWC Status2\n\000read SOL Status2"
#
###############################################################################
sub Vaillant_HWC_mode_postproc($$){
my ($name,$str)=@_;
my $hash = $defs{"$name"};
my (@values,$day,$night,$off,$min,$max,$mode,$zval);
if( $str =~ /.*;.*/){
# target;mode target;0;0;0;131;22;0;min;max;0
@values = split(/[; \n]/,$str);
$day = sprintf("%4.1f",$values[0]);
$mode = $values[1];
$night = sprintf("%4.1f",$values[6]);
$off = sprintf("%4.1f",$values[7]);
$min = sprintf("%4.1f",$values[9]);
$max = sprintf("%4.1f",$values[10]);
} else {
@values = split(' ',$str);
$day = sprintf("%4.1f",$values[0]);
$night = sprintf("%4.1f",$values[4]);
$off = sprintf("%4.1f",$values[5]);
$min = sprintf("%4.1f",$values[6]);
$max = sprintf("%4.1f",$values[7]);
if( $values[1]==0 ){
$mode="disabled"
}elsif( $values[1]==1 ){
$mode="on"
}elsif( $values[1]==2 ){
$mode="off"
}elsif( $values[1]==3 ){
$mode="auto"
}elsif( $values[1]==4 ){
$mode="eco"
}elsif( $values[1]==5 ){
$mode="low"
}
}
readingsBeginUpdate($hash);
readingsBulkUpdate($hash, "postproc", $str);
readingsBulkUpdate($hash, "mode", $mode);
readingsBulkUpdate($hash, "Storage.day", $day);
readingsBulkUpdate($hash, "Storage.min", $min);
readingsBulkUpdate($hash, "Storage.max", $max);
readingsEndUpdate($hash,1);
$mode;
}
###############################################################################
#
# Vaillant_HWC_state_postproc
#
# postprocessing of
# "get HWC Status2\n\000get SOL Status2"
# "read HWC Status2\n\000read SOL Status2"
#
###############################################################################
sub Vaillant_HWC_state_postproc($$){
my ($name,$str)=@_;
my $hash = $defs{"$name"};
my (@values,$rval,$tval,$bval,$pval,$xval,$zval,$sp2,$sp3);
if( $str =~ /.*;.*/){
# status;ladung;SP1;target SP1;SP2;SP3
@values = split(/[; \n]/,$str);
$rval = sprintf("%5.2f",$values[2]);
$tval = sprintf("%4.1f",$values[3]);
$bval = ($values[0] == 80) ? "ON (WW)" : "OFF";
$pval = ($values[1] == 1) ? "ON" : "OFF";
$xval = sprintf("%5.2f %5.2f %5.2f %d %d", $values[2],0.0,$values[3],$values[0],$values[1]);
$zval = sprintf("SP1.T %5.2f °C, %s", $values[2],$pval);
$sp2 = sprintf("%5.2f",$values[5]);
$sp3 = sprintf("%5.2f",$values[6]);
}else{
# SP1 target status ladung SP1 SP2 SP3
@values = split(' ',$str);
$rval = sprintf("%5.2f",$values[0]);
$tval = sprintf("%4.1f",$values[1]);
$bval = ($values[2] == 80) ? "ON (WW)" : "OFF";
$pval = ($values[3] == 1) ? "ON" : "OFF";
$xval = sprintf("%5.2f %5.2f %5.2f %d %d", $values[0],0.0,$values[1],$values[2],$values[3]);
$zval = sprintf("SP1.T %5.2f °C, %s", $values[0],$pval);
$sp2 = sprintf("%5.2f",$values[5]);
$sp3 = sprintf("%5.2f",$values[6]);
}
readingsBeginUpdate($hash);
readingsBulkUpdate($hash, "postproc", $str);
readingsBulkUpdate($hash, "Storage.SP1.T", $rval);
readingsBulkUpdate($hash, "Storage.SP2.T", $sp2);
readingsBulkUpdate($hash, "Storage.SP3.T", $sp3);
readingsBulkUpdate($hash, "Storage.target", $tval);
readingsBulkUpdate($hash, "Burner", $bval);
readingsBulkUpdate($hash, "Pump", $pval);
readingsBulkUpdate($hash, "reading", $xval);
readingsEndUpdate($hash,1);
$zval;
}
###############################################################################
#
# Vaillant_HWC_broadcast_postproc
#
# postprocessing of
# "get cyc broad StatusHWC\n"
# "read broad StatusHWC
#
###############################################################################
sub Vaillant_HWC_broadcast_postproc($$){
my ($name,$str)=@_;
my $hash = $defs{"$name"};
my (@values,$rval,$tval,$bval,$pval,$xval,$zval);
if( ($str eq "")||($str eq "no data stored") ){
$rval = "err";
$tval = "err";
$bval = "err";
$pval = "err";
$xval = "err";
$zval = "err";
} elsif( $str =~ /.*;.*/){
# status;ladung;SP1;target
@values = split(';',$str);
$rval = sprintf("%5.2f",$values[2]);
$tval = sprintf("%4.1f",$values[3]);
$bval = ($values[0] == 80) ? "ON (WW)" : "OFF";
$pval = ($values[1] == 1) ? "ON" : "OFF";
$xval = sprintf("%5.2f %5.2f %5.2f %d %d", $values[2],0.0,$values[3],$values[0],$values[1]);
$zval = sprintf("SP1.T %5.2f °C, %s", $values[2],$pval);
} else {
@values=split(' ',$str);
if( $values[1] < 15 ){
$rval = "err";
$tval = "err";
$bval = "err";
$pval = "err";
$xval = "err";
$zval = "err";
}else {
$rval = sprintf("%5.2f",$values[0]);
$tval = sprintf("%4.1f",$values[1]);
$bval = ($values[2] == 80) ? "ON (WW)" : "OFF";
$pval = ($values[3] == 1) ? "ON" : "OFF";
$xval = sprintf("%5.2f %5.2f %5.2f %d %d",$values[0],0.0,$values[1],$values[2],$values[3]);
$zval = sprintf("SP1.T %5.2f °C, %s",$values[0],$pval);
}
}
readingsBeginUpdate($hash);
readingsBulkUpdate($hash, "postproc", $str);
readingsBulkUpdate($hash, "Storage.SP1.T", $rval);
readingsBulkUpdate($hash, "Storage.target", $tval);
readingsBulkUpdate($hash, "Burner", $bval);
readingsBulkUpdate($hash, "Pump", $pval);
readingsBulkUpdate($hash, "reading", $xval);
readingsEndUpdate($hash,1);
$zval;
}
###############################################################################
#
# Vaillant_HC_mode_postproc
#
# postprocessing of
# "get HC OperatingMode\n\000get HC Param1\n\000get vrs620 NameHC"
# "read HC OperatingMode\n\000read HC Param1\n\000read vrs620 NameHC"
#
###############################################################################
sub Vaillant_HC_mode_postproc($$$){
my ($name,$str,$circuit)=@_;
my $hash = $defs{"$name"};
my (@values,$room,$night,$off,$add,$min,$max,$pre,$cname,$mode);
$circuit=""
if ( $circuit == 1);
if( $str =~ /.*;.*/){
# room;mode room;night;off;add;min;max;pre cname
@values = split(/[; \n]/,$str);
$room = sprintf("%4.1f",$values[0]);
$mode = $values[1];
$night = sprintf("%4.1f",$values[3]);
$off = sprintf("%4.1f",$values[4]);
$add = sprintf("%4.1f",$values[5]);
$min = sprintf("%4.1f",$values[6]);
$max = sprintf("%4.1f",$values[7]);
$pre = sprintf("%4.1f",$values[8]);
$cname = sprintf("%s",$values[9]);
} else {
@values = split(' ',$str);
$room = sprintf("%4.1f",$values[0]);
$night = sprintf("%4.1f",$values[4]);
$off = sprintf("%4.1f",$values[5]);
$add = sprintf("%4.1f",$values[6]);
$min = sprintf("%4.1f",$values[7]);
$max = sprintf("%4.1f",$values[8]);
$pre = sprintf("%4.1f",$values[9]);
$cname = sprintf("%s",$values[10]);
if( $values[1]==0 ){
$mode="disabled"
}elsif( $values[1]==1 ){
$mode="on"
}elsif( $values[1]==2 ){
$mode="off"
}elsif( $values[1]==3 ){
$mode="auto"
}elsif( $values[1]==4 ){
$mode="eco"
}elsif( $values[1]==5 ){
$mode="low"
}
}
readingsBeginUpdate($hash);
readingsBulkUpdate($hash, "postproc", $str);
readingsBulkUpdate($hash, "mode".$circuit, $mode);
readingsBulkUpdate($hash, "mode".$circuit.".off", $off);
readingsBulkUpdate($hash, "Room".$circuit.".T", $room);
readingsBulkUpdate($hash, "Room".$circuit.".night", $night);
readingsBulkUpdate($hash, "Room".$circuit.".add", $add);
readingsBulkUpdate($hash, "VL".$circuit.".T.min", $min);
readingsBulkUpdate($hash, "VL".$circuit.".T.max", $max);
readingsBulkUpdate($hash, "name".$circuit, $cname);
readingsEndUpdate($hash,1);
$mode;
}
###############################################################################
#
# Vaillant_HC_mode_postproc
#
# postprocessing of
# "read HC Status1\n\000read HC Status2a\n\000read broad StatusHC"
#
#
###############################################################################
sub Vaillant_HC_state_postproc($$){
my ($name,$str)=@_;
my $hash = $defs{"$name"};
my (@values,$vval,$rval,$bval,$pval, $qval,$xval,$zval);
if( ($str eq "")||($str eq "no data stored") ){
$vval = "err";
$rval = "err";
$bval = "err";
$pval = "err";
$qval = "err";
$xval = "err";
$zval = "err";
}elsif( $str =~ /.*;.*/){
#
@values = split(/[; \n]/,$str);
$vval = sprintf("%4.1f",$values[10]);
$rval = sprintf("%4.1f",$values[11]);
if( $values[14] == 0 ){
$pval = "OFF";
$qval = "0 0";
}elsif( $values[14] == 1 ){
$pval = "ON (HK)";
$qval = "80 0";
}elsif( $values[14] == 2 ){
$pval = "ON (WW)";
$qval = "0 80";
}else{
$pval = "unknown";
$qval = "err";
}
}else{
#
@values = split(' ',$str);
$vval = sprintf("%4.1f",$values[5]);
$rval = sprintf("%4.1f",$values[6]);
if( $values[2] == 0 ){
$pval = "OFF";
$qval = "0 0";
}elsif( $values[2] == 1 ){
$pval = "ON (HK)";
$qval = "80 0";
}elsif( $values[2] == 2 ){
$pval = "ON (WW)";
$qval = "0 80";
}else{
$pval = "unknown";
$qval = "err";
}
}
$bval = HzBedarf();
$xval = sprintf("%5.2f %5.2f %s %5.2f",$vval,$rval,$qval,$bval);
$zval = sprintf("VL.T %5.2f °C, RL.T %5.2f °C, %s",$vval,$rval,$pval);
if( ($vval < 5) ){
$vval = "err";
$rval = "err";
$bval = "err";
$pval = "err";
$qval = "err";
$xval = "";
$zval = "err";
}
readingsBeginUpdate($hash);
readingsBulkUpdate($hash, "postproc", $str);
readingsBulkUpdate($hash, "VL.T", $vval);
readingsBulkUpdate($hash, "RL.T", $rval);
readingsBulkUpdate($hash, "pump", $pval);
readingsBulkUpdate($hash, "pump.P", $qval);
readingsBulkUpdate($hash, "consumption", $bval);
readingsBulkUpdate($hash, "reading", $xval)
if( $xval ne "" );
readingsEndUpdate($hash,1);
$zval
}
###############################################################################
#
# Vaillant_SOL_mode_postproc
#
# postprocessing of
# "get HC OperatingMode\n\000get HC Param1\n\000get vrs620 NameHC"
# "read HC OperatingMode\n\000read HC Param1\n\000read vrs620 NameHC"
#
###############################################################################
sub Vaillant_SOL_state_postproc($$){
my ($name,$str)=@_;
my $hash = $defs{"$name"};
readingsBeginUpdate($hash);
readingsBulkUpdate($hash, "postproc", $str);
readingsEndUpdate($hash,1);
}
###############################################################################
#
# Vaillant_Timer
#
###############################################################################
sub Vaillant_Timer($)
{
my @values=split(/[; ]/,$_);
#-- suppress leading zero ?
for(my $i=0;$i<6;$i++){
$values[$i]=~s/^0//;
}
my $sval=sprintf("%s-%s",$values[0],$values[1]);
$sval .=sprintf(", %s-%s",$values[2],$values[3])
if($values[2] ne $values[3]);
$sval .=sprintf(", %s-%s",$values[4],$values[5])
if($values[4] ne $values[5]);
return $sval;
}

45
contrib/EBUS/ebus_hz.cfg Normal file
View File

@ -0,0 +1,45 @@
# Außentemperatur
get Outside.T cmd {"read broad OutsideTempB"}
get Outside.T expect ".*"
# Heizkeis HC
get mode cmd {"read HC OperatingMode\n\000read HC Param1\n\000read vrs620 NameHC"}
get mode expect ".*"
get mode postproc { Vaillant_HC_mode_postproc("%NAME",$_,1) }
# Mischerkreis MIX
get mode2 cmd {"read MIX OperatingMode\n\000read MIX Param1\n\000read vrs620 NameMIX"}
get mode2 expect ".*"
get mode2 postproc { Vaillant_HC_mode_postproc("%NAME",$_,2) }
get state cmd {"read HC Status1\n\000read HC Status2a\n\000read broad StatusHC"}
get state expect ".*"
get state postproc { Vaillant_HC_state_postproc("%NAME",$_) }
get progMonday cmd {"read HC TimerProgMonday"}
get progMonday expect ".*"
get progMonday postproc { Vaillant_Timer($_); }
get progTuesday cmd {"read HC TimerProgTuesday"}
get progTuesday expect ".*"
get progTuesday postproc { Vaillant_Timer($_); }
get progWednesday cmd {"read HC TimerProgWednesday"}
get progWednesday expect ".*"
get progWednesday postproc { Vaillant_Timer($_); }
get progThursday cmd {"read HC TimerProgThursday"}
get progThursday expect ".*"
get progThursday postproc { Vaillant_Timer($_); }
get progFriday cmd {"read HC TimerProgFriday"}
get progFriday expect ".*"
get progFriday postproc { Vaillant_Timer($_); }
get progSaturday cmd {"read HC TimerProgSaturday"}
get progSaturday expect ".*"
get progSaturday postproc { Vaillant_Timer($_); }
get progSunday cmd {"read HC TimerProgSunday"}
get progSunday expect ".*"
get progSunday postproc { Vaillant_Timer($_); }

View File

@ -0,0 +1,4 @@
# Solarkreis
get state cmd {"read broad StatusSOL\n"}
get state expect ".*"
get state postproc { Vaillant_SOL_state_postproc("%NAME",$_) }

171
contrib/EBUS/ebus_test.cfg Normal file
View File

@ -0,0 +1,171 @@
get RoomTemp cmd {"read vrs620 RoomTemp \n"}
get RoomTemp expect ".*"
get RoomTemp postproc {$_}
get OutTemp cmd {"read vrs620 OutTemp \n"}
get OutTemp expect ".*"
get OutTemp postproc {$_}
get Temp2 cmd {"read vrs620 Temp2 \n"}
get Temp2 expect ".*"
get Temp2 postproc {$_}
get Sensor03 cmd {"read vrs620 Sensor03 \n"}
get Sensor03 expect ".*"
get Sensor03 postproc {$_}
get Sensor04 cmd {"read vrs620 Sensor04 \n"}
get Sensor04 expect ".*"
get Sensor04 postproc {$_}
get Sensor05 cmd {"read vrs620 Sensor05 \n"}
get Sensor05 expect ".*"
get Sensor05 postproc {$_}
get SolarYield cmd {"read vrs620 SolarYield \n"}
get SolarYield expect ".*"
get SolarYield postproc {$_}
get Sensor07 cmd {"read vrs620 Sensor07 \n"}
get Sensor07 expect ".*"
get Sensor07 postproc {$_}
get Sensor08 cmd {"read vrs620 Sensor08 \n"}
get Sensor08 expect ".*"
get Sensor08 postproc {$_}
get Sensor0a cmd {"read vrs620 Sensor0a \n"}
get Sensor0a expect ".*"
get Sensor0a postproc {$_}
get Sensor0b cmd {"read vrs620 Sensor0b \n"}
get Sensor0b expect ".*"
get Sensor0b postproc {$_}
get Sensor0c cmd {"read vrs620 Sensor0c \n"}
get Sensor0c expect ".*"
get Sensor0c postproc {$_}
get Sensor0d cmd {"read vrs620 Sensor0d \n"}
get Sensor0d expect ".*"
get Sensor0d postproc {$_}
get isInHoliday cmd {"read vrs620 isInHoliday \n"}
get isInHoliday expect ".*"
get isInHoliday postproc {$_}
get Sensor0f cmd {"read vrs620 Sensor0f \n"}
get Sensor0f expect ".*"
get Sensor0f postproc {$_}
get Sensor10 cmd {"read vrs620 Sensor10 \n"}
get Sensor10 expect ".*"
get Sensor10 postproc {$_}
get Sensor11 cmd {"read vrs620 Sensor11 \n"}
get Sensor11 expect ".*"
get Sensor11 postproc {$_}
get Sensor12 cmd {"read vrs620 Sensor12 \n"}
get Sensor12 expect ".*"
get Sensor12 postproc {$_}
get Sensor13 cmd {"read vrs620 Sensor13 \n"}
get Sensor13 expect ".*"
get Sensor13 postproc {$_}
get Sensor14 cmd {"read vrs620 Sensor14 \n"}
get Sensor14 expect ".*"
get Sensor14 postproc {$_}
get Sensor15 cmd {"read vrs620 Sensor15 \n"}
get Sensor15 expect ".*"
get Sensor15 postproc {$_}
get Sensor16 cmd {"read vrs620 Sensor16 \n"}
get Sensor16 expect ".*"
get Sensor16 postproc {$_}
get Sensor17 cmd {"read vrs620 Sensor17 \n"}
get Sensor17 expect ".*"
get Sensor17 postproc {$_}
get Sensor18 cmd {"read vrs620 Sensor18 \n"}
get Sensor18 expect ".*"
get Sensor18 postproc {$_}
get Sensor19 cmd {"read vrs620 Sensor19 \n"}
get Sensor19 expect ".*"
get Sensor19 postproc {$_}
get Sensor1a cmd {"read vrs620 Sensor1a \n"}
get Sensor1a expect ".*"
get Sensor1a postproc {$_}
get Sensor1b cmd {"read vrs620 Sensor1b \n"}
get Sensor1b expect ".*"
get Sensor1b postproc {$_}
get Sensor1c cmd {"read vrs620 Sensor1c \n"}
get Sensor1c expect ".*"
get Sensor1c postproc {$_}
get Sensor1d cmd {"read vrs620 Sensor1d \n"}
get Sensor1d expect ".*"
get Sensor1d postproc {$_}
get Sensor1e cmd {"read vrs620 Sensor1e \n"}
get Sensor1e expect ".*"
get Sensor1e postproc {$_}
get RoomTempOffset cmd {"read vrs620 RoomTempOffset \n"}
get RoomTempOffset expect ".*"
get RoomTempOffset postproc {$_}
get OutTempOffset cmd {"read vrs620 OutTempOffset \n"}
get OutTempOffset expect ".*"
get OutTempOffset postproc {$_}
get RoomTempHoliday cmd {"read vrs620 RoomTempHoliday \n"}
get RoomTempHoliday expect ".*"
get RoomTempHoliday postproc {$_}
get MinTempBurner cmd {"read vrs620 MinTempBurner \n"}
get MinTempBurner expect ".*"
get MinTempBurner postproc {$_}
get ServiceDate cmd {"read vrs620 ServiceDate \n"}
get ServiceDate expect ".*"
get ServiceDate postproc {$_}
get Password cmd {"read vrs620 Password \n"}
get Password expect ".*"
get Password postproc {$_}
get LcdContrast cmd {"read vrs620 LcdContrast \n"}
get LcdContrast expect ".*"
get LcdContrast postproc {$_}
get NameHC cmd {"read vrs620 NameHC \n"}
get NameHC expect ".*"
get NameHC postproc {$_}
get NameHC2 cmd {"read vrs620 NameMIX \n"}
get NameHC2 expect ".*"
get NameHC2 postproc {$_}
get HolidayPeriod cmd {"read vrs620 HolidayPeriod \n"}
get HolidayPeriod expect ".*"
get HolidayPeriod postproc {$_}
get Sensor57 cmd {"read vrs620 Sensor57 \n"}
get Sensor57 expect ".*"
get Sensor57 postproc {$_}
get Sensor75 cmd {"read vrs620 Sensor75 \n"}
get Sensor75 expect ".*"
get Sensor75 postproc {$_}
get Sensor88 cmd {"read vrs620 Sensor88 \n"}
get Sensor88 expect ".*"
get Sensor88 postproc {$_}

68
contrib/EBUS/ebus_ww.cfg Normal file
View File

@ -0,0 +1,68 @@
# Warmwasserkeis HWC
get state cmd {"read HWC Status2\n\000read SOL Status2"}
get state expect ".*"
get state postproc { Vaillant_HWC_state_postproc("%NAME",$_) }
get mode cmd {"read HWC OperatingMode\n\000read HWC Param1"}
get mode expect ".*"
get mode postproc { Vaillant_HWC_mode_postproc("%NAME",$_) }
get broadcast cmd {"read broad StatusHWC\n"}
get broadcast expect ".*"
get broadcast postproc { Vaillant_HWC_broadcast_postproc("%NAME",$_) }
get progMonday cmd {"read HWC TimerProgMonday"}
get progMonday expect ".*"
get progMonday postproc { Vaillant_Timer($_); }
get progTuesday cmd {"read HWC TimerProgTuesday"}
get progTuesday expect ".*"
get progTuesday postproc { Vaillant_Timer($_); }
get progWednesday cmd {"read HWC TimerProgWednesday"}
get progWednesday expect ".*"
get progWednesday postproc { Vaillant_Timer($_); }
get progThursday cmd {"read HWC TimerProgThursday"}
get progThursday expect ".*"
get progThursday postproc { Vaillant_Timer($_); }
get progFriday cmd {"read HWC TimerProgFriday"}
get progFriday expect ".*"
get progFriday postproc { Vaillant_Timer($_); }
get progSaturday cmd {"read HWC TimerProgSaturday"}
get progSaturday expect ".*"
get progSaturday postproc { Vaillant_Timer($_); }
get progSunday cmd {"read HWC TimerProgSunday"}
get progSunday expect ".*"
get progSunday postproc { Vaillant_Timer($_); }
get circMonday cmd {"read CIR TimerProgMonday"}
get circMonday expect ".*"
get circMonday postproc { Vaillant_Timer($_); }
get circTuesday cmd {"read CIR TimerProgTuesday"}
get circTuesday expect ".*"
get circTuesday postproc { Vaillant_Timer($_); }
get circWednesday cmd {"read CIR TimerProgWednesday"}
get circWednesday expect ".*"
get circWednesday postproc { Vaillant_Timer($_); }
get circThursday cmd {"read CIR TimerProgThursday"}
get circThursday expect ".*"
get circThursday postproc { Vaillant_Timer($_); }
get circFriday cmd {"read CIR TimerProgFriday"}
get circFriday expect ".*"
get circFriday postproc { Vaillant_Timer($_); }
get circSaturday cmd {"read CIR TimerProgSaturday"}
get circSaturday expect ".*"
get circSaturday postproc { Vaillant_Timer($_); }
get circSunday cmd {"read CIR TimerProgSunday"}
get circSunday expect ".*"
get circSunday postproc { Vaillant_Timer($_); }

46
contrib/EBUS/vrs620.csv Normal file
View File

@ -0,0 +1,46 @@
# type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m;s),type / templates,divider / values,unit,comment,field,part (m;s),type / templates,divider / values,unit,comment
*r,vrs620,,,,15,B509,0D,,,,,,,,,,,,
*w,vrs620,,,,15,B509,0E,,,,,,,,,,,,
r,,RoomTemp,Raumtemperatur,,,,0000,,,tempsensor,,,,,,,,,
r,,OutsideTemp,Außentemperatur ,,,,0100,,,tempsensor,,,,,,,,,
r,,SolarYield,Solarer Ertrag,,,,0600,,,energy4,,kWh,,,,,,,
r,,HolidayRoomSetTemp,Ferien Solltemperatur,,,,2200,,,temp,,,,,,,,,
r,,ServiceDate,Servicedatum,,,,2B00,,,date,,,,,,,,,
r,,Password,Passwort,,,,2C00,,,pin1-4,,,,,,,,,
r,,LcdContrast,Kontrast Display,,,,3600,,,uch,,,,,,,,,
r,,NameHC,Name Heizkreis,,,,4100,,,str:10,,,,,,IGN:1,,,
r,,NameMIX,Name Mischerkreis,,,,4108,,,str:10,,,,,,IGN:1,,,
r,,HolidayPeriod,Ferien Zeitraum,,,,4300,,,holiday,,,,,,,,,
r,,Time,Uhrzeit,,,,5F00,,,hti,,,,,,,,,
r,,Date,Datum,,,,6100,,,hda,,,,,,,,,
#################################,,,,,,,,,,,,,,,,,,,
*ra,CIR,,,,23,B504,,,,,,,,,,,,,
*rb,HWC,,,,25,B504,,,,,,,,,,,,,
*rc,HC,,,,26,B504,,,,,,,,,,,,,
*rd,MIX,,,,50,B504,,,,,,,,,,,,,
*re,SOL,,,,EC,B504,,,,,,,,,,,,,
rb,,OperatingMode,,,,,01,,,temp0;hwmode,,,,,,,,,
rc;rd,,OperatingMode,,,,,01,,,temp0;mcmode,,,,,,,,,
ra;rb;rc,,TimerProgMonday,Schaltzeiten Montag,,,,02,,,slot1-3;days,,,,,,,,,
ra;rb;rc,,TimerProgTuesday,Schaltzeiten Dienstag,,,,03,,,slot1-3;days,,,,,,,,,
ra;rb;rc,,TimerProgWednesday,Schaltzeiten Mittwoch,,,,04,,,slot1-3;days,,,,,,,,,
ra;rb;rc,,TimerProgThursday,Schaltzeiten Donnerstag,,,,05,,,slot1-3;days,,,,,,,,,
ra;rb;rc,,TimerProgFriday,Schaltzeiten Freitag,,,,06,,,slot1-3;days,,,,,,,,,
ra;rb;rc,,TimerProgSaturday,Schaltzeiten Samstag,,,,07,,,slot1-3;days,,,,,,,,,
ra;rb;rc,,TimerProgSunday,Schaltzeiten Sonntag,,,,08,,,slot1-3;days,,,,,,,,,
rb,,Param1,SP1; ?; ?; ?; SP1.min; SP1.max; ?,,,,09,,,temp0;status;status;status;temp0;temp0;status;temp0;temp0;status,,,,,,,,,
rc;rd,,Param1,RaumTemp AbsenkTemp / 8c 00 85 /AbschaltTemp Raumaufschaltung MinVL MaxVL VorHeiz,,,,09,,,temp0;temp0;skip;skip;skip;temp0;temp0;temp0;temp0;status,,,,,,,,,
rb,,Status2,Status Warmwasserkreis:Status; Ladung; SP1; Target; ,,,,0D,,,status;status;temp;temp0,,,,,,,,,
rc, ,Status1,Vorlauf VL; Pumpe,,,,0A,,,status;status;status;status;status;temp0,,,,,,,,,
rc, ,Status2a,Status Heizkreis,,,,0D,,,temp0;status;temp;status,,,,,,,,,
re,,Status2,Speicher SP1 SP3,,,,0F,,,temp;temp;temp,,,,,,,,,
re,,ParmSOL,SOL1 Max/HystOnOff SOL2 Max/HystOnOff SOL3(?) Max/HystOnOff Status,,,,11,,,temp0;temp0;temp0;temp0;temp0;temp0;temp0;temp0;temp0,,,,,,,,,
re,,StatusSOL1,SOL1 KollTemp; Status. PumpenLZ; dto für SOL2,,,,12,,,temp;status;energy;temp;status;energy,,,,,,,,,
re,,StatusSOL2,Solarer Ertrag; Fluss; Pumpe (?),,,,13,,,energy;skip;energy;skip;status,,,,,,,,,
re,,StatusSOL3,KollTemp; Status; Füllung; Power,,,,21,,,temp1;skip;status;percent;percent,,,,,,,,,
# Broadcast Parameters,,,,,,,,,,,,,,,,,,,
u,broad,OutsideTempB,Außentemperatur ,10,FE,B516,01,,,D2B,,,,,,,,,
u,broad,DateTimeB,Uhrzeit; Datum,10,FE,B516,00,,,BTI,,,,,,HDA,,,
u,broad,StatusHWC,Status Warmwasserkreis:Status; Ladung; SP1; Target; ,10,25,B504,0D,,,status;status;temp;temp0,,,,,,,,,
u,broad,StatusSOL ,KollTemp; Status; Füllung; Power,10,EC,B504,21,,,temp1;skip;status;percent;percent,,,,,,,,,
u,broad,StatusHC,VL RL status,10,08,B511,01, ,,temp1;temp1;status;status;skip;skip;status,,,,,,,,,
1 # type (r;w;u;1-9) class name comment QQ ZZ PBSB ID field part (m;s) type / templates divider / values unit comment field part (m;s) type / templates divider / values unit comment
2 *r vrs620 15 B509 0D
3 *w vrs620 15 B509 0E
4 r RoomTemp Raumtemperatur 0000 tempsensor
5 r OutsideTemp Außentemperatur 0100 tempsensor
6 r SolarYield Solarer Ertrag 0600 energy4 kWh
7 r HolidayRoomSetTemp Ferien Solltemperatur 2200 temp
8 r ServiceDate Servicedatum 2B00 date
9 r Password Passwort 2C00 pin1-4
10 r LcdContrast Kontrast Display 3600 uch
11 r NameHC Name Heizkreis 4100 str:10 IGN:1
12 r NameMIX Name Mischerkreis 4108 str:10 IGN:1
13 r HolidayPeriod Ferien Zeitraum 4300 holiday
14 r Time Uhrzeit 5F00 hti
15 r Date Datum 6100 hda
16 #################################
17 *ra CIR 23 B504
18 *rb HWC 25 B504
19 *rc HC 26 B504
20 *rd MIX 50 B504
21 *re SOL EC B504
22 rb OperatingMode 01 temp0;hwmode
23 rc;rd OperatingMode 01 temp0;mcmode
24 ra;rb;rc TimerProgMonday Schaltzeiten Montag 02 slot1-3;days
25 ra;rb;rc TimerProgTuesday Schaltzeiten Dienstag 03 slot1-3;days
26 ra;rb;rc TimerProgWednesday Schaltzeiten Mittwoch 04 slot1-3;days
27 ra;rb;rc TimerProgThursday Schaltzeiten Donnerstag 05 slot1-3;days
28 ra;rb;rc TimerProgFriday Schaltzeiten Freitag 06 slot1-3;days
29 ra;rb;rc TimerProgSaturday Schaltzeiten Samstag 07 slot1-3;days
30 ra;rb;rc TimerProgSunday Schaltzeiten Sonntag 08 slot1-3;days
31 rb Param1 SP1; ?; ?; ?; SP1.min; SP1.max; ? 09 temp0;status;status;status;temp0;temp0;status;temp0;temp0;status
32 rc;rd Param1 RaumTemp AbsenkTemp / 8c 00 85 /AbschaltTemp Raumaufschaltung MinVL MaxVL VorHeiz 09 temp0;temp0;skip;skip;skip;temp0;temp0;temp0;temp0;status
33 rb Status2 Status Warmwasserkreis:Status; Ladung; SP1; Target; 0D status;status;temp;temp0
34 rc Status1 Vorlauf VL; Pumpe 0A status;status;status;status;status;temp0
35 rc Status2a Status Heizkreis 0D temp0;status;temp;status
36 re Status2 Speicher SP1 – SP3 0F temp;temp;temp
37 re ParmSOL SOL1 Max/HystOnOff SOL2 Max/HystOnOff SOL3(?) Max/HystOnOff Status 11 temp0;temp0;temp0;temp0;temp0;temp0;temp0;temp0;temp0
38 re StatusSOL1 SOL1 KollTemp; Status. PumpenLZ; dto für SOL2 12 temp;status;energy;temp;status;energy
39 re StatusSOL2 Solarer Ertrag; Fluss; Pumpe (?) 13 energy;skip;energy;skip;status
40 re StatusSOL3 KollTemp; Status; Füllung; Power 21 temp1;skip;status;percent;percent
41 # Broadcast Parameters
42 u broad OutsideTempB Außentemperatur 10 FE B516 01 D2B
43 u broad DateTimeB Uhrzeit; Datum 10 FE B516 00 BTI HDA
44 u broad StatusHWC Status Warmwasserkreis:Status; Ladung; SP1; Target; 10 25 B504 0D status;status;temp;temp0
45 u broad StatusSOL KollTemp; Status; Füllung; Power 10 EC B504 21 temp1;skip;status;percent;percent
46 u broad StatusHC VL RL status 10 08 B511 01 temp1;temp1;status;status;skip;skip;status

BIN
contrib/EBUS/vrs620.ods Normal file

Binary file not shown.