Hallo zusammen,
ich habe mal eine Frage, weil ich irgendwie auf dem Schlauch stehe.
Ich betreibe eine Homematic Installation unter anderem mit Wand- und Heizungsthermostaten und der CCU2. Homematic klassisch mit Homematic IP gemischt.
Unter FHEM kommuniziere mit dem Modul HMCCU mit der CCU.
Für das TabletUI habe ich nun das Thermostat Widget eingebunden, um das Heizungsthermostat in einem Raum in dem Fall Badezimmer ansprechen zu können.
Hier habe ich nun das Problem, dass beim Bedienen des Widgets und dem damit verbundenen Setzen der Soll-Temperatur ein set Befehl abgesetzt wird.
Konkret: Das Widget erzeugt zum Beispiel ein set Bad_Heizungsthermostat desired-temp 25.
Das funktioniert aber nicht, weil HMCCUDEV anscheinend einen set config oder einen set datapoint Befehl erwartet.
Wenn ich den Befehl nämlich in der Eingabezeile in FHEM eingebe kommt:
Unknown argument desired-temp, choose one of clear config control datapoint defaults devstate toggle pct
Ich verstehe allerdings nicht warum das so ist und warum ich nicht einfach das desired-temp so setzen kann.
Das kann ich doch bei anderen Autoren auch?
Ich habe jetzt schon viele Artikel hier im Forum durch und auch das Einsteigerhandbuch.
Irgendwie finde ich aber keinen Ansatz.
Könnt ihr mir helfen?
Hier noch ein List des Bad_Heizungsthermostat:
DEF 000393C99C0C40
IODev ccu
NAME Bad_Heizungsthermostat
NR 136
STATE T: 24.1°C
TYPE HMCCUDEV
ccuaddr 000393C99C0C40
ccudevstate active
ccuif HmIP-RF
ccuname Bad_Heizungsthermostat
ccutype HMIP-eTRV
channels 8
firmware 1.0.16
statevals devstate
READINGS:
2018-01-01 16:14:28 1.ACTUAL_TEMPERATURE 24.1
2018-01-01 16:14:28 1.BOOST_MODE 0
2018-01-01 16:14:28 1.SET_POINT_MODE 0
2018-01-01 16:14:28 1.SET_POINT_TEMPERATURE 21.0
2018-01-01 16:14:28 1.VALVE_STATE ADAPTION_DONE
2018-01-01 16:14:28 1.WINDOW_STATE closed
2018-01-01 16:14:28 Activity alive
2018-01-01 16:14:28 battery ok
2018-01-01 15:06:40 control 21.0
2018-01-01 16:14:28 desired-temp 21.0
2018-01-01 16:14:28 hmstate 21.0
2018-01-01 16:14:28 state 21.0
2018-01-01 16:14:28 valve_position 0
hmccu:
dp:
0.CONFIG_PENDING:
OVAL false
VAL false
0.DUTY_CYCLE:
OVAL 0
VAL 0
0.LOW_BAT:
OSVAL ok
OVAL 0
SVAL ok
VAL 0
0.OPERATING_VOLTAGE:
OVAL 2.9
VAL 2.9
0.RSSI_DEVICE:
OVAL -67
VAL -67
0.RSSI_PEER:
OVAL 191
VAL 191
0.UNREACH:
OSVAL alive
OVAL 0
SVAL alive
VAL 0
0.UPDATE_PENDING:
OVAL false
VAL false
1.ACTIVE_PROFILE:
OVAL 1
VAL 1
1.ACTUAL_TEMPERATURE:
OSVAL 24.3
OVAL 24.3
SVAL 24.1
VAL 24.1
1.BOOST_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.BOOST_TIME:
OVAL 0
VAL 0
1.FROST_PROTECTION:
OVAL 0
VAL 0
1.LEVEL:
OSVAL 0
OVAL 0.0
SVAL 0
VAL 0.0
1.PARTY_MODE:
OVAL 0
VAL 0
1.PARTY_SET_POINT_TEMPERATURE:
OVAL 0.000000
VAL 0.000000
1.PARTY_TIME_END:
OVAL
VAL
1.PARTY_TIME_START:
OVAL
VAL
1.SET_POINT_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.SET_POINT_TEMPERATURE:
OSVAL 21.0
OVAL 21.0
SVAL 21.0
VAL 21.0
1.SWITCH_POINT_OCCURED:
OVAL 0
VAL 0
1.VALVE_STATE:
OSVAL ADAPTION_DONE
OVAL 4
SVAL ADAPTION_DONE
VAL 4
1.WINDOW_STATE:
OSVAL closed
OVAL 0
SVAL closed
VAL 0
Attributes:
IODev ccu
ccureadingfilter ^ACTUAL_TEMPERATURE|^BOOST_MODE|^SET_POINT_MODE|^SET_POINT_TEMPERATURE|^LEVEL|^WINDOW_STATE|^VALVE_STATE
ccureadingname 1.LEVEL:valve_position;1.SET_POINT_TEMPERATURE:+desired-temp
ccuscaleval LEVEL:0:1:0:100
controldatapoint 1.SET_POINT_TEMPERATURE
eventMap /datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manual/datapoint 1.CONTROL_MODE 2:Holiday/datapoint 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/
genericDeviceType thermostat
room Badezimmer
stateFormat T: 1.ACTUAL_TEMPERATURE°C
statedatapoint 1.SET_POINT_TEMPERATURE
stripnumber 1
substexcl control
substitute SET_POINT_TEMPERATURE!#0-4.5:off,#30.5-40:on;WINDOW_STATE!(0|false):closed,(1|true):open;VALVE_STATE!0:STATE_NOT_AVAILABLE,1:RUN_TO_START,2:WAIT_FOR_ADAPTION,3:ADAPTION_IN_PROGRESS,4:ADAPTION_DONE,5:TOO_TIGHT,6:ADJUSTMENT_TOO_BIG,7:ADJUSTMENT_TOO_SMALL,8:ERROR_POSITION
webCmd control:Boost:Auto:Manual:Holiday:on:off
widgetOverride control:slider,4.5,0.5,30.5,1
Hier auch der Code des Widgets:
<div data-type="thermostat"
data-device="NZ_Heizungsthermostat"
data-get="measured-temp"
data-set="desired-temp"
data-valve="valve_position"
data-get-value="2"
data-temp="1.ACTUAL_TEMPERATURE">
Hi,
ändere mal das hier:
set Bad_Heizungsthermostat desired-temp 25
in das hier:
set Bad_Heizungsthermostat control 25
Damit sollte es gehen.
Oder so:
data-set="datapoint 1.SET_POINT_TEMPERATURE"
Hintergrund ist die etwas andere Arbeitsweise (datapoints) der CCU und damit des Moduls HMCCU.
Es gibt aber schon recht viele Beispielkonfigurationen im Wiki und im Forum. Man gewöhnt sich schnell daran. ;-)
Viele Grüße
Christian
Hi Christian, danke für deine Antwort.
Das verstehe ich und würde ich auch machen.
Wie bringe ich aber dem TabletUI widget bei, das auch so zu senden?
Muss ich dass dort im SourceCode ändern? Kann ich das auch irgendwie in FHEM hinterlegen, dass aus set Bad_Heizungsthermostat desired-temp 25 ein set Bad_Heizungsthermostat Control 25 wird?
Moment, wo ich das jetzt schreibe:
Muss ich einfach aus data-set="desired-temp" ein data-set="control" machen?
Ich probiere es direkt aus.
Update: Ich schnall ab. Das geht wirklich.
Danke dir!
prima. Gerne.