Broadlink S3 hub support

Anyone else getting a error following the 2023.6.1 update?

Platform support not supported

The broadlink platform for the light integration does not support platform setup.

Please remove it from your configuration and restart Home Assistant to fix this issue.

Error - 12/06/2023

Help much appreciated as I don’t really want to remove the config files…

Well I decided to remove the offending lines from the config.yaml and it does not seem to have impacted the operation of this daemon app. It might be me messing about in the past trying to get the original broadlink integration to work with the S3 hub and light switches. I wish this would be built into the general broadlink integration but for some reason it does not seem to have got any traction.

Hi, thanks for the great work! im also trying to get my PIR3 to run.

Tried changing using your codes but getting a compile_error in appdaemon.

not too sure which part went wrong. any help will be most appreciated!

Hi all,

New to the forum, so apologies for any breaks in etiquette. I’ve skimmed through this thread and reluctant to start adding docker instances in and piles of python. I could, but I’m really trying to keep my HA as clean as possible with the supported integrations.

Which leads me t o my question. Is there any sign of Broadlink adding support for the S3 hub and subsequent LC-1/2/3 light switches? Anybody have any information?

Cheers,
Hod

Hi I suspect the answer is probably no, but you would need to talk to the BroadLink maintainers of the home assistant plug-in for the final say. I am in the process of swapping out my BroadLink switches as they fail too often.

The docker container that I posted originally has worked flawlessly for me and is simple to get up and running.

Just updated to Home Assistant 2023.7.3.

Facing this error for all my switches.

Log Entry
2023-07-24 09:34:27.251687 WARNING Livingroom: ------------------------------------------------------------
2023-07-24 09:34:27.250919 WARNING Livingroom: Traceback (most recent call last): File "/config/appdaemon/apps/broadlink/__init__.py", line 209, in hello return next( ^^^^^ StopIteration The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/appdaemon/app_management.py", line 162, in initialize_app await utils.run_in_executor(self, init) File "/usr/lib/python3.11/site-packages/appdaemon/utils.py", line 304, in run_in_executor response = future.result() ^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/appdaemon/apps/broadlink_s3_hub.py", line 15, in initialize self.device = broadlink.hello(self.args["hub_ip"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/appdaemon/apps/broadlink/__init__.py", line 213, in hello raise e.NetworkTimeoutError( broadlink.exceptions.NetworkTimeoutError: [Errno -4000] Network timeout: No response received within 10s
2023-07-24 09:34:27.246515 WARNING Livingroom: ------------------------------------------------------------
2023-07-24 09:34:27.245685 WARNING Livingroom: Unexpected error running initialize() for Livingroom

Any help would be most appreciated! :slight_smile:

my bad. got it fixed. issue is not on to HA update.

forgot to enable static IP on my devices.

Hi, Iam new in HA and I tried to integrate a broadlink S3 Hub. I followed all the step in the GitHub link and I am getting erros in the log of appdaemon. The log is the follow:
[10:16:50] INFO: Starting AppDaemon…
s6-rc: info: service legacy-services successfully started
2023-09-17 16:16:53.470723 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2023-09-17 16:16:53.470881 INFO AppDaemon: Python version is 3.11.5
2023-09-17 16:16:53.471041 INFO AppDaemon: Configuration read from: /config/appdaemon/appdaemon.yaml
2023-09-17 16:16:53.471195 INFO AppDaemon: Added log: AppDaemon
2023-09-17 16:16:53.471395 INFO AppDaemon: Added log: Error
2023-09-17 16:16:53.471588 INFO AppDaemon: Added log: Access
2023-09-17 16:16:53.471714 INFO AppDaemon: Added log: Diag
2023-09-17 16:16:53.667850 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2023-09-17 16:16:53.918539 INFO HASS: HASS Plugin Initializing
2023-09-17 16:16:53.918763 WARNING HASS: ha_url not found in HASS configuration - module not initialized
2023-09-17 16:16:53.918897 INFO HASS: HASS Plugin initialization complete
2023-09-17 16:16:53.919246 INFO AppDaemon: Initializing HTTP
2023-09-17 16:16:53.919567 INFO AppDaemon: Using β€˜ws’ for event stream
2023-09-17 16:16:53.922655 INFO AppDaemon: Starting API
2023-09-17 16:16:53.926095 INFO AppDaemon: Starting Admin Interface
2023-09-17 16:16:53.926389 INFO AppDaemon: Starting Dashboards
2023-09-17 16:16:53.937240 INFO HASS: Connected to Home Assistant 2023.9.2
2023-09-17 16:16:53.947425 INFO AppDaemon: App β€˜one_gang_switch’ added
2023-09-17 16:16:53.948235 INFO AppDaemon: Found 1 active apps
2023-09-17 16:16:53.948450 INFO AppDaemon: Found 0 inactive apps
2023-09-17 16:16:53.948681 INFO AppDaemon: Found 0 global libraries
2023-09-17 16:16:53.948850 INFO AppDaemon: Starting Apps with 1 workers and 1 pins
2023-09-17 16:16:53.949380 INFO AppDaemon: Running on port 5050
2023-09-17 16:16:53.977105 INFO HASS: Evaluating startup conditions
2023-09-17 16:16:53.983164 INFO HASS: Startup condition met: hass state=RUNNING
2023-09-17 16:16:53.983338 INFO HASS: All startup conditions met
2023-09-17 16:16:53.992143 INFO AppDaemon: Got initial state from namespace default
2023-09-17 16:16:55.957267 INFO AppDaemon: Scheduler running in realtime
2023-09-17 16:16:55.959732 INFO AppDaemon: Adding /config/appdaemon/apps to module import path
2023-09-17 16:16:55.959980 INFO AppDaemon: Adding /config/appdaemon/apps/broadlink-s3-hub-app-daemon to module import path
2023-09-17 16:16:55.960230 INFO AppDaemon: Adding /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink to module import path
2023-09-17 16:16:55.971262 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/exceptions.py - ignoring
2023-09-17 16:16:55.971976 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/device.py - ignoring
2023-09-17 16:16:55.972715 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/sensor.py - ignoring
2023-09-17 16:16:55.973322 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/init.py - ignoring
2023-09-17 16:16:55.973907 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/remote.py - ignoring
2023-09-17 16:16:55.974591 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/alarm.py - ignoring
2023-09-17 16:16:55.975345 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/climate.py - ignoring
2023-09-17 16:16:55.976111 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/light.py - ignoring
2023-09-17 16:16:55.976862 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/helpers.py - ignoring
2023-09-17 16:16:55.977547 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/switch.py - ignoring
2023-09-17 16:16:55.978181 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/cover.py - ignoring
2023-09-17 16:16:55.978778 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/broadlink_s3_hub.py
2023-09-17 16:16:56.026301 WARNING Error: ------------------------------------------------------------
2023-09-17 16:16:56.026657 WARNING Error: Unexpected error loading module: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/broadlink_s3_hub.py:
2023-09-17 16:16:56.026950 WARNING Error: ------------------------------------------------------------
2023-09-17 16:16:56.030758 WARNING Error: Traceback (most recent call last):
File β€œ/usr/lib/python3.11/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.11/site-packages/appdaemon/utils.py”, line 304, in run_in_executor
response = future.result()
^^^^^^^^^^^^^^^
File β€œ/usr/lib/python3.11/concurrent/futures/thread.py”, line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File β€œ/usr/lib/python3.11/site-packages/appdaemon/app_management.py”, line 783, in read_app
self.modules[module_name] = importlib.import_module(module_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File β€œ/usr/lib/python3.11/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File β€œβ€, line 1204, in _gcd_import
File β€œβ€, line 1176, in _find_and_load
File β€œβ€, line 1147, in _find_and_load_unlocked
File β€œβ€, line 690, in _load_unlocked
File β€œβ€, line 940, in exec_module
File β€œβ€, line 241, in _call_with_frames_removed
File β€œ/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/broadlink_s3_hub.py”, line 2, in
import broadlink
File β€œ/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/init.py”, line 8, in
from .alarm import S1C
File β€œ/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/alarm.py”, line 3, in
from .device import Device
File β€œ/config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/device.py”, line 8, in
from cryptography.hazmat.backends import default_backend
ModuleNotFoundError: No module named β€˜cryptography’
2023-09-17 16:16:56.030946 WARNING Error: ------------------------------------------------------------
2023-09-17 16:16:56.031173 WARNING AppDaemon: Removing associated apps:
2023-09-17 16:16:56.031346 WARNING AppDaemon: one_gang_switch
2023-09-17 16:16:56.032929 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/hub.py - ignoring
2023-09-17 16:16:56.033742 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/protocol.py - ignoring
2023-09-17 16:16:56.034396 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/broadlink-s3-hub-app-daemon/broadlink/const.py - ignoring
2023-09-17 16:16:56.035094 INFO AppDaemon: App initialization complete

Any help is apreciate.

Hello! I was able to add a light switch but on the HA dashboard I can’t turn it on. Can someone help please?

Error message: Failed to call service light/turn_on. Service not found.

landing:
  module: broadlink_s3_hub
  class: BroadlinkS3Hub
  hub_ip: "192.168.1.149"
  did: "00000000000000000000ec0bae0fe9b4"
  scan_interval: 1
  friendly_names:
    - gang1
  entity_ids:
    - light.gang_1

log:

...
2023-09-19 16:30:33.144924 INFO landing: Device state for entity: 'light.gang_1', 'off'
...

EDIT:
The following fixed the problem

/config/configuration.yaml

#S3 Hub
light:
  - platform: broadlink
    light:
      turn_on:
        service: light.turn_on
      turn_off:
        service: light.turn_off

More of an FYI one of my LC1s broke recently and I had to replace it. I decided to try the new-ish MoesGo ZigBee switches, and they just work.

I know lots of us got the LC1s because there were few options of good none buzzing no-neutral switches at the time but there does seem to be some other options now.

I did exactly the same thing … +1

Has anyone managed to fix appdaemon going to idle every few hours and needing a restart?

managed to fix it by only having 1 GET request for all entities (gangs) rather than one for each.

Only problem now is the switch keeps going offline. Anyone know why?

Hi Hichi, how did you change to only one GET request? I have three entities, one for each switch.

Cheers,

Joel

it’s a bit messy but basically instead of doing a run_in for each switch, you handle all switches and pass the entity_ids list, rather than just one.

here is my (totally terribly messy) broadlink_s3_hub.py script that does so, I’ve also added some exception catching to deal with the switch’s constant shenanigans of going offline. I’m still going to be putting my switch in the bin however as it just keeps disconnecting from the hub.

import appdaemon.plugins.hass.hassapi as hass
import broadlink
import time


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)

        self.run_in(
            self.handle_light_state,
            self.scan_interval,
            entity_ids=self.entity_ids,
        )

    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]}
        state = self._get_device_state(entity_id=entity_id)
        self.entity.add(state=state, attributes=attributes)

    def handle_light_state(self, kwargs):
        entity_ids = kwargs["entity_ids"]
        # get state for all entities first
        try:
            state = self.device.get_state(self.did)
            is_pwr = state["pwr1"]
            self.log(f"USING HANDLE METHOD - Device state: {state}")
        except:
            state = dict()
            while "pwr1" not in state.keys():
                self.log(
                    "Device not available... last state: {state}".format(state=state)
                )
                try:
                    state = self.device.get_state(self.did)
                except:
                    pass
                time.sleep(1)
        for entity_id in entity_ids:
            gang = self.gangs[entity_id]
            entity_state = "on" if state["pwr{gang}".format(gang=gang)] == 1 else "off"
            self.set_state(entity_id, state=entity_state)
        self.run_in(self.handle_light_state, self.scan_interval, entity_ids=entity_ids)

    def _get_device_state(self, entity_id):
        self.log("USING PRIVATE METHOD _get_device_state")
        gang = self.gangs[entity_id]
        state = self.device.get_state(self.did)
        entity_id = self.entity_ids[gang - 1]
        try:
            pwr = state["pwr{gang}".format(gang=gang)]
        except KeyError:
            while "pwr1" not in state.keys():
                self.log(f"RETRYING GET STATE .... LAST STATE {state}")
                state = self.device.get_state(self.did)
                time.sleep(0.1)
            pwr = state["pwr{gang}".format(gang=gang)]
        if 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"

    def change_state(self, event_name, data, kwargs):
        data_entity_id = data["service_data"]["entity_id"]
        received_entity_ids = (
            data_entity_id if isinstance(data_entity_id, list) else [data_entity_id]
        )
        service = data["service"]
        for entity in received_entity_ids:
            if service == "turn_off" and entity in self.entity_ids:
                self._turn_entity_off(entity_id=entity)
            elif service == "turn_on" and entity in self.entity_ids:
                self._turn_entity_on(entity_id=entity)
            elif service == "toggle" and entity in self.entity_ids:
                if self._get_device_state(entity_id=entity) == "off":
                    self._turn_entity_on(entity_id=entity)
                else:
                    self._turn_entity_off(entity_id=entity)

    def _turn_entity_off(self, entity_id):
        self.log("Turn off '{entity}'".format(entity=entity_id))

        gang = self.gangs[entity_id]
        pwr = [None, None, None, None]
        pwr[gang] = 0
        self.device.set_state(self.did, pwr[1], pwr[2], pwr[3])
        self.set_state(entity_id, state="off")

    def _turn_entity_on(self, entity_id):
        self.log("Turn on '{entity}'".format(entity=entity_id))

        gang = self.gangs[entity_id]
        pwr = [None, None, None, None]
        pwr[gang] = 1
        self.device.set_state(self.did, pwr[1], pwr[2], pwr[3])
        self.set_state(entity_id, state="on")

Does this solution still work? I have 5pcs switches with four buttons broadlink scene switch SC4B4. And I’m thinking of buying an S3 hub to be able to use them in the home assistant.

I imagine it does still work, however I would highly recommend going with a zigbe solution perhaps the Moes switches as they are more reliable. I write the original integration with the python libraries and have since replaced all my switches.

1 Like

thx for quick reply @stevendodd

If there is no other option, I will try. I only need appdeamon integration to work? Do I still need a docker image?

I believe you only need the appdeamon, although I never ran it and I only supplied the docker image. I believe it was provided so that docker was not required.

Starting to lose the will to live on trying to get this to work, I have followed the guides and peoples comments when helpful info is given

I am going to try an be as comprehensive as I can, to act as a full guide for someone else and to cover all my bases, so that someone can help

I have all of these that I need to set up with Broadlink

But I have been trying 6-8 hours a day for the last 3 days to set one of these up (it is 6am in the morning as I write this, and I have been going strong since 9pm and I have work in 3 hours!

image

And just tried one of these

image

image

I have installed HACs and the following programs

I have unlocked the S3 hub in the broadlink app

In AppDaemon
I have added the package
image

I think this looks fine

2024-07-23 06:21:25.338868 INFO AppDaemon: AppDaemon is stopped.
[05:21:28] INFO: Service AppDaemon exited with code 0 (by signal 0)
s6-rc: info: service appdaemon successfully stopped
s6-rc: info: service init-appdaemon: stopping
s6-rc: info: service init-appdaemon successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting

-----------------------------------------------------------
 Add-on: AppDaemon
 Python Apps and Dashboard using AppDaemon 4.x for Home Assistant
-----------------------------------------------------------
 Add-on version: 0.16.6
 You are running the latest version of this add-on.
 System: Home Assistant OS 12.4  (aarch64 / raspberrypi3-64)
 Home Assistant Core: 2024.7.3
 Home Assistant Supervisor: 2024.06.2
-----------------------------------------------------------
 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
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Collecting cryptography
  Downloading https://wheels.home-assistant.io/musllinux-index/cryptography-43.0.0-cp39-abi3-musllinux_1_2_aarch64.whl (3.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.9/3.9 MB 9.8 MB/s eta 0:00:00
Collecting cffi>=1.12 (from cryptography)
  Downloading https://wheels.home-assistant.io/musllinux-index/cffi-1.16.0-cp311-cp311-musllinux_1_2_aarch64.whl (214 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 214.1/214.1 kB 10.6 MB/s eta 0:00:00
Collecting pycparser (from cffi>=1.12->cryptography)
  Downloading https://wheels.home-assistant.io/musllinux-index/pycparser-2.22-py3-none-any.whl (117 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 11.2 MB/s eta 0:00:00
Installing collected packages: pycparser, cffi, cryptography
Successfully installed cffi-1.16.0 cryptography-43.0.0 pycparser-2.22
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
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
[05:22:28] INFO: Starting AppDaemon...
2024-07-23 06:22:41.603728 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2024-07-23 06:22:41.604550 INFO AppDaemon: Python version is 3.11.9
2024-07-23 06:22:41.605565 INFO AppDaemon: Configuration read from: /config/appdaemon.yaml
2024-07-23 06:22:41.606635 INFO AppDaemon: Added log: AppDaemon
2024-07-23 06:22:41.607703 INFO AppDaemon: Added log: Error
2024-07-23 06:22:41.608518 INFO AppDaemon: Added log: Access
2024-07-23 06:22:41.609445 INFO AppDaemon: Added log: Diag
2024-07-23 06:22:42.391738 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2024-07-23 06:22:43.162808 INFO HASS: HASS Plugin Initializing
2024-07-23 06:22:43.163592 WARNING HASS: ha_url not found in HASS configuration - module not initialized
2024-07-23 06:22:43.164528 INFO HASS: HASS Plugin initialization complete
2024-07-23 06:22:43.166601 INFO AppDaemon: Initializing HTTP
2024-07-23 06:22:43.168126 INFO AppDaemon: Using 'ws' for event stream
2024-07-23 06:22:43.184327 INFO AppDaemon: Starting API
2024-07-23 06:22:43.193420 INFO AppDaemon: Starting Admin Interface
2024-07-23 06:22:43.194986 INFO AppDaemon: Starting Dashboards
2024-07-23 06:22:43.584504 INFO HASS: Connected to Home Assistant 2024.7.3
2024-07-23 06:22:43.611255 INFO AppDaemon: App 'hello_world' added
2024-07-23 06:22:43.649084 INFO AppDaemon: App 'entryway_switch' added
2024-07-23 06:22:43.656139 INFO AppDaemon: App 'cinema_switch' added
2024-07-23 06:22:43.660470 INFO AppDaemon: Found 3 active apps
2024-07-23 06:22:43.661710 INFO AppDaemon: Found 0 inactive apps
2024-07-23 06:22:43.662642 INFO AppDaemon: Found 0 global libraries
2024-07-23 06:22:43.664084 INFO AppDaemon: Starting Apps with 3 workers and 3 pins
2024-07-23 06:22:43.669290 INFO AppDaemon: Running on port 5050
2024-07-23 06:22:43.811721 INFO HASS: Evaluating startup conditions
2024-07-23 06:22:43.846574 INFO HASS: Startup condition met: hass state=RUNNING
2024-07-23 06:22:43.848588 INFO HASS: All startup conditions met
2024-07-23 06:22:43.894789 INFO AppDaemon: Got initial state from namespace default
2024-07-23 06:22:44.476379 INFO AppDaemon: New client Admin Client connected
2024-07-23 06:22:45.685121 INFO AppDaemon: Scheduler running in realtime
2024-07-23 06:22:45.712140 INFO AppDaemon: Adding /config/apps to module import path
2024-07-23 06:22:45.719361 INFO AppDaemon: Loading App Module: /config/apps/hello.py
2024-07-23 06:22:45.901070 INFO AppDaemon: Loading app hello_world using class HelloWorld from module hello
2024-07-23 06:22:45.910661 INFO AppDaemon: Calling initialize() for hello_world
2024-07-23 06:22:46.518611 INFO hello_world: Hello from AppDaemon
2024-07-23 06:22:46.524994 INFO hello_world: You are now ready to run Apps!
2024-07-23 06:22:46.531484 INFO AppDaemon: App initialization complete
2024-07-23 06:23:38.628239 INFO AppDaemon: New client Admin Client connected
2024-07-23 06:23:45.339846 INFO AppDaemon: Client disconnection from Admin Client
2024-07-23 06:42:48.171556 WARNING AppDaemon: Excessive time spent in utility loop: 3009.0ms, 9.0ms in check_app_updates(), 3000.0ms in other
2024-07-23 06:42:53.666120 INFO AppDaemon: Client disconnection from Admin Client

This looks fine

image

image

I have stored the 14 files where they should be and the broadlink S3 hub in a folder above it called broadlink
image

ONE ODD THING,

I installed via HACS and for some reason I did not have a apps.yaml file, so I did create it

But I also have this file which is another apps.yaml
image

So I duplicated the file above here

Conbee stick is in play and has been autenticated

image for this to work

for my Aqara sensors to work

As essentially I have the Aqara sensors/presence sensor/vibration and door sensors controlling the Broadlink light switches / govee lights / govee LEDs. Tapo lights / Lepro lights / Meross/Amazon/Gosund plugs and Switchbot various

Basically since lockdown, I got watching Paul Hibbert and bought so much smart tech and everything works perfectly in the Amazon ecosystem, but wanted to advance it a little with HA

I have noticed that in some other posts people have posted this, not sure it helps here for the appdaemon.yami

image

It was another 2 days of this, for 3 days straight I had been working on it after work until 6-7am and then waking up for work at 9am

Since the above post I also wiped it clean and started again

It now works and I realised what it is was

Appdaemon had an update that changed the whole file structure, I spotted it before when I said β€˜the Odd thing is’ when I found the app file elsewhere, basically you have to build out your structure and file system in a higher root system for it to work

The thing that seems odd is that the callbacks are coming thick and fast, and I do not know if this is ok that it is as rapid as it is and if it is harming the system

This is how it looks on the dashboard for now, once you get the code working…I noticed that no one ever screenshotted their overview, so someone like me coming into it, wouldn’t know what to expect to see

the time it took me to write this the call backs now look like this

Is that even normal?