Hallo zusammen,
ich habe ein Problem bei der Steuerung meiner Fußbodenheizung über den Alexa Smart Home Skill (nicht Custom Skill). Ich habe über das Modul HMCCU mehrere Homematic IP Wandthermostat mit Schaltausgang (HmIP-BWTH) eingebunden und die Steuerung über das WebUI funktioniert ohne Probleme. Wenn ich aber den Befehl "Alexa, stelle Heizung auf 20 Grad" absetze, bekomme ich immer die Antwort "Heizung unterstützt das nicht". Das Raumthermostat (in FHEM definiert als genericDeviceType thermostat) wird in der Alexa App erkannt, dort aber als Typ "sonstige" aufgeführt. Andere Geräte vom genericDeviceType switch lassen sich problemlos über Alexa steuern.
Ich habe im Forum gelesen, dass die Readings desired-temp und measured-temp für die Steuerung eines genericDeviceType thermostat über Alexa notwendig sind und habe diese aus den datapoints entsprechend gemappt. Leider ohne Erfolg. Ich bin mit meinem Latein jetzt ziemlich am Ende. Hat jemand vielleicht einen Hinweis für mich, was ich falsch mache?
Lists der beteiligten Device folgen im nächsten Post.
Viele Grüße
Slanesh
list RT_AZ_Fussbodenheizung
Internals:
DEF 000C98A98AB2C6
IODev CCU1
NAME RT_AZ_Fussbodenheizung
NR 677
STATE Initialized
TYPE HMCCUDEV
ccuaddr 000C98A98AB2C6
ccudevstate active
ccuif HmIP-RF
ccuname RT_AZ_Fussbodenheizung
ccutype HmIP-BWTH
channels 13
statevals devstate
READINGS:
2018-08-06 17:39:18 0.CONFIG_PENDING false
2018-08-06 17:39:18 0.DUTY_CYCLE false
2018-08-06 17:47:31 0.OPERATING_VOLTAGE 0.000000
2018-08-06 17:39:18 0.RSSI_DEVICE 212
2018-08-06 17:39:18 0.RSSI_PEER 207
2018-08-12 18:00:02 0.UNREACH false
2018-08-06 17:39:18 0.UPDATE_PENDING false
2018-08-06 17:39:18 1.ACTUAL_TEMPERATURE 31.400000
2018-08-12 18:00:02 1.BOOST_TIME 0
2018-08-06 17:39:18 1.FROST_PROTECTION false
2018-08-12 18:00:02 1.HEATING_COOLING 1
2018-08-12 18:00:02 1.HUMIDITY 37
2018-08-06 17:39:18 1.PARTY_MODE false
2018-08-06 17:39:18 1.PARTY_SET_POINT_TEMPERATURE 0.000000
2018-08-06 17:39:18 1.PARTY_TIME_END
2018-08-06 17:39:18 1.PARTY_TIME_START
2018-08-12 18:00:02 1.SET_POINT_MODE 1
2018-08-06 19:10:53 1.SET_POINT_TEMPERATURE 5.0
2018-08-06 17:39:18 1.SWITCH_POINT_OCCURED false
2018-08-06 17:39:18 10.STATE false
2018-08-06 17:39:18 11.STATE false
2018-08-06 17:39:18 12.STATE false
2018-08-06 17:39:18 8.EMERGENCY_OPERATION false
2018-08-06 17:39:18 8.FROST_PROTECTION false
2018-08-12 18:00:02 8.HUMIDITY_ALARM false
2018-08-06 17:39:18 8.STATE false
2018-08-06 17:39:18 9.STATE false
2018-08-12 18:00:02 control 17.0
2018-08-12 18:00:02 desired-temp 17.0
2018-08-12 18:00:02 hmstate 17.0
2018-08-12 18:00:02 measured-temp 28.0
2018-08-13 22:15:05 state Initialized
Attributes:
IODev CCU1
alias Heizung
ccureadingfilter ^ACTIVE_PROFILE|^ACTUAL_TEMPERATURE|^BOOST_MODE|^BOOST_TIME|^CONTROL_DIFFERENTIAL_TEMPERATURE|^CONTROL_MODE|^FROST_PROTECTIOn|^HEATING_COOLING|^HUMIDITY|^SET_POINT_MODE|^SET_POINT_TEMPERATURE|^LEVEL|^WINDOW_STATE
ccureadingname 1.LEVEL:valve_position;1.SET_POINT_TEMPERATURE:desired-temp;1.ACTUAL_TEMPERATURE:measured-temp
ccuscaleval LEVEL:0:1:0:100
controldatapoint 1.SET_POINT_TEMPERATURE
event-on-change-reading 1
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_MODE 0:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/datapoint 1.HEATING_COOLING 0:Heating/datapoint 1.HEATING_COOLING 1:Cooling/
genericDeviceType thermostat
homebridgeMapping TargetTemperature=desired-temp::desired-temp,minValue=5,maxValue=35,minStep=0.5,nocache=1,CurrentTemperature=measured-temp::measured-temp,nocache=1
room Homekit,Homematic
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
webCmd control:Auto:Manual:on:off
widgetOverride control:slider,4.5,0.5,30.5,1
deviceinfo RT_AZ_Fussbodenheizung
CHN 000C98A98AB2C6:0 RT_AZ_Fussbodenheizung:0
DPT {b} HmIP-RF.000C98A98AB2C6:0.CONFIG_PENDING = false [RE]
DPT {b} HmIP-RF.000C98A98AB2C6:0.DUTY_CYCLE = false [RE]
DPT {f} HmIP-RF.000C98A98AB2C6:0.OPERATING_VOLTAGE = 0.000000 [RE]
DPT {n} HmIP-RF.000C98A98AB2C6:0.RSSI_DEVICE = 203 [RE]
DPT {n} HmIP-RF.000C98A98AB2C6:0.RSSI_PEER = 198 [RE]
DPT {b} HmIP-RF.000C98A98AB2C6:0.UNREACH = false [RE]
DPT {b} HmIP-RF.000C98A98AB2C6:0.UPDATE_PENDING = false [RE]
CHN 000C98A98AB2C6:1 RT_AZ_Fussbodenheizung_Channel1
DPT {i} HmIP-RF.000C98A98AB2C6:1.ACTIVE_PROFILE = 1 [WE]
DPT {f} HmIP-RF.000C98A98AB2C6:1.ACTUAL_TEMPERATURE = 27.400000 [RE]
DPT {b} HmIP-RF.000C98A98AB2C6:1.BOOST_MODE = false [WE]
DPT {i} HmIP-RF.000C98A98AB2C6:1.BOOST_TIME = 0 [RE]
DPT {f} HmIP-RF.000C98A98AB2C6:1.CONTROL_DIFFERENTIAL_TEMPERATURE = [WE]
DPT {i} HmIP-RF.000C98A98AB2C6:1.CONTROL_MODE = [WE]
DPT {i} HmIP-RF.000C98A98AB2C6:1.DURATION_UNIT = [W]
DPT {i} HmIP-RF.000C98A98AB2C6:1.DURATION_VALUE = [W]
DPT {b} HmIP-RF.000C98A98AB2C6:1.FROST_PROTECTION = false [RE]
DPT {i} HmIP-RF.000C98A98AB2C6:1.HEATING_COOLING = 0 [RWE]
DPT {i} HmIP-RF.000C98A98AB2C6:1.HUMIDITY = 52 [RE]
DPT {b} HmIP-RF.000C98A98AB2C6:1.PARTY_MODE = false [RE]
DPT {f} HmIP-RF.000C98A98AB2C6:1.PARTY_SET_POINT_TEMPERATURE = 0.000000 [RE]
DPT {s} HmIP-RF.000C98A98AB2C6:1.PARTY_TIME_END = [RWE]
DPT {s} HmIP-RF.000C98A98AB2C6:1.PARTY_TIME_START = [RWE]
DPT {i} HmIP-RF.000C98A98AB2C6:1.SET_POINT_MODE = 1 [RWE]
DPT {f} HmIP-RF.000C98A98AB2C6:1.SET_POINT_TEMPERATURE = 17.000000 [RWE]
DPT {b} HmIP-RF.000C98A98AB2C6:1.SWITCH_POINT_OCCURED = false [RE]
DPT {i} HmIP-RF.000C98A98AB2C6:1.WINDOW_STATE = 0 [WE]
CHN 000C98A98AB2C6:8 RT_AZ_Fussbodenheizung_Channel8
DPT {b} HmIP-RF.000C98A98AB2C6:8.EMERGENCY_OPERATION = false [RE]
DPT {b} HmIP-RF.000C98A98AB2C6:8.FROST_PROTECTION = false [RE]
DPT {b} HmIP-RF.000C98A98AB2C6:8.HUMIDITY_ALARM = false [RE]
DPT {b} HmIP-RF.000C98A98AB2C6:8.STATE = false [RE]
CHN 000C98A98AB2C6:9 HmIP-BWTH 000C98A98AB2C6:9
DPT {b} HmIP-RF.000C98A98AB2C6:9.STATE = false [RE]
CHN 000C98A98AB2C6:10 RT_AZ_Fussbodenheizung_Channel10
DPT {b} HmIP-RF.000C98A98AB2C6:10.STATE = false [RE]
CHN 000C98A98AB2C6:11 HmIP-BWTH 000C98A98AB2C6:11
DPT {b} HmIP-RF.000C98A98AB2C6:11.STATE = false [RE]
CHN 000C98A98AB2C6:12 HmIP-BWTH 000C98A98AB2C6:12
DPT {b} HmIP-RF.000C98A98AB2C6:12.STATE = false [RE]
Korrigiere doch mal den Post...
Das kann ja keiner lesen... ;)
Sehe auch nichts von genericDeviceType oder desired-temp etc.
Poste doch mal ein sauberes list von einem Device das nicht geht wie gewünscht...
Kurz da nur Handy grad...
Gruß, Joachim
Hallo Joachim,
danke für deine Antwort. Beim ersten Post wurde das List aufgrund der Länge abgeschnitten, was darin resultierte, dass der Code Block nicht mehr geschlossen wurde und die Formatierung dahin war. Ist jetzt korrigiert und hoffentlich besser lesbar.
Gruß Slanesh
Hi, da kann dir doch geholfen werden.
Ich bin mir nicht sicher, ob Alexa den Begriff Heizung kennt.
Dein Alias wird dir da nicht helfen.
Auch das "," vor CurrentTemperature im Homebridgemapping kommt mir seltsam vor, ich mache da immer nur ein Leerzeichen hin.
Grundsätzlich funktioniert dein Wunsch bei mir hervorragend. Per "Alexa, stelle die Temperatur im Wohnzimmer auf 20 Grad" schaltet das Thermostat sauber.
Hier mal mein List eines Thermostats (ist zwar ein WTH-2, die Datapoints zu Steuerung sind aber identisch), wird in Alexa als Thermostat erkannt (einfacher Skill):
Internals:
CHANGED
DEF 000A9569A3A519
IODev ccu
NAME HM_Thermostat_Wohnzimmer
NR 400
STATE Ist: 25.1° Soll: 12.0° Feuchte: 46%
TYPE HMCCUDEV
ccuaddr 000A9569A3A519
ccudevstate active
ccuif HmIP-RF
ccuname Thermostat-Wohnzimmer
ccutype HmIP-WTH-2
channels 8
firmware 1.8.0
statevals devstate
READINGS:
2018-08-14 13:58:08 0.CONFIG_PENDING 0
2018-08-14 13:58:08 0.DUTY_CYCLE 0
2018-08-14 13:58:08 0.LOW_BAT ok
2018-08-14 13:58:08 0.OPERATING_VOLTAGE 2.9
2018-08-14 13:58:08 0.OPERATING_VOLTAGE_STATUS 0
2018-08-14 13:58:08 0.RSSI_DEVICE -42
2018-08-14 13:58:08 0.RSSI_PEER -43
2018-08-14 13:46:34 0.UPDATE_PENDING false
2018-08-14 13:58:08 1.ACTIVE_PROFILE 1
2018-08-14 13:58:08 1.ACTUAL_TEMPERATURE 25.1
2018-08-14 13:58:08 1.ACTUAL_TEMPERATURE_STATUS 0
2018-08-14 13:58:08 1.BOOST_MODE 0
2018-08-14 13:58:08 1.BOOST_TIME 0
2018-08-14 13:58:08 1.FROST_PROTECTION 0
2018-08-14 13:58:08 1.HEATING_COOLING 0
2018-08-14 13:58:08 1.HUMIDITY 46
2018-08-14 13:58:08 1.HUMIDITY_STATUS 0
2018-08-14 13:58:08 1.PARTY_MODE 0
2018-08-14 13:46:34 1.PARTY_SET_POINT_TEMPERATURE 0.0
2018-08-14 13:46:34 1.PARTY_TIME_END
2018-08-14 13:46:34 1.PARTY_TIME_START
2018-08-14 13:58:08 1.QUICK_VETO_TIME 0
2018-08-14 13:58:08 1.SET_POINT_MODE 1
2018-08-14 13:58:08 1.SET_POINT_TEMPERATURE 12.0
2018-08-14 13:58:08 1.SWITCH_POINT_OCCURED 0
2018-08-14 13:58:08 1.WINDOW_STATE closed
2018-08-14 13:58:08 activity 0
2018-08-14 13:58:08 battery ok
2018-08-14 13:58:08 control 12.0
2018-08-14 13:58:08 desired-temp 12.0
2018-08-14 13:58:08 hmstate 12.0
2018-08-14 13:58:08 state 12.0
hmccu:
dp:
0.CONFIG_PENDING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.DUTY_CYCLE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.LOW_BAT:
OSVAL ok
OVAL 0
SVAL ok
VAL 0
0.OPERATING_VOLTAGE:
OSVAL 2.9
OVAL 2.9
SVAL 2.9
VAL 2.9
0.OPERATING_VOLTAGE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.RSSI_DEVICE:
OSVAL -42
OVAL -42
SVAL -42
VAL -42
0.RSSI_PEER:
OSVAL -43
OVAL -43
SVAL -43
VAL -43
0.UNREACH:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.UPDATE_PENDING:
OSVAL false
OVAL false
SVAL false
VAL false
1.ACTIVE_PROFILE:
OSVAL 1
OVAL 1
SVAL 1
VAL 1
1.ACTUAL_TEMPERATURE:
OSVAL 25.1
OVAL 25.1
SVAL 25.1
VAL 25.1
1.ACTUAL_TEMPERATURE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.BOOST_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.BOOST_TIME:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.FROST_PROTECTION:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.HEATING_COOLING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.HUMIDITY:
OSVAL 46
OVAL 46
SVAL 46
VAL 46
1.HUMIDITY_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.PARTY_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.PARTY_SET_POINT_TEMPERATURE:
OSVAL 0.0
OVAL 0.000000
SVAL 0.0
VAL 0.000000
1.PARTY_TIME_END:
OSVAL
OVAL
SVAL
VAL
1.PARTY_TIME_START:
OSVAL
OVAL
SVAL
VAL
1.QUICK_VETO_TIME:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.SET_POINT_MODE:
OSVAL 1
OVAL 1
SVAL 1
VAL 1
1.SET_POINT_TEMPERATURE:
OSVAL 12.0
OVAL 12.0
SVAL 12.0
VAL 12.0
1.SWITCH_POINT_OCCURED:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.WINDOW_STATE:
OSVAL closed
OVAL 0
SVAL closed
VAL 0
Attributes:
IODev ccu
alexaName Thermostat Wohnzimmer
ccureadingformat datapoint
ccureadingname 0.(LOWBAT|LOW_BAT):+battery;1.SET_POINT_TEMPERATURE:+desired-temp
controldatapoint 1.SET_POINT_TEMPERATURE
event-on-change-reading .*
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
homebridgeMapping TargetTemperature=1.SET_POINT_TEMPERATURE::1.SET_POINT_TEMPERATURE,,minValue=19,maxValue=23,minStep=0.5,cmd=control,nocache=true
CurrentTemperature=1.ACTUAL_TEMPERATURE
CurrentHeatingCoolingState=1.SET_POINT_MODE,values=1:0;0:1 TargetHeatingCoolingState=1.SET_POINT_MODE::1.SET_POINT_MODE,values=OFF:1;AUTO:0;HEAT:1;COOL:2,cmds=OFF:datapoint+1.CONTROL_MODE+1;HEAT:datapoint+1.BOOST_MODE+1;COOL:datapoint+1.BOOST_MODE+0;AUTO:datapoint+1.CONTROL_MODE+0
CurrentRelativeHumidity=1.HUMIDITY
icon hm-tc-it-wm-w-eu
room Heizung,Homekit,Wohnzimmer,alexa
siriName Thermostat-Wohnzimmer
stateFormat Ist: 1.ACTUAL_TEMPERATURE° Soll: 1.SET_POINT_TEMPERATURE° Feuchte: 1.HUMIDITY%
statechannel 1
statedatapoint 1.SET_POINT_TEMPERATURE
stripnumber 1
substexcl control
substitute 1.WINDOW_STATE!(0|false):closed,(1|true):open;0.LOW_BAT!(0|false):ok,(1|true):low
webCmd control:Boost:Auto:Manual:Holiday:on:off
widgetOverride control:slider,12.0,0.5,25.0,1
Viel Spaß damit!
Viele Grüße
Christian
Zitat von: Chris8888 am 14 August 2018, 14:01:33
Auch das "," vor CurrentTemperature im Homebridgemapping kommt mir seltsam vor, ich mache da immer nur ein Leerzeichen hin.
Das war der entscheidende Hinweis. Vielen Dank Christian!
Gruß Slanesh
Ich glaube, ich ergänze die Defaults mal um das homebridgemapping
Hallo Slanesh,
prima!
Hallo Zap,
das würde grundsätzlich sicherlich Sinn machen. Das Mapping ist nicht immer ganz einfach.
Bei den Thermostaten (WTH,WTH-2,BWTH,STHD,...) würde ich aber nochmal drüber nachdenken.
Das Mapping ist aufgrund der Konfig bei EQ3 nicht so wie Apple das gerne hätte.
Im Detail: Den Modus "Aus, Auto, Heizen, Kühlen" (=Apple) liegt bei HM in 2 verschiedenen Datapoints.
Daher gibt es aktuell keine Mapping (zumindest kenne ich keins) das alle 4 Fälle abdeckt. Auch das Anzeigen des aktuellen Modus klappt nicht so gut.
Von daher würde ich bei den Thermostaten nur Ist und Soll-Teemperatur in den Defaults abbilden.
Aber ich lasse mich gerne vom Gegenteil überzeugen!
Viele Grüße
Christian
Zitat von: zap am 14 August 2018, 20:30:07
Ich glaube, ich ergänze die Defaults mal um das homebridgemapping
Vielleicht hast du auch Verwendung für die Defaults des HmIP-BWTH, der war noch gar nicht vorhanden:
device:HmIP-BWTH
_description=Wandthermostat mit Schaltausgang HM-IP
ccureadingfilter=.*
ccureadingname=1.SET_POINT_TEMPERATURE:desired-temp;1.ACTUAL_TEMPERATURE:measured-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_MODE 0:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/datapoint 1.HEATING_COOLING 0:Heating/datapoint 1.HEATING_COOLING 1:Cooling/
genericDeviceType=thermostat
statedatapoint=1.SET_POINT_TEMPERATURE
stripnumber=1
substexcl=control
homebridgeMapping=TargetTemperature=1.SET_POINT_TEMPERATURE::1.SET_POINT_TEMPERATURE,,minValue=19,maxValue=30,minStep=0.5,cmd=control,nocache=true
CurrentTemperature=1.ACTUAL_TEMPERATURE
CurrentHeatingCoolingState=1.SET_POINT_MODE,values=1:0;0:1 TargetHeatingCoolingState=1.SET_POINT_MODE::1.SET_POINT_MODE,values=OFF:1;AUTO:0;HEAT:1;COOL:2,cmds=OFF:datapoint+1.CONTROL_MODE+1;HEAT:datapoint+1.BOOST_MODE+1;COOL:datapoint+1.BOOST_MODE+0;AUTO:datapoint+1.CONTROL_MODE+0
CurrentRelativeHumidity=1.HUMIDITY
webCmd=control:Auto:Manual:on:off
widgetOverride=control:slider,4.5,0.5,30.5,1
Gruß Slanesh
ich hab da mal noch ne Verständnisfrage zum homebrigdemapping attribut bzw. den beiden Characteristics:
CurrentHeatingCoolingState
besagt doch laut HomeKitTypes.js nach meinem Verständnis ob "OFF"(0) "HEAT"(1) oder "COOL" (2).
In den hier geposteten Beispielen wird auf das FHEM reading "1.SET_POINT_MODE" gemappt, dieses besagt aber doch 1 - Auto modus oder 0 - manueller Modus? Ist das Richtige Reading für Heizen oder aus nicht der Datenpunkt "8-State". Dieser steht bei mir auf 0 wenn nicht geheizt wird und auf 1 wenn geheizt wird.
TargetHeatingCoolingState
kennt laut der .js die Zustände OFF(0), HEAT(1), COOL(2) und AUTO(3).
Auch hier wird in den Beispielen wieder auf den Datenpunkt "1.SET_POINT_MODE" verwiesen, der zudem aber gar nicht per SET Befehl gesetzt werden kann (pendant zum Setzen auto oder manuell ist doch "1.CONTROL_MODE, der aber wiederum kein Reading liefert...).
Ich würde gerne im Homekit einfach folgendes sehen/erreichen:
- Schalten auf HMIP-Modus "Automatisch" (z.B. über Homekit Modus "Automatisch") oder HMIP Modus "Manuell" (z.B. über Homekit Modus "Heizung").
- Anzeige ob gerade geheizt wird oder nicht.
Die Optionen "Kühlung" und "Aus" benötige ich nicht, leider waren auch meine Versuche mit VALID="HEAT";;"AUTO" erfolglos...
Alles was ich bisher versucht habe war erfolglos...
Mit meinen erfolglosen Versuchen auch noch verbunden die Frage ob CurrentHeatingCoolingState und TargetHeatingCoolingState tatsächlich auf den selben Datenpunkt "1.SET_POINT_MODE" laufen sollte bzw. was meint das Homekit wirklich inhaltlich mit CurrentHeatingCoolingState ?
Danke für ne Hilfestellung...
VG,
Chris
Hallo Chris,
du hast völlig recht.
Das Verhalten von Homebridge ist eher für die Heizungsthermostate gebaut, die haben nämlich diese Readings/Funktionen.
Bei den Wandthermostaten musst du dir - wie du auch schon festgestellt hast - das nach Bedarf zusammenbasteln.
Eine 1zu1-Lösung kenne ich dazu nicht.
Deine Abschlussfrage ist berechtigt...ich weiß aber keine Antwort. Ich verstehe das eher als 1x zum Lesen und 1x zum Schreiben.
Alles nicht so einfach. ;-)
VG
Christian
Danke Christian, jetzt hab ich die Bestätigung nicht komplett was missverstanden zu haben. VG
;D ;D ;D Das ist ein Anfang! ;D ;D ;D
Hallo MCh76,
Zitat von: MCh76 am 29 Oktober 2018, 19:47:10
ich hab da mal noch ne Verständnisfrage zum homebrigdemapping attribut bzw. den beiden Characteristics:
CurrentHeatingCoolingState
besagt doch laut HomeKitTypes.js nach meinem Verständnis ob "OFF"(0) "HEAT"(1) oder "COOL" (2).
In den hier geposteten Beispielen wird auf das FHEM reading "1.SET_POINT_MODE" gemappt, dieses besagt aber doch 1 - Auto modus oder 0 - manueller Modus? Ist das Richtige Reading für Heizen oder aus nicht der Datenpunkt "8-State". Dieser steht bei mir auf 0 wenn nicht geheizt wird und auf 1 wenn geheizt wird.
TargetHeatingCoolingState
kennt laut der .js die Zustände OFF(0), HEAT(1), COOL(2) und AUTO(3).
Auch hier wird in den Beispielen wieder auf den Datenpunkt "1.SET_POINT_MODE" verwiesen, der zudem aber gar nicht per SET Befehl gesetzt werden kann (pendant zum Setzen auto oder manuell ist doch "1.CONTROL_MODE, der aber wiederum kein Reading liefert...).
Ich würde gerne im Homekit einfach folgendes sehen/erreichen:
- Schalten auf HMIP-Modus "Automatisch" (z.B. über Homekit Modus "Automatisch") oder HMIP Modus "Manuell" (z.B. über Homekit Modus "Heizung").
- Anzeige ob gerade geheizt wird oder nicht.
Die Optionen "Kühlung" und "Aus" benötige ich nicht, leider waren auch meine Versuche mit VALID="HEAT";;"AUTO" erfolglos...
Alles was ich bisher versucht habe war erfolglos...
Mit meinen erfolglosen Versuchen auch noch verbunden die Frage ob CurrentHeatingCoolingState und TargetHeatingCoolingState tatsächlich auf den selben Datenpunkt "1.SET_POINT_MODE" laufen sollte bzw. was meint das Homekit wirklich inhaltlich mit CurrentHeatingCoolingState ?
Danke für ne Hilfestellung...
VG,
Chris
hast du zu den Problemen eine Lösung gefunden? Ich sitze gerade am gleichen Thema :/
Hallo mcp,
leider habe ich es nicht komplett lösen können. Ich kann aber immerhin per Siri Sprachbefehl auf Automatisch einstellen, sowie die Temperatur regeln. Auf manuell schalten habe ich nicht hinbekommen, das klicke ich nun eben im TabletUi hin...
Meine Attributes sehen wie folgt aus:
Attributes:
DbLogExclude .*
IODev wz_hm_ip_ccu3
ccureadingfilter .*
ccureadingformat datapoint
ccureadingname 1.SET_POINT_TEMPERATURE:+desired-temp;1.ACTUAL_TEMPERATURE$:+measured-temp;1.HUMIDITY$:+humidity;8.STATE$:+heatingstate
controldatapoint 1.SET_POINT_TEMPERATURE
event-min-interval .*:3600
event-on-change-reading .*
eventMap /datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manuell/datapoint 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/
genericDeviceType thermostat
group Heizung
homebridgeMapping TargetTemperature=1.SET_POINT_TEMPERATURE::1.SET_POINT_TEMPERATURE,,minValue=15,maxValue=30,minStep=0.5,cmd=control,nocache=true CurrentTemperature=1.ACTUAL_TEMPERATURE CurrentHeatingCoolingState=1.SET_POINT_MODE,values=1:0;0:1 TargetHeatingCoolingState=1.SET_POINT_MODE::1.SET_POINT_MODE,values=OFF:1;AUTO:0;HEAT:1;COOL:2,cmds=OFF:datapoint+1.CONTROL_MODE+1;HEAT:datapoint+1.BOOST_MODE+1;COOL:datapoint+1.BOOST_MODE+0;AUTO:datapoint+1.CONTROL_MODE+0 CurrentRelativeHumidity=1.HUMIDITY
room 01_Wohnzimmer,CUL_HM,Homekit
siriName Thermostat-Wohnzimmer
stateFormat Ist: 1.ACTUAL_TEMPERATURE° Soll: 1.SET_POINT_TEMPERATURE° Luftfeuchte: 1.HUMIDITY% Schaltung: schaltstatus
statechannel 1
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
userReadings schaltstatus {
if (ReadingsNum($name,"heatingstate",0) == 1) {return "Ein"}
else {return "Aus"}
}
webCmd control:Boost:Auto:Manuell:on:off
widgetOverride control:slider,4.5,0.5,30.5,1
VG,
Chris