Skip to content

Homebridge Plugin for Philips Air Purifiers And Humidifier

License

Notifications You must be signed in to change notification settings

NikDevx/homebridge-philips-air

Repository files navigation

homebridge-philips-air

npm npm verified-by-homebridge

Homeridge Plugin for Philips Air Purifiers

🔴 Foreword 🔴

This plugin is now using py-air-control directly to enable support for newer Philips connected air purifier models.

🟡 Installation 🟡

  1. Install Homebridge using the official instructions.
  2. Install this plugin using sudo npm install -g homebridge-philips-air --unsafe-perm.
  3. Run command in your console sudo chmod -R 777 /usr/lib/node_modules/homebridge-philips-air/sensor.
  4. Update your configuration file. See configuration sample below.

If you're using HTTP protocol:

  1. Install pip and git using sudo apt install python3-pip git.
  2. Install py-air-control using sudo pip3 install py-air-control.

If you're using CoAP protocol:

  1. Install pip and git using sudo apt install python3-pip git.

  2. Install py-air-control using sudo pip3 install py-air-control.

  3. Update CoAPthon3 using sudo pip3 install -U git+https://github.com/Tanganelli/CoAPthon3@89d5173.

    For new firmware version

    (Who get error Unexpected error:'NoneType' object has no attribute "payload")

    1. Found coap_client.py path using sudo find / -name *coap_client.py.
    2. Open file coap_client.py in line 91 change timeout to 60, line 145 same and line 174 add timeout=60 after encrypted_payload
    3. Change in plugin settings Timeout Seconds to 30 or 60.

If you're using Plain CoAP protocol:

  1. Install pip and git using sudo apt install python3-pip git.
  2. Install py-air-control using sudo pip3 install py-air-control.
  3. Update CoAPthon3 using sudo pip3 install -U git+https://github.com/Tanganelli/CoAPthon3@89d5173.
  4. Allow non-root to send pings using echo "net.ipv4.ping_group_range=0 1000" | sudo tee -a /etc/sysctl.conf.
  5. Update running sysctl configuration using sudo sysctl -p.

🟢 Configuration 🟢

Edit your config.json accordingly. Configuration sample:

"platforms": [{
    "platform": "philipsAir",
    "devices": [{
        "name": "Living Room Purifier",
        "ip": "10.0.1.16",
        "protocol": "http"
    }]
}]
Fields Description Required
platform Must always be philipsAir. Yes
name For logging purposes. No
timeout_seconds Number of seconds to wait for a response from the purifier. (Default: 5) No
devices Array of Philips air purifiers (multiple supported). Yes
- name Name of your device. No
- ip IP address of your device. Yes
- protocol Protocol used by your device: http (default), plain_coap, coap No
- sleep_speed Does this device support 'sleep' speed? No
- light_control Expose device lights as lightbulbs. No
- allergic_func Does this device support 'allergic' function? No
- temperature_sensor Expose device temperature as temperature sensor. No
- humidity_sensor Expose device humidity as humidity sensor. No
- polling Adding a refresh time for the all sensors in seconds. No
- humidifier Adding humidified support. No
- logger Getting data from humidity and temp sensors and save value into txt file. No