Advise for new install
Moderator: leecollings
-
n1c0l45
- Posts: 37
- Joined: Monday 25 April 2016 9:45
- Target OS: Raspberry Pi / ODroid
- Domoticz version: V3.4834
- Location: France
- Contact:
Advise for new install
Hi,
I have to change my heating thermostat and I would like to do something more efficient but I have to think also about the waf....
Today, I have a old gas boiler (no regulation, just on/off), 7 rooms with a radiator in each room. There are temp sensors connected to dmz also in each room.
I don't know if it's better to do multi zones (we use all rooms, maybe just the bathrooms which need heating just the morning?) or just to a full pid regulation for everything...
What do you recommend me? I just want to be able to change temp from my phone (even in domoticz?)
I saw elv max!, atag one, honeywell? Seems nice! But is it efficient? Also I don't have high programming skills so....
Thank you for the help
I have to change my heating thermostat and I would like to do something more efficient but I have to think also about the waf....
Today, I have a old gas boiler (no regulation, just on/off), 7 rooms with a radiator in each room. There are temp sensors connected to dmz also in each room.
I don't know if it's better to do multi zones (we use all rooms, maybe just the bathrooms which need heating just the morning?) or just to a full pid regulation for everything...
What do you recommend me? I just want to be able to change temp from my phone (even in domoticz?)
I saw elv max!, atag one, honeywell? Seems nice! But is it efficient? Also I don't have high programming skills so....
Thank you for the help
Last edited by n1c0l45 on Tuesday 02 August 2016 15:46, edited 1 time in total.
- Egregius
- Posts: 2592
- Joined: Thursday 09 April 2015 12:19
- Target OS: Linux
- Domoticz version: v2024.7
- Location: Beitem, BE
- Contact:
Re: Advise for new install
I also have a old gas boiler with simple on/off.
I removed my room thermostat and replaced it with a zwave relay. That one turn's the boiler on/off.
On all radiator's I have Danfoss LC-13 thermostats.
In each room a thermometer is installed (Fibaro Smoke sensor) and for each room I have a dummy setpoint device.
Depending on all that numbers a script decides if the boiler needs to be on or not.
Works perfectly but requires some programming skills.
I removed my room thermostat and replaced it with a zwave relay. That one turn's the boiler on/off.
On all radiator's I have Danfoss LC-13 thermostats.
In each room a thermometer is installed (Fibaro Smoke sensor) and for each room I have a dummy setpoint device.
Depending on all that numbers a script decides if the boiler needs to be on or not.
Works perfectly but requires some programming skills.
-
n1c0l45
- Posts: 37
- Joined: Monday 25 April 2016 9:45
- Target OS: Raspberry Pi / ODroid
- Domoticz version: V3.4834
- Location: France
- Contact:
Re: Advise for new install
Thanks for the quick answer!
This seems interesting! I have thought about something like that, but if can find an explanation or a how to, I don't think I, I'll be able to do it
This seems interesting! I have thought about something like that, but if can find an explanation or a how to, I don't think I, I'll be able to do it
- Egregius
- Posts: 2592
- Joined: Thursday 09 April 2015 12:19
- Target OS: Linux
- Domoticz version: v2024.7
- Location: Beitem, BE
- Contact:
Re: Advise for new install
A part of my lua2php script:
http://www.domoticz.com/forum/viewtopic ... t=pass2php
Lot's of code 
Basically it schedules the desired temperature of all virtual and real setpoints (valves).
It calculates how much heating is needed and depending on that the boiler is switched. To avoid overheating I 'pulse' the boiler of the temperature is almost achieved.
The cget function in it grabs a tempory variable that allows a manual override (sometimes I just want it a bit warmer than the schedule), after 3 hours I return to the auto-schedule.
Also, full automatically setpoints are set depending on wether we're at home and/or a sleep.
http://www.domoticz.com/forum/viewtopic ... t=pass2php
Code: Select all
$Setkamer=8.0;$setpointkamer=cget('setpointkamer');
if($setpointkamer!=0&&strtotime($t['kamer_set'])<eenuur){cset('setpointkamer',0);$setpointkamer=0;}
if($setpointkamer!=2){
if($buiten_temp<15&&$s['raamkamer']=='Closed'&&$s['heating']=='On'&&(strtotime($t['raamkamer'])<tweeuur||time>achtavond)){
$Setkamer=12.0;
if(time<zevenochtend||time>achtavond)$Setkamer=16.0;
}
if($s['kamer_set']!=$Setkamer){ud($i['kamer_set'],0,$Setkamer,'Rkamer_set');$s['kamer_set']=$Setkamer;}
}
$Settobi=8.0;$setpointtobi=cget('setpointtobi');
if($setpointtobi!=0&&strtotime($t['tobi_set'])<eenuur){
cset('setpointtobi',0);$setpointtobi=0;
}
if($setpointtobi!=2){
if($buiten_temp<15&&$s['raamtobi']=='Closed'&&$s['heating']=='On'&&(strtotime($t['raamtobi'])<tweeuur||time>achtavond)){
$Settobi=12.0;
if(date('W')%2==1){
if(date('N')==3)if(time>achtavond)$Settobi=16.0;
elseif(date('N')==4) if(time<zevenochtend||time>achtavond) $Settobi=16.0;
elseif(date('N')==5) if(time<zevenochtend)$Settobi=16.0;
}else{
if(date('N')==3) if(time>achtavond)$Settobi=16.0;
elseif(in_array(date('N'),array(4,5,6)))if(time<zevenochtend||time>achtavond) $Settobi=16.0;
elseif(date('N')==7) if(time<zevenochtend)$Settobi=16.0;
}
}
if($s['tobi_set']!=$Settobi){ud($i['tobi_set'],0,$Settobi,'Rtobi_set');$s['tobi_set']=$Settobi;}
}
$Setalex=8.0;$setpointalex=cget('setpointalex');
if($setpointalex!=0&&strtotime($t['alex_set'])<achtuur){cset('setpointalex',0);$setpointalex=0;}
if($setpointalex!=2){
if($buiten_temp<17&&$s['raamalex']=='Closed'&&$s['heating']=='On'&&(strtotime($t['raamalex'])<tweeuur||time>achtavond)){
$Setalex=12.0;
if(time<strtotime('8:00')||time>achtavond)$Setalex=18.5;
}
if($s['alex_set']!=$Setalex){ud($i['alex_set'],0,$Setalex,'Ralex_set');$s['alex_set']=$Setalex;}
}
$Setliving=14.0;$setpointliving=cget('setpointliving');
if($setpointliving!=0&&strtotime($t['living_set'])<drieuur){cset('setpointliving',0);$setpointliving=0;}
if($setpointliving!=2){
if($buiten_temp<20&&$s['heating']=='On'&&$s['raamliving']=='Closed'){$Setliving=17.0;
if(time>=strtotime('3:00')&&time<zevenochtend)$s['slapen']=='Off'?$Setliving=20.5:$Setliving=17.0;
elseif(time>=zevenochtend&&time<strtotime('22:30'))$s['slapen']=='Off'?$Setliving=20.5:$Setliving=17.0;
}
if($s['living_set']!= $Setliving){ud($i['living_set'],0,$Setliving,'Rliving_set');$s['living_set']=$Setliving;}
}
if($s['deurbadkamer']=="Open") {
if($s['badkamer_set']!=10&&(strtotime($t['deurbadkamer'])<eenmin||$s['lichtbadkamer']=='Off')){ud($i['badkamer_set'],0,10,'badkamer_set 10 deur open');$s['badkamer_set']=10;}
}elseif($s['deurbadkamer']=="Closed"){
if($s['lichtbadkamer']=='On'&&$s['badkamer_set']!=22){ud($i['badkamer_set'],0,22,'badkamer_set 22 deur dicht en licht aan');$s['badkamer_set']=22;}
elseif($s['lichtbadkamer']=='Off'&&$s['badkamer_set']!=15){ud($i['badkamer_set'],0,15,'badkamer_set 15 deur dicht en licht uit');$s['badkamer_set']=15;}
}
$kamers=array('living','badkamer','tobi','alex','kamer');
$kamersgas=array('living','alex');
$bigdif=100;$brander=$s['brander'];$Tbrander=strtotime($t['brander']);$Ibrander=$i['brander'];
foreach($kamers as $kamer){
${'dif'.$kamer}=number_format($s[$kamer.'_temp']-$s[$kamer.'_set'],1);
if(in_array($kamer,$kamersgas))if(${'dif'.$kamer} < $bigdif) $bigdif=${'dif'.$kamer};
${'Set'.$kamer}=number_format($s[$kamer.'_set'],1);
}
foreach($kamers as $kamer){
if(${'dif'.$kamer}<=number_format(($bigdif+ 0.2),1)&&${'dif'.$kamer}<1)${'RSet'.$kamer}=setradiator($kamer,${'dif'.$kamer},true,$s[$kamer.'_set']);
else ${'RSet'.$kamer}=setradiator($kamer,${'dif'.$kamer},false,$s[$kamer.'_set']);
}
if($s['kamerZ']!=$RSetkamer)ud($i['kamerZ'],0,$RSetkamer,'RkamerZ');
if($s['tobiZ']!=$RSettobi)ud($i['tobiZ'],0,$RSettobi,'RtobiZ');
if($s['alexZ']!=$RSetalex)ud($i['alexZ'],0,$RSetalex,'RalexZ');
//if($s['badkamerZ']!=$RSetbadkamer)ud($i['badkamerZ'],0,$RSetbadkamer,'RbadkamerZ');
if($s['livingZ']!=$RSetliving)ud($i['livingZ'],0,$RSetliving,'RlivingZ');
if($s['livingZZ']!=$RSetliving)ud($i['livingZZ'],0,$RSetliving,'RlivingZZ');
if($s['livingZE']!=$RSetliving)ud($i['livingZE'],0,$RSetliving,'RlivingZE');
if($bigdif<=-0.3&&$brander=="Off"&& $Tbrander<time-60)sw($Ibrander,'On','brander dif = '.$bigdif);
elseif($bigdif<=-0.2&&$brander=="Off"&& $Tbrander<time-120)sw($Ibrander,'On','brander dif = '.$bigdif);
elseif($bigdif<=-0.1&&$brander=="Off"&& $Tbrander<time-180)sw($Ibrander,'On','brander dif = '.$bigdif);
elseif($bigdif<=0&&$brander=="Off"&& $Tbrander<time-240)sw($Ibrander,'On','brander dif = '.$bigdif);
elseif($bigdif>=0.1&&$brander=="On"&& $Tbrander<time)sw($Ibrander,'Off','brander dif = '.$bigdif);
elseif($bigdif>=0&&$brander=="On"&& $Tbrander<time-60)sw($Ibrander,'Off','brander dif = '.$bigdif);
elseif($bigdif>=-0.1&&$brander=="On"&& $Tbrander<time-120)sw($Ibrander,'Off','brander dif = '.$bigdif);
elseif($bigdif>=-0.2&&$brander=="On"&& $Tbrander<time-180)sw($Ibrander,'Off','brander dif = '.$bigdif);
elseif($bigdif>=-0.3&&$brander=="On"&& $Tbrander<time-240)sw($Ibrander,'Off','brander dif = '.$bigdif);
$badkvuur=$s['badkamervuur'];$Tbadkvuur=strtotime($t['badkamervuur']);$Ibadkvuur=$i['badkamervuur'];
if($difbadkamer<=-0.2&&$badkvuur=="Off"&&$Tbadkvuur<time-180)sw($Ibadkvuur,'On','badkamervuur dif = '.$difbadkamer);
elseif($difbadkamer<=-0.1&&$badkvuur=="Off"&&$Tbadkvuur<time-240)sw($Ibadkvuur,'On','badkamervuur dif = '.$difbadkamer);
elseif($difbadkamer<=0&&$badkvuur=="Off"&&$Tbadkvuur<time-360)sw($Ibadkvuur,'On','badkamervuur dif = '.$difbadkamer);
elseif($difbadkamer>=0.1&&$badkvuur=="On"&&$Tbadkvuur<time)sw($Ibadkvuur,'Off','badkamervuur dif = '.$difbadkamer);
elseif($difbadkamer>=0&&$badkvuur=="On"&&$Tbadkvuur<time-45)sw($Ibadkvuur,'Off','badkamervuur dif = '.$difbadkamer);
elseif($difbadkamer>=-0.1&&$badkvuur=="On"&&$Tbadkvuur<time-90)sw($Ibadkvuur,'Off','badkamervuur dif = '.$difbadkamer);
elseif($difbadkamer>=-0.3&&$badkvuur=="On"&&$Tbadkvuur<time-150)sw($Ibadkvuur,'Off','badkamervuur dif = '.$difbadkamer);
Basically it schedules the desired temperature of all virtual and real setpoints (valves).
It calculates how much heating is needed and depending on that the boiler is switched. To avoid overheating I 'pulse' the boiler of the temperature is almost achieved.
The cget function in it grabs a tempory variable that allows a manual override (sometimes I just want it a bit warmer than the schedule), after 3 hours I return to the auto-schedule.
Also, full automatically setpoints are set depending on wether we're at home and/or a sleep.
-
n1c0l45
- Posts: 37
- Joined: Monday 25 April 2016 9:45
- Target OS: Raspberry Pi / ODroid
- Domoticz version: V3.4834
- Location: France
- Contact:
Re: Advise for new install
Thank you, I gonna read all this.
Do you know if the thermostatic head you have are hysteresis or pid regulation?
Do you know if the thermostatic head you have are hysteresis or pid regulation?
- Egregius
- Posts: 2592
- Joined: Thursday 09 April 2015 12:19
- Target OS: Linux
- Domoticz version: v2024.7
- Location: Beitem, BE
- Contact:
Re: Advise for new install
Don't know. It's the Danfoss LC-13.
You set a temperature and they open/close as needed.
You set a temperature and they open/close as needed.
-
markk
- Posts: 267
- Joined: Tuesday 14 January 2014 14:50
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Advise for new install
I went for Tado for heating and wouldn't have anything else now. I originally wanted to integrate my Heating with Domoticz for control but soon realised I didn't need to. Like you, we use all rooms so zoned heating wasn't necessary apart from ordinary TRD's just keeping temperatures equal. Tado is set for a comfortable temperature during the day and another for sleep time and I can honestly say I haven't touched it since then. It automatically turns the heating down as the last person leaves the house and knows when the first person is heading home so it's back up again when we arrive. Only thing is, I did get the gen 1 some time ago and I think it was cheaper then. prices may have gone up a bit now.
Running Domoticz on Pi3 with RFXtrx433e. LWRF power sockets and dimmer switches. Integrated my existing wirefree alarm PIRs and door contacts with domoticz. Geofencing with Pilot. Harmony Hub. Tado for Heating. Now playing with mysensors.
-
n1c0l45
- Posts: 37
- Joined: Monday 25 April 2016 9:45
- Target OS: Raspberry Pi / ODroid
- Domoticz version: V3.4834
- Location: France
- Contact:
Re: Advise for new install
Do you just have the Smart Thermostat Starter Kit or the full set with thermostatic valves?
-
markk
- Posts: 267
- Joined: Tuesday 14 January 2014 14:50
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Advise for new install
Don't think the TRVs are out yet. I just have the main thermostat and the wireless sensor.
Running Domoticz on Pi3 with RFXtrx433e. LWRF power sockets and dimmer switches. Integrated my existing wirefree alarm PIRs and door contacts with domoticz. Geofencing with Pilot. Harmony Hub. Tado for Heating. Now playing with mysensors.
-
n1c0l45
- Posts: 37
- Joined: Monday 25 April 2016 9:45
- Target OS: Raspberry Pi / ODroid
- Domoticz version: V3.4834
- Location: France
- Contact:
Re: Advise for new install
Trv's are in the shop but really enjoyed expensive!
Who is online
Users browsing this forum: No registered users and 1 guest