Advanced: Manually Adding and Updating Devices in the Skip App Library

The Skip App now supports adding, removing, and updating devices in the Skip App library of devices. Currently this requires a JSON file that follows the Skip JSON file format. Below is a sample JSON file. As you can see, it defines the categories of the device (audio, misc), the brand "Topping," and the model "PRE90." It then defines a button. Adding additional buttons means gathering the IR code in Pronto Code protocol for each button and inserting it like the Power button below.
A Sample Skip JSON file

Device Categories

A short list of all possible device categories. As seen above, each device can be listed in multiple categories. We tend to include add all new devices in Misc as a catchall, in case the device wasn't in the category user originally guessed.
  • "devices.tv.a" - TV/Projector
  • "devices.box" - Set Top Box
  • "devices.audio" - Audio
  • "devices.av" - A/V
  • "devices.games" - Game Console
  • "devices.pc" - PC
  • "devices.home" - Home Automation
  • "devices.misc" - Misc

How to Import a Skip JSON file

Manually importing a Skip JSON file requires enabling Admin Mode, for now. Do so with the following:
Mac Instructions:
In a terminal: echo -e "{\n \"showAdminPanel\": true\n}" > ~/.config/SkipApp/config.json
Windows Instructions:
Copy the config.json32 B to the following location:
%localappdata%\Packages\SkipApp_sddpyax1dmvqm\LocalState\
If done properly, you will see the admin tab:
From here, click on the Brands tab, and then Add. Then select and import your JSON file.
Using a JSON file like this, devices can be changed at the Device Level and at the Button Level

Device Level Changes

If you need to completely remove, add, or replace an existing device, you can do so at the Device Level by adding a collision line. The collision line can include one of three options: DELETE, REPLACE, or MERGE. If you leave the collision blank or do not include the collision line, it will default to MERGE.
  • Delete - will remove the entry from the database entirely. If you have buttons defined below this field, they wont matter. They are removed.
  • Replace - This essentially removes the entry in our software and replaces it with yours. Any buttons defined in our original entry, will no longer show up. Only yours shows up.
  • Merge - This puts all the buttons it finds in both entries into one list. Any buttons in the imported file that are identically named will get the entry from the imported file, essentially overwriting our entry.
Below is an example of a JSON file that deletes the Apple TV Gen 4 from your Skip library.
A Skip JSON file that removes a device
If you want to add a missing button to an existing device, you would use the MERGE option (or simply do not include the collision field, as MERGE is the default).

Button Level Changes

If you only want to change a button within a device, the collision line would be inserted at the button level. Collision options here are limited to DELETE and REPLACE. If you leave the collision blank or do not include the collision line, it will default to REPLACE.
  • Delete - will remove the button entry from the database entirely. If the button is not found in our entry, nothing happens.
  • Replace - This essentially removes the button entry in our software and replaces it with yours.
A Skip JSON file that replaces a button

Last modified 6mo ago