Skip to content

How to send debug info (raw JSON)

David Bonnes edited this page Nov 3, 2019 · 6 revisions

Converting GeniusHub's undocumented JSON into the official v1 API is not a trivial exercise (just look at the code) - issues may still occur, especially with edge cases.

To resolve your issue, I might ask to see your raw JSON - if you're willing to do that, use one of the two methods below.

The idea is to have two files, say raw_zones.json and raw_devices.json. It may be useful to know that, on my system at least, these files are 200 KB and 100 KB, respectively.

Please avoid posting this JSON publicly - it can contain data you may wish to keep private (e.g. your address).

Once you have created these files, PM me a link to them (e.g. Dropbox, Google Drive) via:

Method 1: the GH client tool

python ghclient.py ${HUB_ADDRESS} -u ${USERNAME} -p ${PASSWORD} zones -vvv > raw_zones.json
python ghclient.py ${HUB_ADDRESS} -u ${USERNAME} -p ${PASSWORD} devices -vvv > raw_devices.json

Method 2: Home Assistant's debug logs

Add the following to Home Assistant's configuration.yaml:

logger:
  default: info  # turn off debug messages, generally...
  logs:
    homeassistant.components.geniushub: debug  # these can be big!

When you restart HA with the above logging, you will see two (quite long) lines of raw JSON:

2019-10-10 19:05:52 DEBUG (MainThread) [homeassistant.components.geniushub] Raw JSON:

client._zones = [{'bHeatEnabled': False, 'bIsActive': ...

client._devices = [{'addr': '10', 'childNodes': {'_cfg': {'addr':  ...

Using a text editor, or simply via cut-and-paste, copy each line to its own file, say raw_zones.json and raw_devices.json. Alternatively, you could:

cat ~/.homeassistant/home-assistant.log | grep client._zones | head -n 1 > raw_zones.json
cat ~/.homeassistant/home-assistant.log | grep client._devices | head -n 1 > raw_devices.json