Explorar el Código

Added ctrl of airpurifier

pi hace 3 años
padre
commit
273c7953d9
Se han modificado 4 ficheros con 53 adiciones y 5 borrados
  1. 2 0
      .gitignore
  2. 11 5
      configuration.yaml
  3. 4 0
      input_booleans.yaml
  4. 36 0
      pyscript/airpurifyer.py

+ 2 - 0
.gitignore

@@ -35,3 +35,5 @@ node-red
 # Operating System Trash Files
 .DS_Store
 
+home-assistant.log.1
+home-assistant.log.fault

+ 11 - 5
configuration.yaml

@@ -14,10 +14,16 @@ recorder:
 logger:
   default: info
 #  logs:
+#    custom_components.philips_airpurifier_coap: debug
+#    aioairctrl: debug
+    #coap: debug
+
+#  logs:
 #    homeassistant.components.mqtt: debug
 #  logs:
 #    rflink: debug
 #    homeassistant.components.rflink: debug
+
 history:
 system_health:
 
@@ -40,11 +46,11 @@ rflink:
   ignore_devices:
     - newkaku_000001_01
 
-volvooncall:
-  username: thomas.chef@volvo.com
-  password: !secret voc_password
-  scandinavian_miles: true
-  mutable: false
+#volvooncall:
+#  username: thomas.chef@volvo.com
+#  password: !secret voc_password
+#  scandinavian_miles: true
+#  mutable: false
 
 
 binary_sensor:

+ 4 - 0
input_booleans.yaml

@@ -16,3 +16,7 @@ auto_lights_off:
 bedroom_door:
   name: Bedroom door state
   icon: mdi:door
+
+philips_airpurifyer:
+  name: Air purifyer
+  icon: mdi:fan

+ 36 - 0
pyscript/airpurifyer.py

@@ -0,0 +1,36 @@
+import asyncio
+from aioairctrl import CoAPClient
+
+
+
+def airpurifyer_to_night_mode():
+    log.info(f"********* airpurifyer_to_night_mode ******************")
+    client = CoAPClient.create(host="192.168.1.167")
+    client.set_control_value("aqil","0")
+    client.set_control_value("mode","P")
+
+def airpurifyer_to_day_mode():
+    log.info(f"********* airpurifyer_to_day_mode ******************")
+    client = CoAPClient.create(host="192.168.1.167")
+    client.set_control_value("aqil","100")
+    client.set_control_value("mode","A")
+
+
+@state_trigger("input_boolean.philips_airpurifyer")
+def philips_airpurifyer_button_trigger():
+    log.info("Fan button pressed Door:" + input_boolean.bedroom_door)
+    if input_boolean.philips_airpurifyer == 'on':
+        airpurifyer_to_day_mode()
+    else:
+        airpurifyer_to_night_mode()
+
+@state_trigger("input_boolean.bedroom_door == 'off'", state_hold=10, state_hold_false=None)
+def turn_off_airpurifyer_trigger_func():
+    log.info("React to door CLOSE")
+    input_boolean.philips_airpurifyer = 'off'
+
+@state_trigger("input_boolean.bedroom_door == 'on'", state_hold=300, state_hold_false=None)
+def turn_on_airpurifyer_trigger_func():
+    log.info("React to door OPEN")
+    input_boolean.philips_airpurifyer = 'on'
+