Hello.

 

It seems there is a bug in event notification in the actual release of the
upnp basedriver 0.8.

 

I have exported exactly 17 devices to the upnp network.

After "UPnP Event" subscription i should get informed about all device
stati.

So the number of actual devices by which i should get informed should be 17.

 

This is not always true..and the behavior by which device status i dont get
informed is random.

 

Here an example:

 

First run:

 

osgi> info     20080723 19:38:20 bid#39       - BundleEvent STARTED

info     20080723 19:38:21 bid#44       - device found, UPnP71/39

info     20080723 19:38:21 bid#44       - no driver for UPnP71/39

info     20080723 19:38:21 bid#39       -
[71;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-dawnsensor2 urn:upnp-org:serviceId:GetStatus:1Status off

#diff Devices:1

info     20080723 19:38:22 bid#44       - device found, UPnP72/39

info     20080723 19:38:22 bid#44       - no driver for UPnP72/39

info     20080723 19:38:22 bid#39       -
[72;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch6 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:2

info     20080723 19:38:22 bid#44       - device found, UPnP73/39

info     20080723 19:38:22 bid#44       - no driver for UPnP73/39

info     20080723 19:38:22 bid#39       -
[73;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:3

uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetLevel:1Level 70

#diff Devices:3

info     20080723 19:38:23 bid#44       - device found, UPnP74/39

info     20080723 19:38:23 bid#44       - no driver for UPnP74/39

info     20080723 19:38:23 bid#39       -
[74;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:4

info     20080723 19:38:23 bid#44       - device found, UPnP75/39

info     20080723 19:38:23 bid#44       - no driver for UPnP75/39

info     20080723 19:38:23 bid#39       -
[75;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetLevel:1Level 82

#diff Devices:4

uuid:AT-SM-FHZ1-switch3 urn:upnp-org:serviceId:GetStatus:1Status off

#diff Devices:5

info     20080723 19:38:24 bid#44       - device found, UPnP76/39

info     20080723 19:38:24 bid#39       -
[76;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

info     20080723 19:38:24 bid#44       - no driver for UPnP76/39

uuid:AT-SM-FHZ1-rainsensor1 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:6

info     20080723 19:38:24 bid#44       - device found, UPnP77/39

info     20080723 19:38:24 bid#44       - no driver for UPnP77/39

info     20080723 19:38:24 bid#39       -
[77;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-motionsensor1 urn:upnp-org:serviceId:GetEvent:1Event 

#diff Devices:7

info     20080723 19:38:25 bid#44       - device found, UPnP78/39

info     20080723 19:38:25 bid#44       - no driver for UPnP78/39

info     20080723 19:38:25 bid#39       -
[78;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

info     20080723 19:38:25 bid#44       - device found, UPnP79/39

info     20080723 19:38:25 bid#39       -
[79;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

info     20080723 19:38:25 bid#44       - no driver for UPnP79/39

uuid:AT-SM-FHZ1-shutter1 urn:upnp-org:serviceId:SwitchDevice:1Status on

#diff Devices:8

uuid:AT-SM-FHZ1-motionsensor1
urn:upnp-org:serviceId:GetEstimate:1EstimatedValue 0

#diff Devices:8

uuid:AT-SM-FHZ1-simplelight1 urn:upnp-org:serviceId:SwitchDevice:1Status on

#diff Devices:9

info     20080723 19:38:26 bid#44       - device found, UPnP80/39

info     20080723 19:38:26 bid#44       - no driver for UPnP80/39

info     20080723 19:38:26 bid#39       -
[80;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetLevel:1Level 70

#diff Devices:10

info     20080723 19:38:26 bid#44       - device found, UPnP81/39

info     20080723 19:38:26 bid#44       - no driver for UPnP81/39

info     20080723 19:38:26 bid#39       -
[81;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:11

info     20080723 19:38:27 bid#44       - device found, UPnP82/39

info     20080723 19:38:27 bid#44       - no driver for UPnP82/39

info     20080723 19:38:27 bid#39       -
[82;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetLevel:1Level 70

#diff Devices:11

uuid:AT-SM-FHZ1-funksteckdose1 urn:upnp-org:serviceId:SwitchDevice:1Status
off

#diff Devices:12

info     20080723 19:38:27 bid#44       - device found, UPnP83/39

info     20080723 19:38:27 bid#44       - no driver for UPnP83/39

info     20080723 19:38:27 bid#39       -
[83;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:13

uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetLevel:1Level 82

#diff Devices:13

info     20080723 19:38:28 bid#44       - device found, UPnP84/39

info     20080723 19:38:28 bid#44       - no driver for UPnP84/39

info     20080723 19:38:28 bid#39       -
[84;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch1 urn:upnp-org:serviceId:GetLevel:1Level 36

#diff Devices:14

info     20080723 19:38:29 bid#44       - device found, UPnP85/39

info     20080723 19:38:29 bid#44       - no driver for UPnP85/39

info     20080723 19:38:29 bid#39       -
[85;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-dimswitch4 urn:upnp-org:serviceId:GetStatus:1Status off

#diff Devices:15

uuid:AT-SM-FHZ1-dimswitch4 urn:upnp-org:serviceId:GetLevel:1Level 0

#diff Devices:15

info     20080723 19:38:29 bid#44       - device found, UPnP86/39

info     20080723 19:38:29 bid#44       - no driver for UPnP86/39

info     20080723 19:38:29 bid#39       -
[86;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:16

info     20080723 19:38:30 bid#44       - device found, UPnP87/39

info     20080723 19:38:30 bid#44       - no driver for UPnP87/39

info     20080723 19:38:30 bid#39       -
[87;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED

uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetLevel:1Level 100

#diff Devices:16

uuid:AT-SM-FHZ1-dimmablelight1 urn:upnp-org:serviceId:SwitchDevice:1Status
off

#diff Devices:17

 

 

 

 

Device count is 17

 

 

Then i restarted the "tester bundle"

 

uuid:AT-SM-FHZ1-S20_Switch6 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:1

uuid:AT-SM-FHZ1-dawnsensor2 urn:upnp-org:serviceId:GetStatus:1Status off

#diff Devices:2

uuid:AT-SM-FHZ1-S20_Switch6 urn:upnp-org:serviceId:GetLevel:1Level 82

#diff Devices:2

uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:3

uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetLevel:1Level 70

#diff Devices:3

uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:4

uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetLevel:1Level 82

#diff Devices:4

uuid:AT-SM-FHZ1-rainsensor1 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:5

uuid:AT-SM-FHZ1-motionsensor1
urn:upnp-org:serviceId:GetEstimate:1EstimatedValue 0

#diff Devices:6

uuid:AT-SM-FHZ1-motionsensor1 urn:upnp-org:serviceId:GetEvent:1Event 

#diff Devices:6

uuid:AT-SM-FHZ1-shutter1 urn:upnp-org:serviceId:SwitchDevice:1Status on

#diff Devices:7

uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:8

uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetLevel:1Level 70

#diff Devices:8

uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:9

uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetLevel:1Level 70

#diff Devices:9

uuid:AT-SM-FHZ1-funksteckdose1 urn:upnp-org:serviceId:SwitchDevice:1Status
off

#diff Devices:10

uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:11

uuid:AT-SM-FHZ1-S20_Switch1 urn:upnp-org:serviceId:GetLevel:1Level 36

#diff Devices:12

uuid:AT-SM-FHZ1-dimswitch4 urn:upnp-org:serviceId:GetStatus:1Status off

#diff Devices:13

uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:14

uuid:AT-SM-FHZ1-dimmablelight1 urn:upnp-org:serviceId:SwitchDevice:1Status
off

#diff Devices:15

uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetLevel:1Level 100

#diff Devices:15

 

 

I get informed by only 15 devices?...

 

 

Third run:

 

uuid:AT-SM-FHZ1-dawnsensor2 urn:upnp-org:serviceId:GetStatus:1Status off

#diff Devices:1

uuid:AT-SM-FHZ1-S20_Switch6 urn:upnp-org:serviceId:GetLevel:1Level 82

#diff Devices:2

uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:3

uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:4

uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetLevel:1Level 82

#diff Devices:4

uuid:AT-SM-FHZ1-rainsensor1 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:5

uuid:AT-SM-FHZ1-motionsensor1
urn:upnp-org:serviceId:GetEstimate:1EstimatedValue 0

#diff Devices:6

uuid:AT-SM-FHZ1-shutter1 urn:upnp-org:serviceId:SwitchDevice:1Status on

#diff Devices:7

uuid:AT-SM-FHZ1-motionsensor1 urn:upnp-org:serviceId:GetEvent:1Event 

#diff Devices:7

uuid:AT-SM-FHZ1-simplelight1 urn:upnp-org:serviceId:SwitchDevice:1Status on

#diff Devices:8

uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:9

uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetLevel:1Level 70

#diff Devices:9

uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:10

uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetLevel:1Level 70

#diff Devices:10

uuid:AT-SM-FHZ1-funksteckdose1 urn:upnp-org:serviceId:SwitchDevice:1Status
off

#diff Devices:11

uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:12

uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetLevel:1Level 82

#diff Devices:12

uuid:AT-SM-FHZ1-S20_Switch1 urn:upnp-org:serviceId:GetLevel:1Level 36

#diff Devices:13

uuid:AT-SM-FHZ1-dimswitch4 urn:upnp-org:serviceId:GetLevel:1Level 0

#diff Devices:14

uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetStatus:1Status on

#diff Devices:15

uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetLevel:1Level 100

#diff Devices:15

uuid:AT-SM-FHZ1-dimmablelight1 urn:upnp-org:serviceId:SwitchDevice:1Status
off

#diff Devices:16

 

Informed by 16 devices.

 

 

 

The code for testing was:

 

public class EventListener implements UPnPEventListener {

 

      private ArrayList<String> knownDevs = new ArrayList<String>();

      

      @Override

      public synchronized void notifyUPnPEvent(String deviceId, String
serviceId, Dictionary events) {

            String output = "";

            output += deviceId + " " + serviceId;

            

            Enumeration eventit = events.keys();

            

            while (eventit.hasMoreElements()) {

                  String key = (String) eventit.nextElement();

                  output += key + " " + events.get(key) + "\n";

            }

                        

            if (!knownDevs.contains(deviceId)) {

                  knownDevs.add(deviceId);

            }

            System.err.println(output + "#diff Devices:" +
knownDevs.size());

            System.err.flush();

            

      }

 

}

 

 

 

I think it should be free from errors :-)

Please help me! Since i really need the upnp driver for my master thesis.

 

 

 

Kind regards,

Daniel

Reply via email to