Fehler nach Update

Begonnen von gorax, 17 Dezember 2013, 16:29:55

Vorheriges Thema - Nächstes Thema

pet22

@ ChrisW - unter Weblinks in der Forum Übersicht --> FHEM Source Code oder http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/

@ Matthias - das gepatchte 10_MAX.pm läuft auch bei mir ohne Probleme.
Letzter verbliebener bug in der Vor-Version von Jürgen I. und im heutigen Patch:
Die Webansicht zeigt beim WT eine Auswahlmöglichkeit für boostValveposition und boostDuration die korrekterweise einen Fehler liefert:

ZitatUnknown argument boostValveposition, choose one of ........

Vielen Dank und guten Rutsch

Pet22


Debian 11/ Intel Atom MB/ CUL V3/ Raspberrymatic/ Homematic classic, Homematic IP, WTs & HTs

ws

pet22: ich konnte bei meinem WT keinen Fehler entdecken? Welche Ansicht meinst Du?

pet22

Hallo ws,

siehe Dateianlage.

Gruss

Pet22
Debian 11/ Intel Atom MB/ CUL V3/ Raspberrymatic/ Homematic classic, Homematic IP, WTs & HTs

jisleib

Hallo zusammen,

erst mal allen ein gutes neues Jahr

ich möchte hier mal aufklären. Ist zwar schon eine weile her daß ich mich damit beschäfftigt habe aber ich hoffe ich bekomm´s noch mal hin richtig zu erkären.

@pet22
zu a) Danke für die Korrektur, bei mir kam leider keine Fehlermeldung, weder im log noch auf der Konsole (warum?). Matthias hat es ja schon commited.

zu b) Die Auswahl macht hoffentlich nach meiner Erklärung Sinn

da es Probleme beim Setzen der ECO,Comfort,Min,Max und Windowopen in Bezug auf den Temperaturoffset am Wandthermostat gibt, auch in der orginalen MAX-Software, habe ich bevor eine der oben genannten Temeraturen an einem Heizungsthermostat verändert wird diese Möglichkeit unterbunden. Wenn ein Wandthermostat in der Gruppe erkannt wird können an den Heizthermostaten bei SET keine ECO,Comfort,Min,Max und Windowopen Temperaturen geändert werden, die settings gibt es dann einfach nicht mehr. Die Temperaturen dürfen nur am Wandthermostat geändert werden, die Heizungsthermostate bekommen durch das flag 04 und groupid die Werte aber auch mit, in den Readings ist das zu sehen. Der Offset wird immer ohne flag (00) und ohne groupid (00) gesendet, so bekommt nur der Wand- oder Heizthermostat das Telegramm ohne ein anderes Gerät damit zu beeinflussen. Es war recht schwer das herauszufinden, da auch die Orginalsoftware hier nicht korrekt arbeit. 

Zusammenfassend: Würde am Heizungsthermostat z.B. die ECO Temperatur verändert werden würde auch der Offset des Heizungsthermostaten an den Wandthermostaten mit geschickt werden und einen schon vorhandenen Offset im Wandthermostaten überschreiben. Durch die Änderungen geht das jetzt nur noch vom Wandthermostaten aus. Er schickt also bei Änderung der ECO,Comfort,Min,Max oder Windowopen auch seinen Offset an die Heizthermostate. Die reagieren aber nicht mehr darauf da gepairt mit Wandthermostat.

Der Fehler mit den boost Werten liegt bei mir. Ich hab vergessen Matthias noch die Änderung in 10_MAX.pm ab Zeile 304 zu senden.
Einfach das
}elsif(grep (/^\Q$setting\E$/, ("boostDuration", "boostValveposition", "decalcification","maxValveSetting","valveOffset"))
and $hash->{type} =~ /HeatingThermostat.*/){

gegen das tauschen
}elsif(grep (/^\Q$setting\E$/, ("boostDuration", "boostValveposition", "decalcification","maxValveSetting","valveOffset"))
and $hash->{type} =~ /Thermostat.*/){

danach können die boost Werte geändert werden. War mein Fehler, sorry.

der Boost wird aktuell nur im jeweiligen Gerät geändert, also nicht in der Gruppe, was dazu führt das bei unterschiedlichen Werten die Geräte auch unterschiedliches beim Betätigen von boost anzeigen. Hier gibt es also noch Optimierungspotenzial. Ziel sollte wieder der Wandthermostat sein in der Gruppe, oder ?

zu c) sollte mit b) geklärt sein. Ich kann nicht direkt Änderungen durchführen, hab keinen Zugang.  Ich werde Matthias noch bitten die obere Änderung zu commiten.

Grüsse Jürgen

pet22

Hallo Jürgen,

erst mal allen ebenfalls ein gutes Neues Jahr.

Vielen Dank für deine Erläuterungen.

a) der Dank gebührt "ws" und "gorax". Nur haben die beiden es in "bits'n pieces" beschrieben, somit haben sich Einträge ... seit Tagen eine Fehlermeldung ... invalid value ... im Forum gehäuft. Matthias hat es dann als Profi eleganter gelöst.

b) so langsam versteh ich die Absicht, die dahinter steckt. Allerdings tritt/ trat das geschilderte Problem vorher bei mir nie auf:

  • nur (1) WT+ und nur (1) HT sind gepaired
  • beide haben die gleiche groupID
  • HT hatte measurementOffset 0 - meine Annahme war WT+ ist alleine zuständig für Ist-/ Sollwert-Vergleich
  • vor Einführung des measurementOffset beim WT habe ich eben die eco/comfort Temperatur entsprechend verdreht, um einen Offset zu haben.
  • nachdem ich es eben im WebIF von FHEM kontrolliert habe, sehe ich, dass der gleiche measurementOffset bei WT+ und HT eingestellt ist.

Von mir gibt es keine Einwände, dass Eingaben nur noch am WT/ WT+ gemacht werden können, da es Inkonsistenzen bei der Eingabe vermeidet.
Danke und Gruss

Pet22
Debian 11/ Intel Atom MB/ CUL V3/ Raspberrymatic/ Homematic classic, Homematic IP, WTs & HTs

Matthias Gehre

Fix ist committed. Danke an alle, die mitgewirkt haben :-)

pet22

Hallo Matthias und Jürgen,

war gerade am Testen, da Gäste ausgeflogen.

Der Vorschlag von Jürgen ab Zeile 304 (in der neuesten Version 306) zu ändern in:

}elsif(grep (/^\Q$setting\E$/, ("boostDuration", "boostValveposition", "decalcification","maxValveSetting","valveOffset"))
and $hash->{type} =~ /Thermostat.*/){


Erzeugt bei mir folgende Log-Meldungen für den Thermostat:

Zitat2014.01.02 12:39:16 2: MAX: Invalid value  for READING decalcification. Forcing to Sat 12:00
2014.01.02 12:39:16 2: MAX: Invalid value  for READING maxValveSetting. Forcing to 100
2014.01.02 12:39:16 2: MAX: Invalid value  for READING valveOffset. Forcing to 0

Änderungen mit dem WebIF sind nicht möglich, da die Setter fehlen. Änderungen auf der Kommandozeile erzeugen die Fehlermeldung:

ZitatUnknown argument maxValveSetting, choose one of ......

Da mein CUL über 2 Stockwerke Entfernung "taubstumm" ist, kann ich nicht beurteilen, was die eigentliche Ursache ist.

Gruss

Pet22
Debian 11/ Intel Atom MB/ CUL V3/ Raspberrymatic/ Homematic classic, Homematic IP, WTs & HTs

pet22

Nachtrag:

der heutige Patch von Matthias:

@@ -304,7 +304,7 @@
     return ($hash->{IODev}{Send})->($hash->{IODev},"SetTemperature",$hash->{addr},$payload, groupId => sprintf("%02x",$groupid), flags => ( $groupid ? "04" : "00" ));

   }elsif(grep (/^\Q$setting\E$/, ("boostDuration", "boostValveposition", "decalcification","maxValveSetting","valveOffset"))
-      and $hash->{type} =~ /HeatingThermostat.*/){
+      and $hash->{type} =~ /.*Thermostat.*/){

     my $val = join(" ",@args); #decalcification contains a space


erzeugt keinerlei Fehlermeldungen im Log oder auf der Konsole. Per "set" gesetzte Werte bleiben erhalten.

Sieht gut aus, Gruss

Pet22
Debian 11/ Intel Atom MB/ CUL V3/ Raspberrymatic/ Homematic classic, Homematic IP, WTs & HTs

Franz Tenbrock

#23
Hallo an alle,
habe gestern mittag den maxlan in FHEM integriert, hat auch alles super geklappt,
habe die ganzen Logfiles auskommentiert da ich schnell gesehen habe das meine Fritz volläuft und ich die Werte auch nicht brauche

Habe zwischenzeitlich weitergesucht und was zu verbose gefunden
hatte in der fhem.cfg

attr global verbose 5

stehen
das hab ich nun auf 2 geändert, damit sollte das unten stehende erledigt sein ?!
Bis man halt alle Kommandos als Anfänger verstanden hat :-(

Ev kann es ja doch ncoh einer überfliegen

define MAX_0a05b2 MAX WallMountedThermostat 0a05b2
attr MAX_0a05b2 alias WZ_Th
attr MAX_0a05b2 group Heizung
attr MAX_0a05b2 room MAX
#define FileLog_MAX_0a05b2 FileLog ./log/MAX_0a05b2-%Y.log MAX_0a05b2
#attr FileLog_MAX_0a05b2 logtype text
#attr FileLog_MAX_0a05b2 room MAX


So sind dann auch die ganzen Logfiles verschwunden und ich dachte alles ist ok
Kurz nach o Uhr dann wurde aber nichts mehr gelogt und alle Plots die super funktionierten waren heute morgen leer
:-(
im Explorer hab ich dann gesehen das der Speicher der Fritz voll ist   :-\
Dann hab ich gesehen das die fhem.log riesig ist.
Ohne Ende Einträge von max
Alles unbrauchbares Zeug was ich da nciht haben will

Ohne Ende Einträge wie das hier
014.01.11 11:23:10 5: MAX_Parse MAX,1,ThermostatState,09932d,19081f00bb00
2014.01.11 11:23:10 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 1, valveposition 8 %, desiredTemperature 15.5, until , curTemp 18.7
2014.01.11 11:23:10 5: Triggering MAX_09932d (6 changes)
2014.01.11 11:23:10 5: Notify loop for MAX_09932d mode: manual
2014.01.11 11:23:10 5: Triggering MAX_09932d (5 changes)
2014.01.11 11:23:10 5: Notify loop for MAX_09932d MAXLAN_initialized: 1
2014.01.11 11:23:10 5: len 11, addr 09935f, initialized 1, valid 1, error 0, errCmd 09, answer 0, unkbit (0,0,0)
2014.01.11 11:23:10 5: ml dispatch MAX,1,ThermostatState,09935f,181c2a00e800
2014.01.11 11:23:10 5: MAX_Parse MAX,1,ThermostatState,09935f,181c2a00e800
2014.01.11 11:23:10 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 28 %, desiredTemperature 21, until , curTemp 23.2
2014.01.11 11:23:10 5: Triggering MAX_09935f (6 changes)
2014.01.11 11:23:10 5: Notify loop for MAX_09935f mode: auto
2014.01.11 11:23:10 5: Triggering MAX_09935f (5 changes)
2014.01.11 11:23:10 5: Notify loop for MAX_09935f MAXLAN_initialized: 1
2014.01.11 11:23:10 5: len 11, addr 0bab14, initialized 1, valid 1, error 0, errCmd 09, answer 0, unkbit (0,0,0)
2014.01.11 11:23:10 5: ml dispatch MAX,1,ThermostatState,0bab14,18182700c500
2014.01.11 11:23:10 5: MAX_Parse MAX,1,ThermostatState,0bab14,18182700c500
2014.01.11 11:23:10 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 24 %, desiredTemperature 19.5, until , curTemp 19.7
2014.01.11 11:23:10 5: Triggering MAX_0bab14 (6 changes)
2014.01.11 11:23:10 5: Notify loop for MAX_0bab14 mode: auto


Wie ihr sehr hab ich shcon gesucht und bin hier gelandet. Aber das sind ja eigentlich keine Fehlermeldungen ....
Einer einen kurzen Tip was zu tun ist?




Bin leider nur Anwender und kein IT Freak ( kann ja noch werden )
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Joachim

Zitatattr global verbose 5

Danach auch ein shutdown restart gemacht?
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Franz Tenbrock

Ja
natürlich,  mit verbose gleich 1 oder 2 ist jetzt auch alles ok
und die Daten die ich haben will werden auch geloggt und geplottet
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi