falsche Werte beim Auslesen des Party-Modus am Thermostat

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
andr.schwarz
Beiträge: 2
Registriert: 22.10.2017, 18:23

falsche Werte beim Auslesen des Party-Modus am Thermostat

Beitrag von andr.schwarz » 22.10.2017, 18:42

Ich möchte den Party-Modus für an einem Thermostat einstellen und die Einstellung dann per manuel gestartetem scrip in der CCU2 (2.29.23) auf alle anderen "kopieren".
Dafür habe ich ein Testscript geschrieben um das zu probieren (ertmal auslesen):

Code: Alles auswählen

WriteLine("Begin");
WriteLine("Start:");
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_START_TIME").State());
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_START_DAY").State());
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_START_MONTH").State());
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_START_YEAR").State());
WriteLine("STOP:");
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_STOP_TIME").State());
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_STOP_DAY").State());
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_STOP_MONTH").State());
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_STOP_YEAR").State());
WriteLine("CONTROL_MODE ; Themp:");
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.CONTROL_MODE").State());
WriteLine(dom.GetObject("BidCos-RF.NEQ0935315:2.PARTY_TEMPERATURE").State());
WriteLine("Ende");
Das funktioniert fast, außer: bei START_TIME und STOP_TIME kommen nicht immer die erwarteten Werte zurück. Bis 04:00 (=240) geht das. Ab 04:30 kommen nicht die erwartetet Werte. Hier eine Aufstellung:

Zeit;erwartet;tatsächlich
00:00;0;0
00:30;30;30
01:00;60;60
01:30;90;90
02:00;120;120
02:30;150;150
03:00;180;180
03:30;210;210
04:00;240;240
04:30;270;14
05:00;300;44
05:30;330;74
06:00;360;104
06:30;390;134
07:00;420;164
07:30;450;194
08:00;480;224
08:30;510;254
09:00;540;28
09:30;570;58
10:00;600;88
10:30;630;118
11:00;660;148
11:30;690;178
12:00;720;208
12:30;750;238
13:00;780;12
13:30;810;42
14:00;840;72
14:30;870;102
15:00;900;132
15:30;930;162
16:00;960;192
16:30;990;222
17:00;1020;252
17:30;1050;26
18:00;1080;56
18:30;1110;86
19:00;1140;116
19:30;1170;146
20:00;1200;176
20:30;1230;206
21:00;1260;236
21:30;1290;10
22:00;1320;40
22:30;1350;70
23:00;1380;100
23:30;1410;130

Das lässt sich sowohl bei START- als auch Bei STOP_Time beobachten. Und sowohl bei HM-CC-RT-DN als auch bei HM-TC-IT-WM-W-EU.

Es spielt auch keine Rolle ob der Party-Modus per WebUI, claudmatic oder am Thermostat eingegeben wurde.

Beispiel für 19:30 : Rückgabewert "146".

XML-API (1.15) gibt auch 146:

Code: Alles auswählen

<datapoint name="BidCos-RF.NEQ0935315:2.PARTY_START_TIME" type="PARTY_START_TIME" ise_id="1526" value="146" valuetype="16" valueunit="minutes" timestamp="1508684313" operations="3"/>
Im Syslog stehen noch die "richtigen" Werte beim ausführen des scriptes (für 19:30 = "1170"):

Code: Alles auswählen

Sun Oct 22 17:35:53 2017;192.168.9.201; <134>Oct 22 17:35:54 ReGaHss: Info: IseXmlRpc::CallXmlrpcMethod: method =getValue params = {"NEQ0935315:2","PARTY_START_TIME"} result = 1170 [iseXmlRpc.cpp:2646]
Deswegen glaube ich nicht an einen Fehler in den Thermostaten sondern in der CCU2 (Daher die Platzierung hier).

Kann das jemand nachstellen (auch mit anderen CCU2-Versionen) oder mir sagen was hier falsch läuft?

Liebe Grüße
Andreas

Nachtrag:
Scheinbar ist der Rückgabewert auf eine 8Bit-Zahl begrenzt. Wenn man ab 04:30 bis 08:30 256 zu dem Wert addiert, kommt man auf den "richtigen" Wert. Danach addiert man bis 12:30 512, bis 17:00 768, bis 21:00 1024 und danach 1080.
Da wird man wieder ehwig auf eine Korrektur warten :oops:

andr.schwarz
Beiträge: 2
Registriert: 22.10.2017, 18:23

Re: falsche Werte beim Auslesen des Party-Modus am Thermosta

Beitrag von andr.schwarz » 04.11.2017, 14:48

Schade, über 90 Zugriffe bis heute und niemand der das mal ausprobiert und bestätigt oder sogar helfen kann?

Der direkte Kontakt zu eq-3 ergab nur eine Antwort dass man für Endkunden keinen Support für Scriptprogrammierung gebe.
Auf meine Antwort, dass ich keine Hilfe bei der Programmierung benötige, sondern wohl einen Fehler gefunden habe, hat eq-3 seine Antwort nur wiederholt.

Ich habe den Eindruck, man liest den Inhalt der Anfrage garnicht, sondern antwortet immer gleich...
Auch schade.

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: falsche Werte beim Auslesen des Party-Modus am Thermosta

Beitrag von Cash » 04.11.2017, 15:06

Bin mir nicht sicher aber das ist nicht falsch. Man versteht auf den ersten Blick die Logik dahinter aber nicht.

Leider habe ich mir nicht gemerkt wie die komische Logik war. Dazu gab es auch schon min. einen Thread. Und wenn ich richtig liege war z. B. Badenpower beteiligt und evtl Black??

BadenPower kann sich nicht mehr melden. Vielleicht liest Balck ja den Thread oder Du suchst nichmal im Forum.

Gluehwurm
Beiträge: 12432
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: falsche Werte beim Auslesen des Party-Modus am Thermosta

Beitrag von Gluehwurm » 04.11.2017, 15:26

Da ich den Party-/Urlaubs-Modus für sinnfrei halte, habe ich mich mit der Thematik nicht näher beschäftigt. Zusätzlich habe ich keine Ahnung von Skripten. Für mich löse ich solche Sachen, in dem ich in einem Programm die Thermostate in den Manu-Modus mit der gewünschten Temp. setze. Bei Rückkehr wieder in den Auto-Modus. In einem zweiten/dritten Programm steuere ich die Umschaltung der SysVar dazu.


Gruß
Bruno

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: falsche Werte beim Auslesen des Party-Modus am Thermosta

Beitrag von alchy » 04.11.2017, 23:01

andr.schwarz hat geschrieben:Schade, über 90 Zugriffe bis heute und niemand der das mal ausprobiert und bestätigt oder sogar helfen kann?
Bin heute mal über deinen Thread hier gestolpert, nur kann ich dein Problem nicht nachvollziehen. :shock:

Stelle ich den Urlaubsmodus ein:
HM-TC-IT-WM-W-EU_Urlaubsmode.jpg
Ergibt das Script:

Code: Alles auswählen

WriteLine("Begin");
WriteLine("Start:");
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_START_TIME").Value());
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_START_DAY").Value());
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_START_MONTH").Value());
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_START_YEAR").Value());
WriteLine("STOP:");
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_STOP_TIME").Value());
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_STOP_DAY").Value());
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_STOP_MONTH").Value());
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_STOP_YEAR").Value());
WriteLine("CONTROL_MODE ; Themp:");
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.CONTROL_MODE").Value());
WriteLine(dom.GetObject("BidCos-RF.LEQ0004337:2.PARTY_TEMPERATURE").Value());
WriteLine("Ende");
die Ausgabe:

Code: Alles auswählen

Begin
Start:
1170
18
11
17
STOP:
810
12
12
17
CONTROL_MODE ; Themp:
0
5.000000
Ende
was deiner Erwartung entspricht. Andere Zeiten entsprechen ebenfalls dem erwarteten Wert.
Es handelt sich dabei um ein HM-TC-IT-WM-W-EU v1.3 an einer CCU2

Code: Alles auswählen

VERSION=2.29.23

Version: 2.1.369
Build: R1.00.0388.0121

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“