Subversion Repositories heating

Rev

Rev 50 | Rev 53 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 50 Rev 52
Line 133... Line 133...
133
void heating::run()
133
void heating::run()
134
{
134
{
135
int i;
135
int i;
136
double tmp;
136
double tmp;
137
HCONF *akt;
137
HCONF *akt;
-
 
138
time_t loctime = getTime();
138
 
139
 
139
	rstop = false;
140
	rstop = false;
140
	rrun = true;
141
	rrun = true;
141
	i = 0;
142
	i = 0;
142
 
143
 
Line 207... Line 208...
207
			akt = HeatConf;
208
			akt = HeatConf;
208
		}
209
		}
209
 
210
 
210
		while (akt)
211
		while (akt)
211
		{
212
		{
-
 
213
			/// Set the mode for every room.
-
 
214
			if (loctime >= akt->start && loctime <= akt->end)
-
 
215
				akt->status = NORMAL;
-
 
216
			else
-
 
217
				akt->status = NIGHT;
-
 
218
 
212
			tmp = getTemp(akt->tempsensor);
219
			tmp = getTemp(akt->tempsensor);
213
 
220
 
214
			if (tmp < 99.0 && tmp > -99.0)
221
			if (tmp < 99.0 && tmp > -99.0)
215
				akt->ist = tmp;
222
				akt->ist = tmp;
216
 
223
 
Line 1144... Line 1151...
1144
 
1151
 
1145
bool heating::evaluateTemp (int room, double temp)
1152
bool heating::evaluateTemp (int room, double temp)
1146
{
1153
{
1147
HCONF *akt;
1154
HCONF *akt;
1148
double soll, diffOut, diffIn;
1155
double soll, diffOut, diffIn;
-
 
1156
time_t loctime;
1149
 
1157
 
1150
	akt = HeatConf;
1158
	akt = HeatConf;
1151
 
1159
 
1152
	while (akt)
1160
	while (akt)
1153
	{
1161
	{
Line 1158... Line 1166...
1158
	}
1166
	}
1159
 
1167
 
1160
	if (!akt)
1168
	if (!akt)
1161
		return false;
1169
		return false;
1162
 
1170
 
-
 
1171
	loctime = getTime();
-
 
1172
 
1163
	switch(akt->status)
1173
	switch(akt->status)
1164
	{
1174
	{
1165
		case NORMAL:
1175
		case NORMAL:
-
 
1176
			if (loctime >= akt->wstart && loctime <= akt->wend)
-
 
1177
				soll = akt->night;
-
 
1178
			else if ((loctime >= akt->start && loctime <= akt->wstart) ||
-
 
1179
				(loctime >= akt->wend && loctime <= akt->end)) 
1166
			soll = akt->soll;
1180
				soll = akt->soll;
-
 
1181
 
-
 
1182
			
1167
			diffOut = trunc(soll - getOutside());
1183
			diffOut = trunc(soll - getOutside());
1168
			diffIn = trunc(soll - temp);
1184
			diffIn = trunc(soll - temp);
1169
		break;
1185
		break;
1170
 
1186
 
1171
		case NIGHT:
1187
		case NIGHT: