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 19:20:39 UTC

AW: AW: AW: bug in felix upnp basedriver 0.8 - question for my understanding...!

Hello all once again,

If e.g. my dimmable device has two services one for light level and one for
status (each service has one localstatevariable).

Is it ok to register one notifier PER service? The below code is done in the
dimmabledevice...to register event notifiers for both services

// setup event notifier
notify_level = new UPnPEventNotifier(context, this, levelservice,
dimswitchDev);
notify_status = new UPnPEventNotifier(context, this, statusservice,
dimswitchDev);	


kind regards,
Daniel


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

Ok - i have filed the issue under
https://issues.apache.org/jira/browse/FELIX-642
Please let me know if you need something else!


Kind regards and MANY MANY thanks in advance,
Daniel

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

Ok - what should the jira issue contain?
Also my source code?
What else?

Kind regards,
Daniel

-----Ursprüngliche Nachricht-----
Von: Francesco Furfari [mailto:francesco.furfari@isti.cnr.it] 
Gesendet: Donnerstag, 24. Juli 2008 17:27
An: users@felix.apache.org
Betreff: Re: AW: AW: bug in felix upnp basedriver 0.8

;-) I would say also that 17 is a very unlucky number here in Italy :).
seriously, remember to open a JIRA issue and we will try to fix it ASAP.

thank you for reporting it.

regards,
francesco


Daniel Felsing wrote:
> I really dont know how to progress now :(
> 
> The only thing i can say for SURE ist hat only the INITIAL event delivery
is
> bugged sometimes when registering a new listener on the server.
> When i change the state (e.g. by pressing a switch) for the device that
was
> bugged before i get the notification.
> 
> Well thats it :-((((((
> 
> I also assured that the "unregistering" oft he devices by the bridgedriver
> (which bridges the x10 like devices tot he network) on shutdown works
> properly
> Really everything ok there....the upnpeventnotifiers get destroyed by
> "destroy"....
> 
> I'm now really frustrated and dont know what to do
> 
> Kind regards,
> Daniel
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
> Gesendet: Donnerstag, 24. Juli 2008 16:19
> An: users@felix.apache.org
> Betreff: AW: AW: bug in felix upnp basedriver 0.8
> 
> Hi again,
> 
> hmm
> 
> Overall Environment Setup:
> --------------------------
> - yes, connected by a switch
> - the first computer is a UPnP Bridge for a X10 "like" system..i wrote a
> basedriver and upnpbridgedriver (bridgedriver is creating upnp devices for
> every x10 base device). It is using felix + upnpbasedriver
> - the second computer acts as a server (central control point for a smart
> home system implementation) it's using felix also (but for developing
> eclipse equinox since it's more comfortable to develop)
> This second computer uses basedriver to import the devices xposed by the
> first computer...and a refinement driver is creating new objects for every
> upnp device found (e.g. a light device and so on)
> 
> 
> Issues:
> ------
> - all the devices on the server (so the central smart home controller)
that
> get imported get refined. They subscribe to the upnp device it refines to
> get notified on event change.
> Problem is: not all devices get notified on INITIAL subscription...when a
> notification is missed and i actually change the state of a sensor the
> notification works OK.
> 
> Question & Tests:
> -----------------
> - yes i can :)
> - yes - every device exported by the upnpsensorbridge (=Felix Computer)
gets
> found by the central server (=equinox computer)
> It is really just an issue with single "upnpservices". Here i saw
something
> strange. When i restart the bridgeDriver on Felix computer (exporting my
> upnp devices)
> The "getCurrentValue()" methods get called more and more often the more
> often i restart the "bridgeDriver". Is this a normal behavior? It seems to
> me as state variables
> Of the services get mixed up or not cancelled when unregistering or
> something.
> - i have only one computer where i test the notification -> on the central
> equinox server computer.
> On the felix computer exporting my upnp devices i am justwondering about
the
> strange calls to "getCurrentValue" i described you 
> 
> 
> 
> Kind regards,
> Daniel
> 
> -----Ursprüngliche Nachricht-----
> Von: Stefano Lenzi [mailto:kismet@interfree.it] 
> Gesendet: Donnerstag, 24. Juli 2008 16:01
> An: users@felix.apache.org
> Betreff: Re: AW: bug in felix upnp basedriver 0.8
> 
> Hi Daniel,
> 
> let's try to summarize this long thread, so that we can get a clear
> vision on what is going on, and you can correct my wrong understanding
> 
> Overall Environment Setup
> -------------------------
>  - You have two computer connected togheter by means of a switch. And
> they are the only two computer on the network
>  - The first computer runs Felix + UPnP Base Driver
>  - The second computer runs Equinox + UPnP Base Driver + *your* Sensor
> Base Driver + Sensor2UPnP Bridge
> 
> 
> Issues
> ------
>  - If you subscribe from the PC running Felix to all the UPnP Device
> exported by the UPnP Base Driver running on Equinox and created by your
> Sensor2UPnP bridge you miss some of the notification.
> 
> 
> Questions & Tests
> -----------------
>  - Can you create a JIRA issue for your issue, so that it will easy to
> track and you will be able to post your code as zip file, instead of
> copy & paste
>  - During your testing have you always discovered all the device
> exported by the Equinox computer in the Felix computer?
>  - Do you miss notification even on the Equinox computer?
> 
> Ciao,
> Stefano "Kismet" Lenzi
> 
> 
> 
> 
> 
> Francesco Furfari wrote:
>> 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



---------------------------------------------------------------------
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


AW: AW: AW: AW: bug in felix upnp basedriver 0.8 - question for my understanding...!

Posted by Daniel Felsing <da...@maven.at>.
Hello,

i have taken a deeper look to UPnPEventNotifier...but not tested my
"thought" yet.

Take a look at setupUPnPListenerWatcher() method of the class

First you do:

		    	String filter = ANY_UPnPEventListener;
				context.addServiceListener(this,filter);

so..if new upnpeventlisteners get available you add it to the list without
checking if it's already in

after registering the listener you get all upnpeventlisteners from the
registry and register to them also...

listeners =
context.getServiceReferences(UPnPEventListener.class.getName(),null);

when a new listener gets available just in between the "serviceChanged" is
called...and you wait till the lock is released...
in setupUPnPListenerWatcher you also register to the listner without
checking if it is already in.
When the lock is released in serviceChanged the listener will also be
added...

Dunnow if this could lead into a problem - especially when lots of devices
get registered or the basedriver is under heavy load like
In my program where i register a lot of devices in a relative short time



Just a thought so far :-)

Kind regards,
Daniel

-----Ursprüngliche Nachricht-----
Von: Francesco Furfari [mailto:francesco.furfari@isti.cnr.it] 
Gesendet: Donnerstag, 24. Juli 2008 20:33
An: users@felix.apache.org
Betreff: Re: AW: AW: AW: bug in felix upnp basedriver 0.8 - question for my
understanding...!

yes,

http://svn.apache.org/viewvc/felix/trunk/upnp/extra/src/main/java/org/apache
/felix/upnp/extra/util/UPnPEventNotifier.java?view=markup

ff

Daniel Felsing wrote:
> Hello all once again,
> 
> If e.g. my dimmable device has two services one for light level and one
for
> status (each service has one localstatevariable).
> 
> Is it ok to register one notifier PER service? The below code is done in
the
> dimmabledevice...to register event notifiers for both services
> 
> // setup event notifier
> notify_level = new UPnPEventNotifier(context, this, levelservice,
> dimswitchDev);
> notify_status = new UPnPEventNotifier(context, this, statusservice,
> dimswitchDev);	
> 
> 
> kind regards,
> Daniel
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
> Gesendet: Donnerstag, 24. Juli 2008 17:53
> An: users@felix.apache.org
> Betreff: AW: AW: AW: bug in felix upnp basedriver 0.8
> 
> Ok - i have filed the issue under
> https://issues.apache.org/jira/browse/FELIX-642
> Please let me know if you need something else!
> 
> 
> Kind regards and MANY MANY thanks in advance,
> Daniel
> 
> -----Ursprüngliche Nachricht-----
> Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
> Gesendet: Donnerstag, 24. Juli 2008 17:34
> An: users@felix.apache.org
> Betreff: AW: AW: AW: bug in felix upnp basedriver 0.8
> 
> Ok - what should the jira issue contain?
> Also my source code?
> What else?
> 
> Kind regards,
> Daniel
> 
> -----Ursprüngliche Nachricht-----
> Von: Francesco Furfari [mailto:francesco.furfari@isti.cnr.it] 
> Gesendet: Donnerstag, 24. Juli 2008 17:27
> An: users@felix.apache.org
> Betreff: Re: AW: AW: bug in felix upnp basedriver 0.8
> 
> ;-) I would say also that 17 is a very unlucky number here in Italy :).
> seriously, remember to open a JIRA issue and we will try to fix it ASAP.
> 
> thank you for reporting it.
> 
> regards,
> francesco
> 
> 
> Daniel Felsing wrote:
>> I really dont know how to progress now :(
>>
>> The only thing i can say for SURE ist hat only the INITIAL event delivery
> is
>> bugged sometimes when registering a new listener on the server.
>> When i change the state (e.g. by pressing a switch) for the device that
> was
>> bugged before i get the notification.
>>
>> Well thats it :-((((((
>>
>> I also assured that the "unregistering" oft he devices by the
bridgedriver
>> (which bridges the x10 like devices tot he network) on shutdown works
>> properly
>> Really everything ok there....the upnpeventnotifiers get destroyed by
>> "destroy"....
>>
>> I'm now really frustrated and dont know what to do
>>
>> Kind regards,
>> Daniel
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
>> Gesendet: Donnerstag, 24. Juli 2008 16:19
>> An: users@felix.apache.org
>> Betreff: AW: AW: bug in felix upnp basedriver 0.8
>>
>> Hi again,
>>
>> hmm
>>
>> Overall Environment Setup:
>> --------------------------
>> - yes, connected by a switch
>> - the first computer is a UPnP Bridge for a X10 "like" system..i wrote a
>> basedriver and upnpbridgedriver (bridgedriver is creating upnp devices
for
>> every x10 base device). It is using felix + upnpbasedriver
>> - the second computer acts as a server (central control point for a smart
>> home system implementation) it's using felix also (but for developing
>> eclipse equinox since it's more comfortable to develop)
>> This second computer uses basedriver to import the devices xposed by the
>> first computer...and a refinement driver is creating new objects for
every
>> upnp device found (e.g. a light device and so on)
>>
>>
>> Issues:
>> ------
>> - all the devices on the server (so the central smart home controller)
> that
>> get imported get refined. They subscribe to the upnp device it refines to
>> get notified on event change.
>> Problem is: not all devices get notified on INITIAL subscription...when a
>> notification is missed and i actually change the state of a sensor the
>> notification works OK.
>>
>> Question & Tests:
>> -----------------
>> - yes i can :)
>> - yes - every device exported by the upnpsensorbridge (=Felix Computer)
> gets
>> found by the central server (=equinox computer)
>> It is really just an issue with single "upnpservices". Here i saw
> something
>> strange. When i restart the bridgeDriver on Felix computer (exporting my
>> upnp devices)
>> The "getCurrentValue()" methods get called more and more often the more
>> often i restart the "bridgeDriver". Is this a normal behavior? It seems
to
>> me as state variables
>> Of the services get mixed up or not cancelled when unregistering or
>> something.
>> - i have only one computer where i test the notification -> on the
central
>> equinox server computer.
>> On the felix computer exporting my upnp devices i am justwondering about
> the
>> strange calls to "getCurrentValue" i described you 
>>
>>
>>
>> Kind regards,
>> Daniel
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Stefano Lenzi [mailto:kismet@interfree.it] 
>> Gesendet: Donnerstag, 24. Juli 2008 16:01
>> An: users@felix.apache.org
>> Betreff: Re: AW: bug in felix upnp basedriver 0.8
>>
>> Hi Daniel,
>>
>> let's try to summarize this long thread, so that we can get a clear
>> vision on what is going on, and you can correct my wrong understanding
>>
>> Overall Environment Setup
>> -------------------------
>>  - You have two computer connected togheter by means of a switch. And
>> they are the only two computer on the network
>>  - The first computer runs Felix + UPnP Base Driver
>>  - The second computer runs Equinox + UPnP Base Driver + *your* Sensor
>> Base Driver + Sensor2UPnP Bridge
>>
>>
>> Issues
>> ------
>>  - If you subscribe from the PC running Felix to all the UPnP Device
>> exported by the UPnP Base Driver running on Equinox and created by your
>> Sensor2UPnP bridge you miss some of the notification.
>>
>>
>> Questions & Tests
>> -----------------
>>  - Can you create a JIRA issue for your issue, so that it will easy to
>> track and you will be able to post your code as zip file, instead of
>> copy & paste
>>  - During your testing have you always discovered all the device
>> exported by the Equinox computer in the Felix computer?
>>  - Do you miss notification even on the Equinox computer?
>>
>> Ciao,
>> Stefano "Kismet" Lenzi
>>
>>
>>
>>
>>
>> Francesco Furfari wrote:
>>> 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
> 
> 
> 
> ---------------------------------------------------------------------
> 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


Re: AW: AW: AW: bug in felix upnp basedriver 0.8 - question for my understanding...!

Posted by Francesco Furfari <fr...@isti.cnr.it>.
yes,

http://svn.apache.org/viewvc/felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java?view=markup

ff

Daniel Felsing wrote:
> Hello all once again,
> 
> If e.g. my dimmable device has two services one for light level and one for
> status (each service has one localstatevariable).
> 
> Is it ok to register one notifier PER service? The below code is done in the
> dimmabledevice...to register event notifiers for both services
> 
> // setup event notifier
> notify_level = new UPnPEventNotifier(context, this, levelservice,
> dimswitchDev);
> notify_status = new UPnPEventNotifier(context, this, statusservice,
> dimswitchDev);	
> 
> 
> kind regards,
> Daniel
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
> Gesendet: Donnerstag, 24. Juli 2008 17:53
> An: users@felix.apache.org
> Betreff: AW: AW: AW: bug in felix upnp basedriver 0.8
> 
> Ok - i have filed the issue under
> https://issues.apache.org/jira/browse/FELIX-642
> Please let me know if you need something else!
> 
> 
> Kind regards and MANY MANY thanks in advance,
> Daniel
> 
> -----Ursprüngliche Nachricht-----
> Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
> Gesendet: Donnerstag, 24. Juli 2008 17:34
> An: users@felix.apache.org
> Betreff: AW: AW: AW: bug in felix upnp basedriver 0.8
> 
> Ok - what should the jira issue contain?
> Also my source code?
> What else?
> 
> Kind regards,
> Daniel
> 
> -----Ursprüngliche Nachricht-----
> Von: Francesco Furfari [mailto:francesco.furfari@isti.cnr.it] 
> Gesendet: Donnerstag, 24. Juli 2008 17:27
> An: users@felix.apache.org
> Betreff: Re: AW: AW: bug in felix upnp basedriver 0.8
> 
> ;-) I would say also that 17 is a very unlucky number here in Italy :).
> seriously, remember to open a JIRA issue and we will try to fix it ASAP.
> 
> thank you for reporting it.
> 
> regards,
> francesco
> 
> 
> Daniel Felsing wrote:
>> I really dont know how to progress now :(
>>
>> The only thing i can say for SURE ist hat only the INITIAL event delivery
> is
>> bugged sometimes when registering a new listener on the server.
>> When i change the state (e.g. by pressing a switch) for the device that
> was
>> bugged before i get the notification.
>>
>> Well thats it :-((((((
>>
>> I also assured that the "unregistering" oft he devices by the bridgedriver
>> (which bridges the x10 like devices tot he network) on shutdown works
>> properly
>> Really everything ok there....the upnpeventnotifiers get destroyed by
>> "destroy"....
>>
>> I'm now really frustrated and dont know what to do
>>
>> Kind regards,
>> Daniel
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Daniel Felsing [mailto:daniel.felsing@maven.at] 
>> Gesendet: Donnerstag, 24. Juli 2008 16:19
>> An: users@felix.apache.org
>> Betreff: AW: AW: bug in felix upnp basedriver 0.8
>>
>> Hi again,
>>
>> hmm
>>
>> Overall Environment Setup:
>> --------------------------
>> - yes, connected by a switch
>> - the first computer is a UPnP Bridge for a X10 "like" system..i wrote a
>> basedriver and upnpbridgedriver (bridgedriver is creating upnp devices for
>> every x10 base device). It is using felix + upnpbasedriver
>> - the second computer acts as a server (central control point for a smart
>> home system implementation) it's using felix also (but for developing
>> eclipse equinox since it's more comfortable to develop)
>> This second computer uses basedriver to import the devices xposed by the
>> first computer...and a refinement driver is creating new objects for every
>> upnp device found (e.g. a light device and so on)
>>
>>
>> Issues:
>> ------
>> - all the devices on the server (so the central smart home controller)
> that
>> get imported get refined. They subscribe to the upnp device it refines to
>> get notified on event change.
>> Problem is: not all devices get notified on INITIAL subscription...when a
>> notification is missed and i actually change the state of a sensor the
>> notification works OK.
>>
>> Question & Tests:
>> -----------------
>> - yes i can :)
>> - yes - every device exported by the upnpsensorbridge (=Felix Computer)
> gets
>> found by the central server (=equinox computer)
>> It is really just an issue with single "upnpservices". Here i saw
> something
>> strange. When i restart the bridgeDriver on Felix computer (exporting my
>> upnp devices)
>> The "getCurrentValue()" methods get called more and more often the more
>> often i restart the "bridgeDriver". Is this a normal behavior? It seems to
>> me as state variables
>> Of the services get mixed up or not cancelled when unregistering or
>> something.
>> - i have only one computer where i test the notification -> on the central
>> equinox server computer.
>> On the felix computer exporting my upnp devices i am justwondering about
> the
>> strange calls to "getCurrentValue" i described you 
>>
>>
>>
>> Kind regards,
>> Daniel
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Stefano Lenzi [mailto:kismet@interfree.it] 
>> Gesendet: Donnerstag, 24. Juli 2008 16:01
>> An: users@felix.apache.org
>> Betreff: Re: AW: bug in felix upnp basedriver 0.8
>>
>> Hi Daniel,
>>
>> let's try to summarize this long thread, so that we can get a clear
>> vision on what is going on, and you can correct my wrong understanding
>>
>> Overall Environment Setup
>> -------------------------
>>  - You have two computer connected togheter by means of a switch. And
>> they are the only two computer on the network
>>  - The first computer runs Felix + UPnP Base Driver
>>  - The second computer runs Equinox + UPnP Base Driver + *your* Sensor
>> Base Driver + Sensor2UPnP Bridge
>>
>>
>> Issues
>> ------
>>  - If you subscribe from the PC running Felix to all the UPnP Device
>> exported by the UPnP Base Driver running on Equinox and created by your
>> Sensor2UPnP bridge you miss some of the notification.
>>
>>
>> Questions & Tests
>> -----------------
>>  - Can you create a JIRA issue for your issue, so that it will easy to
>> track and you will be able to post your code as zip file, instead of
>> copy & paste
>>  - During your testing have you always discovered all the device
>> exported by the Equinox computer in the Felix computer?
>>  - Do you miss notification even on the Equinox computer?
>>
>> Ciao,
>> Stefano "Kismet" Lenzi
>>
>>
>>
>>
>>
>> Francesco Furfari wrote:
>>> 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
> 
> 
> 
> ---------------------------------------------------------------------
> 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