File tree Expand file tree Collapse file tree 8 files changed +621
-86
lines changed
homeassistant/components/vicare Expand file tree Collapse file tree 8 files changed +621
-86
lines changed Original file line number Diff line number Diff line change 2121 "Heatbox2_SRC" ,
2222 "E3_TCU10_x07" ,
2323 "E3_TCU41_x04" ,
24- "E3_FloorHeatingCircuitChannel" ,
25- "E3_FloorHeatingCircuitDistributorBox" ,
2624 "E3_RoomControl_One_522" ,
2725]
2826
Original file line number Diff line number Diff line change @@ -29,13 +29,19 @@ def __init__(
2929 gateway_serial = device_config .getConfig ().serial
3030 device_id = device_config .getId ()
3131 model = device_config .getModel ().replace ("_" , " " )
32+ via_device_identifier : tuple [str , str ] = ("" , "" )
3233
3334 identifier = (
3435 f"{ gateway_serial } _{ device_serial .replace ('-' , '_' )} "
3536 if device_serial is not None
3637 else f"{ gateway_serial } _{ device_id } "
3738 )
3839
40+ if device_serial is not None and device_serial .startswith ("zigbee-" ):
41+ parts = device_serial .split ("-" )
42+ if len (parts ) == 3 : # expect format zigbee-<zigbee-ieee>-<channel-id>
43+ via_device_identifier = (DOMAIN , f"{ gateway_serial } _zigbee_{ parts [1 ]} " )
44+
3945 self ._api : PyViCareDevice | PyViCareHeatingDeviceComponent = (
4046 component if component else device
4147 )
@@ -50,4 +56,5 @@ def __init__(
5056 manufacturer = "Viessmann" ,
5157 model = model ,
5258 configuration_url = VIESSMANN_DEVELOPER_PORTAL ,
59+ via_device = via_device_identifier ,
5360 )
Original file line number Diff line number Diff line change 1+ {
2+ "data" : [
3+ {
4+ "apiVersion" : 1 ,
5+ "commands" : {
6+ "setName" : {
7+ "isExecutable" : true ,
8+ "name" : " setName" ,
9+ "params" : {
10+ "name" : {
11+ "constraints" : {
12+ "maxLength" : 40 ,
13+ "minLength" : 1 ,
14+ "regEx" : " ^[\\ p{L}0-9]+( [\\ p{L}0-9]+)*$"
15+ },
16+ "required" : true ,
17+ "type" : " string"
18+ }
19+ },
20+ "uri" : " https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/zigbee-################-2/features/device.name/commands/setName"
21+ }
22+ },
23+ "deviceId" : " zigbee-################-2" ,
24+ "feature" : " device.name" ,
25+ "gatewayId" : " ################" ,
26+ "isEnabled" : true ,
27+ "isReady" : true ,
28+ "properties" : {
29+ "name" : {
30+ "type" : " string" ,
31+ "value" : " Zone EG Bad"
32+ }
33+ },
34+ "timestamp" : " 2025-10-05T14:18:35.990Z" ,
35+ "uri" : " https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/zigbee-################-2/features/device.name"
36+ },
37+ {
38+ "apiVersion" : 1 ,
39+ "commands" : {},
40+ "deviceId" : " zigbee-################-2" ,
41+ "feature" : " fht.valve" ,
42+ "gatewayId" : " ################" ,
43+ "isEnabled" : true ,
44+ "isReady" : true ,
45+ "properties" : {
46+ "type" : {
47+ "type" : " string" ,
48+ "value" : " normallyClosed"
49+ }
50+ },
51+ "timestamp" : " 2025-10-05T14:18:35.990Z" ,
52+ "uri" : " https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/zigbee-################-2/features/fht.valve"
53+ },
54+ {
55+ "apiVersion" : 1 ,
56+ "commands" : {},
57+ "deviceId" : " zigbee-################-2" ,
58+ "feature" : " fht.valve.state" ,
59+ "gatewayId" : " ################" ,
60+ "isEnabled" : true ,
61+ "isReady" : true ,
62+ "properties" : {
63+ "status" : {
64+ "type" : " string" ,
65+ "value" : " closed"
66+ }
67+ },
68+ "timestamp" : " 2025-10-05T14:18:35.990Z" ,
69+ "uri" : " https://api.viessmann-climatesolutions.com/iot/v2/features/installations/#######/gateways/################/devices/zigbee-################-2/features/fht.valve.state"
70+ }
71+ ]
72+ }
You can’t perform that action at this time.
0 commit comments