Ah - one more update...
I think event change propagation of single devices is ok :)
Hm....
Well - hoping for a solution!
Kind regards,
Daniel
-----Ursprüngliche Nachricht-----
Von: Daniel Felsing [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 23. Juli 2008 19:43
An: users@felix.apache.org
Betreff: bug in felix upnp basedriver 0.8
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]