MAX_Parse: Unknown message WallThermostatState

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

Vorheriges Thema - Nächstes Thema

Meesus

Hallo Matthias,

wollte eigentlich kein neuen Beitrag dazu einstellen, aber ich konnte nicht in den bestehenden "[MAX] Update heute - Fehlermeldungen und Logeinträge" Beitrag schreiben, bzw. nach einstellen meines Textes ist dieser nicht zusehen...

Hier der Auszug:

"Hast du die neuste CUL fw vom 17. De.z ? Die Version ist immer noch 1.49,
 sind aber Neuerungen zu MAX drin."

Auszug Ende
 
 Ich habe heute nach einem FHEM Update die CUL neu geflasht.
..und jetzt verstehen sich die beiden MAXE nach dem anlernen wieder.

Den Hinweis vom WT habe ich aber leider immer noch. -:(
Liegt es vielleicht an der + Version? Es gibt das WT einmal als normale Ausführung und einmal als WT+ ?

Hier nochmal der Mitschnitt:


2012.12.21 17:26:57 5: CUL/RAW: /Z0CF1044201C7E101788D0028D6D6

2012.12.21 17:26:57 5: CUL1: Z0CF1044201C7E101788D0028D6 -95
2012.12.21 17:26:57 5: CUL1 dispatch Z0CF1044201C7E101788D0028D6
2012.12.21 17:26:57 5: CUL_MAX_Parse: len 12, msgcnt F1, msgflag 04, msgTypeRaw WallThermostatState, src 01c7e1, dst 01788d, groupid 0, payload 28D6
2012.12.21 17:26:57 5: CULMAX0 dispatch MAX,0,WallThermostatState,01c7e1,28D6
2012.12.21 17:26:57 5: MAX_Parse MAX,0,WallThermostatState,01c7e1,28D6
2012.12.21 17:26:57 1: MAX_Parse: Unknown message WallThermostatState
2012.12.21 17:26:57 5: CUL/RAW: /Z0EF1020201788D01C7E10001190028F0

2012.12.21 17:26:57 5: CUL1: Z0EF1020201788D01C7E10001190028 -82
2012.12.21 17:26:57 5: CUL1 dispatch Z0EF1020201788D01C7E10001190028
2012.12.21 17:26:57 5: CUL_MAX_Parse: len 14, msgcnt F1, msgflag 02, msgTypeRaw Ack, src 01788d, dst 01c7e1, groupid 0, payload 01190028
2012.12.21 17:26:57 5: CULMAX0 dispatch MAX,0,Ack,01788d,01190028
2012.12.21 17:26:57 5: MAX_Parse MAX,0,Ack,01788d,01190028
2012.12.21 17:26:57 5: MAX_Parse MAX,0,ThermostatState,01788d,190028
2012.12.21 17:26:57 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 1, valveposition 0 %, temperaturesetpoint 20, until , curTemp  

2012.12.21 17:29:46 5: CUL/RAW: /Z0CF2044201C7E101788D0028D6D6

2012.12.21 17:29:46 5: CUL1: Z0CF2044201C7E101788D0028D6 -95
2012.12.21 17:29:46 5: CUL1 dispatch Z0CF2044201C7E101788D0028D6
2012.12.21 17:29:46 5: CUL_MAX_Parse: len 12, msgcnt F2, msgflag 04, msgTypeRaw WallThermostatState, src 01c7e1, dst 01788d, groupid 0, payload 28D6
2012.12.21 17:29:46 5: CULMAX0 dispatch MAX,0,WallThermostatState,01c7e1,28D6
2012.12.21 17:29:46 5: MAX_Parse MAX,0,WallThermostatState,01c7e1,28D6
2012.12.21 17:29:46 1: MAX_Parse: Unknown message WallThermostatState
2012.12.21 17:29:46 5: CUL/RAW: /Z0EF2020201788D01C7E10001190028EF

2012.12.21 17:29:46 5: CUL1: Z0EF2020201788D01C7E10001190028 -82.5
2012.12.21 17:29:46 5: CUL1 dispatch Z0EF2020201788D01C7E10001190028
2012.12.21 17:29:46 5: CUL_MAX_Parse: len 14, msgcnt F2, msgflag 02, msgTypeRaw Ack, src 01788d, dst 01c7e1, groupid 0, payload 01190028
2012.12.21 17:29:46 5: CULMAX0 dispatch MAX,0,Ack,01788d,01190028
2012.12.21 17:29:46 5: MAX_Parse MAX,0,Ack,01788d,01190028
2012.12.21 17:29:46 5: MAX_Parse MAX,0,ThermostatState,01788d,190028
2012.12.21 17:29:46 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 1, valveposition 0 %, temperaturesetpoint 20, until , curTemp  
Raspberry 4 - FHEM 6.1 - HMLAN, CUL V3 433Mhz & 868Mhz, HM, Intertechno, HUE, Tasmota, Shelly, ESP Devices, Max! und Alexa - Banana PI zum testen

Matthias Gehre

Gibts die WTs auch als Plus Version?
Ich dachte nur die Heizkörperthermostate?

Die Meldung kommt, weil noch niemand weiß, wie die Pakete von den WT's dekodiert werden und was sie bedeuten.
Wahrscheinlich steht im payload (28D6) die aktuelle gemessene Temperatur drin,
und wahrscheinlich die eingestellte Temperatur. Muss man also gleichzeitig gucken,
was man davon am Thermostat ablesen kann, und dann findet man das Format raus.

lms-daniel

sind die WTs nicht alle "+ Version"?
Beim Hersteller eq-3 gibt es nämlich Bedienungsanleitungen für Heizkörperthermostat Normal-/ und Plus-Version sowie Wandthermostat NUR Plus-Version.

Ich hatte allerdings auch noch Fehler gemeldet:

1) Bei Versuch mit dem set die "eco- oder comfort-Temperature" eines WTs zu verändern erhalte ich in FHEM die Meldung: "Invalid windowOpenTemperature". Die eco- oder comfort-Temperature verändern sich nicht.

Im Log  zu finden:
2012.12.25 13:01:47 5: Cmd: >set MAX_03caf3 ecoTemperature 4.5<

2012.12.25 13:04:11 5: Cmd: >set MAX_03caf3 comfortTemperature 22.0<

2) Das nicht mit assosiate mit einem Heizkörperthermoatat "verheiratete" WT zeigt noch immer eine falsche Ist-Temperatur an.

WallMountedThermostat 03caf3
temperature   -6.2   2012-12-25 12:58:28

Anbei nochmal ein kompletter log, vielleicht hilfts....


Meesus

Es gibt laut ELV 2 unterschiedliche WT´s.
Was man auch an den  unterschiedliche Art.-Nr.
MAX! Wandthermostat WT+  Artikel-Nr.: 68-10 56 79
MAX! Wandthermostat  Artikel-Nr.: 68-09 91 07 sehen kann.
Wobei es aber im Forum bei ELV dazu gegensätzliche Aussagen gibt.
Das WT+, was  als "neu" abgebildet wird, kann auch ohne Cube in Verbindung zu mehreren HT´s  eingesetzt werden.  Anwender berichten aber, dass dieses auch vorher ohne Cube ging.  Vielleicht hat es auch nur eine neuere FW. Die IST-Temperatur kann ich leider nach dem paaren mit FHEM nicht mehr ablesen, was ja auch bei dem Cube nicht funktioniert. Ich werde mich wohl oder übel von dem Zusammenspiel CUL433 - MAX verabschieden und auf den Cube Bausatz warten  - 11 Wochen Lieferzeit  (//images/smiley_icons/icon_sad.gif)

Nachdem ich die Gerätschaften anders positioniert habe, kann die CUL durch die Keller Betondecke nicht mehr mit den MAX Geräten kommunizieren. Das war´s dann erst einmal. Ist wirklich besser mit 433 Mhz  f. d. IT / Baumarkt billig Steckdosen zu gebrauchen, da klappt es bis zu 3 Stockwerke hoch (//images/smiley_icons/icon_smile.gif)

Trotzdem vielen Dank für deine Unterstützung Matthias und für dein tolles MAX Projekt!!!

Gruß Micha
Raspberry 4 - FHEM 6.1 - HMLAN, CUL V3 433Mhz & 868Mhz, HM, Intertechno, HUE, Tasmota, Shelly, ESP Devices, Max! und Alexa - Banana PI zum testen

lms-daniel

Hallo Matthias,

erstmal Gutes Neues Jahr.
Besteht die Möglichkeit dass Du Dir mein Problem nochmals kurz ansiehst?
MAX_Parse: Unknown message WallThermostatState --> Beitrag #54176

Der set-Befehl für eco oder comfort-Temp funktioniert z.b. noch nicht. Fehlerbeschreibung im o.g. Beitrag.

Danke!!!

Matthias Gehre

Wenn beim Setzen von eco/comfort Temperatur "Invalid windowOpenTemperature" kommt:
Hat das Gerät auf der Übersichtsseite eine windowOpenTemperature? Was wird da angezeigt?

lms-daniel

Hallo Matthias,

ja hat eine Übersichtsseite:
windowOpenTemperature   36   2012-12-15 07:51:43

Steht bei allen meinen WTs (Wandthermostaten) auf 36 und alle zeigen den gleichen Fehler.
Die kann windowOpenTemperature kann ich aber bei WTs nicht ändern und scheinbar ist die beim WT unabhängig von den Heizkörperthermostaten (wird nicht syncronisiert oder so).

Matthias Gehre

Ein (möglicher) Fix ist commited, kommt morgen mit dem Update.

lms-daniel

Perfekt, jetzt klappts. DANKE! WindowOpenTemperature wird nun fest auf 12 gesetzt.
Zur Info hab ich mal die Übersichtsseite eines WTs angehängt...

Adam

Hallo,

erstmal ein riesen Lob für die tolle Integration von MAX Geräten in FHEM.
Ich bin völlig begeistert! Bin aber in beiden Dingen ein recht neuer Anwender,
daher habe ich eine Frage:

Ich habe seit heute ein WT+ angebracht und in FHEM integriert.
Mir ist aufgefallen, dass die Ist-Temperatur nicht angezeigt/uebertragen wird,
wenn displayActualTemperature=1 ist.
D.h. an meinem WT+ wird die Ist-Temperatur statt der Soll Temperatur angezeigt.
(ist mir persönlich lieber)
Sobald ich den Wert für displayActualTemperature=1 setze sehe ich im Log jedoch keine Einträge
mehr für temperature und das beim WT als auch bei den Thermostaten.

Nur zum Verständnis heisst das, dass die Geräte auch nichts mehr senden,
oder wird von fhem dann nicht mehr ausgewertet?

Hätte natürlich gern, das an meinem WT+ und in FHEM die Ist-Temperatur angezeigt wird!

Matthias Gehre

Hallo Adam,

es gibt zwei Möglichkeiten für den Fall displayActualTemperature=1:
1. Die WT übertragen dann keine Ist-Temperatur mehr
2. Die WT übertragen dann die Ist-Temperatur anders als vorher und wir wissen nur noch nicht wie

Benutzt du MAX_CUL?
Kannst du einen Log auf verbose 5 machen, einmal mit displayActualTemperature=0
und einmal mit displayActualTemperature=1
und jeweils dazu schreiben, welche desiredTemperature und gemessene Temperatur da herrscht?
Dann kann man diese Zahlen möglicherweise im Payload der Pakete identifizieren.

Adam

Hallo Matthias,

danke für die schnelle Antwort.

Ja das hatte ich vergessen zu schreiben: ich benutze einen CUBE.

Habe gestern erst nachdem ich den Eintrag hier verfasst habe, die Stelle im Wiki gesehen,
wo beschrieben ist, wann die IST-Temperaturen gesendet werden.

Habe heute Nacht ja mal mitgeloggt (ohne Verbose) beim WT+ und den zugehörigen Thermostaten
und da kann ich sehen, dass das beschriebene Verhalten auftritt:

Die IST-Temperatur wird scheinbar nur aktualisiert bei einer Änderung der:

    Ventilstellung
    Soll-Temperatur

Da ich Fhem zunächst neu gestartet habe mit displayActualTemperature=1 wurde keine IST-Temperatur angezeigt.
Erst nachdem heute früh durch das Wochenprogramm die Solltemperatur erhöht wurde,
ist eine temperature im Log sichtbar. Die bleibt dann so lange auf dem Wert bis ein Thermostat Ihre Ventilstellung ändert!

Das Verhalten ist natürlich schade, ich hätte mir gewünscht ständig die aktuelle IST-Temperatur zu verfolgen.

Wenn es doch noch was nützt (mit Cube und bekanntem Verhalteb) kann ich gern vom WT+ und einem der Thermostate
ein Log im Verbose Mode ziehen!?
(Aber dann erst heute nachmittag, muss meinen letzten Urlaubstag noch anders nutzen ;-) )

Adam

So habe nun endlich mal ein Log mit Verbose 5 hinbekommen.

Hier noch ein paar Erklärungen:


- MAX_CUBE mit ID 03fa91 ist der Cube
- MAX_TH_WAND mit ID 057fa4 ist das WT+
- gekoppelte Thermostate sind:
  MAX_TH_WZ_GROSS mit ID 04c9db
  MAX_TH_WZ_KLEIN mit ID 041ae4
- 21,9: Ist Temperatur des WT+ in FHEM
- 22,9: Ist Temperatur tatsächlich angezeigt am WT+ selber
- 23,0: Soll Temperatur

Matthias Gehre

Danke für das Log.
Habe ein paar Änderungen am WallThermostat Code vorgenommen.
Die richtige Temperatur habe ich gefunden.
Allerdings ist die Frage, was die "21,9 C" sind. Die werden
zusätzlich zu den anderen Zahlen (valveposition, desiredTemperature und temperature) gesendet.
(Um genau zu sein wird 219 gesendet. Vielleicht ist das gar keine Temperatur)

Bitte prüfe, ob es nach dem Update besser funktioniert.
Insbesondere ob die Readings desiredTemperature, temperature und displayActualTemperature
mit den Anzeigen am WallThermostat übereinstimmen.

Und vielleicht hast du eine Idee, was die andere Zahl bedeuten könnte?

Adam

Hi Matthias,

eigentlich war die IST-Temp am WT ja 22,9. In FHEM habe ich aber 21,9 gesehen.

Ich glaube eher, dass es daran lag, das die IST-Temp zu selten gesendet wird.

Aber egal ich werde Deine Änderungen heute abend mal testen und gebe Dir dann Bescheid!

Adam

Matthias Gehre

> eigentlich war die IST-Temp am WT ja 22,9. In FHEM habe ich aber 21,9 gesehen.
Im Paket kam aber sowohl 21,9 als auch 22,9 vor. Der Code interpretiert jetzt die zweite Zahl als gemessene Temperatur.

ne20002


Ich habe eben das update gemacht.

Nachdem der WallThermostatState per CUL gelesen wurde, habe ich in den readings state und desiredTemperature 0.0 stehen. Es sollte aber desiredTemp 14.0 sein (der HeizkörperThermostat hat das auch noch so).
Das reading temperature wurde scheinbar nicht aktualisiert.



Matthias Gehre

Was steht im Log dazu? Am besten nur die relevanten Teile (CUL_MAX_Parse und die Zeilen danach)

ne20002


Und nach einem Neustart erfolgt erst ein poll auf den Cube, welcher richtige Werte liefert.
Nach dem ersten MAXCUL ist folgendes falsch:
STATE 0.0 °C
desiredTemperature 0.0 (statt 14.0)
temperature 172   
valveposition 172 (beide Werte gleich, aber valve sollte nahe 0 sein, war vorher 4)

Und neu week-profile: Die stimmen.

Ich habe leider kein weiteres logging, da ich remote auf die Fritzbox schau.

Matthias Gehre

Das Log sieht man doch sogar im FHEMWEB links im Menü unter "Logfile".

ne20002

Und noch was: ich habe einen Thermostat und einen WallThermostat in dem Zimmer. Die Readings haben Unterschiede (decalcification, state, temperature, valveposition).

CUL:
battery                     ok         2013-01-11 16:22:58
comfortTemperature        21.5       2013-01-11 16:14:51
decalcification           Mon, 20:00 2013-01-11 15:28:54
desiredTemperature        0.0        2013-01-11 16:22:58
displayActualTemperature  1          2013-01-11 16:22:58
ecoTemperature            16         2013-01-11 16:14:51
maximumTemperature        30.5       2013-01-11 16:14:51
measurementOffset         0          2013-01-04 17:30:27
minimumTemperature        4.5        2013-01-11 16:14:51
mode                      temporary  2013-01-11 15:28:54
state                     0.0 °C     2013-01-11 16:22:58
temperature               172        2013-01-11 16:14:51
valveposition             170

MAXLAN:

battery                   ok         2013-01-11 16:22:58
boostDuration             5          2013-01-11 16:14:50
boostValveposition        80         2013-01-11 16:14:50
comfortTemperature        21.5       2013-01-11 16:14:50
decalcification           Sat, 12:00 2013-01-11 16:14:50
desiredTemperature        14.0       2013-01-11 16:22:58
ecoTemperature            16         2013-01-11 16:14:50
maxValveSetting           100        2013-01-11 16:14:50
maximumTemperature        30.5       2013-01-11 16:14:50
measurementOffset         0          2013-01-11 16:14:50
minimumTemperature        4.5        2013-01-11 16:14:50
mode                      temporary  2013-01-11 16:22:58
state                     14.0 °C    2013-01-11 16:22:58
temperature               20.9       2013-01-02 16:34:48
valveOffset               0          2013-01-11 16:14:50
valveposition             0          2013-01-11 16:14:50

Man sieht auch, dass der Thermostat seit 2.1. keine temperature gemeldet hat, da er bisher scheinbar nicht geregelt hat.



ne20002


Ja. Aber ich habe den loglevel noch auf default.

ne20002

Use of uninitialized value $temperature in concatenation (.) or string at /usr/share/fhem/FHEM/10_MAX.pm line 441.
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 438.
Use of uninitialized value $null1 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 439.
Use of uninitialized value $null2 in numeric ne (!=) at /usr/share/fhem/FHEM/10_MAX.pm line 439.
Use of uninitialized value $unk in concatenation (.) or string at /usr/share/fhem/FHEM/10_MAX.pm line 441.

Adam

Hallo Matthias,

ich habe nun auch endlich das Update machen können.

Nach dem Neustart von FHEM kann ich folgendes nun erstmal sehen:

Werte meines WT+:

desiredTemperature   23.0   2013-01-11 20:13:03
displayActualTemperature   1   2013-01-11 20:13:03
state                   23.0 °C   2013-01-11 20:13:03
temperature           225   2013-01-11 20:13:03
valveposition       4   2013-01-11 20:13:03

Die IST-Temperatur am WT+ wird auch tatsächlich mit 22.5 angezeigt,
d.h. es würde bis auf den fehlenden Punkt richtig angezeigt.
desiredTemperature und state passen auch!

Der Wert von valveposition 4 verstehe ich nicht. Der WT+ sollte ja wohl keinen haben.
Da stimmt was nicht?

Habe dann auch mal boost gesetzt und gesehen, dass die Temperatur vom WT+
dann auch als
temperature   227   2013-01-11 20:21:39
angezeigt wurde, was auch der aktuelle Wert auf dem WT+ ist.

Also über den Cube scheint dieser Wert nun richtig gesetzt zu werden!

Das normale Thermostat hat zunächst kein temperature Eintrag nach dem Start
in Fhem gehabt, nach dem boost ist auch dort die 22.7 zu sehen.

Die Logmeldungen vom WT+ sehen dabei immer gleich aus:
2013.01.11 20:21:23 5: MAX_Parse MAX,1,WallThermostatState,057fa4,18042e00e000e3
2013.01.11 20:21:23 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 4 %, desiredTemperature 23, unknown: 224, temperature 227

Was 224 sein könnte weiss ich leider nicht.

Das Thermostat wiederholständig folgende Meldung:
2013.01.11 20:21:08 5: MAX_Parse MAX,1,ThermostatState,04c9db,1b502e000000
2013.01.11 20:21:08 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 3, valveposition 80 %, desiredTemperature 23, until , curTemp

bis dann irgendwann folgende kommt:
2013.01.11 20:22:55 5: MAX_Parse MAX,1,ThermostatState,04c9db,1b502e00e300
2013.01.11 20:22:55 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 3, valveposition 80 %, desiredTemperature 23, until , curTemp 22.7
 

Adam

Es sieht jetzt auch so aus, dass die Anzeige in FHEM der temperature des WT+
also Ist Temperatur sofort angepasst wird, wenn sich die Anzeige am WT+ selber auch ändert.
Nur der fehlende Punkt wäre schön ;-)

Matthias Gehre

@Adam:
valveposition wird tatsächlich vom WandThermostat gesendet. Ich nehme an,
dass die Regelung am WandThermostat stattfindet, und es dann die Soll-Valveposition an die HeizkörperThermostate
übermittelt. Diese nehmen dann auch tatsächlich die Valveposition vom WandThermostat ein.

Mit dem nächsten Update wird die temperature auch durch 10 geteilt.

Schön, dass es mit dem Cube klappt.

@ne20002:
Ohne Log mit CUL_MAX_Parse kann ich nichts machen. Ich kann mir im Moment auch nicht vorstellen,
wo der Fehler liegt, da es mit dem Cube anscheinend klappt.

Matthias Gehre

Achja, ist displayActualTemperature auch korrekt?

Das sollte '1' sein, wenn das Wandthermostat so eingestellt ist, dass es die gemessene Temperatur zeigt,
und '0' wenn es die desiredTemperature zeigt. (Vgl. den setter dazu)

Adam

Hi,

ja das passt!!!
Ich kann auch über Fhem den Wert umsetzen und die Anzeige am WT ändert sich dann!
Alles super soweit!

Adam

Hi Matthias,

es kann sein, dass ich einen Hinweis auf die Zahl bei "unknown" gefunden habe.

Ich habe zwei Beispiele gefunden, wo das Thermostat wohl seine CurTemp meldet
und zur gleichen Zeit ändert sich der Wert bei unknown auf genau diesen Wert.
Kann das eventuell der empfangene Wert eines angekoppelten Thermostats sein?
Werde mal weiter loggen und danach schauen!

2013.01.11 21:57:04 5: MAX_Parse MAX,1,WallThermostatState,057fa4,19042a00e700e7
2013.01.11 21:57:04 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 1, valveposition 4 %, desiredTemperature 21, unknown: 231, temperature 231
2013.01.11 21:57:04 5: MAX_Parse MAX,1,ThermostatState,04c9db,19002a00e700
2013.01.11 21:57:04 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 1, valveposition 0 %, desiredTemperature 21, until , curTemp 23.1


2013.01.11 23:01:05 5: MAX_Parse MAX,1,WallThermostatState,057fa4,18041e00e400e4
2013.01.11 23:01:05 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 4 %, desiredTemperature 15, unknown: 228, temperature 228
2013.01.11 23:01:05 5: MAX_Parse MAX,1,ThermostatState,041ae4,19001e00e400
2013.01.11 23:01:05 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 1, valveposition 0 %, desiredTemperature 15, until , curTemp 22.8

Matthias Gehre

Das scheint zu passen. Guter Fund!
Allerdings tendiere ich dazu, den Wert nicht im WandThermostat anzuzeigen,
da er ja sowieso auf der Seite des jeweiligen Heizkörpers steht.

Oder was meinst du?

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

ne20002


Hallo Matthias,

der plot sieht jetzt richtig gut aus. Aber ein paar Fehlermeldungen bekomme ich noch im log:

1)

2013.01.14 23:57:15 5: CUL_0: Z0FE90503022A8C02A3A0000D0E56394C -31
2013.01.14 23:57:15 5: CUL_0 dispatch Z0FE90503022A8C02A3A0000D0E56394C
2013.01.14 23:57:15 5: CUL_MAX_Parse: len 15, msgcnt E9, msgflag 05, msgTypeRaw TimeInformation, src 022a8c, dst 02a3a0, groupid 0, payload 0D0E56394C
2013.01.14 23:57:15 5: CUL_MAX_Parse: Got TimeInformation: (in GMT) year 2013, mon 1, day 14, hour 22, min 57, sec 12, unk (2, 0, 1)
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2520.
2013.01.14 23:57:15 5: CUL/RAW: /Z11E9020202A3A0022A8C00011A041C108D0C2D

2013.01.14 23:57:15 5: CUL_0: Z11E9020202A3A0022A8C00011A041C108D0C -51.5
2013.01.14 23:57:15 5: CUL_0 dispatch Z11E9020202A3A0022A8C00011A041C108D0C
2013.01.14 23:57:15 5: CUL_MAX_Parse: len 17, msgcnt E9, msgflag 02, msgTypeRaw Ack, src 02a3a0, dst 022a8c, groupid 0, payload 011A041C108D0C
2013.01.14 23:57:15 5: MAXCUL0 dispatch MAX,0,Ack,02a3a0,011A041C108D0C
2013.01.14 23:57:15 5: MAX_Parse MAX,0,Ack,02a3a0,011A041C108D0C
2013.01.14 23:57:15 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1A041C108D0C
2013.01.14 23:57:15 2: Invalid WallThermostatState packet
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 537.
2013.01.14 23:57:15 5: desiredTemperature 0
2013.01.14 23:57:15 5: Triggering MAX_Wohnzimmer_Wandthermostat (2 changes)
2013.01.14 23:57:15 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 2520.

2)
Und dieses. Da hatte ich gerade die eco temperature per MAX von 14 auf 15 erhöht.

2013.01.15 08:58:48 5: CUL/RAW: /Z11EB0011022A8C02A3A0002B1E3D0907180356

2013.01.15 08:58:48 5: CUL_0: Z11EB0011022A8C02A3A0002B1E3D09071803 -31
2013.01.15 08:58:48 5: CUL_0 dispatch Z11EB0011022A8C02A3A0002B1E3D09071803
2013.01.15 08:58:48 5: CUL_MAX_Parse: len 17, msgcnt EB, msgflag 00, msgTypeRaw ConfigTemperatures, src 022a8c, dst 02a3a0, groupid 0, payload 2B1E3D09071803
2013.01.15 08:58:48 5: Unhandled message ConfigTemperatures
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2520.
2013.01.15 08:58:48 5: CUL/RAW: /Z11EB020202A3A0022A8C00011A041C108D0C2C

2013.01.15 08:58:48 5: CUL_0: Z11EB020202A3A0022A8C00011A041C108D0C -52
2013.01.15 08:58:48 5: CUL_0 dispatch Z11EB020202A3A0022A8C00011A041C108D0C
2013.01.15 08:58:48 5: CUL_MAX_Parse: len 17, msgcnt EB, msgflag 02, msgTypeRaw Ack, src 02a3a0, dst 022a8c, groupid 0, payload 011A041C108D0C
2013.01.15 08:58:48 5: MAXCUL0 dispatch MAX,0,Ack,02a3a0,011A041C108D0C
2013.01.15 08:58:48 5: MAX_Parse MAX,0,Ack,02a3a0,011A041C108D0C
2013.01.15 08:58:48 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1A041C108D0C
2013.01.15 08:58:48 2: Invalid WallThermostatState packet
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 537.
2013.01.15 08:58:48 5: desiredTemperature 0
2013.01.15 08:58:48 5: Triggering MAX_Wohnzimmer_Wandthermostat (2 changes)
2013.01.15 08:58:48 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 2520.

Und:

2013.01.15 09:00:48 5: CUL/RAW: /Z0EEC0540022A8C02A3A0019E108D1255

2013.01.15 09:00:48 5: CUL_0: Z0EEC0540022A8C02A3A0019E108D12 -31.5
2013.01.15 09:00:48 5: CUL_0 dispatch Z0EEC0540022A8C02A3A0019E108D12
2013.01.15 09:00:48 5: CUL_MAX_Parse: len 14, msgcnt EC, msgflag 05, msgTypeRaw SetTemperature, src 022a8c, dst 02a3a0, groupid 1, payload 9E108D12
2013.01.15 09:00:48 5: Unhandled message SetTemperature
Use of uninitialized value $found[0] in string eq at /usr/bin/fhem.pl line 2520.
2013.01.15 09:00:48 5: CUL/RAW: /Z11EC020202A3A0022A8C00011A041E108D122D

2013.01.15 09:00:48 5: CUL_0: Z11EC020202A3A0022A8C00011A041E108D12 -51.5
2013.01.15 09:00:48 5: CUL_0 dispatch Z11EC020202A3A0022A8C00011A041E108D12
2013.01.15 09:00:48 5: CUL_MAX_Parse: len 17, msgcnt EC, msgflag 02, msgTypeRaw Ack, src 02a3a0, dst 022a8c, groupid 0, payload 011A041E108D12
2013.01.15 09:00:48 5: MAXCUL0 dispatch MAX,0,Ack,02a3a0,011A041E108D12
2013.01.15 09:00:48 5: MAX_Parse MAX,0,Ack,02a3a0,011A041E108D12
2013.01.15 09:00:48 5: MAX_Parse MAX,0,WallThermostatState,02a3a0,1A041E108D12
2013.01.15 09:00:48 2: Invalid WallThermostatState packet
Use of uninitialized value $desiredTemperature in division (/) at /usr/share/fhem/FHEM/10_MAX.pm line 537.
2013.01.15 09:00:48 5: desiredTemperature 0
2013.01.15 09:00:48 5: Triggering MAX_Wohnzimmer_Wandthermostat (2 changes)
2013.01.15 09:00:48 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 2520.

Gruss,
 S.

Matthias Gehre

Hey,

das erste habe ich gefixt, das andere beiden sind eher Infos, dass wir mit den bestimmten Paketen nichts tun, keine Fehler.

Viele Grüße,
Matthias

svenkoethe

Ich ziehe den Thread nochmal hoch,

die Frage nach der Temperatur über 25,5° ist ja noch offen.

Also bei mir geht die Temperatur ab 25.5° am Wandthermostat auf 0.0° in FHEM.
Alles darüber wird in FHEM als Offset von 25.5° angezeigt Beispiel:

Thermostat 27.2° Anzeige FHEM 1.7°


2013.03.24 20:33:07 5: ml dispatch MAX,1,WallThermostatState,057ded,1904a801040011
2013.03.24 20:33:07 5: MAX_Parse MAX,1,WallThermostatState,057ded,1904a801040011
2013.03.24 20:33:07 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 1, displayActualTemperature 4, heaterTemperature , untilStr 1.0.4 0:00
2013.03.24 20:33:07 5: desiredTemperature 20, temperature 1.7
2013.03.24 20:33:07 5: Triggering Wand_Wohn (6 changes)
2013.03.24 20:33:07 5: Notify loop for Wand_Wohn mode: manual
2013.03.24 20:33:07 5: len 6, addr 051c88, initialized 0, valid 0, rferror 0, errframetype 9, answer 0, unkbit (0,0,0)
2013.03.24 20:33:07 5: len 6, addr 0614be, initialized 1, valid 1, rferror 0, errframetype 9, answer 0, unkbit (0,0,0)


Ich habe lange verzeifelt in sämtlichen Einstellungen und im Forum gesucht bis ich hier gefunden habe,
das diese Problem evtl. bekannt ist...

Gibt es hierzu bereits Neuigkeiten ?

Matthias Gehre