Hi again,

one more thing.

If i have Felix UPnP Tester running parallel to my device tester and i
subscribe the device that is actually missing i also get no "initial status"
in the log window...
For the other devices it is working properly.  Then i restart my "tester"
bundle..and dont restart felix upnp tester and then subscribe to the shutter
again
I get the initial status in the upnp tester from felix.

So...when "registering" / "removing" a new listener there must happen
anything which influences the "initial" or "overall??" eventing behaviour of
the upnp devices.


Kind regards, Daniel Felsing

-----Ursprüngliche Nachricht-----
Von: Francesco Furfari [mailto:[EMAIL PROTECTED] 
Gesendet: Mittwoch, 23. Juli 2008 21:18
An: users@felix.apache.org
Betreff: Re: AW: bug in felix upnp basedriver 0.8

Hi Daniel,

it seems that two are the devices that whose events are not captured by 
your tester code:
uuid:AT-SM-FHZ1-simplelight1 urn:upnp-org:serviceId:SwitchDevice:1Status
uuid:AT-SM-FHZ1-switch3 urn:upnp-org:serviceId:GetStatus:1Status

please, check the code generating the events for such devices, may be 
you send the event only if their status assume a specific value.

I think you should run the tester at least 5 times more.
If you experience the same problem always with different devices then we 
will try to repeat a similar test.

regards,
francesco


Daniel Felsing wrote:
> 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]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to