MAX_Parse: Unknown message WallThermostatState

Begonnen von Meesus, 21 Dezember 2012, 18:16:40

Vorheriges Thema - Nächstes Thema

ne20002

Hallo Matthias,

bei mir haut es noch nicht ganz hin:

mode   temporary  2013-01-12 05:55:30
state 0.0 °C 2013-01-12 10:34:25
temperature 0 2013-01-12 10:34:25
valveposition 169

Scheinbar erscheint die akt. Temperatur ohne Punkt in valveposition, und die valveposition in temperature. Aber wir kommen der Sache ja näher.
Wie muss ich das Logfile einstellen, um Dir mehr Info geben zu können?

S.

Matthias Gehre

Hey,

in die fhem.cfg attr global verbose auf 5 gestellt werden. Also die vorherige attr global verbose Zeile durch
  attr global verbose 5
ersetzten.
Dann tauchen im Log Zeilen der Form
  CUL_MAX_Parse: ... WallThermostatState ...
gefolgt von
  battery $batterylow, rferror $rferror, panel $panel, langateway $langateway, dstsetting $dstsetting, mode $mode, valveposition $valveposition %, desiredTemperature $desiredTemperature, heaterTemperature $heaterTemperature, temperature $temperature
auf. Diese beiden Zeilen brauche ich, um zu sehen, was das Wandthermostat sendet und wie FHEM das interpretiert.

ne20002

Hi Matthias,

verbose geändert. Mal sehen, was kommt. Sagen kann ich, dass der WandThermostat scheinbar korrekt ausgelesen wird, wenn es über MAXLAN geht. Einzig valveposition scheint mit komisch. Da das für einen WandThermostat eigentlich unsinnig ist, vermute ich da eine andere Bedeutung des Wertes (bei mir ist der entweder 0 oder 4).

Momentan sieht mein plot so aus:
(siehe Anhang / see attachement)

Adam

Hi,

valveposition steht bei meinem WT auch immer auf 4, weiss auch nicht genau was fürn Wert das ist?

Der Wert unknown ändert sich tatsächlich immer dann,
wenn ein Thermostat seine CurTemp sendet auf genau diesen Wert.
D.h. das Ausgeben dieses Wertes ist aus meiner Sicht auch nicht notwendig!

ne20002


Und hier die ersten logentries (ich habe es mir verkniffen, die Einträge mit gleicher payload alle zu kopieren, sie sehen alle gleich aus). Aber hier sind zwei mit dem Ack dazu:


2013.01.12 13:49:23 5: CUL_0: Z0C2D044202A3A00215C9001CAE -51.5
2013.01.12 13:49:23 5: CUL_0 dispatch Z0C2D044202A3A00215C9001CAE
2013.01.12 13:49:23 5: CUL_MAX_Parse: len 12, msgcnt 2D, msgflag 04, msgTypeRaw WallThermostatState, src 02a3a0, dst 0215c9, groupid 0, payload 1CAE
2013.01.12 13:49:23 5: MAXCUL0 dispatch MAX,0,WallThermostatState,02a3a0,1CAE
2013.01.12 13:49:23 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1CAE
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 442.
Use of uninitialized value $temperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 443.
Use of uninitialized value $null1 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 444.
Use of uninitialized value $null2 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 444.
Use of uninitialized value $heaterTemperature in concatenation (.) or string at /usr/share/fhem/FHEM/10_MAX.pm line 446.
2013.01.12 13:49:23 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 174 %, desiredTemperature 0, heaterTemperature , temperature 0
2013.01.12 13:49:23 5: Triggering MAX_Wohnzimmer_Wandthermostat (6 changes)
2013.01.12 13:49:23 5: Notify loop for MAX_Wohnzimmer_Wandthermostat battery: ok
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.12 13:49:23 5: CUL/RAW: /Z112D02020215C902A3A000011A001C108D0025

2013.01.12 13:49:23 5: CUL_0: Z112D02020215C902A3A000011A001C108D00 -55.5
2013.01.12 13:49:23 5: CUL_0 dispatch Z112D02020215C902A3A000011A001C108D00
2013.01.12 13:49:23 5: CUL_MAX_Parse: len 17, msgcnt 2D, msgflag 02, msgTypeRaw Ack, src 0215c9, dst 02a3a0, groupid 0, payload 011A001C108D00
2013.01.12 13:49:23 5: MAXCUL0 dispatch MAX,0,Ack,0215c9,011A001C108D00
2013.01.12 13:49:23 5: MAX_Parse MAX,0,Ack,0215c9,011A001C108D00
2013.01.12 13:49:23 5: MAX_Parse MAX,0,ThermostatState,0215c9,1A001C108D00
2013.01.12 13:49:23 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 2, valveposition 0 %, desiredTemperature 14, until 16.1.13 0:00, curTemp
2013.01.12 13:49:23 5: Triggering MAX_Wohnzimmer_Thermostat (5 changes)
2013.01.12 13:49:23 5: Notify loop for MAX_Wohnzimmer_Thermostat mode: temporary
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.12 13:52:11 5: CUL/RAW: /Z0C2E044202A3A00215C9001CAC2D



2013.01.12 14:09:21 5: CUL_0: Z0C34044202A3A00215C9001CAC -51.5
2013.01.12 14:09:21 5: CUL_0 dispatch Z0C34044202A3A00215C9001CAC
2013.01.12 14:09:21 5: CUL_MAX_Parse: len 12, msgcnt 34, msgflag 04, msgTypeRaw WallThermostatState, src 02a3a0, dst 0215c9, groupid 0, payload 1CAC
2013.01.12 14:09:21 5: MAXCUL0 dispatch MAX,0,WallThermostatState,02a3a0,1CAC
2013.01.12 14:09:21 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1CAC
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 442.
Use of uninitialized value $temperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 443.
Use of uninitialized value $null1 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 444.
Use of uninitialized value $null2 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 444.
Use of uninitialized value $heaterTemperature in concatenation (.) or string at /usr/share/fhem/FHEM/10_MAX.pm line 446.
2013.01.12 14:09:21 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 172 %, desiredTemperature 0, heaterTemperature , temperature 0
2013.01.12 14:09:21 5: Triggering MAX_Wohnzimmer_Wandthermostat (6 changes)
2013.01.12 14:09:21 5: Notify loop for MAX_Wohnzimmer_Wandthermostat battery: ok
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.12 14:09:21 5: CUL/RAW: /Z113402020215C902A3A000011A001C108D0025

2013.01.12 14:09:21 5: CUL_0: Z113402020215C902A3A000011A001C108D00 -55.5
2013.01.12 14:09:21 5: CUL_0 dispatch Z113402020215C902A3A000011A001C108D00
2013.01.12 14:09:21 5: CUL_MAX_Parse: len 17, msgcnt 34, msgflag 02, msgTypeRaw Ack, src 0215c9, dst 02a3a0, groupid 0, payload 011A001C108D00
2013.01.12 14:09:21 5: MAXCUL0 dispatch MAX,0,Ack,0215c9,011A001C108D00
2013.01.12 14:09:21 5: MAX_Parse MAX,0,Ack,0215c9,011A001C108D00
2013.01.12 14:09:21 5: MAX_Parse MAX,0,ThermostatState,0215c9,1A001C108D00
2013.01.12 14:09:21 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 2, valveposition 0 %, desiredTemperature 14, until 16.1.13 0:00, curTemp
2013.01.12 14:09:21 5: Triggering MAX_Wohnzimmer_Thermostat (5 changes)
2013.01.12 14:09:21 5: Notify loop for MAX_Wohnzimmer_Thermostat mode: temporary
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.12 14:12:16 5: CUL/RAW: /Z0C35044202A3A00215C9001CAC2C

ne20002


Und nochmal drei Aufrufe. Erst CUL, dann MAXLAN, dann wieder CUL


2013.01.12 15:23:49 5: CUL_0: Z0C4E044202A3A00215C9001CA9 -51.5
2013.01.12 15:23:49 5: CUL_0 dispatch Z0C4E044202A3A00215C9001CA9
2013.01.12 15:23:49 5: CUL_MAX_Parse: len 12, msgcnt 4E, msgflag 04, msgTypeRaw WallThermostatState, src 02a3a0, dst 0215c9, groupid 0, payload 1CA9
2013.01.12 15:23:49 5: MAXCUL0 dispatch MAX,0,WallThermostatState,02a3a0,1CA9
2013.01.12 15:23:49 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1CA9
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 442.
Use of uninitialized value $temperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 443.
Use of uninitialized value $null1 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 444.
Use of uninitialized value $null2 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 444.
Use of uninitialized value $heaterTemperature in concatenation (.) or string at /usr/share/fhem/FHEM/10_MAX.pm line 446.
2013.01.12 15:23:49 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 169 %, desiredTemperature 0, heaterTemperature , temperature 0
2013.01.12 15:23:49 5: Triggering MAX_Wohnzimmer_Wandthermostat (6 changes)
2013.01.12 15:23:49 5: Notify loop for MAX_Wohnzimmer_Wandthermostat battery: ok
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.12 15:23:49 5: CUL/RAW: /Z114E02020215C902A3A000011A001C108D0026

2013.01.12 15:23:49 5: CUL_0: Z114E02020215C902A3A000011A001C108D00 -55
2013.01.12 15:23:49 5: CUL_0 dispatch Z114E02020215C902A3A000011A001C108D00
2013.01.12 15:23:49 5: CUL_MAX_Parse: len 17, msgcnt 4E, msgflag 02, msgTypeRaw Ack, src 0215c9, dst 02a3a0, groupid 0, payload 011A001C108D00
2013.01.12 15:23:49 5: MAXCUL0 dispatch MAX,0,Ack,0215c9,011A001C108D00
2013.01.12 15:23:50 5: MAX_Parse MAX,0,Ack,0215c9,011A001C108D00
2013.01.12 15:23:50 5: MAX_Parse MAX,0,ThermostatState,0215c9,1A001C108D00
2013.01.12 15:23:50 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 2, valveposition 0 %, desiredTemperature 14, until 16.1.13 0:00, curTemp
2013.01.12 15:23:50 5: Triggering MAX_Wohnzimmer_Thermostat (5 changes)
2013.01.12 15:23:50 5: Notify loop for MAX_Wohnzimmer_Thermostat mode: temporary
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.


2013.01.12 15:26:25 3: Opening MAXLAN0 device 192.168.5.26:62910
...

2013.01.12 15:26:25 5: Msg C:0215c9,0gIVyQEBFf9KRVEwMjUzNjY2KyA9CQcYAzAM/wBESFRsVNhVCEUgRSBFIEUgRSBFIEUgRSBFIERIVGxU2FUIRSBFIEUgRSBFIEUgRSBFIEUgREhUbFTYVQhFIEUgRSBFIEUgRSBFIEUgRSBESFRsVNhVCEUgRSBFIEUgRSBFIEUgRSBFIERIVGxU2FUIRSBFIEUgRSBFIEUgRSBFIEUgREhUbFTYVQhFIEUgRSBFIEUgRSBFIEUgRSBESFRsVNhVCEUgRSBFIEUgRSBFIEUgRSBFIA==
2013.01.12 15:26:25 5: MAXLAN_Parse: len 210, addr 0215c9, devicetype 1, firmware 21, testresult 255, groupid 1, serial JEQ0253666
2013.01.12 15:26:25 5: MAXLAN0 dispatch MAX,1,define,0215c9,HeatingThermostat,JEQ0253666,1,1
2013.01.12 15:26:25 5: MAX_Parse MAX,1,define,0215c9,HeatingThermostat,JEQ0253666,1,1
2013.01.12 15:26:25 5: Triggering MAX_Wohnzimmer_Thermostat (1 changes)
2013.01.12 15:26:25 5: Notify loop for MAX_Wohnzimmer_Thermostat 14.0 °C
2013.01.12 15:26:25 5: comfortemp 21.5, ecotemp 16, boostValve 80, boostDuration 5, tempoffset 0, minsetpointtemp 4.5, maxsetpointtemp 30.5, windowopentemp 12, windowopendur 15
2013.01.12 15:26:25 5: MAXLAN0 dispatch MAX,1,HeatingThermostatConfig,0215c9,16,21.5,30.5,4.5,80,5,0,12,15,100,0,0,12,4448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d85508452045204520452045204520452045204520
2013.01.12 15:26:25 5: MAX_Parse MAX,1,HeatingThermostatConfig,0215c9,16,21.5,30.5,4.5,80,5,0,12,15,100,0,0,12,4448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d85508452045204520452045204520452045204520
2013.01.12 15:26:26 5: Triggering MAX_Wohnzimmer_Thermostat (27 changes)
2013.01.12 15:26:26 5: Notify loop for MAX_Wohnzimmer_Thermostat ecoTemperature: 16
2013.01.12 15:26:26 5: MAXLAN0 dispatch MAX,1,Error,0215c9
2013.01.12 15:26:26 5: MAX_Parse MAX,1,Error,0215c9
2013.01.12 15:26:26 5: Triggering MAX_Wohnzimmer_Thermostat (1 changes)
2013.01.12 15:26:26 5: Notify loop for MAX_Wohnzimmer_Thermostat 14.0 °C

2013.01.12 15:26:26 5: Msg C:02a3a0,ywKjoAMBEv9JRVEwNTEzMzEyKyA9CURIVGxU2FUIRSBFIEUgRSBFIEUgRSBFIEUgREhUbFTYVQhFIEUgRSBFIEUgRSBFIEUgRSBESFRsVNhVCEUgRSBFIEUgRSBFIEUgRSBFIERIVGxU2FUIRSBFIEUgRSBFIEUgRSBFIEUgREhUbFTYVQhFIEUgRSBFIEUgRSBFIEUgRSBESFRsVNhVCEUgRSBFIEUgRSBFIEUgRSBFIERIVGxU2FUIRSBFIEUgRSBFIEUgRSBFIEUg
2013.01.12 15:26:26 5: MAXLAN_Parse: len 203, addr 02a3a0, devicetype 3, firmware 18, testresult 255, groupid 1, serial IEQ0513312
2013.01.12 15:26:26 5: MAXLAN0 dispatch MAX,1,define,02a3a0,WallMountedThermostat,IEQ0513312,1,1
2013.01.12 15:26:26 5: MAX_Parse MAX,1,define,02a3a0,WallMountedThermostat,IEQ0513312,1,1
2013.01.12 15:26:26 5: Triggering MAX_Wohnzimmer_Wandthermostat (1 changes)
2013.01.12 15:26:26 5: Notify loop for MAX_Wohnzimmer_Wandthermostat 0.0 °C
2013.01.12 15:26:26 5: comfortemp 21.5, ecotemp 16, minsetpointtemp 4.5, maxsetpointtemp 30.5
2013.01.12 15:26:26 5: MAXLAN0 dispatch MAX,1,WallThermostatConfig,02a3a0,16,21.5,30.5,4.5,4448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d85508452045204520452045204520452045204520
2013.01.12 15:26:26 5: MAX_Parse MAX,1,WallThermostatConfig,02a3a0,16,21.5,30.5,4.5,4448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d855084520452045204520452045204520452045204448546c54d85508452045204520452045204520452045204520
2013.01.12 15:26:26 5: Triggering MAX_Wohnzimmer_Wandthermostat (19 changes)
2013.01.12 15:26:26 5: Notify loop for MAX_Wohnzimmer_Wandthermostat ecoTemperature: 16
2013.01.12 15:26:26 5: MAXLAN0 dispatch MAX,1,Error,02a3a0
2013.01.12 15:26:26 5: MAX_Parse MAX,1,Error,02a3a0
2013.01.12 15:26:26 5: Triggering MAX_Wohnzimmer_Wandthermostat (1 changes)
2013.01.12 15:26:26 5: Notify loop for MAX_Wohnzimmer_Wandthermostat 0.0 °C


Und dann wieder der CUL:


2013.01.12 15:26:47 5: CUL_0: Z0C4F044202A3A00215C9001CAB -51.5
2013.01.12 15:26:47 5: CUL_0 dispatch Z0C4F044202A3A00215C9001CAB
2013.01.12 15:26:47 5: CUL_MAX_Parse: len 12, msgcnt 4F, msgflag 04, msgTypeRaw WallThermostatState, src 02a3a0, dst 0215c9, groupid 0, payload 1CAB
2013.01.12 15:26:47 5: MAXCUL0 dispatch MAX,0,WallThermostatState,02a3a0,1CAB
2013.01.12 15:26:47 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1CAB
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 442.
Use of uninitialized value $temperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 443.
Use of uninitialized value $null1 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 444.
Use of uninitialized value $null2 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 444.
Use of uninitialized value $heaterTemperature in concatenation (.) or string at /usr/share/fhem/FHEM/10_MAX.pm line 446.
2013.01.12 15:26:47 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 171 %, desiredTemperature 0, heaterTemperature , temperature 0
2013.01.12 15:26:47 5: Triggering MAX_Wohnzimmer_Wandthermostat (6 changes)
2013.01.12 15:26:47 5: Notify loop for MAX_Wohnzimmer_Wandthermostat battery: ok
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.12 15:26:47 5: CUL/RAW: /Z114F02020215C902A3A000011A001C108D0026

2013.01.12 15:26:47 5: CUL_0: Z114F02020215C902A3A000011A001C108D00 -55
2013.01.12 15:26:47 5: CUL_0 dispatch Z114F02020215C902A3A000011A001C108D00
2013.01.12 15:26:47 5: CUL_MAX_Parse: len 17, msgcnt 4F, msgflag 02, msgTypeRaw Ack, src 0215c9, dst 02a3a0, groupid 0, payload 011A001C108D00
2013.01.12 15:26:47 5: MAXCUL0 dispatch MAX,0,Ack,0215c9,011A001C108D00
2013.01.12 15:26:47 5: MAX_Parse MAX,0,Ack,0215c9,011A001C108D00
2013.01.12 15:26:47 5: MAX_Parse MAX,0,ThermostatState,0215c9,1A001C108D00
2013.01.12 15:26:47 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 2, valveposition 0 %, desiredTemperature 14, until 16.1.13 0:00, curTemp
2013.01.12 15:26:47 5: Triggering MAX_Wohnzimmer_Thermostat (5 changes)
2013.01.12 15:26:47 5: Notify loop for MAX_Wohnzimmer_Thermostat mode: temporary
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.

Matthias Gehre

Ich glaub, jetzt hab ichs: Es gibt zwei Formate von WallThermostatState. Eins
wird an den Cube gesendet (das was wir auch über MAXLAN kriegen) und eins
sendet dass Wandthermstat and die gepairten Heizkörperthermostate.

Testet es mal mit dem Update morgen.

ne20002


Hallo Matthias,

das klingt logisch. Ich werde es morgen testen und sage schon mal danke.
:)

Gruss aus Züri,
 S.

Adam

Hi Matthias,

habe die neuste Version mit meinem Cube (MAXLAN) getestet, die Anzeigen der Temps sehen weiterhin gut aus!
Danke für die stetige Weiterentwicklung, finde ich Klasse!!!

Folgende Dinge sind mir jedoch noch aufgefallen:

1)
Der mode wird bei den Wandthermostaten nicht mehr angezeigt, ich meine in einer älteren Version war dies noch der Fall.

2)
Wenn ich die desiredTemp eines WT auf einen konkreten Wert setze, also z.B. 22.0 so wird dies vom WT an die Thermostate weitergegeben.
(Das wird das WT wohl von sich aus machen)
Wenn ich jedoch desiredTemp auf auto oder boost setze, so wird dies zwar dem WT gesendet (die Änderunge sehe ich am WT),
aber nicht mehr an die Thermostate weitergegen? Wenn ich den Modus am WT selber ändere so wird dies an die Thermostate
weitergegeben. Kann man das aus FHEM raus was machen, oder liegt das am Cube?

3) Der Debug LOG für die WT scheint nicht kann korrekt zu sein:
Als displayActualTemperature wird 4 geloggt in FHEM angezeigt wird jedoch richtigerweise die 1

2013.01.13 08:09:48 5: MAX_Parse MAX,1,WallThermostatState,057fa4,19042a00c900c9
2013.01.13 08:09:48 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 1, displayActualTemperature 4, heaterTemperature 201

ne20002


Hallo Matthias,

dem Dank meines Vorgängers schliesse ich mich an.

Bei mir stimmt die Anzeige der akt Temperatur nun. Einzig in valveposition habe ich zusätzlich noch den alten falschen Wert in den readings stehen (169 bei akt Temp 16.9). Da ich valveposition aber nur vom Heizkörperthermostat logge, ist das kein Problem (kommt das vom MAXLAN polling?).

Und ich habe noch eine 'uninitialized value':

2013.01.13 11:18:28 5: CUL_0: Z0CEF044202A3A00215C9001CA9 -51.5
2013.01.13 11:18:28 5: CUL_0 dispatch Z0CEF044202A3A00215C9001CA9
2013.01.13 11:18:28 5: CUL_MAX_Parse: len 12, msgcnt EF, msgflag 04, msgTypeRaw WallThermostatState, src 02a3a0, dst 0215c9, groupid 0, payload 1CA9
2013.01.13 11:18:28 5: MAXCUL0 dispatch MAX,0,WallThermostatState,02a3a0,1CA9
2013.01.13 11:18:28 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1CA9
2013.01.13 11:18:28 5: desiredTemperature 14, temperature 16.9
2013.01.13 11:18:28 5: Triggering MAX_Wohnzimmer_Wandthermostat (3 changes)
2013.01.13 11:18:28 5: Notify loop for MAX_Wohnzimmer_Wandthermostat desiredTemperature: 14.0
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.13 11:18:28 5: CUL/RAW: /Z11EF02020215C902A3A000011A001C108D0026

2013.01.13 11:18:28 5: CUL_0: Z11EF02020215C902A3A000011A001C108D00 -55
2013.01.13 11:18:28 5: CUL_0 dispatch Z11EF02020215C902A3A000011A001C108D00
2013.01.13 11:18:28 5: CUL_MAX_Parse: len 17, msgcnt EF, msgflag 02, msgTypeRaw Ack, src 0215c9, dst 02a3a0, groupid 0, payload 011A001C108D00
2013.01.13 11:18:28 5: MAXCUL0 dispatch MAX,0,Ack,0215c9,011A001C108D00
2013.01.13 11:18:28 5: MAX_Parse MAX,0,Ack,0215c9,011A001C108D00
2013.01.13 11:18:28 5: MAX_Parse MAX,0,ThermostatState,0215c9,1A001C108D00
2013.01.13 11:18:28 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 2, valveposition 0 %, desiredTemperature 14, until 16.1.13 0:00, curTemp
2013.01.13 11:18:28 5: Triggering MAX_Wohnzimmer_Thermostat (5 changes)
2013.01.13 11:18:28 5: Notify loop for MAX_Wohnzimmer_Thermostat mode: temporary
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.

ne20002


Hallo Matthias,

es funktioniert wirklich immer besser. Das Protokoll scheint recht tricky zu sein, ich habe nun einen einmaligen Einbruch meiner Temperatur auf 0, danach geht alles wieder glatt.
Scheinbar ist es die Antwort des WT auf eine TimeInformation vom Cube.

Im Klima-Logfile habe ich:

2013-01-13_11:56:13 MAX_Wohnzimmer_Thermostat battery: ok
2013-01-13_11:56:13 MAX_Wohnzimmer_Thermostat desiredTemperature: 14.0
2013-01-13_11:56:13 MAX_Wohnzimmer_Thermostat valveposition: 0
2013-01-13_11:56:13 MAX_Wohnzimmer_Wandthermostat temperature: 0
2013-01-13_11:58:39 MAX_Wohnzimmer_Wandthermostat temperature: 16.9
2013-01-13_11:58:39 MAX_Wohnzimmer_Thermostat battery: ok
2013-01-13_11:58:39 MAX_Wohnzimmer_Thermostat desiredTemperature: 14.0
2013-01-13_11:58:39 MAX_Wohnzimmer_Thermostat valveposition: 0

Also einmal ein Einbruch auf 0.

Im logfile steht dazu folgendes:



2013.01.13 11:56:13 5: CUL/RAW: /Z0F5F0503022A8C0215C9000D0D4A384B56

2013.01.13 11:56:13 5: CUL_0: Z0F5F0503022A8C0215C9000D0D4A384B -31
2013.01.13 11:56:13 5: CUL_0 dispatch Z0F5F0503022A8C0215C9000D0D4A384B
2013.01.13 11:56:13 5: CUL_MAX_Parse: len 15, msgcnt 5F, msgflag 05, msgTypeRaw TimeInformation, src 022a8c, dst 0215c9, groupid 0, payload 0D0D4A384B
2013.01.13 11:56:13 5: CUL_MAX_Parse: Got TimeInformation: (in GMT) year 2013, mon 1, day 13, hour 10, min 56, sec 11, unk (2, 0, 1)
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.13 11:56:13 5: CUL/RAW: /Z115F02020215C9022A8C00011A001C108D0026

2013.01.13 11:56:13 5: CUL_0: Z115F02020215C9022A8C00011A001C108D00 -55
2013.01.13 11:56:13 5: CUL_0 dispatch Z115F02020215C9022A8C00011A001C108D00
2013.01.13 11:56:13 5: CUL_MAX_Parse: len 17, msgcnt 5F, msgflag 02, msgTypeRaw Ack, src 0215c9, dst 022a8c, groupid 0, payload 011A001C108D00
2013.01.13 11:56:13 5: MAXCUL0 dispatch MAX,0,Ack,0215c9,011A001C108D00
2013.01.13 11:56:13 5: MAX_Parse MAX,0,Ack,0215c9,011A001C108D00
2013.01.13 11:56:13 5: MAX_Parse MAX,0,ThermostatState,0215c9,1A001C108D00
2013.01.13 11:56:13 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 2, valveposition 0 %, desiredTemperature 14, until 16.1.13 0:00, curTemp
2013.01.13 11:56:13 5: Triggering MAX_Wohnzimmer_Thermostat (5 changes)
2013.01.13 11:56:13 5: Notify loop for MAX_Wohnzimmer_Thermostat mode: temporary
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.13 11:56:13 5: CUL/RAW: /Z0FE00503022A8C02A3A0000D0D4A384B56

2013.01.13 11:56:13 5: CUL_0: Z0FE00503022A8C02A3A0000D0D4A384B -31
2013.01.13 11:56:13 5: CUL_0 dispatch Z0FE00503022A8C02A3A0000D0D4A384B
2013.01.13 11:56:13 5: CUL_MAX_Parse: len 15, msgcnt E0, msgflag 05, msgTypeRaw TimeInformation, src 022a8c, dst 02a3a0, groupid 0, payload 0D0D4A384B
2013.01.13 11:56:13 5: CUL_MAX_Parse: Got TimeInformation: (in GMT) year 2013, mon 1, day 13, hour 10, min 56, sec 11, unk (2, 0, 1)
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.13 11:56:13 5: CUL/RAW: /Z11E0020202A3A0022A8C00011A041C108D002D

2013.01.13 11:56:13 5: CUL_0: Z11E0020202A3A0022A8C00011A041C108D00 -51.5
2013.01.13 11:56:13 5: CUL_0 dispatch Z11E0020202A3A0022A8C00011A041C108D00
2013.01.13 11:56:13 5: CUL_MAX_Parse: len 17, msgcnt E0, msgflag 02, msgTypeRaw Ack, src 02a3a0, dst 022a8c, groupid 0, payload 011A041C108D00
2013.01.13 11:56:13 5: MAXCUL0 dispatch MAX,0,Ack,02a3a0,011A041C108D00
2013.01.13 11:56:13 5: MAX_Parse MAX,0,Ack,02a3a0,011A041C108D00
2013.01.13 11:56:13 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1A041C108D00
2013.01.13 11:56:13 2: Invalid WallThermostatState packet
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 505.
Use of uninitialized value $temperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 506.
2013.01.13 11:56:13 5: desiredTemperature 0, temperature 0
2013.01.13 11:56:13 5: Triggering MAX_Wohnzimmer_Wandthermostat (3 changes)
2013.01.13 11:56:13 5: Notify loop for MAX_Wohnzimmer_Wandthermostat desiredTemperature: 0.0
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.

Und der nächste Aufruf ist dann wieder ok:


2013.01.13 11:58:39 5: CUL/RAW: /Z0CFD044202A3A00215C9001CA92D

2013.01.13 11:58:39 5: CUL_0: Z0CFD044202A3A00215C9001CA9 -51.5
2013.01.13 11:58:39 5: CUL_0 dispatch Z0CFD044202A3A00215C9001CA9
2013.01.13 11:58:39 5: CUL_MAX_Parse: len 12, msgcnt FD, msgflag 04, msgTypeRaw WallThermostatState, src 02a3a0, dst 0215c9, groupid 0, payload 1CA9
2013.01.13 11:58:39 5: MAXCUL0 dispatch MAX,0,WallThermostatState,02a3a0,1CA9
2013.01.13 11:58:39 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1CA9
2013.01.13 11:58:39 5: desiredTemperature 14, temperature 16.9
2013.01.13 11:58:39 5: Triggering MAX_Wohnzimmer_Wandthermostat (3 changes)
2013.01.13 11:58:39 5: Notify loop for MAX_Wohnzimmer_Wandthermostat desiredTemperature: 14.0
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
2013.01.13 11:58:39 5: CUL/RAW: /Z11FD02020215C902A3A000011A001C108D0026

2013.01.13 11:58:39 5: CUL_0: Z11FD02020215C902A3A000011A001C108D00 -55
2013.01.13 11:58:39 5: CUL_0 dispatch Z11FD02020215C902A3A000011A001C108D00
2013.01.13 11:58:39 5: CUL_MAX_Parse: len 17, msgcnt FD, msgflag 02, msgTypeRaw Ack, src 0215c9, dst 02a3a0, groupid 0, payload 011A001C108D00
2013.01.13 11:58:39 5: MAXCUL0 dispatch MAX,0,Ack,0215c9,011A001C108D00
2013.01.13 11:58:39 5: MAX_Parse MAX,0,Ack,0215c9,011A001C108D00
2013.01.13 11:58:39 5: MAX_Parse MAX,0,ThermostatState,0215c9,1A001C108D00
2013.01.13 11:58:39 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 2, valveposition 0 %, desiredTemperature 14, until 16.1.13 0:00, curTemp
2013.01.13 11:58:39 5: Triggering MAX_Wohnzimmer_Thermostat (5 changes)
2013.01.13 11:58:39 5: Notify loop for MAX_Wohnzimmer_Thermostat mode: temporary
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.





Matthias Gehre

Die Ack-Messages von den Wandthermostaten enthalten auch nochmal den Status, allerdings ohne das letzte Feld "temperature".
Hab einen Fix commited.

P.S.: Danke für die sehr guten Logs, vorbildlich!

Matthias Gehre

Das
> Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2481.
kommt von fhem.pl. Keine Ahnung woran das liegt. Vielleicht will sich das jemand genauer angucken.

> Der mode wird bei den Wandthermostaten nicht mehr angezeigt, ich meine in einer älteren Version war dies noch der Fall.
Fix kommt.

> Wenn ich die desiredTemp eines WT auf einen konkreten Wert setze, also z.B. 22.0 so wird dies vom WT an die Thermostate weitergegeben.
> (Das wird das WT wohl von sich aus machen)
> Wenn ich jedoch desiredTemp auf auto oder boost setze, so wird dies zwar dem WT gesendet (die Änderunge sehe ich am WT),
> aber nicht mehr an die Thermostate weitergegen? Wenn ich den Modus am WT selber ändere so wird dies an die Thermostate
> weitergegeben. Kann man das aus FHEM raus was machen, oder liegt das am Cube?

m.E. sendet die offizielle Software dafür ein Paket an jeden Heizkörper/Wandthermostat. D.h. in FHEM müsste man das auch machen.
Dafür kann man bestimmt dies structure oder dummy oder irgendwas nehmen. Falls dafür jemand was programmiet, wärs schön das auf die Wiki-Seite zu stellen.

> Der Debug LOG für die WT scheint nicht kann korrekt zu sein:
> Als displayActualTemperature wird 4 geloggt in FHEM angezeigt wird jedoch richtigerweise die 1
Das stimmt schon, das Byte im Paket ist entweder 0 oder 4, was dann "aus" oder "an" bedeutet.

> Einzig in valveposition habe ich zusätzlich noch den alten falschen Wert in den readings stehen
Das wird gar nicht mehr benutzt. Du siehst es nur noch, weil in log/fhem.save das noch gespeichert ist.
Am besten dort rauslöschen, während FHEM gerade nicht läuft und dann neustarten.


Könntet ihr mal testen, was für Pakete gesendet werden, wenn die gemessene Temperatur über 25.5 Grad liegt? Im Moment können
wir nämlich nur bis dahin die Temperatur auslesen.
Am besten jeweils ein "Ack", ein "WallThermostatState" vom CUL und ein "WallThermostatState" vom Cube dafür.

ne20002


Hallo Matthias,

auf den ersten Blick sieht es recht gut aus, vielen Dank. Ich bin gespannt.

Zu Deinem Wunsch: mal sehen, ob ich es am WE hinbekomme. Ich könnte den Wandthermostat mal neben den Kamin legen, dann sollte er auf mehr als 25.5 Grad kommen.
Aber versprechen kann ich nichts.

Gruss aus Züri,
 S.

Adam

Hallo,

ich kann mich auch nur anschliessen, sieht alles gut aus!

Ob ich das WT mal auf über 25.5 bekomme muss ich mal schauen.

Wenn ich dazu komme und etwas programmiere um den Modus an die Thermostate weiterzugeben,
werde ich es posten!

Gruß
Adam