Broadlink S3 hub support

@growsell78 Can you double check your hub is unlocked in the Broadlink app?

  • Open the app
  • Click on your Hub
  • Click on the “…” top right
  • Check “Lock Device” is turned off

Regards

@Mjb1505 thanks for your reply, I appreciate your help. The hub is unlocked yes. Have tried removing it all and resetting it up, and toggling the lock on and off…but definitely off. For the IP Address for the hub, Im using the IP Listed under Device Info in the Broadlink app. Not sure if its relevant, but if I ping the IP it doesnt seem to work:

If I go into the AppDaemon interface, I see:

and the log shows:

could this be where the issue is? Doesnt look good but not sure what it means!

Also to note, the switch is not showing on the HA Dashboard.

@Mjb1505 @stevendodd @mnayef95 Thanks for any further thoughts you may have :slight_smile:

@STUKguy I’m having issues getting this running also, could you advise what directory structure you used in the end please? Thanks in advance

@growsell78 i’m so sorry my friend, i didn’t get a notification for this, are you still having issues?

Hi everyone, I have spent the last 4 hours looking in to all the replies and fixes. After getting excited at first that the switches might work with home assistant. Anyway, I have copied my log for Appdaemon, my apps.yaml and also folder tree as this seems to be the most common issues people are facing.

If anyone is able to help I would highly appreciate it

Log from Appdaemon
cont-init: info: /etc/cont-init.d/00-banner.sh exited 0 cont-init: info: running /etc/cont-init.d/01-log-level.sh cont-init: info: /etc/cont-init.d/01-log-level.sh exited 0 cont-init: info: running /etc/cont-init.d/appdaemon.sh cont-init: info: /etc/cont-init.d/appdaemon.sh exited 0 s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun appdaemon (no readiness notification) s6-rc: info: service legacy-services successfully started [02:07:59] INFO: Starting AppDaemon... 2022-12-05 02:08:01.903507 INFO AppDaemon: AppDaemon Version 4.2.1 starting 2022-12-05 02:08:01.904260 INFO AppDaemon: Python version is 3.10.8 2022-12-05 02:08:01.904392 INFO AppDaemon: Configuration read from: /config/appdaemon/appdaemon.yaml 2022-12-05 02:08:01.904465 INFO AppDaemon: Added log: AppDaemon 2022-12-05 02:08:01.904543 INFO AppDaemon: Added log: Error 2022-12-05 02:08:01.904640 INFO AppDaemon: Added log: Access 2022-12-05 02:08:01.904778 INFO AppDaemon: Added log: Diag 2022-12-05 02:08:01.989349 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin 2022-12-05 02:08:02.077689 INFO HASS: HASS Plugin Initializing 2022-12-05 02:08:02.077838 INFO HASS: HASS Plugin initialization complete 2022-12-05 02:08:02.078192 INFO AppDaemon: Initializing HTTP 2022-12-05 02:08:02.078477 INFO AppDaemon: Using 'ws' for event stream 2022-12-05 02:08:02.080551 INFO AppDaemon: Starting API 2022-12-05 02:08:02.082401 INFO AppDaemon: Starting Admin Interface 2022-12-05 02:08:02.082666 INFO AppDaemon: Starting Dashboards 2022-12-05 02:08:02.131633 INFO HASS: Connected to Home Assistant 2022.11.4 2022-12-05 02:08:02.145652 INFO AppDaemon: App 'broadlink_s3_hub' added 2022-12-05 02:08:02.147186 INFO AppDaemon: Found 1 total apps 2022-12-05 02:08:02.147658 INFO AppDaemon: Starting Apps with 1 workers and 1 pins 2022-12-05 02:08:02.148968 INFO AppDaemon: Running on port 5050 2022-12-05 02:08:02.167478 INFO HASS: Evaluating startup conditions 2022-12-05 02:08:02.172401 INFO HASS: Startup condition met: hass state=RUNNING 2022-12-05 02:08:02.172595 INFO HASS: All startup conditions met 2022-12-05 02:08:02.184035 INFO AppDaemon: Got initial state from namespace default 2022-12-05 02:08:03.987639 INFO AppDaemon: New client Admin Client connected 2022-12-05 02:08:04.160244 INFO AppDaemon: Scheduler running in realtime 2022-12-05 02:08:04.181656 INFO AppDaemon: Adding /config/appdaemon/apps to module import path 2022-12-05 02:08:04.182533 INFO AppDaemon: Adding /config/appdaemon/apps/broadlink-s3-hub-app-daemon to module import path 2022-12-05 02:08:04.183367 INFO AppDaemon: Adding /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink to module import path 2022-12-05 02:08:04.204179 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink_s3_hub.py 2022-12-05 02:08:04.282627 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/hub.py - ignoring 2022-12-05 02:08:04.283660 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/protocol.py - ignoring 2022-12-05 02:08:04.284720 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/device.py - ignoring 2022-12-05 02:08:04.286110 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/climate.py - ignoring 2022-12-05 02:08:04.287170 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/remote.py - ignoring 2022-12-05 02:08:04.288401 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/exceptions.py - ignoring 2022-12-05 02:08:04.289433 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/const.py - ignoring 2022-12-05 02:08:04.290488 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/light.py - ignoring 2022-12-05 02:08:04.291582 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/helpers.py - ignoring 2022-12-05 02:08:04.292507 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/sensor.py - ignoring 2022-12-05 02:08:04.293712 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/cover.py - ignoring 2022-12-05 02:08:04.298002 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/alarm.py - ignoring 2022-12-05 02:08:04.299463 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/switch.py - ignoring 2022-12-05 02:08:04.300571 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/__init__.py - ignoring 2022-12-05 02:08:04.301677 INFO AppDaemon: Initializing app broadlink_s3_hub using class BroadlinkS3Hub from module broadlink_s3_hub 2022-12-05 02:08:04.591499 INFO broadlink_s3_hub: Create entity with entity_id: 'l' 2022-12-05 02:08:04.593291 WARNING broadlink_s3_hub: ------------------------------------------------------------ 2022-12-05 02:08:04.594560 WARNING broadlink_s3_hub: Unexpected error running initialize() for broadlink_s3_hub 2022-12-05 02:08:04.594970 WARNING broadlink_s3_hub: ------------------------------------------------------------ 2022-12-05 02:08:04.597743 WARNING broadlink_s3_hub: Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/appdaemon/app_management.py", line 165, in initialize_app await utils.run_in_executor(self, init) File "/usr/lib/python3.10/site-packages/appdaemon/utils.py", line 337, in run_in_executor response = future.result() File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink_s3_hub.py", line 20, in initialize self._create_entity(index=i) File "/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink_s3_hub.py", line 26, in _create_entity self.entity = self.get_ad_api().get_entity(entity_id) File "/usr/lib/python3.10/site-packages/appdaemon/adapi.py", line 3108, in get_entity self._check_entity(namespace, entity) File "/usr/lib/python3.10/site-packages/appdaemon/utils.py", line 226, in inner_sync_wrapper f = run_coroutine_threadsafe(self, coro(self, *args, **kwargs)) File "/usr/lib/python3.10/site-packages/appdaemon/utils.py", line 346, in run_coroutine_threadsafe result = future.result(self.AD.internal_function_timeout) File "/usr/lib/python3.10/concurrent/futures/_base.py", line 458, in result return self.__get_result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result raise self._exception File "/usr/lib/python3.10/site-packages/appdaemon/adapi.py", line 589, in _check_entity raise ValueError(f"{self.name}: Invalid entity ID: {entity}") ValueError: broadlink_s3_hub: Invalid entity ID: l 2022-12-05 02:08:04.598272 WARNING broadlink_s3_hub: ------------------------------------------------------------ 2022-12-05 02:08:04.599058 INFO AppDaemon: App initialization complete

Latest Home Assistant build 2022:12:4 seems to have broken the script. The entities are no longer showing or working! Nothing else changed so must be the latest build

I’m running the latest version and seems to work just fine for me:
Home Assistant 2022.12.5
Supervisor 2022.11.2
Operating System 9.4
Frontend 20221213.0 - latest

OK, figured it out. For some reason the sub folder broadlink had gone! Had to recreate the folder and move script files into it and then restarted appdaemon.
All my broken switch entities came back OK.

I have no idea how or why a update would have done that!

I’m desperate to get my Broadlnk PIR sensors to work, and I’ve been trying to follow this, but I am lost somewhere.

The folder name is “broadlink-s3-hub-app-daemon” ?
It belongs in “/config/custom_components/hacs” ?
There also seem to be a lot of references everywhere to a apps.yaml and I don’t see that anywhere.
What have I missed?

Thanks!

EDIT:

It took a while, but I finally realized that AppDaemon was more than just a checkmark and had to be installed.
I have that installed. I have the Broadlink folder created properly and populated properly, I created an entity in the apps.yaml, I think, and I see the status change in the AppDaemon webUI when motion is detected.

I’m still missing something, because I have no clue ho to either see this AppDaemon entity in Home Assistant or get the data about a state or state change to Home Assistant.

Hi, I’ve been using this for months now and works ok. However. I have had to setup an automation that restarts Appdaemon every two hours. For some reason the App State gets stuck on ‘idle’ and never resumes call backs. Any idea why this is? Sometimes it gets stuck on idle within the two hour window, which requires a manual restart. Also I’ve noticed everyone uses ‘light.’ In their entity IDs. Is there a reason for this, as I use ‘switch.’ Instead, which appears to respond faster, as I assume it’s using the switch.py script instead of light.py. (maybe red herring). Please see screenshots of idle state and config.

Hi Brian - I’d love some details on what your apps.yaml looked like to get the motion sensors to register changes in the webui. I have a 4key, and when connected to Alexa, each button appears as a motion sensor, so I think your setup might help me get mine working.

I actually had this exact same issue and solved it in the same way although I’m currently restarting every 12 hours.

I’m wonder if its per an amount of call backs or random. How many Broadlink switches do you have ? I have
3x 3Gang
2x 2Gang
1x 1Gang

All LC1 - I cant say I’m finding the reliability that great as I’ve noticed occasionally I can turn the switch on and it doesn’t register until another switch is used which seems to cause both to update. Although it shows this way in the Broadlink app also so I have to assume its a firmware issue with the LC1s. I’ve reached out to them with a video of the issue but nada.

I tried changing my entities from light. to switch. and didn’t see a notable gain. I currently have my interval at 0.5 and would say responsiveness is around the 2 to 3 second mark with my 6 LC1’s.

So for everyone wondering how to add the PIR3-FC sensor here’s how I did it. I changed the _get_device_state definition in lines 38 through 48 of the file located in /config/appdaemon/apps/broadlink/broadlink_s3_hub.py to this:

def _get_device_state(self, entity_id, entity_type):
    gang = self.gangs[entity_id]
    state = self.device.get_state(self.did)
    self.log("Device state received: {}".format(state))
    entity_id = self.entity_ids[gang - 1]
    
    if entity_type == "binary_sensor":
        pwr_key = "pir_detected"
    else:  # Assuming it's a light entity
        pwr_key = "pwr{}".format(gang)
    
    pwr = state.get(pwr_key)
    
    if pwr is None:
        self.log("Device state for entity: '{entity}', not available".format(entity=entity_id))
        return "unavailable"
    elif pwr == 1:
        self.log("Device state for entity: '{entity}', '{state}'".format(state="on", entity=entity_id))
        return "on"
    else:
        self.log("Device state for entity: '{entity}', '{state}'".format(state="off", entity=entity_id))
        return "off"

Then change the _create_entity definition like this:

def _create_entity(self, index):
    entity_id = self.entity_ids[index]
    self.log("Create entity with entity_id: '{entity_id}'".format(entity_id=entity_id))
    self.entity = self.get_ad_api().get_entity(entity_id)
    
    # if self.entity.exists():
    #     self.remove_entity(entity_id)
    
    attributes = {"friendly_name": self.friendly_names[index]}
    
    if entity_id.startswith("binary_sensor"):
        entity_type = "binary_sensor"
    else:
        entity_type = "light"
    
    state = self._get_device_state(entity_id=entity_id, entity_type=entity_type)  # Pass the entity_type argument here
    self.entity.add(state=state, attributes=attributes)

Now change the hanlde_light_state definition with this lines:

async def handle_light_state(self, kwargs):
    entity_id = kwargs["entity_id"]
    entity_type = "light" if entity_id.startswith("light") else "binary_sensor"
    self.set_state(entity_id, state=self._get_device_state(entity_id=entity_id, entity_type=entity_type))

Lastly change the first part of the file from line 1 to line 21 to this:

from datetime import timedelta
import appdaemon.plugins.hass.hassapi as hass
import broadlink


class BroadlinkS3Hub(hass.Hass):

    def initialize(self):
        self.entity_ids = self.args["entity_ids"]
        self.gangs: dict[str, int] = dict[str, int]()
        for i in range(len(self.entity_ids)):
            self.gangs.update({self.entity_ids[i]: i + 1})
        self.did = self.args["did"]
        self.scan_interval = self.args["scan_interval"]
        self.friendly_names = self.args["friendly_names"]
        self.device = broadlink.hello(self.args["hub_ip"])

        self.device.auth()
        self.listen_event(self.change_state, event="call_service")
        for i in range(len(self.entity_ids)):
            self._create_entity(index=i)
            entity_id = self.entity_ids[i]
            self.run_every(self.handle_light_state, self.datetime() + timedelta(seconds=self.scan_interval), self.scan_interval, entity_id=entity_id)

After that it’s just a matter of adding your entities as usual to the apps.yaml file. I added my sensors as binary sensors like this:

pir_sensor:
  module: broadlink_s3_hub
  class: BroadlinkS3Hub
  hub_ip: "x.x.x.x"
  did: "00000000000000000000xxxxxxxxxxxxx"
  scan_interval: 0.5
  friendly_names:
    - PIR sensors
  entity_ids:
    - binary_sensor.sensor_room

Be careful with the scan_interval, don’t set it too high if your instance can’t handle it and your “on” or “off” commands arrive late. For example I set my lights to 30 seconds and my sensors to 60. Hope this helps anyone struggling with it.

1 Like

Apologies for late reply, I don’t get notified for replies. I only have the one switch. They’re great switches and the concept of what we’re trying to achieve isn’t rocket science. I agree; I think there is something in the FW, which randomly causes an idle state, which can’t be changed by using the switches. My SD card corrupted today, and I didn’t create a backup of the HA setup I’d created. So I’ve bought a new SD card, and will have to sort it all out again :frowning: Old card was from 10+ years ago, so it ran very slow anyway. New one will be a faster SD card, so will see if there’s any difference in that too, as perhaps something in the HA OS was causing delays etc. We’ll see

PLEASE CAN SOMEONE HELP :pray:

I have no idea how to get my broadlink switches to work. I have tried to follow the guide above but I am super lost.
I have HACS, APPDaemon, Studio code but I have no idea where to paste code, store files its all a little confusing for me haha

I just want my 3 gang LC1 to be on my dashboard as a light.

Can someone please take me through step by step.

So sorry to be stupid and super needy :rofl:

Thank you

Joe

I’ve had thing working perfectly fine for months now and since an update it’s all stopped working, can anyone help me fix the issue please


 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-appdaemon: starting
s6-rc: info: service init-appdaemon successfully started
s6-rc: info: service appdaemon: starting
s6-rc: info: service appdaemon successfully started
s6-rc: info: service legacy-services: starting
[21:38:50] INFO: Starting AppDaemon...
s6-rc: info: service legacy-services successfully started
2023-04-19 22:38:52.831583 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2023-04-19 22:38:52.831716 INFO AppDaemon: Python version is 3.10.11
2023-04-19 22:38:52.831843 INFO AppDaemon: Configuration read from: /config/appdaemon/appdaemon.yaml
2023-04-19 22:38:52.831958 INFO AppDaemon: Added log: AppDaemon
2023-04-19 22:38:52.832089 INFO AppDaemon: Added log: Error
2023-04-19 22:38:52.832182 INFO AppDaemon: Added log: Access
2023-04-19 22:38:52.832278 INFO AppDaemon: Added log: Diag
2023-04-19 22:38:52.956791 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2023-04-19 22:38:53.081648 INFO HASS: HASS Plugin Initializing
2023-04-19 22:38:53.081803 WARNING HASS: ha_url not found in HASS configuration - module not initialized
2023-04-19 22:38:53.081945 INFO HASS: HASS Plugin initialization complete
2023-04-19 22:38:53.082337 INFO AppDaemon: Initializing HTTP
2023-04-19 22:38:53.082601 INFO AppDaemon: Using 'ws' for event stream
2023-04-19 22:38:53.084882 INFO AppDaemon: Starting API
2023-04-19 22:38:53.086903 INFO AppDaemon: Starting Admin Interface
2023-04-19 22:38:53.087185 INFO AppDaemon: Starting Dashboards
2023-04-19 22:38:53.096472 INFO HASS: Connected to Home Assistant 2023.4.5
2023-04-19 22:38:53.115011 INFO AppDaemon: App 'two_gang_switch' added
2023-04-19 22:38:53.115919 INFO AppDaemon: App 'one_gang_switch' added
2023-04-19 22:38:53.116839 INFO AppDaemon: App 'kitchen' added
2023-04-19 22:38:53.117503 INFO AppDaemon: Found 3 active apps
2023-04-19 22:38:53.117751 INFO AppDaemon: Found 0 inactive apps
2023-04-19 22:38:53.117982 INFO AppDaemon: Found 0 global libraries
2023-04-19 22:38:53.118189 INFO AppDaemon: Starting Apps with 3 workers and 3 pins
2023-04-19 22:38:53.119223 INFO AppDaemon: Running on port 5050
2023-04-19 22:38:53.145232 INFO HASS: Evaluating startup conditions
2023-04-19 22:38:53.152453 INFO HASS: Startup condition met: hass state=RUNNING
2023-04-19 22:38:53.152681 INFO HASS: All startup conditions met
2023-04-19 22:38:53.172958 INFO AppDaemon: Got initial state from namespace default
2023-04-19 22:38:55.125524 INFO AppDaemon: Scheduler running in realtime
2023-04-19 22:38:55.130865 INFO AppDaemon: Adding /config/appdaemon/apps to module import path
2023-04-19 22:38:55.131725 INFO AppDaemon: Adding /config/appdaemon/apps/broadlink-s3-hub-app-daemon to module import path
2023-04-19 22:38:55.132597 INFO AppDaemon: Adding /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink to module import path
2023-04-19 22:38:55.159103 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink_s3_hub.py
2023-04-19 22:38:55.202707 WARNING Error: ------------------------------------------------------------
2023-04-19 22:38:55.202957 WARNING Error: Unexpected error loading module: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink_s3_hub.py:
2023-04-19 22:38:55.203122 WARNING Error: ------------------------------------------------------------
2023-04-19 22:38:55.204678 WARNING Error: Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/appdaemon/app_management.py", line 1000, in check_app_updates
    await utils.run_in_executor(self, self.read_app, mod["name"], mod["reload"])
  File "/usr/lib/python3.10/site-packages/appdaemon/utils.py", line 304, in run_in_executor
    response = future.result()
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.10/site-packages/appdaemon/app_management.py", line 783, in read_app
    self.modules[module_name] = importlib.import_module(module_name)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink_s3_hub.py", line 2, in <module>
    import broadlink
  File "/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/__init__.py", line 8, in <module>
    from .alarm import S1C
  File "/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/alarm.py", line 3, in <module>
    from .device import Device
  File "/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/device.py", line 8, in <module>
    from cryptography.hazmat.backends import default_backend
ModuleNotFoundError: No module named 'cryptography'
2023-04-19 22:38:55.204894 WARNING Error: ------------------------------------------------------------
2023-04-19 22:38:55.205112 WARNING AppDaemon: Removing associated apps:
2023-04-19 22:38:55.205308 WARNING AppDaemon: two_gang_switch
2023-04-19 22:38:55.205598 WARNING AppDaemon: one_gang_switch
2023-04-19 22:38:55.205877 WARNING AppDaemon: kitchen
2023-04-19 22:38:55.207107 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/helpers.py - ignoring
2023-04-19 22:38:55.207654 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/switch.py - ignoring
2023-04-19 22:38:55.208234 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/light.py - ignoring
2023-04-19 22:38:55.208740 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/sensor.py - ignoring
2023-04-19 22:38:55.209313 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/remote.py - ignoring
2023-04-19 22:38:55.209866 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/__init__.py - ignoring
2023-04-19 22:38:55.210396 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/climate.py - ignoring
2023-04-19 22:38:55.211022 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/alarm.py - ignoring
2023-04-19 22:38:55.211571 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/const.py - ignoring
2023-04-19 22:38:55.212163 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/cover.py - ignoring
2023-04-19 22:38:55.212694 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/device.py - ignoring
2023-04-19 22:38:55.213310 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/exceptions.py - ignoring
2023-04-19 22:38:55.213851 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/protocol.py - ignoring
2023-04-19 22:38:55.214425 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/hub.py - ignoring
2023-04-19 22:38:55.214949 INFO AppDaemon: App initialization complete

I’ve gone back to a previous version of AppDeamon and it works fine again.


-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-appdaemon: starting
s6-rc: info: service init-appdaemon successfully started
s6-rc: info: service appdaemon: starting
s6-rc: info: service appdaemon successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[23:13:41] INFO: Starting AppDaemon...
2023-04-20 00:13:43.659213 INFO AppDaemon: AppDaemon Version 4.2.1 starting
2023-04-20 00:13:43.659367 INFO AppDaemon: Python version is 3.10.9
2023-04-20 00:13:43.659479 INFO AppDaemon: Configuration read from: /config/appdaemon/appdaemon.yaml
2023-04-20 00:13:43.659595 INFO AppDaemon: Added log: AppDaemon
2023-04-20 00:13:43.659730 INFO AppDaemon: Added log: Error
2023-04-20 00:13:43.659858 INFO AppDaemon: Added log: Access
2023-04-20 00:13:43.659970 INFO AppDaemon: Added log: Diag
2023-04-20 00:13:43.745170 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2023-04-20 00:13:43.859571 INFO HASS: HASS Plugin Initializing
2023-04-20 00:13:43.859727 INFO HASS: HASS Plugin initialization complete
2023-04-20 00:13:43.860114 INFO AppDaemon: Initializing HTTP
2023-04-20 00:13:43.860368 INFO AppDaemon: Using 'ws' for event stream
2023-04-20 00:13:43.862870 INFO AppDaemon: Starting API
2023-04-20 00:13:43.864756 INFO AppDaemon: Starting Admin Interface
2023-04-20 00:13:43.865048 INFO AppDaemon: Starting Dashboards
2023-04-20 00:13:43.874255 INFO HASS: Connected to Home Assistant 2023.4.5
2023-04-20 00:13:43.887338 INFO AppDaemon: App 'two_gang_switch' added
2023-04-20 00:13:43.888355 INFO AppDaemon: App 'one_gang_switch' added
2023-04-20 00:13:43.891070 INFO AppDaemon: App 'kitchen' added
2023-04-20 00:13:43.891660 INFO AppDaemon: Found 3 total apps
2023-04-20 00:13:43.892042 INFO AppDaemon: Starting Apps with 3 workers and 3 pins
2023-04-20 00:13:43.893084 INFO AppDaemon: Running on port 5050
2023-04-20 00:13:43.913155 INFO HASS: Evaluating startup conditions
2023-04-20 00:13:43.920323 INFO HASS: Startup condition met: hass state=RUNNING
2023-04-20 00:13:43.920549 INFO HASS: All startup conditions met
2023-04-20 00:13:43.940423 INFO AppDaemon: Got initial state from namespace default
2023-04-20 00:13:45.900435 INFO AppDaemon: Scheduler running in realtime
2023-04-20 00:13:45.906039 INFO AppDaemon: Adding /config/appdaemon/apps to module import path
2023-04-20 00:13:45.907061 INFO AppDaemon: Adding /config/appdaemon/apps/broadlink-s3-hub-app-daemon to module import path
2023-04-20 00:13:45.908058 INFO AppDaemon: Adding /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink to module import path
2023-04-20 00:13:45.935544 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink_s3_hub.py
2023-04-20 00:13:46.009733 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/helpers.py - ignoring
2023-04-20 00:13:46.010504 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/switch.py - ignoring
2023-04-20 00:13:46.011151 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/light.py - ignoring
2023-04-20 00:13:46.011700 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/sensor.py - ignoring
2023-04-20 00:13:46.012266 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/remote.py - ignoring
2023-04-20 00:13:46.012828 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/__init__.py - ignoring
2023-04-20 00:13:46.013376 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/climate.py - ignoring
2023-04-20 00:13:46.013922 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/alarm.py - ignoring
2023-04-20 00:13:46.014583 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/const.py - ignoring
2023-04-20 00:13:46.015158 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/cover.py - ignoring
2023-04-20 00:13:46.015690 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/device.py - ignoring
2023-04-20 00:13:46.016204 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/exceptions.py - ignoring
2023-04-20 00:13:46.016682 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/protocol.py - ignoring
2023-04-20 00:13:46.017179 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/hub.py - ignoring
2023-04-20 00:13:46.017589 INFO AppDaemon: Initializing app two_gang_switch using class BroadlinkS3Hub from module broadlink_s3_hub
2023-04-20 00:13:46.018645 INFO AppDaemon: Initializing app one_gang_switch using class BroadlinkS3Hub from module broadlink_s3_hub
2023-04-20 00:13:46.019744 INFO AppDaemon: Initializing app kitchen using class BroadlinkS3Hub from module broadlink_s3_hub
2023-04-20 00:13:46.286320 INFO two_gang_switch: Create entity with entity_id: 'light.livingroom_wall'
2023-04-20 00:13:46.290167 WARNING HASS: Error Removing Home Assistant entity light.livingroom_wall
2023-04-20 00:13:46.290467 WARNING HASS: Code: 405, error: 405: Method Not Allowed
2023-04-20 00:13:46.333485 INFO two_gang_switch: Device state for entity: 'light.livingroom_wall', 'on'
2023-04-20 00:13:46.340751 INFO two_gang_switch: Create entity with entity_id: 'light.livingroom_light'
2023-04-20 00:13:46.345702 WARNING HASS: Error Removing Home Assistant entity light.livingroom_light
2023-04-20 00:13:46.346141 WARNING HASS: Code: 405, error: 405: Method Not Allowed
2023-04-20 00:13:46.389543 INFO two_gang_switch: Device state for entity: 'light.livingroom_wall', 'on'
2023-04-20 00:13:46.431008 INFO two_gang_switch: Device state for entity: 'light.livingroom_light', 'off'
2023-04-20 00:13:46.474653 INFO two_gang_switch: Device state for entity: 'light.livingroom_wall', 'on'
2023-04-20 00:13:46.523438 INFO one_gang_switch: Create entity with entity_id: 'light.kitchen'
2023-04-20 00:13:46.530466 WARNING HASS: Error Removing Home Assistant entity light.kitchen
2023-04-20 00:13:46.531028 WARNING HASS: Code: 405, error: 405: Method Not Allowed
2023-04-20 00:13:46.556182 INFO two_gang_switch: Device state for entity: 'light.livingroom_light', 'off'
2023-04-20 00:13:46.597881 INFO one_gang_switch: Device state for entity: 'light.kitchen', 'off'
2023-04-20 00:13:46.661450 INFO kitchen: Create entity with entity_id: 'light.utility'
2023-04-20 00:13:46.672935 WARNING HASS: Error Removing Home Assistant entity light.utility
2023-04-20 00:13:46.673827 WARNING HASS: Code: 405, error: 405: Method Not Allowed
2023-04-20 00:13:46.719986 INFO kitchen: Device state for entity: 'light.utility', 'off'
2023-04-20 00:13:46.727828 INFO kitchen: Create entity with entity_id: 'light.back_garden'
2023-04-20 00:13:46.738148 WARNING HASS: Error Removing Home Assistant entity light.back_garden
2023-04-20 00:13:46.738917 WARNING HASS: Code: 405, error: 405: Method Not Allowed
2023-04-20 00:13:46.787936 INFO kitchen: Device state for entity: 'light.back_garden', 'off'
2023-04-20 00:13:46.796013 INFO AppDaemon: App initialization complete
2023-04-20 00:13:47.074684 INFO one_gang_switch: Device state for entity: 'light.kitchen', 'off'
2023-04-20 00:13:47.130127 INFO kitchen: Device state for entity: 'light.utility', 'off'
2023-04-20 00:13:47.162275 INFO two_gang_switch: Device state for entity: 'light.livingroom_wall', 'on'
2023-04-20 00:13:47.198566 INFO one_gang_switch: Device state for entity: 'light.kitchen', 'off'
2023-04-20 00:13:47.253101 INFO kitchen: Device state for entity: 'light.back_garden', 'off'
2023-04-20 00:13:47.284543 INFO two_gang_switch: Device state for entity: 'light.livingroom_light', 'off'
2023-04-20 00:13:47.329613 INFO one_gang_switch: Device state for entity: 'light.kitchen', 'off'
2023-04-20 00:13:47.370071 INFO kitchen: Device state for entity: 'light.utility', 'off'
2023-04-20 00:13:47.410643 INFO two_gang_switch: Device state for entity: 'light.livingroom_wall', 'on'
2023-04-20 00:13:47.452259 INFO one_gang_switch: Device state for entity: 'light.kitchen', 'off'

I also had this error after the latest update. I resolved it by adding the missing cryptography package in the AppDaemon config;

system_packages: []
python_packages:
  - cryptography
init_commands: []
3 Likes

Can confirm replacing the SD card resolved the issue. I was using a 10 year old class 2 8GB card. It was full of damaged sectors. I now have class 10 A1 16gb card. It hasn’t dropped to idle once and there is no delay between switching and action.

Great find, got me back up and running again