FHEM Forum

FHEM - Hausautomations-Systeme => MAX => Thema gestartet von: Schnup am 19 Oktober 2013, 21:39:57

Titel: MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Schnup am 19 Oktober 2013, 21:39:57
Hallo,

nach einem Jahr voller Frust mit der eQ3-MAX-Software bin ich froh mit FHEM eine flexible Lösung für meine Heizungssteuerung gefunden zu haben, endlich ist es möglich die sinnlose Abgrenzung zwischen MAX! den anderen eQ3-Systemen zu überwinden.
Ein großes Lob und vielen Dank an die Entwickler!

Mir ist aufgefallen, dass das Wochenprofil des MAX-Wandthermostaten nicht korrekt aus dem MAX-Cube/MAXLAN übernommen wird.
Fhem.log für Wandthermostat:
5: MAX_Parse MAX,1,WallThermostatConfig,02a9dd,18,22,30.5,4.5, |Block von 370 Zeichen|
2: MAX: Invalid value |370 Zeichen| for READING .weekProfile. Forcing to |364 Zeichen|
5: Triggering WT_Bu (19 changes)

Bei den Heizkörper-Thermostaten ist es in Ordnung:
5: MAX_Parse MAX,1,HeatingThermostatConfig,014a0f,18.0,22.0,on,off,80,2,0,12.0,15,100,0,0,12, |Block von 364 Zeichen|
5: Triggering HT_BuTur (27 changes)

Anscheinend ist der Block von 370 Zeichen für das Wochenprofil beim Wandthermostaten zu lang, beim HK-Thermostat sind es nur 364 Zeichen, genau soviel werden auch bei "Forcing to" an den WT übergeben.
Wenn ich den Zahlenblock für das Wochenprofil richtig deute, besteht er aus (12 +40) Zeichen * 7 Tage = 364 Zeichen. Beim WT werden also zusätzlich noch sechs Zeichen übergeben, bei meinen Versuchen mit unterschiedlichen Profilen waren es immer die Zeichen "071830".

Gibt es dafür bereits schon eine Lösung, die ich eventuell übersehen habe?

Zum ersten Test läuft Perl bei mir unter Win XP.
FHEM Version 5.5: MAXLAN (2013-07-18 22:17:32) und MAX (2013-09-02 13:01:38)
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Matthias Gehre am 21 Oktober 2013, 16:42:49
Hallo,

du hast ja schon viel herausgefunden. Stehen die zusätzlichen Bytes "071830" am Anfang oder am Ende des Blocks von 370 Zeichen?
Sobald ich das weiß, kann ich diese erst mal ignorieren lassen, sodass wenigstens das weekprofile richtig angezeigt und gesetzt werden kann.
Auf lange Sicht wäre es natürlich toll, wenn man herausfindet, was diese zusätzlichen Bytes bedeuten.

Viele Grüße
Matthias
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Schnup am 22 Oktober 2013, 00:04:12
Hallo Matthias,

die sechs Bytes stehen hinter dem Block, habe meine "formatierte" Log-Datei angehängt.

Gruß

Jürgen
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Matthias Gehre am 23 Oktober 2013, 11:01:18
Bitte probiere mal folgenden Patch aus (ich hab leider kein Wandthermostat und kann es nicht selbst testen):

diff --git a/FHEM/10_MAX.pm b/FHEM/10_MAX.pm
index 4cb09f7..e2299e9 100755
--- a/FHEM/10_MAX.pm
+++ b/FHEM/10_MAX.pm
@@ -742,7 +742,13 @@ MAX_Parse($$)
       readingsBulkUpdate($shash, "decalcification", "$decalcDays{$args[11]} $args[12]:00");
       readingsBulkUpdate($shash, ".weekProfile", $args[13]);
     } else {
-      readingsBulkUpdate($shash, ".weekProfile", $args[4]);
+      my ($weekProfile, $unknownBytes) = $args[4] =~ m/^(.{364})(.*)$/;
+      readingsBulkUpdate($shash, ".weekProfile", $weekProfile);
+      #We still have to find out what $unknownBytes mean, so hopefully
+      #we can observe some other values
+      if($unknownBytes ne "071830") {
+        Log GetLogLevel($shash->{NAME}, 2), "While parsing weekProfile of WallThermostat: Additional bytes $unknownBytes differ from 071830. Please report to http://forum.fhem.de/index.php?topic=15567";
+      }
     }

    MAX_ParseWeekProfile($shash);
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Schnup am 23 Oktober 2013, 13:43:17
Hat funktioniert, das Wochenprofil wird richtig eingelesen, herzlichen Dank.
Werde später noch weiter testen, vorab die Log-Datei (ab 12:54 Uhr ist der neue Code aktiv).

Jürgen
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Matthias Gehre am 23 Oktober 2013, 18:18:42
Habs eingecheckt.
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: watz am 24 Oktober 2013, 15:05:48
Hallo,

habe das gerade mit meinem Wandthermostat auch getestet und zumindest bei mir sind die unknownBytes immer leer. Habe den neu hinzugekommen "Log-Teil" von 10_MAX bei mir leicht verändert um das besser nachvollziehen zu können:

   745       my ($weekProfile, $unknownBytes) = $args[4] =~ m/^(.{364})(.*)$/;
    746       readingsBulkUpdate($shash, ".weekProfile", $weekProfile);
    747       #We still have to find out what $unknownBytes mean, so hopefully
    748       #we can observe some other values
    749       if( $unknownBytes eq "" ) {
    750         Log GetLogLevel($shash->{NAME}, 2), "While parsing weekProfile of WallThermostat: Additional bytes are empty. Please report to http://forum.fhem.de/index.php?topic=15567";
    751       } elsif( $unknownBytes ne "071830") {
    752         Log GetLogLevel($shash->{NAME}, 2), "While parsing weekProfile of WallThermostat: Additional bytes $unknownBytes differ from 071830. Please report to http://forum.fhem.de/index.php?topic=15567";
    753       }
    754     }


Der Eintrag nach einem "shutdown restart" sagt bei mir nun eindeutig:

2013.10.24 14:59:07 3: maxcube device opened
2013.10.24 14:59:07 2: While parsing weekProfile of WallThermostat: Additional bytes are empty. Please report to http://forum.fhem.de/index.php?topic=15567


Es bleibt also rätselhaft...
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: jisleib am 24 Oktober 2013, 17:00:56
Hallo,

ich hab das bei mir auch mal nachgeschaut. Kein Problem auch ohne den Patch. Ich hab 3 Wandthermostate.

@schnup

schau mal bitte in dem log nach so einer Zeile für einen WallMountedThermostat:

2013.10.24 16:33:19 5: MAXLAN_Parse: len 203, addr 06a290, devicetype 3, firmware 16, testresult 0, groupid 1, serial KEQ0005815

hier erkennt man die Länge des Config-Telegramms (203), den Devicetype (3) und die Firmware (1.6)

Grüß Jürgen
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Schnup am 24 Oktober 2013, 21:49:48
Hallo Jürge I.,

bei mir sieht die Zeile so aus:

2013.10.23 12:57:44 5: MAXLAN_Parse: len 206, addr 02a9dd, devicetype 3, firmware 18, testresult 255, groupid 2, serial IEQ0494104

Der Unterschied von len 203 bei firmware 16 zu 206 bei fw 18 wären ja die 6 Zeichen / 3 Byte.

Nach dem Patch kann ich jetzt auch ein neues Wochenprofil an das Wandthermostat senden, es wird richtig ausgeführt und auch wohl vom Cube angenommen.
In der MAX!-Software (1.4) wird die Änderung nicht angezeigt, wahrscheinlich wird dort nur das Profil eine HK-Thermostaten ausgewertet, beim WT stehen die neuen Werte auch in der eQ3-Log!

Jürgen S.
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Mr.Heat am 27 Oktober 2013, 23:55:27
Danke für den Fix. Jetzt funktioniert es einwandfrei!
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: jisleib am 11 November 2013, 12:30:35
Hallo,

von ELV gibt´s jetzt auch eine neue MAX!-Software Version 1.3.10. Der Cube bekommt ein Update. Danacht wird die Isttemperatur der Wandthermostate mit angezeigt (auch ohne Update der Firmware des Wandthermostaten). Jetzt kann zusätzlich über die Software ein Offset für die Wandthermostate eingegeben werden. Das Wandthermostat sendet jetzt 206 statt 203 Bytes, die 3 Bytes mehr sind 1. Offset 2. WindowopenTemperatur 3. Boost

Das 071830 bedeutet in dem Fall Offset von 0°C (07), Temperatureinstellung bei Fenster offen von 12°C (18h=>24/2) und Boost von 5 Minuten mit 80% Ventilstellung (30).

Grüße Jürgen
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: juergen012 am 02 Dezember 2013, 17:56:33
Hallo, seit kurzem habe ich auch fhem mit dem MAX! System an der FB in Betrieb. Leider bekomme ich folgende Fehlermeldung:

2013.12.02 17:53:47 3: Opening ml device 192.168.1.106:62910
2013.12.02 17:53:47 3: ml device opened
2013.12.02 17:53:48 2: MAX: Invalid value 44605c7e54b45d0e44004520452045204520452045204520452044605c7e5cb4650e44004520452045204520452045204520452044485c6c54b45d0e44004520452045204520452045204520452044485c6c54b45d0e44004520452045204520452045204520452044485c6c54b45d0e44004520452045204520452045204520452044485c6c54b45d0e44004520452045204520452045204520452044485c6c54b45d0e440045204520452045204520452045204520071430 for READING .weekProfile. Forcing to 444855084520452045204520452045204520452045204520452044485508452045204520452045204520452045204520452045204448546c44cc55144520452045204520452045204520452045204448546c44cc55144520452045204520452045204520452045204448546c44cc55144520452045204520452045204520452045204448546c44cc55144520452045204520452045204520452045204448546c44cc5514452045204520452045204520452045204520

Ich habe versucht, dies mit demo.a. Patch zu fixen, aber ohne Erfolg. Was mache falsch??
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: muschelschubser am 03 Dezember 2013, 21:40:27
Hallo juergen012,

das Problem hatte ich bis gerade auch.
Falls Du einen "set max_device weekprofile <weekprofile>" Befehl nutzt, musst Du mit Leerzeichen und Zeilenumbrüchen aufpassen, die werden nicht richtig "geparsed". (Oder es ist so gewollt, das weiss ich nicht)
Also, wenn Dein weekprofile so aussieht (als Beispiel):
set WZ_Wandthermostat weekProfile Mon 17,17:30,20,23:00,17 Tue 17,17:30,20,23:00,17 Wed 17,17:30,20,23:00,17 Thu 17,17:30,20,23:00,17 Fri 17,15:00,20,23:00,17 Sat 17,11:00,20,23:00,17 Sun 17,11:00,20,23:00,17

wird es funktionieren. Machst Du es so wie im Wiki http://www.fhemwiki.de/wiki/MAX (http://www.fhemwiki.de/wiki/MAX) beschrieben, kommt besagte Fehlermeldung.

muschelschubser
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: juergen012 am 05 Dezember 2013, 13:58:46
Hallo muschelschubser,
Danke für den Tipp. Das werde ich dann nachehr gleich mal testen, wenn ich wieder im Hause bin. Ich werde dann berichten.
Beste Grüße
Jürgen K.
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: juergen012 am 05 Dezember 2013, 17:38:07
Hallo, habe soeben das fhem neu aufgesetzt und alle Komponenten neu installiert. Leider funktioniert das MAX! immer noch nicht. Der Fehler besteht immer noch. Jetzt werde ich den Cube mal auf Firmware zurücksetzten und dann nochmals mit fhem verbinden..
Beste Grüße
Jürgen K.
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: juergen012 am 05 Dezember 2013, 18:36:37
Hallo,
ich geb´s auf. Nach stundenlangen suchen bleibt der Fehler bestehen. Habe den Cube und fhem komplett zurückgesetzt, das weekprofile neu installiert..ohne Erfolg. Ich steuere jetzt eben nur mit der MAX Software...schade.
Beste Grüße
Jürgen K.
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Owel am 16 Januar 2014, 07:08:25
Hallo, ich habe diese Fehlermeldung bei meinen Heizkörperthermostaten!

hier die Fehlermeldung
MAX: Invalid value  for READING .weekProfile. Forcing to 444855084520452045204520452045204520452045204520452044485508452045204520452045204520452045204520452045204448546c44cc55144520452045204520452045204520452045204448546c44cc55144520452045204520452045204520452045204448546c44cc55144520452045204520452045204520452045204448546c44cc55144520452045204520452045204520452045204448546c44cc5514452045204520452045204520452045204520


So wie es aussieht ist der value leer.
Kennt ihr dieses Verhalten?
Der Fehler tritt nach einem set <device> weekProfile auf.
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Jonny Controlletti am 26 Januar 2014, 00:57:22
Hallo,

habe das selbe Problem mit FHEM auf der Fritzbox 7390.
Der Fehler rührt scheinbar davon das FHEM die Meldungen der Wandtermostate beim auslesen nicht ins Profil eintragen kann.
Jedenfalls werden die Heizkörperthermostate richtig angezeigt, nur die Wandthermostat - Wochenprofile sind falsch in FHEM.
So das mein LOG der FHEM immer voller wird.
Könnte sich das mal Matthias Gehre anschauen ??

Ebenfalls bin ich doch schon etwas enttäuscht über die leere deutsche Übersetzung der FHEM-MAX-Command-REVs

Da ich programmiertechnisch nicht so beflissen bin, könnte mir mal jemand erklären wie man die detailierten LOG der Geräte bekommt?
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Matthias Gehre am 12 Februar 2014, 19:10:24
In fhem.cfg
attr global verbose 5
eintragen führt zu einem detailierteren Log.
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Glühbirne am 26 Februar 2014, 19:45:58
Hallo ich möchte gerade von meiner Fritzbox 7390 auf einen Raspi umziehen, und habe auf dem Raspi auch den Fehler
"MAX: Invalid value 44605c7e54b45d0e44004520452045204......for READING .weekProfile. Forcing to  ....." komischerweise auf der fritzbox zeigt sich das nicht.
wo liegt der Haken? was muss ich tun um den Bug auf dem Raspi zu beseitigen?

Viele Grüße
Jürgen
Titel: Antw:MAX Wandthermostat: Invalid value bei weekProfile von Max!Cube
Beitrag von: Glühbirne am 26 Februar 2014, 20:58:01
Hat sich erledigt Fehler nach Update verschwunden.
Ich hatte vergessen nach Installation von fhem ein update zu starten.