ELK M1 Interface

I use this template for the custom:button-card:

  garage_door:
    color_type: icon
    size: 40px
    styles:
      card:
        - height: 70px
        - margin: 0px 0px 10px 0px
    state:
      - value: Normal
        icon: 'mdi:garage'
        styles:
          icon:
            - color: *green_medium
      - value: Violated
        icon: 'mdi:garage-open'
        styles:
          icon:
            - color: *red_medium

And display like this:

              - type: 'custom:button-card'
                entity: sensor.garage1
                name: G. 1
                template: garage_door

Or, to activate the doors, I do this:

                      - type: 'custom:button-card'
                        entity: sensor.garage1
                        name: G. 1
                        template: garage_door
                        tap_action:
                          action: call-service
                          service: switch.turn_on
                          service_data:
                              entity_id: switch.elk_garage_1

Because I don’t want doors opening from accidental presses, I hide them with a conditional card that is triggered with a key pad:

          - type: conditional
            conditions:
              - entity: input_boolean.unlock_door_card
                state: "on"

There are probably more elegant ways to do this.

Cheers, Richard

1 Like

Thank you very much! I’m looking forward to trying this.

The gift of time! While thinking about this further I thought of another solution that is quite simple and should work. There is a service call in HA called zone_trigger. If a zone is configured to chime when triggered then zone_trigger would cause the chime to happen. The zone you use could be your ‘broken’ zone or you could create a dummy zone and trigger that one.

Let us know what worked for you!

1 Like

I upgraded core from 2022.2.9 to 2022.3 yesterday on HAS OS (Rpi 4 w/ 8GB RAM). After the upgrade the ELKM1 integration started reporting:

Logger: homeassistant.config_entries
Source: config_entries.py:366
First occurred: 8:26:18 PM (1 occurrences)
Last logged: 8:26:18 PM

Config entry 'ElkM1' for elkm1 integration not ready yet: Timed out connecting to elk://192.168.0.251; Retrying in background

The detailed log shows repeated instances of the message:

2022-03-03 20:26:18 WARNING (MainThread) [elkm1_lib.elk] ElkM1 at elk://192.168.0.251 disconnected

I have a custom web site (local to LAN) that also interfaces to the same control using the non-secure interface, and it is still working fine, so it doesn’t appear to be an issue with the control or network.

Anyone have suggestions regarding what to try to get the ELKM1 integration working again? I would prefer to get it working without deleting/re-installing, because it could take me a while to recover all the customizing I’ve done on it.

Thanks!

Open a bug against HA core. @bdraco added discovery that is in the 2022.3 release and this is related to the new code.

We had one report of it timing out when authentication was turned off, but we fixed that (https://github.com/home-assistant/core/issues/67183). It might be a similar situation, but we will need logs to verify and troubleshoot.

logger:
  default: warning
  logs:
     elkm1_lib: debug
     homeassistant.components.elkm1: debug

Created a bug report against HA core and included a detailed log:

https://github.com/home-assistant/core/issues/67599

1 Like

I’m still having this issue after upgrade to 2022.3.1, but there is a recommendation in the comments of the bug report to:

Please remove the username and password from your configuration if you are not using password authentication

I know that this is a noob question, but how do I change that in the configuration? I don’t have anything set in my yaml files, I just enabled the integration and answered the questions. Now I can’t find a way to change any of the configuration. Should I add a section to my configuration.yaml?

Thanks for the help!

Folks, as far as I know, all bugs have been fixed and the 2022.3.2 release will contain those fixes. If you have followed all the directions that @bdraco has shared in this thread and in the HA Core bugs and things are not working please post here. Include the version that you are running and include logs (or a pointer to where the logs can be retrieved).

Background… Auto discovery of the ElkM1 was added in 2022.3. Clearly there are some edge cases that were not caught in testing. Please keep reporting! And when 2022.3.2 comes out please let us know if it is working (we assume we will hear quickly if it is not working :open_mouth: ).

Sorry for the inconvenience.

Ran into the same issue with ELK not connecting post upgrade. I saw @bdraco posted a patch, tried upgrading and ELK still wasn’t working. Totally my fault! I should have payed more attention to the prior post stating to remove username and password. I finally caught it when looking at the github thread. Removing the integration and reinstalling then configuring WITHOUT a username and password worked perfectly. Setup is using unsecure connection. Thanks all!

2022.3 broken here as well. Running HA container and using non-secure port. HA discovered a new Elk instances on 2601 with name of BADBAD even though I am not running on secure port. Old instance reported could not connect (using DNS name).

Tried to delete the old instance but I can’t configure the new instance, nor can I ignore it and do a manual config (tried all kinds of combinations secure port, non-secure port, entering IP:port, entering DNS, entering IP only and selecting non-secure).

EDIT: Whatever happened locked up my M1XEP. I rolled back 2022.2.2 and did a full volume restore from last week and still couldn’t connect until I re-powered the XEP. So there was a hung socket or something, the ISY was still connected.

I believe what you are describing is fixed with https://github.com/home-assistant/core/commit/26c5dca45d9b3dee002dfe1549780747e5007e06 which will be in the .2 patch.

Patch releases comes out every 4 or 5 days on average.

.2 is published

1 Like

I upgraded to 2022.3.7 and my existing integration config seems to be working ok now. But I do still see an autodiscovered ElkM1 instance on my elk’s IP port 2601 named BADBAD, when I ignore it it keeps coming back.

Logs please.

Not a whole lot of info, but looks like BADBAD is part of the MAC address. After the 19:40 config-flow I ignored the integration and it came back at 19:55.

Existing integration is setup using DNS name on 2101.

2022-03-25 19:40:17 DEBUG (MainThread) [homeassistant.components.elkm1] Setting up elkm1 elk://myelkm1
2022-03-25 19:40:17 DEBUG (MainThread) [homeassistant.components.elkm1] Waiting for login event for 20 seconds
2022-03-25 19:40:19 DEBUG (MainThread) [homeassistant.components.elkm1] ElkM1 received first response (VN)
2022-03-25 19:40:19 DEBUG (MainThread) [homeassistant.components.elkm1] Received login event
2022-03-25 19:40:19 DEBUG (MainThread) [homeassistant.components.elkm1] Waiting for sync_complete event for 120 seconds
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Received sync_complete event
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:25 DEBUG (MainThread) [homeassistant.components.elkm1] Creating elk entities for <elkm1_lib.elk.Elk object at 0x7fa6dfb0db50>
2022-03-25 19:40:27 DEBUG (MainThread) [homeassistant.components.elkm1.config_flow] Elk discovered from integration discovery: ElkSystem(mac_address='00:40:9D:BA:DB:AD', ip_address='x.x.x.x', port=2601)
2022-03-25 19:40:47 DEBUG (MainThread) [homeassistant.components.elkm1.config_flow] Elk discovered from dhcp: ElkSystem(mac_address='00409dbadbad', ip_address='x.x.x.x', port=0)
2022-03-25 19:55:27 DEBUG (MainThread) [homeassistant.components.elkm1.config_flow] Elk discovered from integration discovery: ElkSystem(mac_address='00:40:9D:BA:DB:AD', ip_address='x.x.x.x', port=2601)
1 Like

I have a guess, but don’t know enough to answer. The Elk is showing up continuously because it does not recognize it as one that is already configured. It is not recognized because of the BADBAD ethernet address - that’s the part I don’t understand – where is BADBAD coming from. @bdraco is the pro here.

We don’t resolve dns names in the config flow so it will never match the entry. If you change it to use the ip address the discovery will go away and it will still stay up to date if the ip changes.

Thanks, that all makes sense. MAC is the key for discovery, Hostname is the key for manually configured and there is no code to check for duplicates between the two.

The (minor) problem is why does ignore not work? Is that a general HA issue or a component issue? I do see the ignored entry in core.config_entries.

Would you please open a github issue and post the contents of the ignore entries in .storage/core.config_entries so we can take a look?