Logo
Geek Aire 3D Oscillating Desktop Fan
US
Model reference: AF1S
Geek Aire 3D Oscillating Desktop

Available from:
Amazon.com
Menards.com





Install method:
Tuya-Convert

GPIO #Component
GPIO00 None
GPIO01 Unknown
GPIO02 None
GPIO03 Unknown
GPIO04 None
GPIO05 None
GPIO09 None
GPIO10 None
GPIO12 None
GPIO13 None
GPIO14 None
GPIO15 None
GPIO16 None
GPIO013 None
FLAG None
Configuration (old version)
{"NAME":"Geek Aire Fan","GPIO":[0,2272,0,2304,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":54,"CMND":"TuyaMCU 12,4 | TuyaMCU 13,5"}
Tuya-Convert might not be possible for this device since the template was added (2021-09-01). All new Tuya devices have firmware preventing flash but it is still possible to Tuya-Convert old stock devices without connecting them to the Tuya app.

Home Assistant Integration

Set a rule

Backlog Rule1 on tuyareceived#dptype4id3 do publish stat/%topic%/speed %value% endon on tuyareceived#dptype4id2 do publish stat/%topic%/mode %value% endon; Rule1 1
  1. Add to Home Assistant configuration fan: section, replace %topic% with your device topic:
- platform: mqtt
  name: "Flat Bedroom Fan"
  state_topic: "stat/%topic%/RESULT"
  state_value_template: "{{ value_json.POWER1 }}"
  command_topic: "cmnd/%topic%/POWER1"
  payload_on: 'ON'
  payload_off: 'OFF'
  oscillation_state_topic: "stat/%topic%/RESULT" 
  oscillation_value_template: "{{ value_json.POWER2 }}"
  oscillation_command_topic: "cmnd/%topic%/POWER2"
  payload_oscillation_on: 'ON'
  payload_oscillation_off: 'OFF'
  percentage_state_topic: "stat/%topic%/speed"
  percentage_command_topic: "cmnd/%topic%/TuyaSend4"
  percentage_command_template: "3,{{ value }}"
  speed_range_max: 3
  preset_modes:
    - breeze
    - sleep
    - normal
    - smart
  preset_mode_state_topic: "stat/%topic%/mode"
  preset_mode_value_template: "{%set m=value|int%}{%if m==0%}breeze{%elif m==1%}sleep{%elif m==2%}normal{%elif m==3%}smart{%else%}Unknown{%endif%}"
  preset_mode_command_topic: "cmnd/%topic%/TuyaSend4"
  preset_mode_command_template: >-
    3,
    {% if value == 'breeze' %}
    0
    {% elsif value == 'sleep' %}
    1
    {% elsif value == 'normal' %}
    2
    {% elsif value == 'smart' %}
    3
    {% endif %}
  availability:
    - topic: "tele/%topic%/LWT"
    - payload_available: "Online"
    - payload_not_available: "Offline"

Note: Home Assistant only has one oscilation command/topic per fan. The example above will allow control of the horizontal direction. To control the vertical direction, change POWER2 to POWER3.

DPID Features

Please read TuyaMCU article to understand the terminology and configuration process.

dpID 1 device power: 0 = OFF, 1 = ON
dpID 2 mode: 0 = breeze, 1 = sleep breeze, 2 = normal, 3 = AI/Smart
dpID 3 fan speed: 0 = LOW, 1 = MED, 2 = MEDHI, 3 = HIGH
dpID 4 Horizontal Oscillation: 0 = OFF, 1 = ON
dpID 5 Vertical Oscillation: 0 = OFF, 1 = ON
dpID 6 Timer: 0-6 Hours to Off