nt0xa / homebridge-mi-humidifier

A Xiaomi Mi humidifier plugin for Homebridge
MIT License
64 stars 24 forks source link

Clean mode #75

Closed jahnkenneth closed 3 years ago

jahnkenneth commented 3 years ago

Would it be possible to add a switch for “clean mode” for model: zhimi.humidifier.ca4?

nt0xa commented 3 years ago

Hey @jahnkenneth,

Yes, but this will be a separate switch device (like buzzer switch). If this is ok, I will add it in next release

jahnkenneth commented 3 years ago

This is ok. :-)

  1. feb. 2021 kl. 17:10 skrev Anton Prokhorov notifications@github.com:

 Hey @jahnkenneth,

Yes, but this will be a separate switch device (like buzzer switch). If this is ok, I will add it in next release

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

jahnkenneth commented 3 years ago

Has this been added in the latest release? :-)

nt0xa commented 3 years ago

Has this been added in the latest release? :-)

No, latest release contains only bug fixes. I will add this feature later

nt0xa commented 3 years ago

Hey @jahnkenneth,

I've just released new version with clean mode switch added. Please, check

jahnkenneth commented 3 years ago

Hey @jahnkenneth,

I've just released new version with clean mode switch added. Please, check

Working! :-)

DJay-X commented 3 years ago

@russtone Hmm.. I got an error and homebridge crash with v2.4.1

},
                    "cleanModeSwitch": {
                        "enabled": true,
                        "name": "Luftbefeuchter reinigen"
                    }

The Buzzer Switch disappeared and only the Clean switch is showing even though both are true. Turning off/on the Clean switch is crashing homebridge. After setting the cleanModeSwitch back to false and rebooting homebridge, the Buzzer Switch is back and everything is working fine. 🤷🏼‍♂️ I removed the device from homebridge cache and reboot homebridge didn't change anything.

    {
            "devices": [
                {
                    "disabled": false,
                    "name": "Luftbefeuchter",
                    "address": "xxx.xxx.xxx.xx",
                    "token": "xxxxx",
                    "model": "zhimi.humidifier.ca4",
                    "updateInterval": 30,
                    "autoSwitchToHumidityMode": true,
                    "disableTargetHumidity": false,
                    "temperatureSensor": {
                        "enabled": true,
                        "name": "Luftbefeuchter Temperatur"
                    },
                    "humiditySensor": {
                        "enabled": true,
                        "name": "Luftbefeuchter Luftfeuchtigkeit"
                    },
                    "ledBulb": {
                        "enabled": true,
                        "name": "Luftbefeuchter LED"
                    },
                    "buzzerSwitch": {
                        "enabled": true,
                        "name": "Luftbefeuchter Buzzer"
                    },
                    "cleanModeSwitch": {
                        "enabled": false,
                        "name": "Luftbefeuchter reinigen"
                    }
                }
            ],
            "platform": "MiHumidifier"
        },
[11.4.2021, 10:34:11] [homebridge-mi-humidifier] This plugin threw an error from the characteristic 'On': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.
[11.4.2021, 10:34:24] [homebridge-mi-humidifier] This plugin threw an error from the characteristic 'On': Unhandled error thrown inside read handler for characteristic: This callback function has already been called by someone else; it can only be called one time.. See https://git.io/JtMGR for more info.
[11.4.2021, 10:34:52] [MiHumidifier] [192.168.178.90] Fail to set device property "clean_mode". Error: This callback function has already been called by someone else; it can only be called one time.
Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at BaseHumidifier.setProp (/usr/local/lib/node_modules/homebridge-mi-humidifier/src/devices/humidifier.ts:267:7)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge-mi-humidifier/src/devices/humidifier.ts:191:20)
Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13
    at BaseHumidifier.setProp (/usr/local/lib/node_modules/homebridge-mi-humidifier/src/devices/humidifier.ts:267:7)
    at On.<anonymous> (/usr/local/lib/node_modules/homebridge-mi-humidifier/src/devices/humidifier.ts:191:20)
[11.4.2021, 10:34:52] Got SIGTERM, shutting down Homebridge...
nt0xa commented 3 years ago

hey @DJay-X, problem with multiple switches should be fixed in 2.4.2

DJay-X commented 3 years ago

You are great. Everything is working now. 👍 Thanks a lot.