Keypad Controller

My homemade home automation system comprises: Control mesh,  Information mesh and  garage door link networks. These were started years before IoT became feasible, and are totally isolated from the Internet.

The Control and Information networks share a common RF protocol in the 330 MHz ISM band.

The Control network currently has 61 mutually separate commands distributed across 9 receiving devices. These devices have varying quantities of commands, from 2 to 7, They are never changed.

The Information network has 13 channels, of varying activity,

Some devices are receiving nodes on both the Control and the Information networks.

This Keypad Controller is a controller for the Control network. There are several other controllers:

Six are manually operated without displays. Their code capacity is limited by their mechanical design.

One manually operated controller has a display but its code capacity is also limited by mechanical design.

Two manually operated controllers have  displays with code capacity limited by processor memory.

Three are clocks which transmit control messages automatically according to a schedule. To avoid confusion, only one is in use. 

This Keypad Controller is programmed for all 61 commands. There are 37 receive channels. 13 of these  are selections, and have a single code. The other 24 have both ON and OFF codes.

A command is sent by pressing an letter key, a decimal key, and either * or # to initiate a RF transmission at 433 MHz. The keys may be pressed in any order and the letter and decimal key states are stored and retrieved on the next startup.

The letter key determines the top display line, and controls the execution of the decimal key, which writes the second and third  lines of the display. The # key typically causes a light ON code to transmit, and the * key the OFF code. All transmission are annotated on the bottom line of the display.

The balance of the 80 possible key combinations are filled with duplicated, power off, and a keypress to send all of the codes to turn off all of the Living Room lights.