Vitotronic 200 KW1 läuft nicht mehr (89_VCONTROL300.pm)

Begonnen von TomsHome, 23 Januar 2021, 20:44:19

Vorheriges Thema - Nächstes Thema

TomsHome

Guten Abend,

leider funktioniert meine Abfrage der Heizung nicht mehr über das 89_VCONTROL300.pm.
Ich musste leider wegen einer fehlerhaften fhem.cfg das Device neu anlegen. Seit dem funktioniert es nicht mehr bei mir.

Mir scheint es so, als würde er eventuell nicht mehr auf den USB Port zugreifen können

Ich nutze Fhem am Raspi...
Ich nutze den originalen Viessman USB Adapter

Ich bekomme nur folgenden Log zum VCONTROL300:

Zitat2021.01.23 20:13:19 5 : VCONTROL300: Set InternalTimer to 1611429259.46184
2021.01.23 20:13:19 4 : BlockingCall (VCONTROL300_DoUpdate): created child (13079), uses telnetPort to connect back
2021.01.23 20:13:19 4 : Connection accepted from telnetPort_127.0.0.1_35516
2021.01.23 20:13:19 5 : Cmd: >{BlockingRegisterTelnet($cl,2660)}<
2021.01.23 20:13:19 5 : Cmd: >{SetInternal('Heizung_Viessmann','UPDATESTATUS','ACTIVE')}<
2021.01.23 20:13:19 5 : Cmd: >{readingsUpdateByName('Heizung_Viessmann','UpdateStatus','Active')}<
2021.01.23 20:13:19 5 : Starting notify loop for Heizung_Viessmann, 1 event(s), first is UpdateStatus: Active
2021.01.23 20:13:19 4 : DbLog DBLogging -> ################################################################
2021.01.23 20:13:19 4 : DbLog DBLogging -> ###              start of new Logcycle                       ###
2021.01.23 20:13:19 4 : DbLog DBLogging -> ################################################################
2021.01.23 20:13:19 4 : DbLog DBLogging -> number of events received: 1 for device: Heizung_Viessmann
2021.01.23 20:13:19 4 : DbLog DBLogging -> check Device: Heizung_Viessmann , Event: UpdateStatus: Active
2021.01.23 20:13:19 5 : DbLog DBLogging -> parsed Event: Heizun
2021.01.23 20:13:19 5 : End notify loop for Heizung_Viessmann
g_Viessmann , Event: UpdateStatus: Active</div>2021-01-23 20:13:19 VCONTROL300 Heizung_Viessmann UpdateStatus: Active

....

2021-01-23 20:22:29 VCONTROL300 Heizung_Viessmann UpdateStatus: Inactive
.....
2021-01-23 20:23:19 VCONTROL300 Heizung_Viessmann UpdateStatus: Active
.....

2021.01.23 20:51:29 4 : VCONTROL300: Update aborted!
2021.01.23 20:51:29 2 : VCONTROL300: USB device closed

2021.01.23 20:51:29 5 : VCONTROL300: Undef set_cmd_list_values!
2021-01-23 20:51:29 VCONTROL300 Heizung_Viessmann UpdateStatus: Inactive


USB-Name ist hier definiert:
ZitatGNU nano 3.2         /etc/udev/rules.d/99-usb-serial.rules                   

SUBSYSTEM=="tty", ATTRS{serial}=="0001", SYMLINK+="HeizUSB", OWNER="pi"
SUBSYSTEM=="tty", ATTRS{serial}=="3f980000.usb", SYMLINK+="Modbus", OWNER="pi"


Mein Device:

Zitatdefmod Heizung_Viessmann VCONTROL300 /dev/HeizUSB /opt/fhem/FHEM/V200KW1.cfg 60
attr Heizung_Viessmann verbose 5
attr Heizung_Viessmann vitotronicType 200_KWx

setstate Heizung_Viessmann defined
setstate Heizung_Viessmann 2021-01-23 19:57:29 UpdateStatus Inactive

Es dürfte nicht an der V200KW1.cfg - Config liegen, denn diese hatte ich zuletzt nicht angefasst...
Das Device "/dev/HeizUSB" gibt es, wenn ich "ls" ausführe unter "/dev/". Habe aber auch probiert mit ttyUSB1 das Gerät zu definieren.

Trotzdem hier die Config:
Zitat######################################################################################
# Polling Commands
######################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION
######################################################################################
POLL, 0800, 2ByteS, 10    , Temp-Aussen         , -
POLL, 0800, 2ByteS, 10    , temperature         , -
POLL, 0804, 2ByteS, 10    , Temp-WarmWasser-Ist , -
POLL, 6300, 1ByteU, 1     , Temp-WarmWasser-Soll, -
POLL, 0802, 2ByteS, 10    , Temp-Kessel-Ist     , -
POLL, 5502, 2ByteS, 10    , Temp-Kessel-Soll    , -
POLL, 0842, 1ByteU, state , Brenner             , -
POLL, 0842, 1ByteU, state , state               , -
POLL, 088A, 2ByteU, 1     , BrennerStarts       , day
POLL, 7574, 4Byte,  1000  , Oelverbrauch        , day
POLL, 0846, 1ByteU, state , Zirkulationspumpe   , -
POLL, 2301, mode,   10    , state_mode          , -
POLL, 2303, 1ByteU, state , state_party         , -
POLL, 2302, 1ByteU, state , state_spar          , -
POLL, 08A7, 4Byte,  3600  , BrennerStunden      , day
POLL, 08AB, 4Byte,  3600  , BrennerStunden2     , -
POLL, 2306, 1ByteU, 1     , Temp-Raum-Soll      , -
POLL, 5726, 2ByteU, 10    , Oelverbrauch-Codierung, -
POLL, 088E, date,   1     , SystemZeit          , -
POLL, 2309, date,   1     , Urlaub-Beginn       , -
POLL, 2311, date,   1     , Urlaub-Ende         , -
POLL, 2535, 1ByteU, state , Urlaub-Betrieb      , -
POLL, 2305, 1ByteU, 10    , Neigung             , -
POLL, 2304, 1ByteS, 1     , Niveau              , -
#####################################################################################
# M1 Possible TIMER Get commands
#####################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION
POLL, 2000, timer,  1     , TIMER_2_MO          , -
POLL, 2008, timer,  1     , TIMER_3_DI          , -
POLL, 2010, timer,  1     , TIMER_4_MI          , -
POLL, 2018, timer,  1     , TIMER_5_DO          , -
POLL, 2020, timer,  1     , TIMER_6_FR          , -
POLL, 2028, timer,  1     , TIMER_0_SA          , -
POLL, 2030, timer,  1     , TIMER_1_SO          , -
#####################################################################################
# M1 Possible Warm Water TIMER Get commands
#####################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION?
POLL, 2100, timer,  1     , TIMER_WW_2_MO       , -
POLL, 2108, timer,  1     , TIMER_WW_3_DI       , -
POLL, 2110, timer,  1     , TIMER_WW_4_MI       , -
POLL, 2118, timer,  1     , TIMER_WW_5_DO       , -
POLL, 2120, timer,  1     , TIMER_WW_6_FR       , -
POLL, 2128, timer,  1     , TIMER_WW_0_SA       , -
POLL, 2130, timer,  1     , TIMER_WW_1_SO       , -
#####################################################################################
# M1 Possible Set commands which are complete
#####################################################################################
#SET,SETCMD    ,    SENDCMD       , CONV     , NEXT_CMD or DAY for timer
#####################################################################################
SET, WW        ,    230101, state      , -
SET, HWW       ,    230101, state      , -
SET, AUS       ,    230101, state      , -
SET, S-OFF     ,    230201, state_spar , -
SET, S-ON      ,    230201, state_spar , P-OFF
SET, P-OFF     ,    230301, state_party, -
SET, P-ON      ,    230301, state_party, S-OFF
SET, WWTEMP    ,    630001  , 1ByteU     , -
SET, K26       ,    572602  , 2ByteU     , -
SET, URLON     ,    230908  , date       , -
SET, URLOFF    ,    231108  , date       , -
SET, SYSTIME   ,    088E08  , date       , -
SET, NIVEAU    ,    230401  , 1ByteS     , -
#####################################################################################
# M1 Possible TIMER Set commands prefix
#####################################################################################
SET, TIMER_2_MO,    200008  , timer      , MO
SET, TIMER_3_DI,    200808  , timer      , DI
SET, TIMER_4_MI,    201008  , timer      , MI
SET, TIMER_5_DO,    201808  , timer      , DO
SET, TIMER_6_FR,    202008  , timer      , FR
SET, TIMER_0_SA,    202808  , timer      , SA
SET, TIMER_1_SO,    203008  , timer      , SO
######################################################################################
# M1 Possible Warm Water Timer Set commands prefix
######################################################################################
SET, TIMER_WW_2_MO, 210008  , timer      , MO
SET, TIMER_WW_3_DI, 210808  , timer      , DI
SET, TIMER_WW_4_MI, 211008  , timer      , MI
SET, TIMER_WW_5_DO, 211808  , timer      , DO
SET, TIMER_WW_6_FR, 212008  , timer      , FR
SET, TIMER_WW_0_SA, 212808  , timer      , SA
SET, TIMER_WW_1_SO, 213008  , timer      , SO
######################################################################################

Hat jemand eine IDEE? :)

w6s8

Hallo,
nur als Idee (da Du schreibst "als würde er eventuell nicht mehr auf den USB Port zugreifen können") versuche MODE in Deiner rules-Datei zu ergänzen:

SUBSYSTEM=="tty", ATTRS{serial}=="0001", SYMLINK+="HeizUSB", OWNER="pi", MODE="0666"
SUBSYSTEM=="tty", ATTRS{serial}=="3f980000.usb", SYMLINK+="Modbus", OWNER="pi", MODE="0666"


ggf. besser über die ENV{ID_SERIAL_SHORT} zu definieren:
SUBSYSTEM=="tty", ENV{ID_SERIAL_SHORT}=="AI0359KV", SYMLINK+="LK_Heizung", MODE="0666"
SUBSYSTEM=="tty", ENV{ID_SERIAL_SHORT}=="01064E2F", SYMLINK+="LK_Strom", MODE="0666"

Die ID_SERIAL_SHORT kannst Du wie folgt abfragen
/sbin/udevadm info --query=all --name=/dev/ttyUSBx (x durch entsprechende Nummer ersetzen und ggf noch mit "|grep ID_SERIAL_SHORT" ergänzen)

Weitere Möglichkeit ist die schreib-lese Rechte für ttyUSB mit
ls -l /dev/ttyUSB* zu prüfen

bzw. zu ergänzen
chmod go+rw /dev/ttyUSBx
(x entsprechend ersetzen)