    def read2(self):
        """ this code would handle multiple Temper's connected, or
        a Temper with both internal/external sensors. but i dont have that
        so this isnt used"""

        data = self._read()
        mapping = {
            'internal temperature': 'temp',
            'internal humidity': 'humidity',
            'external temperature': 'temp',
            'external humidity': 'humidity'
        }

        results = []
        for item in data:
            # get a dict with the old keys and their values, each of these
            # values will be their own dict

            sources = [key for key in mapping.keys() if key in item.keys()]

            base = {k: v for (k, v) in item.items() if k not in mapping.keys()}

            for oldkey in sources:
                newkey = mapping[oldkey]
                fixed = {newkey: item[oldkey], 'source': oldkey}
                results.append({**base, **fixed})

        return results
