|Empty constructor, init bundle and vars, Properties and Methods. |
|Empty destructor, may (synch) stop bundle and internal threads when still running. |
|void||busMessage (const Message &message, const Bus *source)|
|Method raised by the Bus when it processes a new message. Implementations will probably analyze the message and perform actions. |
|void||device_event (Fact *fact, DeviceHeyu::MODULE_EVENT mevent, int arg_value, DeviceHeyu::MODULE_EVENT_SOURCE event_source, const DeviceHeyu *device, HeyuWorker *source)|
|Raised on device events (asynch) |
|void||heyu_event (int event_id, const char *description, HeyuWorker *source)|
|Raised on heyu engine events (asynch) |
|thread monitoring heyu, hosting devices (cache) and executing commands |
|connector to 'Device' Bus |
Control and monitor X-10 devices through heyu software.
HeyuBundle acts as adapter between WOSH and X-10 network (protocol), using heyu software as bridge.
In short, it allows WOSH system, its component and its users to control X-10 devices and receive their notifications (events) in realtime.
X-10 is a simple communication protocol developed to control appliaces through powerline without wireless and extra-wires. In last years, wireless X-10 devices are also available (such as Motion Sensors). X-10 devices are installed in-wall or plugged between applicance and powerline, they are available in USA and Europe both. A well known vendor is Marmitek.
This was of controlling/monitoring appliances is honestly kind of out-of-date against current technology and data-rates, but it is still usefull for many reasons, especially when upgrading old houses.
This bundle is compatible with POSIX systems only (since
heyu is so).
heyufrom the official website and build it as explained in the README, don't mind about compilation, it's trivial (no external dependencies). Once sofware and hardware is installed, you may test it. A sample heyu configuration file is provided.
heyu show aliasescommand. Sample output:
[Aliases] alias light_stairs_office C2 LM12 alias light_office C3 alias light_office_desktop C4 LM12 alias tm13_bedroom_sud D1 LM12 alias light_bedroom_sud D2 AM12
alex@linbox:/home/alex# heyu on C4 alex@linbox:/home/alex# heyu dim C4 5 alex@linbox:/home/alex# heyu off C4
alex@linbox:/home/alex# heyu monitor 09/25 11:32:53 Monitor started 09/25 11:32:55 sndc addr unit 4 : hu C4 (light_office_desktop) 09/25 11:32:55 sndc func On : hc C 09/25 11:33:04 sndc addr unit 4 : hu C4 (light_office_desktop) 09/25 11:33:04 sndc func Off : hc C 09/25 11:33:28 rcvi addr unit 4 : hu H4 (sensor_m_stairs_up) 09/25 11:33:28 rcvi func On : hc H 09/25 11:33:30 rcvi addr unit 8 : hu H8 (sensor_m_living) 09/25 11:33:30 rcvi func On : hc H 09/25 11:33:36 rcvi addr unit 2 : hu H2 (sensor_m_corridoio) 09/25 11:33:37 rcvi func On : hc H 09/25 11:33:40 rcvi addr unit 12 : hu H12 (sensor_m_bathroom_sud) 09/25 11:33:41 rcvi func On : hc H 09/25 11:33:43 rcvi addr unit 2 : hu H2 (sensor_m_corridoio) 09/25 11:33:43 rcvi func On : hc H 09/25 11:33:46 rcvi addr unit 8 : hu H8 (sensor_m_living) 09/25 11:33:47 rcvi func On : hc H
Bright/Dim values are fixed (step=5)
filter heyu info (properties)
|void wosh::bundles::HeyuBundle::busMessage||(||const Message &||message,|
|const Bus *||source|
|[in]||message||the incoming message|
|[in]||source||the source Bus of the incoming message|
Reimplemented from wosh::BundleGeneric.
|void wosh::bundles::HeyuBundle::device_event||(||Fact *||fact,|
|const DeviceHeyu *||device,|
Raised on device events (asynch)
|fact||[in] the fact (related to the event) to be broadcasted|
|mevent||[in] the raised (standardized) event category|
|arg_value||[in] the integer value (data) of the event (binary state of device)|
|event_source||[in] source of the event (such as: command-line, power-line, ..)|
|device||[in] instance of the mapped device|
|source||[in] instance of JabberGlooxImpl which raised the callback|
|const char *||description,|
Raised on heyu engine events (asynch)
|event_id||[in] event raised by |
|description||[in] optiona description of the event|
|source||[in] instance of HeyuWorker which raised the callback|