@@ -251,6 +251,7 @@ def __init__(self, api, coordinator, name, dev_id, sensor, sensor_type):
251251 self ._api = api
252252 self ._dev_id = dev_id
253253 if sensor_type is not None :
254+ self ._model = sensor_type [0 ]
254255 self ._unit_of_measurement = sensor_type [1 ]
255256 self ._device = sensor_type [2 ]
256257 self ._icon = sensor_type [3 ]
@@ -271,10 +272,8 @@ def __init__(self, api, coordinator, name, dev_id, sensor, sensor_type):
271272 sensorname = sensor .replace ("_" , " " ).title ()
272273 self ._sensorname = f"{ self ._name } { sensorname } "
273274
274- self ._via_id = self ._api .gateway_id
275275 if self ._dev_id == self ._api .gateway_id :
276276 self ._name = f"Smile { self ._name } "
277- self ._via_id = None
278277
279278 self ._unique_id = f"cl-{ dev_id } -{ self ._name } -{ sensor } "
280279
@@ -296,13 +295,19 @@ def state(self):
296295 @property
297296 def device_info (self ) -> Dict [str , any ]:
298297 """Return the device information."""
299- return {
298+
299+ device_information = {
300300 "identifiers" : {(DOMAIN , self ._dev_id )},
301301 "name" : self ._name ,
302302 "manufacturer" : "Plugwise" ,
303- "via_device " : ( DOMAIN , self ._via_id ) ,
303+ "model " : self ._model ,
304304 }
305305
306+ if self ._dev_id != self ._api .gateway_id :
307+ device_information ["via_device" ] = (DOMAIN , self ._api .gateway_id )
308+
309+ return device_information
310+
306311 @property
307312 def unit_of_measurement (self ):
308313 """Return the unit of measurement."""
@@ -377,9 +382,7 @@ def __init__(self, api, coordinator, name, dev_id, sensor, sensor_type, model):
377382 sensorname = sensor .replace ("_" , " " ).title ()
378383 self ._sensorname = f"{ name } { sensorname } "
379384
380- self ._via_id = self ._api .gateway_id
381- if self ._dev_id == self ._via_id :
382- self ._via_id = None
385+ if self ._dev_id == self ._api .gateway_id :
383386 self ._name = f"Smile { self ._name } "
384387
385388 @property
@@ -405,14 +408,19 @@ def state(self):
405408 @property
406409 def device_info (self ) -> Dict [str , any ]:
407410 """Return the device information."""
408- return {
411+
412+ device_information = {
409413 "identifiers" : {(DOMAIN , self ._dev_id )},
410414 "name" : self ._name ,
411415 "manufacturer" : "Plugwise" ,
412- "model" : self ._model ,
413- "via_device" : (DOMAIN , self ._via_id ),
416+ "model" : self ._device ,
414417 }
415418
419+ if self ._dev_id != self ._api .gateway_id :
420+ device_information ["via_device" ] = (DOMAIN , self ._api .gateway_id )
421+
422+ return device_information
423+
416424 @property
417425 def unit_of_measurement (self ):
418426 """Return the unit of measurement of this entity, if any."""
0 commit comments