@@ -62,16 +62,17 @@ public boolean isNeeded() {
6262 @ Override
6363 public boolean refresh () throws Exception {
6464 SynoCameraHandler cameraHandler = getSynoHandler ();
65+ // Thing thing = cameraHandler.getThing();
6566
66- for ( String eventType : events . keySet ()) {
67- if ( getSynoHandler (). isLinked ( eventType )) {
68- Channel channel = cameraHandler . getThing (). getChannel ( eventType );
69- SynoEvent event = events .get ( eventType );
70- EventResponse response = cameraHandler . getSynoWebApiHandler (). getApiEvent ()
71- . getEventResponse ( cameraHandler . getCameraId (), lastEventTime , event . getReason () );
72- if ( response . isSuccess ()) {
73- if (! response .isEmpty ( )) {
74- SynoEvent responseEvent = response .getFirst ( );
67+ EventResponse response = cameraHandler . getSynoWebApiHandler (). getApiEvent ()
68+ . getEventResponse ( cameraHandler . getCameraId (), lastEventTime , events );
69+ if ( response . isSuccess ()) {
70+ for ( String eventType : events .keySet ()) {
71+ if ( getSynoHandler (). isLinked ( eventType )) {
72+ SynoEvent event = events . get ( eventType );
73+ Channel channel = cameraHandler . getThing (). getChannel ( eventType );
74+ if (response .hasEvent ( event . getReason () )) {
75+ SynoEvent responseEvent = response .getEvent ( event . getReason () );
7576 if (responseEvent .getEventId () != event .getEventId ()) {
7677 event .setEventId (responseEvent .getEventId ());
7778 event .setEventCompleted (responseEvent .isEventCompleted ());
@@ -88,17 +89,16 @@ public boolean refresh() throws Exception {
8889 event .setEventCompleted (true );
8990 cameraHandler .updateState (channel .getUID (), OnOffType .OFF );
9091 }
91- if (response .getTimestamp () > lastEventTime ) {
92- lastEventTime = response .getTimestamp ();
93- }
94- } else if (response .getErrorcode () == 105 ) {
95- throw new WebApiException (WebApiAuthErrorCodes .INSUFFICIENT_USER_PRIVILEGE );
96- } else {
97- return false ;
9892 }
9993 }
94+
95+ lastEventTime = response .getTimestamp ();
96+ return true ;
97+ } else if (response .getErrorcode () == 105 ) {
98+ throw new WebApiException (WebApiAuthErrorCodes .INSUFFICIENT_USER_PRIVILEGE );
99+ } else {
100+ return false ;
100101 }
101- return true ;
102102 }
103103
104104 /**
0 commit comments