Moin!
Nachdem ich jetzt alle 123 Seiten zu 20 Einträge dieser Diskussion durchgearbeitet habe bin ich nicht schlauer als vorher - eher noch verwirrter. Ich bekomme im Terminal folgende Werte angezeigt:
pi@pi4:/opt/fhem/FHEM $ ebusctl find -d
720 WaterPressure = 1.9
bai DateTime = valid;14:26:37;04.04.2022;4.500
bai FlowTemp = 31.19;ok
bai ReturnTemp = 31.94;65024;ok
bai SetMode = auto;49.5;-;-;0;0;0;0;0;0
bai Status01 = 31.0;30.0;4.500;30.0;-;off
bai Status02 = auto;60;75.0;70;65.0
bai StatusCirPump = on
broadcast outsidetemp = 4.500
broadcast vdatetime = 14:26:36;04.04.2022
scan.08 = Vaillant;BAI00;0407;7603
scan.08 id = 21;20;49;0010022004;3100;005497;N2
scan.15 = Vaillant;72000;0122;7703
scan.15 id = 21;20;23;0020260914;0953;008247;N4
Leider klappt die Übersetzung nach FHEM nur bei der Vorlauftemperatur, alle anderen Meßwerte geben entweder 0.0 oder "ERR: Element not found" zurück. Ich habe inzwischen alle möglichen Werte von (für) expect ausprobiert, die hier mal geschrieben wurden, geholfen hat es mir nicht.
Ich bitte um die Angabe(n) was denn nun genau in der fhem.cfg und bai00.cfg drinstehen muß damit es klappt. Ich vermute das es am Parameter expect liegt.
################### bai00.cfg ###############
#
#!/usr/bin/perl
# Warmwassertemp
#get Warmwasser cmd {"r -f HwcTemp temp\n"}
#get Warmwasser expect ".*\n*"
#get Warmwasser postproc { $_ }
# Aussentemperatur
get Aussentemp cmd {"r -f outsidetemp temp\n"}
get Aussentemp expect ".*\n*"
get Aussentemp postproc { $_ }
#
# Warmwasser test
get Warmwasser cmd {"r -m 10 status01 temp4.0\n"}
get Warmwasser expect "\d+\.\d+\n\n"
get Warmwasser postproc { sprintf("%5.1f",$_) }
#
# vorlauftemperatur NEU
get Vorlauf cmd {"r -f Hc1ActualFlowTempDesired tempv\n"}
get Vorlauf expect "\d+\.\d+\n*"
get Vorlauf postproc { sprintf("%5.1f",$_) }
# Ruecklauftemperatur
# get Ruecklauf cmd {"r -m 10 status01 temp1.1\n"}
get Ruecklauf cmd {"r -f ReturnTemp temp\n"}
get Ruecklauf expect ".*\n*"
get Ruecklauf postproc { sprintf("%5.1f",$_) }
#
# Pumpenleistung
get PumpeWatt cmd {"r -f PumpStarts\n"}
get PumpeWatt expect "\d+\n*"
get PumpeWatt postproc { sprintf("%5.0f",$_) }
#
# Fanspeed
get Fanspeed cmd {"r -f FanSpeed\n"}
get Fanspeed expect "\d+\n*"
get Fanspeed postproc { sprintf("%5.0f",$_) }
#
# Heizkurve lesen
get HKurve cmd {"r -f Hc1HeatCurve\n"}
get HKurve expect "\d+\.\d+\n"
get HKurve postproc { sprintf("%3.1f",$_) }
#
# HeizkurveSchreiben
get HeizkurveSchreiben cmd {"write 430 Hc1HeatCurve ".Value("HeizkurveEinstelle>
get HeizkurveSchreiben expect ".*\n\n"
get HeizkurveSchreiben postproc { $_ }
# Teillast
get PartialPower cmd {"r -f PartloadHcKW\n"}
get PartialPower expect "\d+\n*"
get PartialPower postproc { sprintf("%5.0f KW",$_) }
# Anlagendruck
get Druck cmd {"r -f waterpressure press.0\n"}
get Druck expect ".*\n*"
get Druck postproc { sprintf("%5.1f",$_) }
#fhem.cfg (gekürzt auf die ECMD-Daten)
#################################
# E C M D - Installer #
#################################
define EBUS ECMD telnet localhost:8888
setuuid EBUS 6223a90f-f33f-1cdf-6377-fb5f16772e23bd76
attr EBUS classdefs bai00.class=/opt/fhem/FHEM/bai01.cfg
attr EBUS icon usb
attr EBUS requestSeparator 000
attr EBUS room Vaillant
define Aussentemp ECMDDevice bai00.class
setuuid Aussentemp 6223a90f-f33f-1cdf-d3a6-dc61560395cd84ff
attr Aussentemp IODev EBUS
attr Aussentemp group Vaillant
attr Aussentemp icon temp_outside
attr Aussentemp room Vaillant
define Vorlauf ECMDDevice bai00.class
setuuid Vorlauf 6223a90f-f33f-1cdf-8b23-b09f3e8a47026181
attr Vorlauf IODev EBUS
attr Vorlauf group Vaillant
attr Vorlauf icon sani_supply_temp
attr Vorlauf room Vaillant
define Ruecklauf ECMDDevice bai00.class
setuuid Ruecklauf 6223a90f-f33f-1cdf-0c1a-16a63d65cb28d964
attr Ruecklauf IODev EBUS
attr Ruecklauf group Vaillant
attr Ruecklauf icon sani_return_temp
attr Ruecklauf room Vaillant
define PumpeWatt ECMDDevice bai00.class
setuuid PumpeWatt 6223a90f-f33f-1cdf-e0db-81a4bd522b6c45b1
attr PumpeWatt IODev EBUS
attr PumpeWatt group Vaillant
attr PumpeWatt icon measure_power
attr PumpeWatt room Vaillant
define Fanspeed ECMDDevice bai00.class
setuuid Fanspeed 6223a90f-f33f-1cdf-16bc-22109711a35e5df3
attr Fanspeed IODev EBUS
attr Fanspeed group Vaillant
attr Fanspeed icon vent_ventilation_level_automatic
attr Fanspeed room Vaillant
#define HKurve ECMDDevice bai00.class
#setuuid HKurve 6223a90f-f33f-1cdf-b63f-ed9c8c4472bd2c6f
#attr HKurve IODev EBUS
#attr HKurve group Vaillant
#attr HKurve icon temp_control
#attr HKurve room Vaillant
define Druck ECMDDevice bai00.class
setuuid Druck 624ac622-f33f-1cdf-c236-c4a20094f4a986bc
attr Druck IODev EBUS
attr Druck group Vaillant
attr Druck room Vaillant
# Abfrage Timersteuerung, fhem.cfg
define EBUS.Timer at +*00:15:00 get Aussentemp Aussentemp;;get Vorlauf Vorlauf;;get Ruecklauf Ruecklauf;;get PumpeWatt PumpeWatt;;get Fanspeed Fanspeed;;get >
setuuid EBUS.Timer 6223a90f-f33f-1cdf-0dd4-8be8dc6eb22f57cf
attr EBUS.Timer group VaillantControl
attr EBUS.Timer icon time_timer
attr EBUS.Timer room Vaillant
attr EBUS.Timer verbose 0
2022.03.31 23:30:41 1: EBUS: unexpected answer ERR: element not found\n\n (\105\122\122\072\040\145\154\145\155\145\156\164\040\156\157\164\040\146\157\165\156\144\012\012) received (wrote r -f SDFanSpeed\n (\162\040\055\146\040\123\104\106\141\156\123\160\145\145\144\012), expected \d+\n\n)
2022.03.31 23:30:41 1: PERL WARNING: Argument "ERR: element not found\n\n" isn't numeric in sprintf at (eval 667052) line 1.
2022.03.31 23:30:41 3: eval: { sprintf("%5.0f",$_) }
2022.03.31 23:30:41 1: EBUS: unexpected answer ERR: element not found\n\n (\105\122\122\072\040\145\154\145\155\145\156\164\040\156\157\164\040\146\157\165\156\144\012\012) received (wrote r -f PumpPower\n (\162\040\055\146\040\120\165\155\160\120\157\167\145\162\012), expected \d+\n\n)
2022.03.31 23:30:41 1: PERL WARNING: Argument "ERR: element not found\n\n" isn't numeric in sprintf at (eval 667054) line 1.
2022.03.31 23:30:41 3: eval: { sprintf("%5.0f",$_) }
2022.03.31 23:45:41 1: EBUS: unexpected answer ERR: element not found\n\n (\105\122\122\072\040\145\154\145\155\145\156\164\040\156\157\164\040\146\157\165\156\144\012\012) received (wrote r -f sdtrt temp\n (\162\040\055\146\040\163\144\164\162\164\040\164\145\155\160\012), expected \d+\.\d+\n\n)
2022.03.31 23:45:41 1: PERL WARNING: Argument "ERR: element not found\n\n" isn't numeric in sprintf at (eval 667571) line 1.
2022.03.31 23:45:41 3: eval: { sprintf("%5.1f",$_) }
2022.03.31 23:45:41 1: EBUS: unexpected answer ERR: element not found\n\n (\105\122\122\072\040\145\154\145\155\145\156\164\040\156\157\164\040\146\157\165\156\144\012\012) received (wrote r -f PumpPower\n (\162\040\055\146\040\120\165\155\160\120\157\167\145\162\012), expected \d+\n\n)
2022.03.31 23:45:41 1: PERL WARNING: Argument "ERR: element not found\n\n" isn't numeric in sprintf at (eval 667573) line 1.
2022.03.31 23:45:41 3: eval: { sprintf("%5.0f",$_) }
2022.03.31 23:45:41 1: EBUS: unexpected answer ERR: element not found\n\n (\105\122\122\072\040\145\154\145\155\145\156\164\040\156\157\164\040\146\157\165\156\144\012\012) received (wrote r -f SDFanSpeed\n (\162\040\055\146\040\123\104\106\141\156\123\160\145\145\144\012), expected \d+\n\n)
2022.03.31 23:45:41 1: PERL WARNING: Argument "ERR: element not found\n\n" isn't numeric in sprintf at (eval 667575) line 1.
2022.03.31 23:45:41 3: eval: { sprintf("%5.0f",$_) }
2022.03.31 23:45:41 1: EBUS: unexpected answer ERR: element not found\n\n (\105\122\122\072\040\145\154\145\155\145\156\164\040\156\157\164\040\146\157\165\156\144\012\012) received (wrote r -f PumpPower\n (\162\040\055\146\040\120\165\155\160\120\157\167\145\162\012), expected \d+\n\n)
2022.03.31 23:45:41 1: PERL WARNING: Argument "ERR: element not found\n\n" isn't numeric in sprintf at (eval 667577) line 1.
2022.03.31 23:45:41 3: eval: { sprintf("%5.0f",$_) }
Internals:
DEF bai00.class
FUUID 6223a90f-f33f-1cdf-d3a6-dc61560395cd84ff
IODev EBUS
NAME Aussentemp
NR 302
STATE Aussentemp ERR: element not found
TYPE ECMDDevice
READINGS:
2022-04-04 14:53:40 Aussentemp ERR: element not found
2022-03-19 19:52:17 Fanspeed 0
2022-04-04 14:56:59 IODev EBUS
2022-03-19 19:52:29 PumpeWatt 0
2022-03-19 19:52:35 Ruecklauf 0.0
2022-03-07 22:54:49 Vorlauf 63.9
2022-04-04 14:53:40 state Aussentemp ERR: element not found
fhem:
classname bai00.class
Attributes:
IODev EBUS
group Vaillant
icon temp_outside
room Vaillant
Falls das hier in der Diskussion immer noch nicht klappt: Gibt es jemand, der mir vielleicht hier (Norderstedt, Raum Hamburg) am Rechner direkt helfen würde? Ich habe diese Woche noch Urlaub, bin also fast ganztags (ausser Freitag und Samstag nachmittag) zu Hause. Fahrkosten werden von mir erstattet, eine Eisdiele ist im Nebengebäude... :-))
Thomas