The Amazon FireTV recently changed there security model which has directly affected the Zank app from sending ADB commands (required for most of the controls we use).
There is a work around, it involves some configuration of the router to open a port, but it does not send traffic over the Internet - it just uses the enteral port as a loopback to work around the Amazon inbound ADN restriction.
Zank Config
You will need to have the current version (20.x.x or later) installed for this to work, so if you haven't already , please update the Zank all before continuing.
Once the app is up to date, run the app and once it launches, press the Up button on your remote 7 times in a row. A Text box will appear to allow you to set the external IP and port. The default is global:64600, which you can accept if you only have one FireTV. If you have multiples, please check the how to for multiple devices below.
Router Config
The router config involves opening up an external port and forwarding that to your FireTV's ADB port (5555).
The default port is 64600, but it can be changed in the Zank app (see the how to for multiple devices below).
The settings are as follows
External Port: 64600
Internal Port: 5555
IP Address: Fire TV IP Address
Protocol: ALL (TCP and UDP)
When the Zank app launches with the loopback enabled (see below) it will discover the external address and send the command automatically.
If you have multiple FireTV boxes, you will need to use a different port for each device.
For example, lets say you have the following config
FireTV Cube
IP: 192.168.1.10
Zank Config: global:64600
Fire TV Stick
IP: 192.168.1.11
Zank Config: global:64601
You would need the following firewall rules
Rule 1
External Port: 64600
Internal Port: 5555
IP Address: 192.168.1.10
Protocol: ALL (TCP and UDP)
Rule 2
External Port: 64601
Internal Port: 5555
IP Address: 192.168.1.11
Protocol: ALL (TCP and UDP)