TempList an HM-CC-RT-DN, Temp. Fehler im Thermostat

Begonnen von franky08, 04 November 2013, 20:33:11

Vorheriges Thema - Nächstes Thema

franky08

Hallo, mir ist aufgefallen das die TempList beim übertragen über set TempList oder aus 99_myUtils heraus fehlerhaft ist. Das betrifft die Zeit 24:00 xx.x(Temp). Bei manueller Eingabe am RT wird als letzte Zeit 23.59 Uhr akzeptiert, fhem möchte aber als letzte Uhrzeit 24:00 Uhr haben. Ich denke das da der Fehler liegt. Auszug aus meiner 99_myUtils:
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
######################################################
# Temperatur-Liste für Kueche
#
######################################################
sub

SetTempList_Kueche_Heizung()
       {
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListMon prep 06:00 21.0 08:00 19.5 12:00 19.0 14:00 19.5 18:30 23.5 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListTue prep 06:00 21.0 08:00 19.5 12:30 19.0 14:00 19.5 18:30 23.5 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListWed prep 06:00 21.0 08:00 19.5 12:30 19.0 14:00 19.5 18:30 23.5 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListThu prep 06:00 21.0 08:00 19.5 12:30 19.0 14:00 19.5 18:30 23.5 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListFri prep 06:00 21.0 08:00 19.5 12:30 19.0 14:00 19.5 18:30 23.5 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListSat prep 07:00 20.0 09:00 21.0 12:00 20.5 14:00 19.0 18:00 20.0 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListSun exec 07:00 20.0 09:00 21.0 12:00 20.5 14:00 19.0 18:00 20.0 24:00 19.0")};
      }
# End SetTempList_Kueche_Heizung
#


Wenn ich diese Liste an den RT übertrage stimmen alle Werte, nur der 24:00 Uhr Wert nicht.

VG Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Joachim

Moin Frank,

ohne dass ich jetzt einen HM-CC-RT-DN habe, nach meinem Kenntnisstand gibt es 24:00 Uhr nicht, das ist 0:00 Uhr.

Gruß Joachim
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

franky08

#2
Hallo Joachim, wenn man versucht als letzte Zeit 0:00 zu programmieren, dann meckert fhem "letzte Zeit muss 24:00 sein o.ä.)
Das Dilemma ist das fhem als letzte Zeit 24:00 möchte und der RT 23.59, bei dem gibt es kein 24:00.

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Joachim

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

martinp876

Hi,

ich sehe erst einmal kein Problem - ich denke ihr müsst nur die Darstellung verstehen.
23:59 kann man nicht einstellen - das ist ein darstellungs--gimmik

der RT zeigt, wenn man durchklickt:
temp1 ->zeit1 ->temp2 ->zeit2 ->tem3 ->zeit3 ....

fhem programmiert (TC und RT)
zeit1->temp1 ->zeit2 ->temp2 ->zeit3 ->tem3  ....

Die Zeit ist in beiden Fällen die "End-Zeit" der temperatur.
Am Ende muss in FHEM 24:00 stehen - der rt zeigt 23:59 an. Das kann man verkraften.

Klärt das die Darstellung?
Gruss Martin

franky08

#5
Hallo Martin, es fehlt trotzdem der letzte Temperaturwert und alle programmierten "rutschen" um eine Uhrzeit "nach oben". Temp List wie folgt:
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
######################################################
# Temperatur-Liste für Kueche
# setzen per Aufruf von "{SetTempList_Kueche_Heizung}"
# Vorsicht, da kein HM-CC-TC, sondern HM-CC-RT-DN, ist hier ein anderer Channel
# zu nehmen. Zudem wird mit prep|exec gearbeitet, um nicht alle Zeilen als
# einzelnen Befehl zu senden, sondern per "prep" erst alles zusammen
# zu fassen und dann per "exec" an das Thermostat zu senden.
# Also als ein einziger Befehl statt sieben. Vermeidet "NACKs"
######################################################
sub

SetTempList_Kueche_Heizung()
       {
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListMon prep 06:00 21.0 08:00 19.5 12:00 20.5 14:00 21.0 18:30 23.0 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListTue prep 06:00 21.0 08:00 19.5 12:30 19.0 14:00 21.0 18:30 23.0 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListWed prep 06:00 21.0 08:00 19.5 12:30 19.0 14:00 21.0 18:30 23.0 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListThu prep 06:00 21.0 08:00 19.5 12:30 19.0 14:00 21.0 18:30 23.0 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListFri prep 06:00 21.0 08:00 19.5 12:30 19.0 14:00 21.0 18:30 23.0 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListSat prep 07:00 20.0 09:00 21.0 12:00 20.5 14:00 21.0 18:00 23.0 24:00 19.0")};
{ fhem ("set Kueche_Heizung_ClimRT_tr tempListSun exec 07:00 20.0 09:00 21.0 12:00 20.5 14:00 21.0 18:00 23.0 24:00 19.0")};
      }
# End SetTempList_Kueche_Heizung
#


Und im RT steht dann:
00:00 21.0 06:00 19.0 08:00 20.5 12:00 21.0 14:00 23.0 18:30 19.0

der letzte Zeit/Temp Wert ist im RT 18:30 mit 19°C die sollen aber laut TempList der Zeit ab 24:00 Uhr zugewiesen werden!
VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

martinp876

Hallo Frank,

stimmt doch. Du musst nur die Anleitung lesen

06:00 21.0 08:00 19.5 12:00 20.5 14:00 21.0 18:30 23.0 24:00 19.0
bedeuten
06:00 21.0 : 00:00 bis 06:00 = 21.0
08:00 19.5 : 06:00 bis 08:00 = 19.5
12:00 20.5 : 08:00 bis 12:00 = 20.5
14:00 21.0 : 12:00 bis 14:00 = 21.0
18:30 23.0 : 14:00 bis 18:30 = 23.0
24:00 19.0 : 18:30 bis 24:00 = 19.0

und das ist genau, was der RT anzeigt.
Es beginnt immer um 00:00 für jeden Tag

Gruss Martin

franky08

#7
Das ist mir nicht aufgefallen, dass es sich um den bis Wert handelt  :-[

Danke dir Martin
Wie kann ich die TempList aus dem RT auslesen, so das die geänderten Werte in den Readings auftauchen ?

Gruß Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Mr. P

Hej Frank,

sollten eigentlich nach einer Zeit von selbst ausgelesen werden.
Beschleunigt werden kann das Auslesen wie immer mit:

set <DEIN_RT> getConfig
Greetz,
   Mr. P

franky08

#9
Da warte ich jetzt seit einer Stunde nach get Config, bis jetzt keine Daten angekommen, vieleicht ist der RT noch beschäftigt -).

P.S. kaum geschrieben und jetzt hat er endlich die Readings gebracht

VG

Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

martinp876

Hi Frank,

ja, das auslesen sollte automatisch passieren - nur der RT ist nach dem Schreiben oft etwas müde - da muss man eine Pause einlegen - daher geht das auslesen schief (weil es nicht wartet).
Du solltest ein entsprechendes fehlerereigniss in "prot" sehen.
Ich habe gerade eine Version gebastelt, die das berücksichtigt - werde ich gleich einchecken. Nach dem Schreiben wird bei wakeup devices noch einmal probiert (bei kleinen Häppchen geht es gut) dann wird auf das nächste Aufwachen gewartet.

Voraussetzung für automatisches auslesen ist, dass du das autoReadReg auf level 4 gelassen hast (default). wenn du es ausschaltest wird natürlich nicht automatisch  gelesen.

Gruss Martin