meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sustcodecamp2016:group8:start [2016/03/02 13:15]
m5983 [Scenario]
sustcodecamp2016:group8:start [2016/03/11 10:37] (current)
m5983
Line 1: Line 1:
 ======Group 4 PERCCOM (GreenSOFAA&CO2) ======  ======Group 4 PERCCOM (GreenSOFAA&CO2) ====== 
 +
 +{{ :sustcodecamp2016:group8:pic1.jpg?nolink&300 |}}
  
 ==== Members: Group Members ==== ==== Members: Group Members ====
Line 17: Line 19:
 Following this logic, the company owners now need to think about the ways to reduce their expenses on heating and consuming of energy. Our team tried to imagine and implemented a particular scenario about reducing energy consumption and thus saving the costs for company owners. Following this logic, the company owners now need to think about the ways to reduce their expenses on heating and consuming of energy. Our team tried to imagine and implemented a particular scenario about reducing energy consumption and thus saving the costs for company owners.
  
-==== Idea ====+==== Scenario ====
  
 For our scenario we used a set of equipment, which includes motion sensor, dimmer, Twilight sensor and thermostat. For our scenario we used a set of equipment, which includes motion sensor, dimmer, Twilight sensor and thermostat.
Line 36: Line 38:
 ==== Protocol to Present:  ==== ==== Protocol to Present:  ====
  
-ZigBee+//ZigBee:// 
 + 
 +//Advantages:// 
 +  * Reliability 
 +  * Low power consumption 
 +  * Self Healing network 
 +  * Security Features 
 + 
 +//Disadvantages:// 
 +  * Interference with other devices 
 +  * Slow market expansion 
 + 
 +==== Calculation of Savings ==== 
 +//Electrical equipment:// 
 + 
 +Normal Scenario 
 +  * 9 working hours per day 
 +  * 5 days per week 
 +  * 46 weeks (4 weeks of vacations + 2 weeks for business trips) 
 +  * 1 PC, 2 Flat screens, 1 printer and lights 
 +  * Price of 1 kWh = 0.05 euros. 
 +Automation Scenario 
 +   * 7 working hours per day 
 +  * 5 days per week 
 +  * 46 weeks (4 weeks of vacations + 2 weeks for business trips) 
 +  * 1 PC, 2 Flat screens, 1 printer and lights 
 +  * Price of 1 kWh = 0.05 euros. 
 + 
 +//Climate control:// 
 + 
 +Normal Scenario 
 +  * 12 working hours per day 
 +  * 5 days per week 
 +  * 52 weeks  
 +  * 18 m2, electric heating, comfort temperature 20-22C. 
 +  * Default CO2 emission for Finland = 0.225 kgCO2/kWh 
 + 
 +Automation Scenario: 
 +  * 9 working hours per day 
 +  * 5 days per week 
 +  * 46 weeks (4 weeks of vacations + 2 weeks for business trips) 
 +  * 18 m2, electric heating, comfort temperature 20-22C. 
 +  * Default CO2 emission for Finland = 0.225 kgCO2/kWh 
 + 
 +__Savings of CO2 emission per year per employee - 141.85 kgCO2__ 
 + 
 +__Savings of costs per year per employee - 33.59 euros.__ 
 + 
 + 
 +==== Useful documentation ==== 
 + 
 +  * window detector - {{:sustcodecamp2016:group8:557492-an-01-ml-tuer_fensterkontakt_fht80tf_de_en_fr_nl.pdf|}} 
 +  * thermostat - {{:sustcodecamp2016:group8:557894-an-01-en-funk_heizthermostat_fht80b_3.pdf|}} 
 +  * dimmer - {{:sustcodecamp2016:group8:617249-an-01-en-remote_dimmer_fs20_di_1_.pdf|}} 
 +  * motion detector - {{:sustcodecamp2016:group8:620594-an-01-en-fs_20_piri_2_1_.pdf|}} 
 +  * twilight sensor - {{:sustcodecamp2016:group8:623019-an-01-en-funk_daemmerungssender_fs20sd_1_.pdf|}} 
 +  *  
 +==== Attachments ==== 
 +Definition of code for Email notification: 
 +<code> 
 +//############################################## 
 +# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $ 
 +
 +# Save this file as 99_myUtils.pm, and create your own functions in the new 
 +# file. They are then available in every Perl expression. 
 + 
 +package main; 
 + 
 +use strict; 
 +use warnings; 
 +use POSIX; 
 + 
 +sub 
 +myUtils_Initialize($$) 
 +
 +my ($hash) = @_; 
 +
 + 
 +# Enter you functions below _this_ line. 
 + 
 +sub  
 +DebianMail  
 +{  
 +my $rcpt = shift; 
 +my $subject = shift;  
 +my $text = shift; 
 +my $attach = shift;  
 +my $ret = ""; 
 +my $sender = "cubie\@gmail.com";  
 +my $konto = "cubie\@gmail.com"; 
 +my $passwrd = "ericrondeau"; 
 +my $provider = "smtp.gmail.com:587"; 
 +Log 1, "sendEmail RCP: $rcpt"; 
 +Log 1, "sendEmail Subject: $subject"; 
 +Log 1, "sendEmail Text: $text"; 
 +Log 1, "sendEmail Anhang: $attach";; 
 + 
 +$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8); 
 +$ret =~ s,[\r\n]*,,g; # remove CR from return-string  
 +Log 1, "sendEmail returned: $ret";  
 +
 + 
 +1;</code> 
 +fhem.cfg file: 
 +<code> 
 +attr global userattr cmdIcon devStateIcon devStateStyle icon msgContactAudio msgContactLight msgContactMail msgContactPush msgContactScreen msgRecipient msgRecipientAudio msgRecipientLight msgRecipientMail msgRecipientPush msgRecipientScreen msgRecipientText sortby webCmd widgetOverride 
 +attr global autoload_undefined_devices 1 
 +attr global logfile ./log/fhem-%Y-%m.log 
 +attr global modpath . 
 +attr global motd SecurityCheck:
 +
 +WEB,WEBphone,WEBtablet has no basicAuth attribute.\ 
 +telnetPort has no password/globalpassword attribute.\ 
 +
 +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 ./log/fhem.save 
 +attr global updateInBackground 1 
 +attr global verbose 3 
 + 
 +define telnetPort telnet 7072 global 
 + 
 +define WEB FHEMWEB 8083 global 
 + 
 +define WEBphone FHEMWEB 8084 global 
 +attr WEBphone stylesheetPrefix smallscreen 
 + 
 +define WEBtablet FHEMWEB 8085 global 
 +attr WEBtablet stylesheetPrefix touchpad 
 + 
 +# Fake FileLog entry, to access the fhem log from FHEMWEB  
 +define Logfile FileLog ./log/fhem-%Y-%m.log fakelog 
 + 
 +define autocreate autocreate 
 +attr autocreate filelog ./log/%NAME-%Y.log 
 + 
 +define eventTypes eventTypes ./log/eventTypes.txt 
 + 
 +# Disable this to avoid looking for new USB devices on startup 
 +define initialUsbCheck notify global:INITIALIZED usb create 
 +define CSM CUL /dev/ttyS1@38400 1234 
 +define HMS100TF_a090 HMS a090 
 +attr HMS100TF_a090 IODev CSM 
 +attr HMS100TF_a090 room HMS 
 +define FileLog_HMS100TF_a090 FileLog ./log/HMS100TF_a090-%Y.log HMS100TF_a090:T:.* 
 +attr FileLog_HMS100TF_a090 logtype temp4hum6:Temp/Hum,text 
 +attr FileLog_HMS100TF_a090 room HMS 
 +define SVG_HMS100TF_a090 SVG FileLog_HMS100TF_a090:SVG_HMS100TF_a090:CURRENT 
 +attr SVG_HMS100TF_a090 label "HMS100TF_a090 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_HMS100TF_a090 room Plots 
 +define PIRI_Group8 FS20 815a 00 
 +attr PIRI_Group8 IODev CSM 
 +attr PIRI_Group8 room FS20 
 +define FileLog_PIRI_Group8 FileLog ./log/PIRI_Group8-%Y.log PIRI_Group8 
 +attr FileLog_PIRI_Group8 logtype text 
 +attr FileLog_PIRI_Group8 room FS20 
 +define FileLog_ThermostatG8 FileLog ./log/ThermostatG8-%Y.log ThermostatG8 
 +attr FileLog_ThermostatG8 logtype fht:Temp/Act,text 
 +attr FileLog_ThermostatG8 room FHT 
 +define SVG_ThermostatG8 SVG FileLog_ThermostatG8:SVG_ThermostatG8:CURRENT 
 +attr SVG_ThermostatG8 label "ThermostatG8 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_ThermostatG8 room Plots 
 +define FileLog_FHT_5212 FileLog ./log/FHT_5212-%Y.log FHT_5212 
 +attr FileLog_FHT_5212 logtype fht:Temp/Act,text 
 +attr FileLog_FHT_5212 room FHT 
 +define SVG_FHT_5212 SVG FileLog_FHT_5212:SVG_FHT_5212:CURRENT 
 +attr SVG_FHT_5212 label "FHT_5212 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_FHT_5212 room Plots 
 +define FileLog_FS20_256800 FileLog ./log/FS20_256800-%Y.log FS20_256800 
 +attr FileLog_FS20_256800 logtype text 
 +attr FileLog_FS20_256800 room FS20 
 +define FileLog_FS20_256801 FileLog ./log/FS20_256801-%Y.log FS20_256801 
 +attr FileLog_FS20_256801 logtype text 
 +attr FileLog_FS20_256801 room FS20 
 +define FileLog_FS20_256802 FileLog ./log/FS20_256802-%Y.log FS20_256802 
 +attr FileLog_FS20_256802 logtype text 
 +attr FileLog_FS20_256802 room FS20 
 +define FileLog_FS20_256803 FileLog ./log/FS20_256803-%Y.log FS20_256803 
 +attr FileLog_FS20_256803 logtype text 
 +attr FileLog_FS20_256803 room FS20 
 +define FileLog_FHT_1339 FileLog ./log/FHT_1339-%Y.log FHT_1339 
 +attr FileLog_FHT_1339 logtype fht:Temp/Act,text 
 +attr FileLog_FHT_1339 room FHT 
 +define SVG_FHT_1339 SVG FileLog_FHT_1339:SVG_FHT_1339:CURRENT 
 +attr SVG_FHT_1339 label "FHT_1339 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_FHT_1339 room Plots 
 +define DimmerG8 FS20 42b0 00 
 +attr DimmerG8 IODev CSM 
 +attr DimmerG8 room FS20 
 +attr DimmerG8 showtime 1 
 +attr DimmerG8 stateFormat 1 
 +define FileLog_DimmerG8 FileLog ./log/DimmerG8-%Y.log DimmerG8 
 +attr FileLog_DimmerG8 logtype text 
 +attr FileLog_DimmerG8 room FS20 
 +define lightG8 FS20 42b0 38 
 +attr lightG8 IODev CSM 
 +attr lightG8 room FS20 
 +define FileLog_lightG8 FileLog ./log/lightG8-%Y.log lightG8 
 +attr FileLog_lightG8 logtype text 
 +attr FileLog_lightG8 room FS20 
 +define globalMsg msgConfig 
 +attr globalMsg comment FHEM Global Configuration for command 'msg' 
 +attr globalMsg group Global 
 +attr globalMsg stateFormat fhemMsgState 
 +attr globalMsg verbose 3 
 +define FileLog_FHT_4549 FileLog ./log/FHT_4549-%Y.log FHT_4549 
 +attr FileLog_FHT_4549 logtype fht:Temp/Act,text 
 +attr FileLog_FHT_4549 room FHT 
 +define SVG_FHT_4549 SVG FileLog_FHT_4549:SVG_FHT_4549:CURRENT 
 +attr SVG_FHT_4549 label "FHT_4549 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_FHT_4549 room Plots 
 +define HMS100TF_cab9 HMS cab9 
 +attr HMS100TF_cab9 IODev CSM 
 +attr HMS100TF_cab9 room HMS 
 +define FileLog_HMS100TF_cab9 FileLog ./log/HMS100TF_cab9-%Y.log HMS100TF_cab9:T:.* 
 +attr FileLog_HMS100TF_cab9 logtype temp4hum6:Temp/Hum,text 
 +attr FileLog_HMS100TF_cab9 room HMS 
 +define SVG_HMS100TF_cab9 SVG FileLog_HMS100TF_cab9:SVG_HMS100TF_cab9:CURRENT 
 +attr SVG_HMS100TF_cab9 label "HMS100TF_cab9 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_HMS100TF_cab9 room Plots 
 +define FileLog_FS20_ff2a00 FileLog ./log/FS20_ff2a00-%Y.log FS20_ff2a00 
 +attr FileLog_FS20_ff2a00 logtype text 
 +attr FileLog_FS20_ff2a00 room FS20 
 +define FileLog_FS20_ff2a01 FileLog ./log/FS20_ff2a01-%Y.log FS20_ff2a01 
 +attr FileLog_FS20_ff2a01 logtype text 
 +attr FileLog_FS20_ff2a01 room FS20 
 +define FileLog_FS20_1be41b FileLog ./log/FS20_1be41b-%Y.log FS20_1be41b 
 +attr FileLog_FS20_1be41b logtype text 
 +attr FileLog_FS20_1be41b room FS20 
 +define FileLog_FHT_3232 FileLog ./log/FHT_3232-%Y.log FHT_3232 
 +attr FileLog_FHT_3232 logtype fht:Temp/Act,text 
 +attr FileLog_FHT_3232 room FHT 
 +define SVG_FHT_3232 SVG FileLog_FHT_3232:SVG_FHT_3232:CURRENT 
 +attr SVG_FHT_3232 label "FHT_3232 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_FHT_3232 room Plots 
 +define ThermostatG8_not notify Thermo8:measured-temp.* \ 
 +{\ 
 +    if ($EVTPART1 gt "22.0")\ 
 +    {\ 
 +       fhem "set Thermo8 desired-temp 20"\ 
 +    }\ 
 +}\ 
 + 
 +attr ThermostatG8_not disable 1 
 +define FileLog_FS20_1be400 FileLog ./log/FS20_1be400-%Y.log FS20_1be400 
 +attr FileLog_FS20_1be400 logtype text 
 +attr FileLog_FS20_1be400 room FS20 
 +define Thermo8 FHT 2d34 
 +attr Thermo8 IODev CSM 
 +attr Thermo8 room FHT 
 +define FileLog_Thermo8 FileLog ./log/Thermo8-%Y.log Thermo8 
 +attr FileLog_Thermo8 logtype fht:Temp/Act,text 
 +attr FileLog_Thermo8 room FHT 
 +define SVG_Thermo8 SVG FileLog_Thermo8:SVG_Thermo8:CURRENT 
 +attr SVG_Thermo8 label "Thermo8 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_Thermo8 room Plots 
 +define LightThermo notify PIRI_Group8:.*\ 
 +{ fhem "set DimmerG8 on" } 
 +attr LightThermo disable 1 
 +define FileLog_FS20_6ce101 FileLog ./log/FS20_6ce101-%Y.log FS20_6ce101 
 +attr FileLog_FS20_6ce101 logtype text 
 +attr FileLog_FS20_6ce101 room FS20 
 +define FileLog_FS20_777700 FileLog ./log/FS20_777700-%Y.log FS20_777700 
 +attr FileLog_FS20_777700 logtype text 
 +attr FileLog_FS20_777700 room FS20 
 +define FileLog_FS20_6ce100 FileLog ./log/FS20_6ce100-%Y.log FS20_6ce100 
 +attr FileLog_FS20_6ce100 logtype text 
 +attr FileLog_FS20_6ce100 room FS20 
 +define winG8 CUL_FHTTK 268e63 
 +attr winG8 IODev CSM 
 +attr winG8 room CUL_FHTTK 
 +define FileLog_winG8 FileLog ./log/winG8-%Y.log winG8 
 +attr FileLog_winG8 logtype fht80tf:Window,text 
 +attr FileLog_winG8 room CUL_FHTTK 
 +define SVG_winG8 SVG FileLog_winG8:SVG_winG8:CURRENT 
 +attr SVG_winG8 label "winG8 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_winG8 room Plots 
 +define OpenWindow notify winG8:Window.* \ 
 +{\ 
 +   if ($EVTPART1 eq "Open")\ 
 +   {\ 
 +       fhem "set Thermo8 desired-temp 16.0"
 +  \ 
 +   }\ 
 +
 +attr OpenWindow disable 1 
 +define PiriChange notify PIRI_Group8:.* \ 
 +{\ 
 +  fhem "set DimmerG8 on;;;;set Thermo8 desired-temp 20;;;;delete timerMotion;;;;delete timerHeating;;;;define timerMotion at +00:01:30 set DimmerG8 off;;;;define timerHeating at +00:01:30 set Thermo8 desired-temp 8.0"
 +
 +
 +attr PiriChange disable 0 
 +define heatingOn dummy 
 +attr heatingOn userattr 1 
 +define notificationEmail MSGMail cubie@cubieez manishlamichhane@gmail.com smtp.gmail.com /etc/dovecot/users 
 +attr notificationEmail CR 0 
 +attr notificationEmail authfile /opt/fhem/users.conf 
 +attr notificationEmail from cubie@cubieez 
 +attr notificationEmail mailtype plain 
 +attr notificationEmail smtphost smtp.gmail.com 
 +attr notificationEmail smtpport 465 
 +attr notificationEmail subject notficication from codecamp 
 +attr notificationEmail to manishlamichhane@gmail.com 
 +define myEmail MSGMail cubie@cubeez manishlamichhane@gmail.com smtp.gmail.com /etc/fhem/users 
 +attr myEmail CR 1 
 +attr myEmail authfile /etc/fhem/users 
 +attr myEmail from cubie@cubeez 
 +attr myEmail mailtype plain 
 +attr myEmail smtphost smtp.gmail.com 
 +attr myEmail subject FHEM 
 +attr myEmail to manishlamichhane@gmail.com 
 +define notifyMail notify PIRI_Group8:.* \ 
 +{ fhem "delete timerMail;;;;define timerMail at +00:02:30 DebianMail ('manishlamichhane@gmail.com ',' FHEM email ',' this is test body ','')"
 +
 +attr notifyMail disable 1 
 +define FHT_3133 FHT 3133 
 +attr FHT_3133 IODev CSM 
 +attr FHT_3133 room FHT 
 +define FileLog_FHT_3133 FileLog ./log/FHT_3133-%Y.log FHT_3133 
 +attr FileLog_FHT_3133 logtype fht:Temp/Act,text 
 +attr FileLog_FHT_3133 room FHT 
 +define SVG_FHT_3133 SVG FileLog_FHT_3133:SVG_FHT_3133:CURRENT 
 +attr SVG_FHT_3133 label "FHT_3133 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_FHT_3133 room Plots 
 +define FHT_5012 FHT 5012 
 +attr FHT_5012 IODev CSM 
 +attr FHT_5012 room FHT 
 +define FileLog_FHT_5012 FileLog ./log/FHT_5012-%Y.log FHT_5012 
 +attr FileLog_FHT_5012 logtype fht:Temp/Act,text 
 +attr FileLog_FHT_5012 room FHT 
 +define SVG_FHT_5012 SVG FileLog_FHT_5012:SVG_FHT_5012:CURRENT 
 +attr SVG_FHT_5012 label "FHT_5012 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_FHT_5012 room Plots 
 +define CUL_FHTTK_b9b7d6 CUL_FHTTK b9b7d6 
 +attr CUL_FHTTK_b9b7d6 IODev CSM 
 +attr CUL_FHTTK_b9b7d6 room CUL_FHTTK 
 +define FileLog_CUL_FHTTK_b9b7d6 FileLog ./log/CUL_FHTTK_b9b7d6-%Y.log CUL_FHTTK_b9b7d6 
 +attr FileLog_CUL_FHTTK_b9b7d6 logtype fht80tf:Window,text 
 +attr FileLog_CUL_FHTTK_b9b7d6 room CUL_FHTTK 
 +define SVG_CUL_FHTTK_b9b7d6 SVG FileLog_CUL_FHTTK_b9b7d6:SVG_CUL_FHTTK_b9b7d6:CURRENT 
 +attr SVG_CUL_FHTTK_b9b7d6 label "CUL_FHTTK_b9b7d6 Min $data{min1}, Max $data{max1}, Last $data{currval1}" 
 +attr SVG_CUL_FHTTK_b9b7d6 room Plots 
 +define FS20_42b001 FS20 42b0 01 
 +attr FS20_42b001 IODev CSM 
 +attr FS20_42b001 room FS20 
 +define FileLog_FS20_42b001 FileLog ./log/FS20_42b001-%Y.log FS20_42b001 
 +attr FileLog_FS20_42b001 logtype text 
 +attr FileLog_FS20_42b001 room FS20 
 +define FS20_4d7b00 FS20 4d7b 00 
 +attr FS20_4d7b00 IODev CSM 
 +attr FS20_4d7b00 room FS20 
 +define FileLog_FS20_4d7b00 FileLog ./log/FS20_4d7b00-%Y.log FS20_4d7b00 
 +attr FileLog_FS20_4d7b00 logtype text 
 +attr FileLog_FS20_4d7b00 room FS20 
 +define FS20_1b1b00 FS20 1b1b 00 
 +attr FS20_1b1b00 IODev CSM 
 +attr FS20_1b1b00 room FS20 
 +define FileLog_FS20_1b1b00 FileLog ./log/FS20_1b1b00-%Y.log FS20_1b1b00 
 +attr FileLog_FS20_1b1b00 logtype text 
 +attr FileLog_FS20_1b1b00 room FS20 
 +define FS20_1be411 FS20 1be4 11 
 +attr FS20_1be411 IODev CSM 
 +attr FS20_1be411 room FS20 
 +define FileLog_FS20_1be411 FileLog ./log/FS20_1be411-%Y.log FS20_1be411 
 +attr FileLog_FS20_1be411 logtype text 
 +attr FileLog_FS20_1be411 room FS20 
 +define FS20_1be401 FS20 1be4 01 
 +attr FS20_1be401 IODev CSM 
 +attr FS20_1be401 room FS20 
 +define FileLog_FS20_1be401 FileLog ./log/FS20_1be401-%Y.log FS20_1be401 
 +attr FileLog_FS20_1be401 logtype text 
 +attr FileLog_FS20_1be401 room FS20 
 + 
 +</code> 
 +==== Report and Presentation Slides ==== 
 +  * Report - {{:sustcodecamp2016:group8:codecamp2016_1_.pdf|}} 
 +  * Slides - {{:sustcodecamp2016:group8:code_camp_2016.pdf|}}
  
-==== Google doc ==== +==== Poster ==== 
-https://docs.google.com/document/d/1wBi_9CDYDaCNYA9cGpxQahuaIYWDqL4wWyGvOf4E_vg/edit?usp=sharing+{{:sustcodecamp2016:group8:codecamp_group4_poster.jpg?linkonly|}}