Insteon Morning Link Support

not sure if this is a bug or feature request. I keep getting

2019-10-30 02:35:12 WARNING (MainThread) [insteonplm.devices] Device xx.xx.xx not in the Insteon Product Database (real address hidden) in the log. it is a Morning Link Door lock. with device category 0x0F and sub 0x06

from this page:
https://insteon.atlassian.net/wiki/spaces/IKB/pages/13533225/Insteon+Device+Categories+and+Sub-Categories

it would be great if it is added as a lock . I am willing to help with any testing required

Do you have any details on what feature set it supports? Often there are developer notes for these devices. I can consider trying it if you want.

One thing you can try is setting the device to a similar device but it may not work. I suspect this is just an on/off device under the hood. Try setting this to a generic switched lighting control device using the following configuration in HA:

insteon:
  port: /dev/ttyUSB0  # or whatever your PLM is connected to
  device_override:
    - address: 1a2b3c  # address of your MorningLinc
      cat: 0x02
      subcat: 0x00

If this does not work you can at least send me the logs from HA which will show what messages it actually does support. I can probably get the basic setup from that.

Hi teharris1,
just saw your reply … Indeed I have been controlling it as light switch.

device_override: 
   - address: xxxxxx # Door lock [2845-222]
      cat: 0x02 #0x0F
      subcat: 0x37 #0x06

then created template lock

lock:
  - platform: template
    name: Apartment Door
    value_template: "{{ is_state('switch.door_lock', 'on') }}"
    # value_template: "{{ is_state('binary_sensor.door_lock', 'on') }}"
    lock:
      service: switch.turn_on
      data:
        entity_id: switch.door_lock
    unlock:
      service: switch.turn_off
      data:
        entity_id: switch.door_lock

and it works fine. however, if device cat can be added to insteon to be recognized as lock will be ideal solution.

Hi!
I’m new to HA, and got all my insteon stuff working except my MorningLinks locks.

Using the device override, I can get the lock to show as a switch, except I can only lock by turning the switch on. Clicking again won’t unlock it.

Also, while I set the subcat at 37, the insteon_devices.json file still show the device with this :
“address”: “22716d”,
“cat”: 15,
“subcat”: 6,
“firmware”: 0,
“engine_version”: 2,
“aldb_status”: 2,

Thanks!

you can hide the switch and add a lock, using template:

lock:
  - platform: template
    name: Apartment Door
    value_template: "{{ is_state('switch.door_lock', 'on') }}"
    lock:
      service: switch.turn_on
      data:
        entity_id: switch.door_lock
    unlock:
      service: switch.turn_off
      data:
        entity_id: switch.door_lock

Tried that template, but still no luck. Whatever I do it won’t unlock, just lock, either by using the template or with the switch.

My configuration.yaml looks like this :

insteon:
 host: 192.168.0.200
 ip_port: 9761
 hub_version: 1
 device_override: 
    - address: 22716d
      cat: 0x02
      subcat: 0x37

lock:
  - platform: template
    name: Portes
    value_template: "{{ is_state('switch.on_off_module_22_71_6d', 'on') }}"
    lock:
      service: switch.turn_on
      data:
        entity_id: switch.on_off_module_22_71_6d
    unlock:
      service: switch.turn_off
      data:
        entity_id: switch.on_off_module_22_71_6d
   

Thanks a lot!

@Nierdal try to use this device override:

device_override:
   - address: xxxxxx 
      cat: 0x02        
      subcat: 0x00

if it does not work, try different subcat see the link in the first post for a full list. the idea is as @teharris1 mentioned to get it to simulate on - off device