Steuerung HmIP-BWTH über HMCCU und Alexa-Fhem

Begonnen von Slanesh, 13 August 2018, 22:42:32

Vorheriges Thema - Nächstes Thema

Slanesh

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
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

Slanesh

#1
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]
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Slanesh

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
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

Chris8888

#4
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
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

Slanesh

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
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

zap

Ich glaube, ich ergänze die Defaults mal um das homebridgemapping
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Chris8888

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
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

Slanesh

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
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

MCh76

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






Chris8888

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
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

MCh76

Danke Christian, jetzt hab ich die Bestätigung nicht komplett was missverstanden zu haben. VG

Chris8888

FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

mcp

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 :/
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

MCh76

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