Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scene Triggered Fan Settings #732

Open
JasonGoldenDDT opened this issue Sep 23, 2024 · 1 comment
Open

Scene Triggered Fan Settings #732

JasonGoldenDDT opened this issue Sep 23, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@JasonGoldenDDT
Copy link

Describe the bug
I have multiple RM Mini 3's strapped to Dyson AM09 fans. These fans are added to Scenes that turn them on and adjust their speed.

I am finding that scenes fail to adjust speed, or enable features like oscillation.

For example. I have a scene that should turn on a Dyson fan, increase its speed to 100%. When a second scene is triggered to adjust that speed to 40% nothing happens.

Another example is with setting a generic tower fan's speed and oscillation state, because the oscillation state does not have a default option in the config, it remains on after the fan powers off. This means it can't been enabled by a scene as the command doesn't get sent.

If multiple fans are controlled in one scene, like a Dyson, and another brand only one is activated as expected. I suspect this is because the is not a delay between IR commands between different devices. The Dyson ignores IR signals for a period of time when it detects IR for a non-dyson brand being sent.

This has been a long standing challenge with this plug-in. Generally direct control from the Home App works as expected.

To Reproduce
Create a Dyson Fan Accessory and A non-Dyson Fan Accessory
Add fans to scenes that define their speed and oscillation
Trigger Scenes and notice fan's do not react to changes in speed as defined by the scene.

Expected behavior
Fan should adjust to the speed defined in the scene.
Features like oscillation should turn on or off based on scene.
Fans / Devices of different brands should respond when controlled by the same scene.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: macOS
  • Browser Safar
  • Version: 15.1 PB - issue pre-dates update

Smartphone (please complete the following information):

  • Device: iPhone 13 mini
  • OS: iOS
  • Browser safari
  • Version 18.1 pb

Additional context
Challenge with fan controls has been around for multiple versions of plugin and environment OS. Devices respond as expected when directly controlled.

Oscillation behavior can't be deflated to off when fan turns off. It remains on.
Fan Speed behavior is difficult to adjust because the plugin won't send commands if the speed requested is close to the current speed. You have to dial the speed to near Zero then backup to the desired speed to get the desired change. Moving from 100 to 70 fails

@JasonGoldenDDT JasonGoldenDDT added the bug Something isn't working label Sep 23, 2024
@JasonGoldenDDT
Copy link
Author

Is there away to ensure this plug in always adjust the speed? Or do I need to change my fan's configuration? The speeds are so few and close together, this limitation ends up keeping the device from changing to the desired setting.

Screenshot 2024-09-27 at 8 06 20 AM

Sample of fan config:

Dyson AM09 Fan. I have 3 of these fans, two of which have RM Mini 3 transmitters directly attached to the front of them. They don't adjust as expected to scene calls. One fan shares an RM mini 3 with a different brand fan, if both fans are turned on in the same scene only one responds. I've mentioned this in other threads, suggesting a delay between different device IR signals.
{ "name": "Desk Fan", "type": "fan", "host": "MAC", "logLevel": "warning", "alwaysResetToDefaults": false, "defaultNowTemperature": 20, "persistState": true, "resendHexAfterReload": false, "hideRotationDirection": false, "stepCycle": true, "allowResend": false, "data": { "on": "26004800421919181719172f192d191717191719171a19181818191818181817192d192c19000caf46171a171918192d172e181819171917191819181917191818181917182d182d18000d050000000000000000000000000000", "off": "26004800441818191818182e182e1818181818181819181918181818181918181718181818000cd8481918181819182e182e1818181718181819181918191818181818181818181718000d050000000000000000000000000000", "swingToggle": "26004800421918191719182e162f181818181817181a1719182e182e18181818182d182d18000d03471917191818182e172f17191817181818191819172e182e17191818182d172f17000d050000000000000000000000000000", "clockwise": "26004800411a171a1719172f172e1719171917181730171a1630162f1719172f172e172e17000cda481817191917192d192d181816191917182f1818192d192d1917192c192d182d19000d050000000000000000000000000000", "counterClockwise": "26002400441719181917192d192c1917191719161919192d19171917192d19161917192c19000d050000", "fanSpeed10": [ { "data": "26004800441819171918192c192d191719161917192e192d192d192d192d192c192c192d19000ca8461719171a17192c1a2c191719161a16192e192d192d192d192c1a2c192c192c1a000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3 } ], "fanSpeed20": [ { "data": "26004800431819171918192c1a2c191719161a16192e192d192d192d192c1a2c1917191619000cd2481719171a17192c1a2c191719161a16192e192d192d192d192d192c1917191619000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3, "pause": 0.2 }, { "data": "26004800421918191818182e182e181817181818171a182e1818182e1818182e172e182d18000cea49171a171917192d192d19161a1619171918192d19171a2c1917192d192c192c19000d050000000000000000000000000000" } ], "fanSpeed30": [ { "data": "26004800431819171918192c1a2c191719161a16192e192d192d192d192c1a2c1917191619000cd2481719171a17192c1a2c191719161a16192e192d192d192d192d192c1917191619000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3, "pause": 0.2 }, { "data": "26004800441719171a17192c1a2c191719161a1619181a2c1a17192c1a161a2c192c192c1a000cec4518191719171a2c192d1917191619171918192d1917192d1917192d192c192c19000d050000000000000000000000000000", "sendCount": 3, "interval": 0.3 } ], "fanSpeed40": [ { "data": "26004800441819171917192d192d19161a1619161a2e192d192d192d192c192d192c19161a000cbc471819171918192c1a2c191719161917192e192d192d192d192d192c192c191719000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3, "pause": 0.2 }, { "data": "26004800421918181818182e182e181818171818182f172f182e182e182e172e1818181718000cd3471918181818182e182e171918171818182f182e182e182e182d182e1818171818000d050000000000000000000000000000", "sendCount": 4, "interval": 0.3 } ], "fanSpeed50": [ { "data": "26004800441819171918192c192d191719161917192e192d192d192d192d192c192c192d19000ca8461719171a17192c1a2c191719161a16192e192d192d192d192c1a2c192c192c1a000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3, "pause": 0.2 }, { "data": "26004800421918191818182e182e181817181818171a182e1818182e1818182e172e182d18000cea49171a171917192d192d19161a1619171918192d19171a2c1917192d192c192c19000d050000000000000000000000000000", "sendCount": 5, "interval": 0.3 } ], "fanSpeed60": [ { "data": "26004800431819171918192c1a2c191719161a16192e192d192d192d192c1a2c1917191619000cd2481719171a17192c1a2c191719161a16192e192d192d192d192d192c1917191619000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3, "pause": 0.2 }, { "data": "26004800421918191818182e182e181817181818171a182e1818182e1818182e172e182d18000cea49171a171917192d192d19161a1619171918192d19171a2c1917192d192c192c19000d050000000000000000000000000000", "sendCount": 7, "interval": 0.3 } ], "fanSpeed70": [ { "data": "26004800441819171917192d192d19161a1619161a2e192d192d192d192c192d192c19161a000cbc471819171918192c1a2c191719161917192e192d192d192d192d192c192c191719000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3, "pause": 0.2 }, { "data": "26004800441719171a17192d192c19171917191619181a2c1a17192d19161a2c1917192c19000cfe481819171c14192d192d19161a1619161a18192d1917192d1917192c1a16192c19000d050000000000000000000000000000", "sendCount": 8, "interval": 0.3 } ], "fanSpeed80": [ { "data": "26004800441719171a17192d192c19171917191619181a2c1a17192d19161a2c1917192c19000cfe481819171c14192d192d19161a1619161a18192d1917192d1917192c1a16192c19000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3, "pause": 0.2 }, { "data": "26004800441819171918192c192d191719161917192e192d192d192d192d192c192c192d19000ca8461719171a17192c1a2c191719161a16192e192d192d192d192c1a2c192c192c1a000d050000000000000000000000000000", "sendCount": 3, "interval": 0.3 } ], "fanSpeed90": [ { "data": "26004800421918191818182e182e181817181818171a182e1818182e1818182e172e182d18000cea49171a171917192d192d19161a1619171918192d19171a2c1917192d192c192c19000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3, "pause": 0.2 }, { "data": "26004800431819171918192c1a2c191719161a16192e192d192d192d192c1a2c1917191619000cd2481719171a17192c1a2c191719161a16192e192d192d192d192d192c1917191619000d050000000000000000000000000000" } ], "fanSpeed100": [ { "data": "26004800441719171a17192c1a2c191719161a1619181a2c1a17192c1a161a2c192c192c1a000cec4518191719171a2c192d1917191619171918192d1917192d1917192d192c192c19000d050000000000000000000000000000", "sendCount": 10, "interval": 0.3 } ] } },
Generic Tower Fan - Has 3 speeds and an oscillator.
This fan doesn't adjust to expected speeds when scenes are fired, and the oscillator remains on in the home app after powered off. How ever on device it defaults to off when the fan is turned off, and the fan resumes at speed level 1.
{ "name": "Tower Fan", "type": "fan", "host": "e8:16:56:70:4c:46", "logLevel": "warning", "alwaysResetToDefaults": true, "defaultNowTemperature": 20, "defaultSpeedStep": 1, "hideRotationDirection": true, "speedCycle": true, "speedSteps": 3, "allowResend": false, "data": { "on": [ { "data": "2600500000012f97131311141213121312381138121312141138123712381138111412131237123712131214123712371213121312141138123712371213121312381237123712131200051400012a4a12000d05000000000000", "pause": 0.5 } ], "off": [ { "data": "260050000001259413121213121411141237123712131214113812371237123712141114123712371213121411381237121312131214123712371237121411141138123712371213120005160001284a12000d05000000000000", "pause": 0.5 } ], "swingToggle": [ { "data": "2600500000012594121312141213121312371238121313121238113812371336121412131237123811141213123712381237121312141138133612371313111412131238113812131300051400012a4a13000d05000000000000", "interval": 0.3 } ], "fanSpeed": "260058000001249413121213121312141138123712131213123712371237123712131214113811381213121312131237121411141213123712381237123712141138123712371213120005140001294a12000c3f0001294a12000d050000000000000000000000000000" } },

I have routines that are fired by Shortcut triggers and home triggers. They often fail to adjust the speeds of fans, or turn on or off the occupation function of the fan.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant