meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
homeautomation2017:group3:start [2017/03/03 00:03] suganmira |
homeautomation2017:group3:start [2017/03/11 01:11] (current) suganmira |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | −Table of Contents | + | ====== |
- | The Group | + | |
- | Motivation | + | |
- | Goals | + | |
- | Our Idea | + | |
- | Components Used | + | |
- | System Architecture | + | |
- | It Works! | + | |
- | Home automation protocols | + | |
- | Documentation | + | |
- | References | + | |
- | Group 3 Cognitive Living | ||
- | THE GROUP: | ||
- | Carl Kugblenu, Geraldine Villers, Madhubala Ganesan, Syed Asif Iqbal | ||
+ | ===== The Team ===== | ||
+ | ** // * Carl Kugblenu | ||
+ | * | ||
+ | * | ||
+ | * Syed Asif Iqbal //** | ||
- | [Edit] | + | {{:homeautomation2017: |
- | MOTIVATION: | + | |
+ | ===== Motivation ===== | ||
* Increased use of Electronic devices for the household | * Increased use of Electronic devices for the household | ||
* Existing Home Automation systems are designed for specific purposes – comfort / security / cost saving | * Existing Home Automation systems are designed for specific purposes – comfort / security / cost saving | ||
Line 24: | Line 17: | ||
* Social – Comfort & Security; Environmental – CO2 emission; Economic – Cost saving | * Social – Comfort & Security; Environmental – CO2 emission; Economic – Cost saving | ||
- | GOALS: | + | ===== Goals ===== |
- | * A comfortable environment – physiologically ambient environment for living | + | * A comfortable environment – physiologically ambient environment for living |
* Safe and Secure living | * Safe and Secure living | ||
* Energy aware living & steps towards saving energy | * Energy aware living & steps towards saving energy | ||
* Cost saving by reducing power consumption | * Cost saving by reducing power consumption | ||
* A system that can automatically understand user’s needs | * A system that can automatically understand user’s needs | ||
+ | {{ : | ||
- | OUR IDEA: | + | ===== Our Idea ===== |
- | We have implemented a system with DHS HomeManager and HomeMatic devices which can provide comfort, security and save energy in a household. We have three operating modes namely : Normal Mode, Shield Mode and Child Mode. Normal Mode is when people are living in the house, so the focus of this mode is comfort. Shield Mode is when no one is at home, so we focus on energy saving & security. Child mode is where a child is left at home alone. So the focus here is comfort, safety & security of the child. We control the AirConditioner / Heating system based on room temperature and humidity values. With the help of Axis M115 camera we show the camera feed to the user at all times. We also detect motion in specific areas of the frame and alert the user in case of abnormal activities in front of the door or if there is an attempt to tamper the camera by email. The system alerts the user if doors and windows are open in Shield & Child mode for safety & security. | + | We have implemented a system with DHS HomeManager, FHEM and HomeMatic devices which can provide comfort, security and save energy in a household. We have three operating modes namely : Normal Mode, Shield Mode and Child Mode. Normal Mode is when people are living in the house, so the focus of this mode is comfort. Shield Mode is when no one is at home, so we focus on energy saving & security. Child mode is where a child is left at home alone. So the focus here is comfort, safety & security of the child. We control the AirConditioner / Heating system based on room temperature and humidity values. With the help of Axis M115 camera we show the camera feed to the user at all times. We also detect motion in specific areas of the frame and alert the user in case of abnormal activities in front of the door or if there is an attempt to tamper the camera by email. The system alerts the user if doors and windows are open in Shield & Child mode for safety & security. In addition, the system should be able to predict and adapt itself based on user's behaviour. |
- | [Edit] | + | {{:homeautomation2017: |
- | COMPONENTS USED: | + | |
+ | ===== Components Used ===== | ||
* DHS HomeManager | * DHS HomeManager | ||
- | * Wireless Door / Window Sensor - optical | + | * FHEM |
- | * Wireless switch Actuator 1-channel | + | * HomeMatic |
- | * Wireless Temperatue / Humidity sensor indoor | + | * HomeMatic |
+ | * HomeMatic | ||
* AXIS M1113 Network Camera | * AXIS M1113 Network Camera | ||
- | [Edit] | + | ===== System Architecture===== |
- | SYSTEM ARCHITECTURE: | + | {{ :homeautomation2017: |
- | + | ||
- | [Edit] | + | ===== Cognitive Prediction (Code Snippet) ===== |
- | Home automation protocol | + | This is the Predition service code sample to train the neural network model with collected home data |
+ | < | ||
+ | var brain = require(' | ||
+ | var fs = require(' | ||
- | ZigBee Protocol Overview | + | // Training data for temperature, |
- | What is ZigBee protocol? | + | var training_data = JSON.parse(fs.readFileSync(' |
- | Emerging standardized protocol | + | var net = new brain.NeuralNetwork(); |
- | an established set of specifications for wireless personal area networking | + | |
- | ZigBee is targeted at radio-frequency (RF) applications which require a low data rate, long battery life, and secure networking; | + | |
- | How ZigBee works? | + | |
- | The following figure depicts zigbee protocol stack,which consists of four layers: | + | |
- | The application layer: highest-level layer defined by the specification and is the effective interface of the ZigBee system to its end users; | + | |
- | The network& | + | |
- | MAC layer: used by zigbee devices to establish connection to the PAN by exchanging system information; | + | |
- | Physical layer: ZigBee builds on this layer and media access control defined in IEEE standard 802.15.4 for low-rate WPANs. | + | |
- | Why ZigBee? | + | |
- | Advanteges Disadvantages | + | |
- | Open Standards Interference with other devices | + | |
- | Low cost Slow market expansion | + | |
- | Easily deployable and global | + | |
- | Reliable, secured and self healing | + | |
- | Supports large number of nodes | + | |
- | Very long battery life | + | |
- | Application Sectors: | + | |
- | Li-Fi technology | + | // Training |
- | Introduction | + | net.train(training_data); |
- | LiFi is a wireless optical networking technology that uses light-emitting diodes (LEDs) for data transmission. | + | |
- | LiFi is designed to use LED light bulbs similar to those currently in use in many energy-conscious homes and offices. | + | |
- | However, LiFi bulbs are outfitted with a chip that modulates | + | |
- | LiFi data is transmitted by the LED bulbs and received by photoreceptors. | + | |
- | Advanteges Disadvantages | + | |
- | Sufficient usage of RF BW Light can't pass through objects | + | |
- | High data transmission rate (10Gbps) Internet can't be used without a light source | + | |
- | High level of privacy & security | + | |
- | Low implementation and maintenance costs | + | |
- | [Edit] | + | // Predict a switch response based on a temperature and humidity input |
- | Code package | + | var output = net.run([0.22, 0.11]); // 0.00112'' |
+ | </ | ||
- | Logic control for the Motion Detector and Twilight Sensors | + | ===== FHEM Definitions (Code Snippet) ===== |
- | define | + | Normal Mode |
+ | < | ||
+ | define | ||
+ | if (($EVENT eq " | ||
+ | fhem "set Switch on" | ||
+ | } | ||
+ | else { | ||
+ | fhem "set Switch off" | ||
+ | } | ||
+ | } | ||
+ | </ | ||
- | if ((ReadingsVal (" | + | Shield Mode |
+ | < | ||
+ | define ShieldMode notify MotionSensor { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | | ||
+ | </ | ||
- | if ((ReadingsVal (" | + | Child Mode |
+ | < | ||
+ | define ChildMode notify DoorWindowSensor { | ||
+ | if (($EVENT | ||
+ | | ||
+ | } | ||
+ | | ||
+ | fhem " | ||
+ | } | ||
+ | | ||
+ | </ | ||
- | if ((ReadingsVal (" | ||
- | } | + | ===== It Works!===== |
+ | {{: | ||
+ | {{: | ||
- | define lamp_thr1 notify tw1Group1 { | + | ===== Home automation protocols |
+ | **LonWorks** | ||
- | if ((ReadingsVal (" | + | //__What is LonWorks? |
- | && (ReadingsVal (" | + | {{ : |
- | if ((ReadingsVal (" | ||
- | && (ReadingsVal (" | ||
- | if ((ReadingsVal (" | + | // |
- | && (ReadingsVal (" | + | * Efficient delivery of small messages. |
+ | * Reliable delivery of messages. | ||
+ | * Duplicate message detection. | ||
+ | * Multiple communications media. | ||
+ | * Low installation and maintenance cost | ||
+ | * Efficient use of channel bandwidth. | ||
+ | * Prevent tampering. | ||
- | } | + | // |
+ | * Municipal and highway/ | ||
+ | * Heating and air conditioning systems. | ||
+ | * Subway train control. | ||
+ | * Stadium lighting and speaker control. | ||
+ | * Security systems, fire detection and suppression, | ||
+ | * Smart electricity metering | ||
- | define lamp_thr2 notify tw2Group1 { | ||
- | if ((ReadingsVal (" | ||
- | && (ReadingsVal (" | ||
- | if ((ReadingsVal (" | ||
- | && (ReadingsVal (" | ||
- | if ((ReadingsVal (" | + | **DASH7 Alliance Protocol** |
- | && (ReadingsVal (" | + | |
- | } | + | //__Features__// |
- | + | | |
- | + | * Built on top of an asynchronous Wireless Sensor Network Media Access Control. | |
- | define lamp_alone notify moveGroup1 { | + | * This standard was mainly used for military logistics. |
- | + | * It uses Generally Radio Frequency Identification technology, which is used for locating and tracking objects in a variety of applications. | |
- | if (ReadingsVal (" | + | * This technology consists of a tag and a reader. There are two types of tags, active and passive. Passive tags receive their energy from the |
- | + | ||
- | } | + | //__BLAST Network Technology__// |
- | config file: fhem.cfg | + | {{ :homeautomation2017:group3:blast.png?nolink& |
- | attr global userattr cmdIcon devStateIcon devStateStyle fp_HMTouch fp_HMTouch_Setup fp_TouchPad icon sortby webCmd widgetOverride | + | |
- | attr global autoload_undefined_devices 1 | + | |
- | attr global exclude_from_update 00_CUL.pm | + | |
- | attr global logfile ./log/fhem-%Y-%m.log | + | |
- | attr global modpath | + | |
- | attr global motd SecurityCheck: | + | |
- | \ | + | |
- | HM_TouchScreen, | + | |
- | telnetPort has no associated allowed device with password/ | + | |
- | \ | + | |
- | Restart FHEM for a new check if the problem is fixed,\ | + | |
- | or set the global attribute motd to none to supress this message.\ | + | |
- | + | ||
- | attr global statefile ./ | + | |
- | attr global updateInBackground 1 | + | |
- | attr global verbose 3 | + | |
- | + | ||
- | define telnetPort telnet 7072 global | + | |
- | + | ||
- | define WEB FHEMWEB 8083 global | + | |
- | attr WEB editConfig 1 | + | |
- | attr WEB longpoll 1 | + | |
- | + | ||
- | define WEBphone FHEMWEB 8084 global | + | |
- | attr WEBphone stylesheetPrefix smallscreen | + | |
- | + | ||
- | define HM_TouchScreen FHEMWEB 8085 global | + | |
- | attr HM_TouchScreen longpoll 1 | + | |
- | attr HM_TouchScreen room hidden | + | |
- | + | ||
- | # Fake FileLog entry, to access the fhem log from FHEMWEB | + | |
- | + | ||
- | define autocreate autocreate | + | |
- | attr autocreate autosave 1 | + | |
- | attr autocreate disable 1 | + | |
- | attr autocreate filelog ./ | + | |
- | + | ||
- | define eventTypes eventTypes ./ | + | |
- | + | ||
- | # Disable this to avoid looking | + | |
- | #define initialUsbCheck notify global: | + | |
- | define CSM CUL / | + | |
- | define CSM433 CUL / | + | |
- | + | ||
- | define Logfile FileLog | + | |
- | + | ||
- | define HMTouch FLOORPLAN | + | |
- | attr HMTouch fp_arrange 0 | + | |
- | attr HMTouch fp_backgroundimg HomeManager.png | + | |
- | attr HMTouch fp_noMenu 1 | + | |
- | attr HMTouch room hidden | + | |
- | attr HMTouch stylesheet homemanagerstyle.css | + | |
- | + | ||
- | define Heartbeat dummy | + | |
- | attr Heartbeat devStateIcon on: | + | |
- | attr Heartbeat fp_HMTouch 85,140,1, Heartbeat | + | |
- | attr Heartbeat room System | + | |
- | attr Heartbeat setList on off | + | |
- | attr Heartbeat webCmd on:off | + | |
- | + | ||
- | define N_Heartbeat DOIF ([Heartbeat: | + | |
- | attr N_Heartbeat room hidden | + | |
- | + | ||
- | define BackLight dummy | + | |
- | attr BackLight devStateIcon on: | + | |
- | attr BackLight fp_HMTouch 85,6,1, | + | |
- | attr BackLight room System | + | |
- | attr BackLight setList on off | + | |
- | attr BackLight webCmd on:off | + | |
- | + | ||
- | define N_BackLight DOIF ([BackLight: | + | |
- | attr N_BackLight room hidden | + | |
- | + | ||
- | define Power dummy | + | |
- | attr Power devStateIcon on: | + | |
- | attr Power fp_HMTouch 85,227,1, Power | + | |
- | attr Power room System | + | |
- | attr Power setList on off | + | |
- | attr Power webCmd on:off | + | |
- | + | ||
- | define N_Power notify Power "sudo shutdown -h now" | + | |
- | attr N_Power room hidden | + | |
- | + | ||
- | define Restart dummy | + | |
- | attr Restart devStateIcon on: | + | |
- | attr Restart fp_HMTouch 85,297,1, Restart | + | |
- | attr Restart room System | + | |
- | attr Restart setList on off | + | |
- | attr Restart webCmd on:off | + | |
- | + | ||
- | define N_Restart notify Restart "sudo shutdown -r now" | + | |
- | attr N_Restart room hidden | + | |
- | + | ||
- | define IP_address dummy | + | |
- | attr IP_address fp_HMTouch 266,18,0 | + | |
- | attr IP_address room System | + | |
- | + | ||
- | define Output dummy | + | |
- | attr Output devStateIcon lcd: | + | |
- | attr Output fp_HMTouch 85, | + | |
- | attr Output room System | + | |
- | attr Output setList lcd hdmi | + | |
- | attr Output webCmd lcd:hdmi | + | |
- | + | ||
- | define Time dummy | + | |
- | attr Time event-on-change-reading state | + | |
- | attr Time fp_HMTouch 266,287,0 | + | |
- | attr Time fp_HMTouch_Setup 55,86,0, ,Time | + | |
- | attr Time room System | + | |
- | + | ||
- | define Time_Update at +*00:00:30 { fhem 'set Time '.strftime(' | + | |
- | attr Time_Update disable 0 | + | |
- | attr Time_Update room hidden | + | |
- | + | ||
- | define NET_mask dummy | + | |
- | attr NET_mask fp_HMTouch 266,127,0 | + | |
- | attr NET_mask room System | + | |
- | + | ||
- | define Pageswap dummy | + | |
- | attr Pageswap devStateIcon | + | |
- | attr Pageswap fp_HMTouch 50,200,0 | + | |
- | attr Pageswap fp_HMTouch_Setup 50,200,0 | + | |
- | attr Pageswap room hidden | + | |
- | define N_Pageswap notify Pageswap { \ | + | |
- | my $ps_Val = (Value(" | + | |
- | if ($ps_Val ne " | + | |
- | fhem(" | + | |
- | }\ | + | |
- | } | + | |
- | attr N_Pageswap room hidden | + | |
- | + | ||
- | define LogHistory readingsHistory (? | + | |
- | attr LogHistory fp_HMTouch 173,12,5, LogHistory | + | |
- | attr LogHistory noheading 1 | + | |
- | attr LogHistory nolinks 1 | + | |
- | attr LogHistory room hidden | + | |
- | attr LogHistory rows 4 | + | |
- | attr LogHistory style style=" | + | |
- | attr LogHistory valueFormat {return undef if( $VALUE =~m/WL_DispOn/ );; return $VALUE} | + | |
- | + | ||
- | define WL_DispOn weblink htmlCode <a href="/fhem? | + | |
- | + | ||
- | define Pagereload dummy | + | |
- | attr Pagereload devStateIcon .*: | + | |
- | attr Pagereload fp_HMTouch 50,200,0, | + | |
- | attr Pagereload fp_HMTouch_Setup 50,200,0 | + | |
- | attr Pagereload room hidden | + | |
- | define N_Pagereload notify Pagereload | + | |
- | attr N_Pagereload room hidden | + | |
- | + | ||
- | define N_Output DOIF ([Output:state] =~ " | + | |
- | attr N_Output room hidden | + | |
- | + | ||
- | define HMTouch_Setup FLOORPLAN | + | |
- | attr HMTouch_Setup fp_arrange 0 | + | |
- | attr HMTouch_Setup fp_backgroundimg HomeManager_Setup.png | + | |
- | attr HMTouch_Setup fp_noMenu 1 | + | |
- | attr HMTouch_Setup room hidden | + | |
- | attr HMTouch_Setup stylesheet homemanagerstyle.css | + | |
- | + | ||
- | define TimeDate dummy | + | |
- | attr TimeDate fp_HMTouch_Setup 68,6,7, ,DateTime | + | |
- | attr TimeDate room hidden | + | |
- | attr TimeDate setList state: | + | |
- | attr TimeDate webCmd state | + | |
- | + | ||
- | define check_date at +*00:03:00 {if (strftime(' | + | |
- | attr check_date disable 1 | + | |
- | attr check_date room hidden | + | |
- | + | ||
- | define set_Time dummy | + | |
- | attr set_Time devStateIcon set: | + | |
- | attr set_Time event-on-update-reading state | + | |
- | attr set_Time fp_HMTouch_Setup 69,301,0, ,set_Time | + | |
- | attr set_Time room hidden | + | |
- | attr set_Time setList set | + | |
- | attr set_Time webCmd set | + | |
- | + | ||
- | define back dummy | + | |
- | attr back devStateIcon back: | + | |
- | attr back fp_HMTouch_Setup 256,301,0, ,back | + | |
- | attr back room hidden | + | |
- | attr back setList back | + | |
- | attr back webCmd back | + | |
- | define N_Back notify back set Pageswap / | ||
- | attr N_Back room hidden | ||
- | define N_SetTime notify set_Time | + | // |
- | attr N_SetTime room hidden | + | {{ :homeautomation2017:group3: |
- | define StartChecks notify global: | ||
- | attr StartChecks room hidden | ||
- | define twi1Group1 FS20 6ce1 00 | ||
- | attr twi1Group1 IODev CSM433 | ||
- | attr twi1Group1 room FS20 | ||
- | define FileLog_twi1Group1 FileLog ./ | ||
- | attr FileLog_twi1Group1 logtype text | ||
- | attr FileLog_twi1Group1 room FS20 | ||
- | define twi2Group1 FS20 6ce1 01 | ||
- | attr twi2Group1 IODev CSM433 | ||
- | attr twi2Group1 room FS20 | ||
- | define FileLog_twi2Group1 FileLog ./ | ||
- | attr FileLog_twi2Group1 logtype text | ||
- | attr FileLog_twi2Group1 room FS20 | ||
- | define FileLog_FS20_815a00 FileLog ./ | ||
- | attr FileLog_FS20_815a00 logtype text | ||
- | attr FileLog_FS20_815a00 room FS20 | ||
- | define lamp1 FS20 1234 56 | ||
- | attr lamp1 IODev CSM | ||
- | attr lamp1 model fs20di | ||
- | define FileLog_FS20_256800 FileLog ./ | ||
- | attr FileLog_FS20_256800 logtype text | ||
- | attr FileLog_FS20_256800 room FS20 | ||
- | define FileLog_FS20_256802 FileLog ./ | ||
- | attr FileLog_FS20_256802 logtype text | ||
- | attr FileLog_FS20_256802 room FS20 | ||
- | define FileLog_FS20_256803 FileLog ./ | ||
- | attr FileLog_FS20_256803 logtype text | ||
- | attr FileLog_FS20_256803 room FS20 | ||
- | define FileLog_FS20_ff2a01 FileLog ./ | ||
- | attr FileLog_FS20_ff2a01 logtype text | ||
- | attr FileLog_FS20_ff2a01 room FS20 | ||
- | define moveGroup1 FS20 4d7b 00 | ||
- | attr moveGroup1 IODev CSM433 | ||
- | attr moveGroup1 room FS20 | ||
- | define FileLog_moveGroup1 FileLog ./ | ||
- | attr FileLog_moveGroup1 logtype text | ||
- | attr FileLog_moveGroup1 room FS20 | ||
- | define SVG_HMS100TF_a090 SVG FileLog_HMS100TF_a090: | ||
- | attr SVG_HMS100TF_a090 label " | ||
- | attr SVG_HMS100TF_a090 room Plots | ||
- | define FileLog_FS20_ff2a00 FileLog ./ | ||
- | attr FileLog_FS20_ff2a00 logtype text | ||
- | attr FileLog_FS20_ff2a00 room FS20 | ||
- | define SVG_CUL_TX_74 SVG FileLog_CUL_TX_74: | ||
- | attr SVG_CUL_TX_74 label " | ||
- | attr SVG_CUL_TX_74 room Plots | ||
- | define FileLog_FS20_256801 FileLog ./ | ||
- | attr FileLog_FS20_256801 logtype text | ||
- | attr FileLog_FS20_256801 room FS20 | ||
- | define SVG_FHT_5012 SVG FileLog_FHT_5012: | ||
- | attr SVG_FHT_5012 label " | ||
- | attr SVG_FHT_5012 room Plots | ||
- | [Edit] | ||
- | Future work | ||
- | As a future work we can propose a novel approach which controls electric indoor lighting, such as LED lights using photo-voltaic system integrated into an office building.Based on the amount of available daylight, we can calculate the amount of artificial illumination required with the reference indoor illumination, | + | ===== Code package & Documentation ===== |
- | [Edit] | + | * Poster : {{ : |
- | Documentation | + | * Mode Configuration in FHEM (example) : {{ : |
+ | * Code Package : {{ : | ||
+ | * Presentation Slides : {{ : | ||
+ | * Report : {{ : | ||
+ | * Energy Analysis : {{ : | ||
- | presentation.pdf | ||
- | [Edit] | ||
- | References | ||
- | https:// | ||
- | http:// | ||
- | http:// |