You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Daniel Felsing <da...@maven.at> on 2008/07/24 12:21:34 UTC

AW: AW: AW: bug in felix upnp basedriver 0.8 - maybe problem of myCtrlPoint.java?

Hmm...

Maybe it is an issue with this method?

public void serviceChanged(ServiceEvent event)

it is not synchronized....
what is happening if "too" many listeners are registering in parallel?


Kind regards,
Daniel Felsing

-----Ursprüngliche Nachricht-----
Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
Gesendet: Donnerstag, 24. Juli 2008 10:07
An: users@felix.apache.org
Betreff: AW: AW: AW: bug in felix upnp basedriver 0.8 - and one more
addition....

Hello..

One more thing i experienced is that when i change e.g. a device from on to
off...or set another level for a dimming device
the change is sent out correctly and device is responding.

Regards,
Daniel


-----Ursprüngliche Nachricht-----
Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
Gesendet: Mittwoch, 23. Juli 2008 23:16
An: users@felix.apache.org
Betreff: AW: AW: AW: bug in felix upnp basedriver 0.8 - Maybe that hint can
help you to pin down the problem?


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:francesco.furfari@isti.cnr.it] 
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:daniel.felsing@maven.at] 
> 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: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org