Long polling for changes and return a dictionary with resource:value
        for changes

def wait_for_resource_value_changes(self, wait: int=10):
        """
        Long polling for changes and return a dictionary with resource:value
        for changes
        """
        changes = {}
        payload = """<waitForResourceValueChanges1
                     xmlns=\"utcs\">{timeout}</waitForResourceValueChanges1>
                  """.format(timeout=wait)
        xdoc = self.connection.soap_action('/ws/ResourceInteractionService',
                                           'getResourceValue', payload)
        if not xdoc:
            return False
        result = xdoc.findall(
            './SOAP-ENV:Body/ns1:waitForResourceValueChanges2/ns1:arrayItem',
            IHCSoapClient.ihcns)
        for item in result:
            ihcid = item.find('ns1:resourceID', IHCSoapClient.ihcns)
            if ihcid is None:
                continue
            bvalue = item.find('./ns1:value/ns2:value', IHCSoapClient.ihcns)
            if bvalue is not None:
                changes[int(ihcid.text)] = bvalue.text == 'true'
                continue
            ivalue = item.find('./ns1:value/ns3:integer', IHCSoapClient.ihcns)
            if ivalue is not None:
                changes[int(ihcid.text)] = int(ivalue.text)
            fvalue = item.find('./ns1:value/ns2:floatingPointValue',
                               IHCSoapClient.ihcns)
            if fvalue is not None:
                changes[int(ihcid.text)] = float(fvalue.text)
                continue
            
            enumName = item.find('./ns1:value/ns2:enumName',
                               IHCSoapClient.ihcns)
            if enumName is not None:
                changes[int(ihcid.text)] = enumName.text
        return changes