def _update(self):
        # Incoming dict keys are camel cased. uah.
        # The dict keys are directly handed over to the device/channel objects. So they
        # need ot be equalized and with internal naming specs just like the also different
        # keys from the XML-RPC messages.
        def decamel_dict_keys(d):
            temp = {}
            for k in d.keys():
                value = d[k]

                if isinstance(value, list):
                    for idx, entry in enumerate(value):
                        if isinstance(entry, dict):
                            value[idx] = decamel_dict_keys(entry)

                temp[utils.decamel(k)] = value
            return temp

        for spec in self._api.device_list_all_detail():
            dict.__setitem__(self, spec["address"], decamel_dict_keys(spec))