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 Next revision Both sides next revision | ||
homeautomation2017:group1:start [2017/03/02 13:29] marcelgv39 [Future work] |
homeautomation2017:group1:start [2017/03/10 19:44] alhusseinjasim [Documentation] |
||
---|---|---|---|
Line 25: | Line 25: | ||
===== Equipments ===== | ===== Equipments ===== | ||
{{: | {{: | ||
- | } | + | |
===== Home automation protocol | ===== Home automation protocol | ||
**ZigBee Protocol Overview** | **ZigBee Protocol Overview** | ||
Line 46: | Line 46: | ||
| Open Standards |Interference with other devices| | | Open Standards |Interference with other devices| | ||
| Low cost |Slow market expansion| | | Low cost |Slow market expansion| | ||
- | | Can be used globally | + | | Easily deployable and global |
- | | Reliable and self healing | | | + | | Reliable, secured |
| Supports large number of nodes | | | | Supports large number of nodes | | | ||
- | | Easy to deploy | | | ||
| Very long battery life | | | | Very long battery life | | | ||
- | | Secure | | | ||
Line 61: | Line 59: | ||
{{: | {{: | ||
- | |||
- | |||
Line 71: | Line 67: | ||
Introduction | Introduction | ||
- | * LiFi is a wireless optical networking technology that uses light-emitting diodes (LEDs) for data transmission. | + | * Li-Fi 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. | + | * Li-Fi is designed to use LED light bulbs similar to those currently in use in many energy-conscious homes and offices. |
- | * However, | + | * However, |
- | * LiFi data is transmitted by the LED bulbs and received by photoreceptors. | + | * Li-Fi data is transmitted by the LED bulbs and received by photoreceptors. |
Line 84: | Line 80: | ||
- | {{: | + | {{: |
===== Code package ===== | ===== Code package ===== | ||
- | ===== Limitations | + | Logic control for the Motion Detector and Twilight Sensors |
+ | < | ||
+ | define lamp_move4 notify moveGroup1 { | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | define lamp_thr1 notify tw1Group1 { | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | && (ReadingsVal (" | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | && (ReadingsVal (" | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | && (ReadingsVal (" | ||
+ | |||
+ | } | ||
+ | |||
+ | define lamp_thr2 notify tw2Group1 { | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | && (ReadingsVal (" | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | && (ReadingsVal (" | ||
+ | |||
+ | if ((ReadingsVal (" | ||
+ | && (ReadingsVal (" | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | define lamp_alone notify moveGroup1 { | ||
+ | |||
+ | if (ReadingsVal (" | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | config file: fhem.cfg | ||
+ | |||
+ | < | ||
+ | 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 ./ | ||
+ | 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 for new USB devices on startup | ||
+ | #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 ' | ||
+ | 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 | ||
+ | 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 | ||
+ | |||
+ | define WL_DispOn weblink htmlCode <a href="/ | ||
+ | |||
+ | 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 {my $ps_Val = (Value(" | ||
+ | attr N_Pagereload room hidden | ||
+ | |||
+ | define N_Output DOIF ([Output: | ||
+ | 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 {my $t=ReadingsVal(" | ||
+ | attr N_SetTime room hidden | ||
+ | |||
+ | 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 | ||
+ | </ | ||
===== Future work ===== | ===== 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, | 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, | ||
===== Documentation ===== | ===== Documentation ===== | ||
+ | {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | |||
===== References ===== | ===== References ===== | ||
- https:// | - https:// | ||
- http:// | - http:// | ||
+ | - http:// | ||
+ | - https:// |