[dss-commits] digitalSTROM Server branch, master, updated. 28a0d8be37e21c06d25c2ce5dcc1317793f5c211

git version control dss-commits at forum.digitalstrom.org
Thu Dec 10 16:54:44 CET 2009


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "digitalSTROM Server".

The branch, master has been updated
       via  28a0d8be37e21c06d25c2ce5dcc1317793f5c211 (commit)
       via  5bcc8081e17b389a2ce1dcc872ff816b241c7f93 (commit)
      from  9995f4656dc4759f5b78b2d902bd1cd51f5c3c17 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 28a0d8be37e21c06d25c2ce5dcc1317793f5c211
Author: Patrick Stählin <pstaehlin at futurelab.ch>
Date:   Thu Dec 10 16:48:45 2009 +0100

    Removed hard-coded scene/event relation
    
    In the future we might want to split subscriptions.xml into separate
    files.
    
    Closes #225

commit 5bcc8081e17b389a2ce1dcc872ff816b241c7f93
Author: Patrick Stählin <pstaehlin at futurelab.ch>
Date:   Thu Dec 10 16:26:42 2009 +0100

    Don't broadcast addressed getTypeRequests
    
    Fixes #238

-----------------------------------------------------------------------

Changes:
diff --git a/data/subscriptions.xml b/data/subscriptions.xml
index e71e2a4..5456b59 100644
--- a/data/subscriptions.xml
+++ b/data/subscriptions.xml
@@ -46,14 +46,39 @@
   <subscription event-name="darker" handler-name="bus_handler">
     <send type="decreaseValue" />
   </subscription>
- <subscription event-name="model_ready" handler-name="javascript">
-   <parameter>
+  <subscription event-name="model_ready" handler-name="javascript">
+    <parameter>
       <parameter name="filename">data/handle_temperature_sensor_events.js</parameter>
     </parameter>
- </subscription>
+  </subscription>
   <subscription event-name="model_ready" handler-name="javascript">
     <parameter>
       <parameter name="filename">data/initialize.js</parameter>
     </parameter>
   </subscription>
+  <!-- Standard events -->
+  <subscription event-name="callScene" handler-name="raise_event">
+    <parameter>
+      <parameter name="event_name">bell</parameter>
+    </parameter>
+    <filter match="all">
+      <property-filter type="matches" value="41" property="sceneID" />
+    </filter>
+  </subscription>
+  <subscription event-name="callScene" handler-name="raise_event">
+    <parameter>
+      <parameter name="event_name">alarm</parameter>
+    </parameter>
+    <filter match="all">
+      <property-filter type="matches" value="42" property="sceneID" />
+    </filter>
+  </subscription>
+  <subscription event-name="callScene" handler-name="raise_event">
+    <parameter>
+      <parameter name="event_name">panic</parameter>
+    </parameter>
+    <filter match="all">
+      <property-filter type="matches" value="43" property="sceneID" />
+    </filter>
+  </subscription>
 </subscriptions> 
diff --git a/unix/ds485proxy.cpp b/unix/ds485proxy.cpp
index d531c0c..e536005 100644
--- a/unix/ds485proxy.cpp
+++ b/unix/ds485proxy.cpp
@@ -649,7 +649,7 @@ namespace dss {
   ModulatorSpec_t DS485Proxy::getModulatorSpec(const int _modulatorID) {
     DS485CommandFrame cmdFrame;
     cmdFrame.getHeader().setDestination(_modulatorID);
-    cmdFrame.getHeader().setBroadcast(true);
+    cmdFrame.getHeader().setBroadcast(false);
     cmdFrame.setCommand(CommandRequest);
     cmdFrame.getPayload().add<uint8_t>(FunctionGetTypeRequest);
     log("Proxy: getModulatorSpec");
@@ -1359,15 +1359,12 @@ namespace dss {
               uint16_t zoneID = pd.get<uint16_t>();
               uint16_t groupID = pd.get<uint16_t>();
               uint16_t sceneID = pd.get<uint16_t>();
-              if((sceneID & 0x00ff) == SceneBell) {
-                boost::shared_ptr<Event> evt(new Event("bell"));
-                getDSS().getEventQueue().pushEvent(evt);
-              } else if((sceneID & 0x00ff) == SceneAlarm) {
-                boost::shared_ptr<Event> evt(new Event("alarm"));
-                getDSS().getEventQueue().pushEvent(evt);
-              } else if((sceneID & 0x00ff) == ScenePanic) {
-                boost::shared_ptr<Event> evt(new Event("panic"));
-                getDSS().getEventQueue().pushEvent(evt);
+              if(frame->getCommand() == CommandRequest) {
+                boost::shared_ptr<Event> sceneEvent(new Event("callScene"));
+                sceneEvent->setProperty("sceneID", intToString(sceneID & 0x00ff));
+                sceneEvent->setProperty("groupID", intToString(groupID));
+                sceneEvent->setProperty("zoneID", intToString(zoneID));
+                getDSS().getEventQueue().pushEvent(sceneEvent);
               }
               ModelEvent* pEvent = new ModelEvent(ModelEvent::etCallSceneGroup);
               pEvent->addParameter(zoneID);


hooks/post-receive
-- 
digitalSTROM Server


More information about the dss-commits mailing list