mikelawrence / senseme-hacs Goto Github PK
View Code? Open in Web Editor NEWHaiku with SenseME fan integration for Home Assistant
License: MIT License
Haiku with SenseME fan integration for Home Assistant
License: MIT License
Am in process of moving to Home Assistant from Vera. Have a Haiku L series fan that I want to control with a ZOOZ ZEN32 scene controller. Have installed Senseme and it is seeing the fan.
When I try to associate tap sequences on the ZOOZ controller, I am not seeing any speed options.
I am only seeing these options:
Turn off Master Bedroom Fan
Turn on Master Bedroom Fan
Turn off Master Bedroom Fan Light
Turn on Master Bedroom Fan Light
Toggle Master Bedroom Fan Light
Increase Master Bedroom Fan Light brightness
Decrease Master Bedroom Fan Light brightness
Turn off Master Bedroom Fan Sleep Mode
Turn on Master Bedroom Fan Sleep Mode
Toggle Master Bedroom Fan Sleep Mode
Turn off Master Bedroom Fan Motion
Turn on Master Bedroom Fan Motion
Toggle Master Bedroom Fan Motion
Turn off Master Bedroom Fan Light Motion
Turn on Master Bedroom Fan Light Motion
Toggle Master Bedroom Fan Light Motion
This is the same list I see in Automations section on the devices page. It Looks like Senseme is interrogating the fan correctly.
2021-10-05 15:58:01 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Connected
2021-10-05 15:58:01 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Creating Updater Task
2021-10-05 15:58:01 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Connection to address 192.168.0.159 successful
2021-10-05 15:58:02 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Status update
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [DEVICE;ID]='20:F8:5E:31:4D:3D;FAN,LSERIES'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SNSROCC;STATUS]='OCCUPIED'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [DEVICE;BEEPER]='OFF'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [DEVICE;INDICATORS]='OFF'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [DEVICE;LIGHT]='PRESENT'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [DEVICE;SERVER]='PRODUCTION'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [ERRORLOG;ENTRIES;NUM]='10'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [ERRORLOG;ENTRIES;MAX]='10'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;AUTO]='OFF'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;DIR]='FWD'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;PWR]='OFF'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;SPD;ACTUAL]='0'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;SPD;MAX]='7'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;SPD;MIN]='1'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;BOOKENDS]='1;3'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;ECO]='ON'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;TIMER;CURR]='0'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;TIMER;MAX]='7'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;TIMER;MIN]='1'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FAN;WHOOSH;STATUS]='OFF'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FW;NAME]='FW000005'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [FW;FW000005]='2.6.2'
2021-10-05 15:58:04 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [GROUP;LIST]='Master Bedroom'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [DEVICE;OPTION;SENSORS]='NOT PRESENT'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [GROUP;ROOM;TYPE]='2'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LEARN;MAXSPEED]='7'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LEARN;MINSPEED]='0'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LEARN;ZEROTEMP]='2222'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LIGHT;AUTO]='OFF'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LIGHT;LEVEL;ACTUAL]='4'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LIGHT;BOOKENDS]='1;16'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LIGHT;LEVEL;MAX]='16'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LIGHT;LEVEL;MIN]='1'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [LIGHT;PWR]='ON'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [NAME;VALUE]='Master Bedroom Fan'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [NW;AP;STATUS]='OFF'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [NW;DHCP]='OFF'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [NW;PARAMS;ACTUAL]='192.168.0.159;255.255.255.0;192.168.0.1'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [NW;SSID]='XXXXXXXX'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [NW;TOKEN]='XXXXXXXXXX'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SCHEDULE;CAP]='MAX EVENTS,29'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SCHEDULE;EVENT;LIST]='NONE'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SLEEP;EVENT]='OFF'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SLEEP;EVENT]='ON'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SLEEP;STATE]='OFF'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SMARTMODE;ACTUAL]='OFF'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SMARTMODE;STATE]='OFF'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SMARTSLEEP;IDEALTEMP]='2111'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SMARTSLEEP;MAXSPEED]='7'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SMARTSLEEP;MINSPEED]='0'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SNSROCC;TIMEOUT;CURR]='600000'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SNSROCC;TIMEOUT;MAX]='86400000'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [SNSROCC;TIMEOUT;MIN]='60000'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [WINTERMODE;HEIGHT]='213'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: Param updated: [WINTERMODE;STATE]='OFF'
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: First Update Complete
2021-10-05 15:58:05 DEBUG (MainThread) [aiosenseme.device] Master Bedroom Fan: 0 callback(s) happened.
Hi Mike.
Thanks for making this available! I added your custom component and can now control my haiku light. Is it also possible to access the motion or lux sensors on a haiku light? I am a fairly good programmer, if you give me a hint or two I might be able to put together a pull request.
thanks!
Steve
discovery fails quickly never discovers fan. was working before updates. sometimes it shows the fan in logs but cant add integration because of discovery failure.
logs:
2020-04-23 14:49:16 WARNING (MainThread) [eufy_security.camera] Unable to process parameter "1401", value "100"
2020-04-23 14:49:17 DEBUG (MainThread) [aiosenseme.fan] master bedroom fan: Status update
2020-04-23 14:49:19 DEBUG (MainThread) [aiosenseme.discovery] Listening on 192.168.1.22
2020-04-23 14:49:19 DEBUG (MainThread) [aiosenseme.discovery] Discovery broadcast on 192.168.1.22
2020-04-23 14:49:19 DEBUG (MainThread) [aiosenseme.discovery] Listening on 172.17.0.1
2020-04-23 14:49:19 DEBUG (MainThread) [aiosenseme.discovery] Discovery broadcast on 172.17.0.1
2020-04-23 14:49:19 DEBUG (MainThread) [aiosenseme.discovery] Listening on 172.30.32.1
2020-04-23 14:49:19 DEBUG (MainThread) [aiosenseme.discovery] Discovery broadcast on 172.30.32.1
2020-04-23 14:49:20 DEBUG (MainThread) [aiosenseme.discovery] Discovered 0 fans
2020-04-23 14:49:20 DEBUG (MainThread) [aiosenseme.discovery] Broadcaster task cancelled
2020-04-23 14:49:20 DEBUG (MainThread) [aiosenseme.discovery] Listener closed on 192.168.1.22
2020-04-23 14:49:20 DEBUG (MainThread) [aiosenseme.discovery] Listener closed on 172.17.0.1
2020-04-23 14:49:20 DEBUG (MainThread) [aiosenseme.discovery] Listener closed on 172.30.32.1
2020-04-23 14:49:27 DEBUG (MainThread) [hacs] Nothing in the queue
sometimes shows fan:
2020-04-23 14:45:51 DEBUG (MainThread) [aiosenseme.fan] master bedroom fan: Connection lost
2020-04-23 14:45:51 WARNING (MainThread) [aiosenseme.fan] master bedroom fan: Connection lost
2020-04-23 14:45:51 DEBUG (MainThread) [aiosenseme.fan] master bedroom fan: Updater task cancelled
2020-04-23 14:45:52 DEBUG (MainThread) [aiosenseme.fan] master bedroom fan: Connecting
2020-04-23 14:45:54 DEBUG (MainThread) [aiosenseme.fan] master bedroom fan: Connected
2020-04-23 14:45:54 DEBUG (MainThread) [aiosenseme.fan] master bedroom fan: Status update
2020-04-23 14:45:54 DEBUG (MainThread) [aiosenseme.discovery] Listening on 192.168.1.22
2020-04-23 14:45:54 DEBUG (MainThread) [aiosenseme.discovery] Discovery broadcast on 192.168.1.22
2020-04-23 14:45:54 DEBUG (MainThread) [aiosenseme.discovery] Listening on 172.17.0.1
2020-04-23 14:45:54 DEBUG (MainThread) [aiosenseme.discovery] Discovery broadcast on 172.17.0.1
2020-04-23 14:45:54 DEBUG (MainThread) [aiosenseme.discovery] Listening on 172.30.32.1
2020-04-23 14:45:54 DEBUG (MainThread) [aiosenseme.discovery] Discovery broadcast on 172.30.32.1
2020-04-23 14:45:55 DEBUG (MainThread) [aiosenseme.discovery] Discovered 0 fans
2020-04-23 14:45:55 DEBUG (MainThread) [aiosenseme.discovery] Broadcaster task cancelled
2020-04-23 14:45:55 DEBUG (MainThread) [aiosenseme.discovery] Listener closed on 192.168.1.22
2020-04-23 14:45:55 DEBUG (MainThread) [aiosenseme.discovery] Listener closed on 172.17.0.1
2020-04-23 14:45:55 DEBUG (MainThread) [aiosenseme.discovery] Listener closed on 172.30.32.1
2020-04-23 14:46:09 DEBUG (MainThread) [aiosenseme.fan] master bedroom fan: Status update
I used to use this following code to display a fan speed, but after the latest update it reports the speed as 'none'. Can anyone see what I'm doing wrong, please?
color: auto-no-temperature
entity: fan.south_fan
hold_action:
action: more-info
icon: 'mdi:fan'
label: |
[[[
if (entity.state == 'off') return 'Off';
else return entity.attributes['speed'] + '/7';
]]]
name: South Fan
show_label: true
state:
- value: 'on'
spin: true
type: 'custom:button-card'
Hi there,
I've just recently started getting this error in the logs:
Logger: homeassistant.helpers.entity
Source: helpers/entity.py:574
First occurred: 3:00:19 PM (6 occurrences)
Last logged: 3:00:19 PM
Entity switch.north_fan_motion (<class 'custom_components.senseme.switch.HASensemeSwitch'>) implements device_state_attributes. Please report it to the custom component author.
Entity fan.north_fan_2 (<class 'custom_components.senseme.fan.HASensemeFan'>) implements device_state_attributes. Please report it to the custom component author.
Entity fan.south_fan_2 (<class 'custom_components.senseme.fan.HASensemeFan'>) implements device_state_attributes. Please report it to the custom component author.
Entity switch.south_fan_sleep_mode (<class 'custom_components.senseme.switch.HASensemeSwitch'>) implements device_state_attributes. Please report it to the custom component author.
Entity switch.south_fan_motion (<class 'custom_components.senseme.switch.HASensemeSwitch'>) implements device_state_attributes. Please report it to the custom component author.
and as a side note, although switch.north_fan doesn't exist anymore, only fan.north_fan_2, it's still spitting out an error, and I can't see it under entities, or states et cetera. Is there some way to delete it permanently?
Thank you
My fans are running on a separate IOT VLAN to my Home Assistant. Is it possible to add a feature to manually define the IP address of a fan, rather that broadcast discovery, as this does not work with complex networks?
v2.2.0
When installing through HACS, installation is blocked with the following error:
You are running Home Assistant version '2021.3.0', but this repository requires minimum version '2021.3' to be installed.
Just installed this via HACS, rebooted the raspi with ha on it, went to the configuration - integrations - add integration and then tried to search for the senseme but it doesn't appear at all.
Version
core-2021.1.4
Operating System
Home Assistant OS 5.10
The light is wired to a wall switch. Apparrently when the switch is off, the IP address of the light is unreachable.
This appears to result in an infinite loop in the discover phase. After a sufficient amount of time, this seems to have crashed my HA instance.
I looked at it a little bit. It does appear that perhaps incrementing self._error_count
around line 690 when the OS_ERROR
exception is caught would fix this? Here is the first error reported:
2020-07-04 21:19:08 ERROR (MainThread) [homeassistant.core] Error doing job: Fatal read error on socket transport
Traceback (most recent call last):
File "/usr/lib/python3.7/asyncio/selector_events.py", line 801, in _read_ready__data_received
data = self._sock.recv(self.max_size)
OSError: [Errno 113] No route to host
2020-07-04 21:19:08 DEBUG (MainThread) [aiosenseme.device] Kitchen Light: Connection lost
2020-07-04 21:19:08 WARNING (MainThread) [aiosenseme.device] Kitchen Light: Connection lost
2020-07-04 21:19:08 DEBUG (MainThread) [aiosenseme.device] Kitchen Light: Updater task cancelled
2020-07-04 21:19:09 DEBUG (MainThread) [aiosenseme.device] Kitchen Light: Connecting
2020-07-04 21:19:12 DEBUG (MainThread) [aiosenseme.device] Kitchen Light: Connect failed, try again in a minute
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.7/site-packages/aiosenseme/device.py", line 739, in _listener
PORT,
File "/usr/lib/python3.7/asyncio/base_events.py", line 959, in create_connection
raise exceptions[0]
File "/usr/lib/python3.7/asyncio/base_events.py", line 946, in create_connection
await self.sock_connect(sock, address)
File "/usr/lib/python3.7/asyncio/selector_events.py", line 464, in sock_connect
return await fut
File "/usr/lib/python3.7/asyncio/selector_events.py", line 494, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
OSError: [Errno 113] Connect call failed ('192.168.1.202', 31415)
2020-07-04 21:20:12 DEBUG (MainThread) [aiosenseme.device] Kitchen Light: Connecting
2020-07-04 21:20:15 DEBUG (MainThread) [aiosenseme.device] Kitchen Light: Connect failed, try again in a minute
Seven hours later, still going.
2020-07-05 05:23:04 DEBUG (MainThread) [aiosenseme.device] Kitchen Light: Connecting
2020-07-05 05:23:07 DEBUG (MainThread) [aiosenseme.device] Kitchen Light: Connect failed, try again in a minute
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.7/site-packages/aiosenseme/device.py", line 739, in _listener
PORT,
File "/usr/lib/python3.7/asyncio/base_events.py", line 959, in create_connection
raise exceptions[0]
File "/usr/lib/python3.7/asyncio/base_events.py", line 946, in create_connection
await self.sock_connect(sock, address)
File "/usr/lib/python3.7/asyncio/selector_events.py", line 464, in sock_connect
return await fut
File "/usr/lib/python3.7/asyncio/selector_events.py", line 494, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
OSError: [Errno 113] Connect call failed ('192.168.1.202', 31415)
Hi all!
I've been using the senseme custom components for over a year now and I am incredibly grateful to those of you that have worked on it. It's incredibly reliable (compared to other custom components I've used) and I'm very appreciative.
Sorry for raising an issue for this, but Github doesn't currently seem to have a better way to start a discussion.
My question is this: is there a particular reason not to pursue making this an official Home Assistant component and get merged into the root repo? There's a recent PR for Haiku support that looks relatively incomplete compared to this unofficial senseme alternative: home-assistant/core#38108
Just trying to understand. I'd be happy to put in some effort in making an official PR over there if there is interest, but my assumption is that it must not be wanted for some reason.
Thanks! :)
Hey Mike,
Not sure if you remember me, but I'm glad you added it to HACS. I finally have my i6 installed and cannot get it to be detected.
Interested in add i6 support?
I was having trouble designing a card for various speeds, but I think it may be something a bit lower level. When I use the developer page to send a speed of low, it's showing up as medium. I can send medium and high to change things, but just not low.
Here's a picture of the issue, in case am doing something wrong:
https://imgur.com/a/ZFvcPWH
Thank you
Logger: custom_components.senseme.fan
Source: custom_components/senseme/fan.py:43
First occurred: 4:25:36 PM (2 occurrences)
Last logged: 4:31:33 PM
Discovered unknown SenseME device model='FAN,LSERIES'
Older version of this integration worked with all 3 of my fanes. One of them is an L-series fan. L-The new integration will not discover it. Is this on purpose? Can the L-series fan be added to work?
Mike,
Thanks for all your work on this integration and getting it added to HACS. Unfortunately when I moved to the HACS version I lost the local customization I had made to get my standalone Haiku light (now discontinued) working with HA.
I would love to see the light supported by this integration. Below is the debug output from aiosenseme for the light. I'd be happy to test and provide any additional information you require.
DEBUG:aiosenseme.discovery:Received 'Hallway Light;DEVICE;ID;20:F8:5E:12:D1:9C;LIGHT,HAIKU' from x.x.x.x on x.x.x.x
DEBUG:aiosenseme.fan:Hallway Light: Connecting
DEBUG:aiosenseme.fan:Hallway Light: Connected
DEBUG:aiosenseme.fan:Hallway Light: Status update
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [DEVICE;LIGHT;PRESENT]='COLOR'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SNSROCC;STATUS]='OCCUPIED'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [DEVICE;SERVER]='PRODUCTION'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [ERRORLOG;ENTRIES;NUM]='10'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [ERRORLOG;ENTRIES;MAX]='10'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [FW;NAME]='FW000006'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [FW;FW000006]='2.5.0'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [GROUP;LIST]='Hallway'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [DEVICE;OPTION;SENSORS]='NOT PRESENT'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [GROUP;ROOM;TYPE]='0'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;AUTO]='OFF'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;LEVEL;ACTUAL]='14'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;LEVEL;MAX]='16'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;LEVEL;MIN]='1'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;MODE]='MANUAL'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;PWR]='ON'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;BOOKENDS]='1;16'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;COLOR;TEMP;VALUE]='2900'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;COLOR;TEMP;MIN]='2200'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;COLOR;TEMP;MAX]='5000'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;COLOR;LEVEL;MAX]='10'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;COLOR;LEVEL;MIN]='1'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [LIGHT;COLOR;LEVEL;VALUE]='6'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [NAME;VALUE]='Hallway Light'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [NW;AP;STATUS]='OFF'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [NW;DHCP]='OFF'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [NW;PARAMS;ACTUAL]='x.x.x.x;x.x.x.x;x.x.x.x'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [NW;SSID]='...'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [NW;RSSI]='-...'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [NW;TOKEN]='...'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SCHEDULE;CAP]='MAX EVENTS,29'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SCHEDULE;EVENT;LIST]='NONE'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SLEEP;EVENT]='OFF'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SLEEP;EVENT]='ON'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SLEEP;STATE]='OFF'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SNSROCC;TIMEOUT;CURR]='600000'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SNSROCC;TIMEOUT;MAX]='86400000'
DEBUG:aiosenseme.fan:Hallway Light: Param updated: [SNSROCC;TIMEOUT;MIN]='60000'
I see the note that sometimes the fan doesn't show up and you have to try multiple times. I've never been able to get even initial install of the integration because when I try, it gives the "No SenseME devices found on the network." message and doesn't install. I don't see anything in the HA logs. I've tried uninstalling and reinstalling the integration from HACS.
I'm running Hassio from a VMware vm. v112.4 with everything current.
I have a Haiku-L that has been setup with the Haiku by BAF iOS app. Amazon Echo is setup and working with it.
Fan shows firmware 2.6.1
Are there any caveats with what network is being scanned? My HASSio is on a 10.1.2.x subnet and the fan is on wifi on a 172.16.1 subnet. There are no network rules to drop traffic between them and other devices have been detected by HA without issue. I don't really suspect this, but without any other leads from logs - just nothing showing up - I'm a bit at a loss for places to look.
Any suggestions? And, is it the correct behavior that the Integration doesn't install (to HA Integrations, not from HACS) until there is a first device to be detected?
Thanks!
Is your feature request related to a problem? Please describe.
I'd like to be able to set the fan to "auto cooling" at the same temp of my thermostat.
Describe the solution you'd like
Honestly not sure. It's like a "preset_mode" but takes some extra params. I'd need to look through the docs.
It also looks like you can mix "whoosh" and auto features so you'd need a way to set them independently. I like how you handled other things like "motion" with other entities, but I'm not sure if there's a "switch + data" entity.
Any ideas? I'll keep digging through docs.
Additional context
Happy to make a PR for this with an accepted solution.
I have an L series fan with the independent wireless wall control. Both are on the same wireless network.
This integration finds both devices however it causes the wireless wall control to become unstable, it drops off the network and then lights on the device flash constantly in some kind of error state. Hard resetting the device gives a short break before the errors occur again. Removing the integration has resolved the issue and its been connected for the last 10 hours. Before that, it would last ~10 minutes and be very intermittent
In the old pre aiosenseme integration I used to disable the Wall control using config.yaml. The new integration does not seem to allow me to tell home assistant or the underlying library not to query this device.
If its possible to still get access to the occupancy sensor (which the L doesnt have built in - it comes from the wall controller) that would be great but if not, then disabling it would be a backup solution.
When integrating with Homekit, Home Assistant fans with oscillate enabled appear as floor fans.
Add an option to disable Whoosh as oscillate.
Since updating to 2021-9-4 the entities have stop updating.
Core Version core-2021.9.6
Since updating to 2021-9-4 the entities have stop updating.
Add your logs here.
Divorce makes things a real PITA.
Anybody interested in assuming the responsibility for this project and aiosenseme let me know.
@bdraco maybe?
Would it be possible to add support for sleep mode so it can be selected via Home Assistant and not just by the fan's remote or the app?
Is your feature request related to a problem? Please describe.
The SenseME integration forces snapping to values. The Haiku team said that their API supports exact values.
Describe the solution you'd like
Ability to use 0-100 non-snapping fan and brightness values
Describe alternatives you've considered
I've tried to do this manually in automations and i can't because the senseme integration quantizes it to available fan speeds.
Additional context
from the haiku team to me in email:
The only way that is possible is for Alexa Integration. Our stock speeds are 1-7, Alexa can do a full 1%-100% incremental adjustments.
which means the API does support it
Would it be possible to pull in the temp and humidity sensor data with this integration?
This isn't a bug or issue per say; so I apologise in advance but I didn't know of a better way to ask those questions.
The fan (either the fan itself or its light) can be made to turn off after a given time and it will restart automatically if it detects motion sensing.
I'd like to know if it's possible to differentiate between the two modes: e.g. the light is off because off was sent as a wifi-command or the remote; or because it just automatically turned-off and may go back on.
If it's been manually turned off, it won't turn back on automatically.
The reason for this I have installed a zigbee switch, it has a light depending if it's off (blue) or on (red).
I made a rule in HA that mirror the state of the fan with the switch and vice-versa; so that a press of the button on the switch, will turn on or off the fan or its light.
Fan and switch aren't electrically connected.
So if I turn the fan off, the switch's light to reflect that and show a blue light, and red when on.
However, I'd like the light to stay red to indicate that the fan is still powered and motion sensing will turn it back on.
Only if I press the switch, will the fan fully go off.
To achieve this, I need to be able to distinguish between an auto-off and a full off.
Is there a way to listen to that state change?
thanks !
PS: here is my current HA rule:
- alias: Sync Master Top - Fan Light
trigger:
- entity_id: switch.master_switch_1, light.master_bedroom_fan_light
platform: state
condition:
- condition: template
value_template: "{{ 'on' in trigger.to_state.state or 'off' in trigger.to_state.state }}"
- condition: template
value_template: "{{ trigger.from_state.state != trigger.to_state.state }}"
action:
- service_template: homeassistant.turn_{{trigger.to_state.state}}
# We only want to send off to the device that didn't cause the trigger; so that the sensing auto-off works.
# So only if we explicitly turn off the wall switch will we turn off the fan.
data_template:
entity_id: "{{ 'light.master_bedroom_fan_light' if trigger.to_state.object_id[-1:] == '1' else 'switch.master_switch_1' }}"
- delay: 1
mode: single
Logger: homeassistant.helpers.entity
Source: helpers/entity.py:601
First occurred: 9:53:33 AM (3 occurrences)
Last logged: 9:53:33 AM
Entity light.bathroom_fan_light (<class 'custom_components.senseme.light.HASensemeLight'>) implements device_state_attributes. Please report it to the custom component author.
Entity switch.bathroom_fan_sleep_mode (<class 'custom_components.senseme.switch.HASensemeSwitch'>) implements device_state_attributes. Please report it to the custom component author.
Entity fan.bathroom_fan (<class 'custom_components.senseme.fan.HASensemeFan'>) implements device_state_attributes. Please report it to the custom component author.
The syntax or requirements for asyncio have changed with python 3.11, which is now the required python in today's Home Assistant OS installs.
I still used SenseMe integration instead of migrating to Big Ass Fans because it worked great and I didn't want to touch what was working well. Since I installed HA 2023.6.x it no longer works at all.
Please clarify whether this is something to fix and I can wait, or if this integration is dead and I should bite the bullet and move to Big Ass Fans integration.
v2.2.5
Integration crashes with this error log message:
Log Details (ERROR)
This error originated from a custom integration.
Logger: homeassistant.config_entries
Source: custom_components/senseme/__init__.py:40
Integration: SenseME ([documentation](https://www.github.com/mikelawrence/senseme-hacs), [issues](https://github.com/mikelawrence/senseme-hacs/issues))
First occurred: June 10, 2023 at 4:15:54 PM (4 occurrences)
Last logged: 8:24:33 PM
Error setting up entry David’s Office Fan for senseme
Error setting up entry Red Couch Fan for senseme
Error setting up entry Kids Room Fan for senseme
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/senseme/__init__.py", line 40, in async_setup_entry
status, device = await async_get_device_by_device_info(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosenseme/discovery.py", line 572, in async_get_device_by_device_info
if await device.async_update(timeout_seconds=timeout_seconds):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosenseme/device.py", line 694, in async_update
await asyncio.wait(
File "/usr/local/lib/python3.11/asyncio/tasks.py", line 415, in wait
raise TypeError("Passing coroutines is forbidden, use tasks explicitly.")
TypeError: Passing coroutines is forbidden, use tasks explicitly.
Not relevant.
Add your logs here.
Hi Mike,
Thanks for your work. I'm on 2.0.5 and have the below error in my HA logs:
Discovered unknown SenseME device model='FAN,HAIKU,HSERIES'
Is the H-series fan not supported at the moment?
All
This custom integration uses deprecated DEVICE_CLASS_*
constants in its codebase.
The DEVICE_CLASS_*
constants have been deprecated and replaced in Home Assistant Core 2021.12 (over a year ago). I would highly suggest updating/migrating this integration to the new enums.
For example, for the device classes supported by the sensor
platform, there is now a SensorDeviceClass
enum. So if a sensor previously used the DEVICE_CLASS_ENERGY
constant, it should now use SensorDeviceClass.ENERGY
. Other platforms (like binary_sensor
, and number
) provide similar enumerations for their supported device classes.
The migration thus only consists of replacing constants with an enumeration member and is, therefore, very low impact and should be fairly straightforward.
If I can help resolve any questions regarding this change or migration, feel free to ask or respond to this issue. I'm happy to help!
Kindest regards,
../Frenck
n/a
Steps to reproduce
The behavior when you do this, is HASS continues to function for the fan component, but the light component is not detected or added. The light component can be seen within the official Haiku app on iOS, but is never detected by HASS.
After updating to Firmware version 3.0.0, Sense Me cannot find the address which has been reserved via the router
Crashing on start
Logger: homeassistant.config_entries
Source: custom_components/senseme/__init__.py:40
First occurred: 2:00:29 PM (1 occurrences)
Last logged: 2:00:29 PM
Error setting up entry SenseME for senseme
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 248, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/config/custom_components/senseme/__init__.py", line 40, in async_setup_entry
info=entry.data[CONF_INFO], start_first=True, refresh_minutes=UPDATE_RATE
KeyError: 'info'
2021-03-04 14:00:29 DEBUG (MainThread) [custom_components.senseme] Using aiosenseme library version 0.5.2
2021-03-04 14:00:29 WARNING (MainThread) [homeassistant.loader] You are using a custom integration bom_forecast which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-03-04 14:00:29 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry SenseME for senseme
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 248, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/config/custom_components/senseme/__init__.py", line 40, in async_setup_entry
info=entry.data[CONF_INFO], start_first=True, refresh_minutes=UPDATE_RATE
KeyError: 'info'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.