@@ -60,7 +60,7 @@ def __init__(self, hass, args):
60
60
self ._attributes = {}
61
61
self ._available = True
62
62
# Entity Fields END
63
- self .log = logging .getLogger ("{}.device. {}" .format (__name__ , self ._unique_id ))
63
+ self .log = logging .getLogger ("{}.{}" .format (__name__ , self ._unique_id ))
64
64
self .log .info (f"Setting up device { self ._unique_id } " )
65
65
self ._type = args .get ('type' , 'panel' )
66
66
@@ -225,18 +225,21 @@ def __init__(self, hass, name, config, device):
225
225
super (MqttButton , self ).__init__ (name , config , device )
226
226
# Entity Fields START
227
227
self .hass = hass
228
- self ._unique_id = f"{ self .device ._unique_id } _{ self .name .lower ().replace (' ' , '_' ).replace ('-' , '_' )} "
228
+ self ._name = name
229
+
230
+ self ._unique_id = f"{ self .device ._unique_id } _{ self ._name .lower ().replace (' ' , '_' ).replace ('-' , '_' )} "
229
231
self .entity_id = f"mqtt_code_mapping.{ self ._unique_id } "
230
- self .friendly_name = self ._name
232
+ self .friendly_name = f" { self .device . friendly_name } - { name } "
231
233
self .may_update = True
232
- self ._state = 'setting up'
234
+ self ._state = 0
233
235
self ._available = True
234
236
self ._attributes = {}
235
237
# Entity Fields END
236
238
237
239
self .last_payload = None
238
240
self .last_triggered = 'never'
239
241
self .last_action = 'none'
242
+ self .trigger_count = 0
240
243
self .field = None
241
244
self .payloads_on = []
242
245
self .payloads_off = []
@@ -255,10 +258,11 @@ def __init__(self, hass, name, config, device):
255
258
# title_template,
256
259
# data,
257
260
# )
258
- self ._name = name
259
261
self .log = logging .getLogger (__name__ + '.' + self .name )
260
- self .log .debug (f"Init Config for Mapping { name } : " + str (config ))
261
- self .log .debug ("Payloads: " + str (self .payloads_on ))
262
+ self .log .info (f"Setting up mapping { self ._unique_id } , { self .friendly_name } , { self .name } " )
263
+
264
+ # self.log.debug(f"Init Config for Mapping {name}: " +str(config))
265
+ # self.log.debug("Payloads: " +str(self.payloads_on))
262
266
if 'field' in config :
263
267
self .field = config .get ('field' , None )
264
268
if 'payload' in config :
@@ -331,15 +335,15 @@ def process(self, payload):
331
335
332
336
def message_received (self , message ):
333
337
"""Handle new MQTT messages."""
334
- print ( "Processing message:" , message . payload )
338
+
335
339
# self.log.debug("Message received: " + str(message))
336
340
337
341
self .process (message .payload )
338
342
339
343
340
344
341
345
def update_state (self , payload , action ):
342
- self .log .debug (f"name={ self .name } , payload={ payload } ,action={ action } " )
346
+ # self.log.debug(f"name={self.name}, payload={payload},action={action}")
343
347
344
348
self .last_action = action
345
349
self .last_triggered = dt .now ()
@@ -378,9 +382,11 @@ def handleRFCode(self, action):
378
382
# self.log.debug("globalEvent: " + str(self.globalEvent))
379
383
self .last_action = action
380
384
self .last_triggered = dt .now ()
385
+ self .log_execution ()
386
+
381
387
schedules = self .device .get_active_schedules ()
382
388
self .run_actions (schedules )
383
-
389
+
384
390
if self .event or self .globalEvent :
385
391
self .log .debug ("Sending event." )
386
392
self .device .hass .bus .fire (self .name , {
@@ -400,6 +406,18 @@ def handleRFCode(self, action):
400
406
def should_poll (self ):
401
407
return False
402
408
409
+ @property
410
+ def device_class (self ) -> str :
411
+ """Define the device class for a numeric entity."""
412
+ return "measurement"
413
+
414
+ @property
415
+ def unit_of_measurement (self ) -> str :
416
+ """Return the unit for the counter."""
417
+ return "count"
418
+ def log_execution (self ):
419
+ self .trigger_count += 1
420
+
403
421
def update_attributes (self ):
404
422
405
423
new_attr = {
@@ -424,6 +442,7 @@ def update_attributes(self):
424
442
new_attr ['globalEvent' ] = True
425
443
426
444
self ._attributes = new_attr
445
+ self ._state = self .trigger_count
427
446
428
447
@property
429
448
def extra_state_attributes (self ):
@@ -439,8 +458,9 @@ def unique_id(self):
439
458
return self ._unique_id
440
459
441
460
@property
442
- def state (self ):
443
- return self ._state
461
+ def state (self ) -> str :
462
+ return str (self ._state )
463
+
444
464
445
465
@property
446
466
def available (self ):
@@ -451,7 +471,6 @@ def available(self):
451
471
async def async_update (self ):
452
472
"""Simulate an update."""
453
473
self .log .debug (f"Updating entity: { self ._name } " )
454
- self ._state = "online"
455
474
self .update_attributes ()
456
475
self .async_write_ha_state ()
457
476
@@ -460,5 +479,5 @@ async def async_added_to_hass(self):
460
479
self .log .debug (f"async_added_to_hass for { self ._name } " )
461
480
462
481
self .may_update = True
463
- self ._state = "ready"
482
+ self ._state = 0
464
483
self .schedule_update_ha_state ()
0 commit comments