Join disappeared after update [SOLVED]

Upgraded to 90.1 and Join no longer works. Before this it worked just fine and has for the past 2 years.

from the log

  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/joaoapps_join/__init__.py", line 83, in setup
    for device in config[DOMAIN]:
KeyError: 'joaoapps_join'
2019-05-06 21:09:03 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform joaoapps_join: Unable to set up component.

and my yaml

- platform: joaoapps_join
  device_ids: !secret join_device_ids
  device_names: join_beast, join_gambit, join_cyclops, join_cerebro
  name: join
  api_key: !secret join_api

With the lack of html/push right now I need a way to get messages.

Help would be appreciated

I found Join was never that stable for me in HASS, I just use the Node-Red Join nodes. Way easier (imo)

I don’t use node-red though… Join (joaoapps) has worked just fine and even up to a few days ago. I went to migrate over to FCM from GCM and that crapped out with errors so I needed a backup…

I’m not sure the issue, as it just won’t install…

have you tried moving to the newest version of home assistant? 0.90 is in the middle of the great migration and things may have been screwed up for that platform.

Join now requires 2 entries in your config. Have you updated your setup?

Mine is currently working fine, although I send all my notifications through Node-Red as well for the sake of ease of changing things.

1 Like

I have also had issues with Join lately. I know it broke on one of the more recent updates but I had already set up Ariel (for actionable notifications) by the time it broke so I never dug deeper into the issue.

In my logging I was getting errors during startup. Re added the config real quick to get the following error:

Tue May 07 2019 08:42:40 GMT-0400 (Eastern Daylight Time)
Error during setup of component joaoapps_join
Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/setup.py”, line 156, in _async_setup_component
component.setup, hass, processed_config) # type: ignore
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/joaoapps_join/init.py”, line 83, in setup
for device in config[DOMAIN]:
KeyError: ‘joaoapps_join’

I didn’t see anything with breaking changes around this although there was a couple of non join related notify changes in the release notes.

I know you mentioned you do not use node-red but that is definitely a viable workaround if you want to delve into the node-red world. I avoided it for quite a while as I thought Yaml was the way to go and I didn’t want to “complicate” things by introducing another point of failure.

I was wrong. Node-Red has taken my Home Automation setup to the next level. I’m now using the manual alarm component and configured every bit of the arming, notifications (with the ability to control alarm state directly from the notification) and alarm triggers directly from Node-Red.

As I typed my last update, just saw this come through. I was wondering if something had changed on the config side as the config definitely did NOT match what I had configured before. Will give that a shot.

I had a typo, upgrading to 92.1 is what broke it.

I have not because it didn’t make sense. The way the documentation is written it shows one entry for the components and another for the group? I wasn’t using group notification so I didn’t put that in. I’ll try again when I get home

The documentation is a bit confusing, as is tradition. Instead of group name, just use your device_id again. Here is how mine is currently setup:

notify:
  - platform: joaoapps_join
    api_key: !secret join_api
    device_id: !secret join_did
    device_names: Galaxy
    name: JoinSGS10

joaoapps_join:
  - api_key: !secret join_api
    device_id: !secret join_did
3 Likes

So turns out, if you have another notify platform configured and you add the join portion, make sure its BEFORE the join platform. I kept getting missing data errors until I moved my fcm-android platform to the top of the notify portion.

This config seems to work:

notify:
  - name: android
    platform: fcm-android

  - platform: joaoapps_join
    api_key: API
    device_id: ID
    device_names: Pixel 3 XL
    name: Name
joaoapps_join:
  - api_key: API
    device_id: ID
2 Likes

Just got a chance to actually test this. After using the config I posted above, I did not receive any errors during startup.

Can confirm that it now works with a test notification to validate.

How does this work with a split up config and multiple device_ids?

So I’ve managed to get this working. Thanks for all the help guys.