code: def wait_for_resource_value_changes(self, wait: int=10):
          
          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
docs: Long polling for changes and return a dictionary with resource:value
          for changes