Subversion Repositories HomeAutomation

Rev

Rev 1218 | Rev 1220 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1218 Rev 1219
Line 139... Line 139...
139
    this.statusMenuItem = new MenuItem(this);
139
    this.statusMenuItem = new MenuItem(this);
140
    this.statusMenuItem.displayData[0] = this.lcdCenterText("Meny1");
140
    this.statusMenuItem.displayData[0] = this.lcdCenterText("Meny1");
141
    this.statusMenuItem.displayData[1] = this.lcdCenterText("");
141
    this.statusMenuItem.displayData[1] = this.lcdCenterText("");
142
    this.statusMenuItem.displayData[2] = this.lcdCenterText("");
142
    this.statusMenuItem.displayData[2] = this.lcdCenterText("");
143
    this.statusMenuItem.displayData[3] = this.lcdCenterText("");
143
    this.statusMenuItem.displayData[3] = this.lcdCenterText("");
144
    this.statusMenuItem.doUpdate = this.updateStatusMenuItem;
144
    this.statusMenuItem.doUpdate = function(args) { self.updateStatusMenuItem(); };
145
    this.currentMenuItem = this.statusMenuItem;
145
    this.currentMenuItem = this.statusMenuItem;
146
   
146
   
147
    /* create the menuitem where you can choose to enter the booking sub-menu */
147
    /* create the menuitem where you can choose to enter the booking sub-menu */
148
    this.dtmfMenuItem = new MenuItem(this);
148
    this.dtmfMenuItem = new MenuItem(this);
149
    this.dtmfMenuItem.displayData[0] = this.lcdCenterText("Senaste nummer");
149
    this.dtmfMenuItem.displayData[0] = this.lcdCenterText("Senaste nummer");
150
    this.dtmfMenuItem.displayData[1] = this.lcdCenterText("");
150
    this.dtmfMenuItem.displayData[1] = this.lcdCenterText("");
151
    this.dtmfMenuItem.displayData[2] = this.lcdCenterText("");
151
    this.dtmfMenuItem.displayData[2] = this.lcdCenterText("");
152
    this.dtmfMenuItem.displayData[3] = this.lcdCenterText("");
152
    this.dtmfMenuItem.displayData[3] = this.lcdCenterText("");
153
    this.dtmfMenuItem.doUpdate = this.updateDtmfMenuItem;
153
    this.dtmfMenuItem.doUpdate = function(args) { self.updateDtmfMenuItem(); };
154
 
154
 
155
    this.dtmfReturnMenuItem = new MenuItem(this);
155
    this.dtmfReturnMenuItem = new MenuItem(this);
156
    this.dtmfReturnMenuItem.displayData[0] = this.lcdCenterText("Tryck for att ga");
156
    this.dtmfReturnMenuItem.displayData[0] = this.lcdCenterText("Tryck for att ga");
157
    this.dtmfReturnMenuItem.displayData[1] = this.lcdCenterText("till huvudmenyn");
157
    this.dtmfReturnMenuItem.displayData[1] = this.lcdCenterText("till huvudmenyn");
158
    this.dtmfReturnMenuItem.displayData[2] = this.lcdCenterText("");
158
    this.dtmfReturnMenuItem.displayData[2] = this.lcdCenterText("");
159
    this.dtmfReturnMenuItem.displayData[3] = this.lcdCenterText("");
159
    this.dtmfReturnMenuItem.displayData[3] = this.lcdCenterText("");
160
    this.dtmfReturnMenuItem.doUpdate = this.updateDtmfMenuItem;
160
    this.dtmfReturnMenuItem.doUpdate = function(args) { self.updateDtmfMenuItem(); };
161
 
161
 
162
    this.phoneItem = new Array();
162
    this.phoneItem = new Array();
163
    for (n=0; n< numberOfItemsInPhonebook; n++)
163
    for (n=0; n< numberOfItemsInPhonebook; n++)
164
    {
164
    {
165
        this.phoneItem[n] = new MenuItem(this);
165
        this.phoneItem[n] = new MenuItem(this);
Line 168... Line 168...
168
 
168
 
169
    /* connect the items as a linked list */
169
    /* connect the items as a linked list */
170
    this.statusMenuItem.setNextItem(this.dtmfMenuItem);
170
    this.statusMenuItem.setNextItem(this.dtmfMenuItem);
171
    this.statusMenuItem.setPrevItem(this.dtmfMenuItem);
171
    this.statusMenuItem.setPrevItem(this.dtmfMenuItem);
172
    /* set the function that shall be executed when knob is turned */
172
    /* set the function that shall be executed when knob is turned */
173
    this.statusMenuItem.doRight = this.changeToNext;
173
    this.statusMenuItem.doRight = function(args) { self.changeToNext(); };
174
    this.statusMenuItem.doLeft = this.changeToPrev;
174
    this.statusMenuItem.doLeft = function(args) { self.changeToPrev(); };
175
   
175
   
176
    /* connect the items as a linked list */
176
    /* connect the items as a linked list */
177
    this.dtmfMenuItem.setNextItem(this.statusMenuItem);
177
    this.dtmfMenuItem.setNextItem(this.statusMenuItem);
178
    this.dtmfMenuItem.setPrevItem(this.statusMenuItem);
178
    this.dtmfMenuItem.setPrevItem(this.statusMenuItem);
179
    this.dtmfMenuItem.setDescItem(this.dtmfReturnMenuItem);
179
    this.dtmfMenuItem.setDescItem(this.dtmfReturnMenuItem);
180
    /* set the function that shall be executed when knob is turned */
180
    /* set the function that shall be executed when knob is turned */
181
    this.dtmfMenuItem.doRight = this.changeToNext;
181
    this.dtmfMenuItem.doRight = function(args) { self.changeToNext(); };
182
    this.dtmfMenuItem.doLeft = this.changeToPrev;
182
    this.dtmfMenuItem.doLeft = function(args) { self.changeToPrev(); };
183
    this.dtmfMenuItem.doPress = this.changeToDesc;
183
    this.dtmfMenuItem.doPress = function(args) { self.changeToDesc(); };
184
 
184
 
185
    /* connect the items as a linked list */
185
    /* connect the items as a linked list */
186
    this.dtmfReturnMenuItem.setNextItem(this.dtmfReturnMenuItem);
186
    this.dtmfReturnMenuItem.setNextItem(this.dtmfReturnMenuItem);
187
    this.dtmfReturnMenuItem.setPrevItem(this.dfmfReturnMenuItem);
187
    this.dtmfReturnMenuItem.setPrevItem(this.dfmfReturnMenuItem);
188
    this.dtmfReturnMenuItem.setDescItem(this.dtmfMenuItem);
188
    this.dtmfReturnMenuItem.setDescItem(this.dtmfMenuItem);
189
    this.dtmfReturnMenuItem.id = 255;
189
    this.dtmfReturnMenuItem.id = 255;
190
    /* set the function that shall be executed when knob is turned */
190
    /* set the function that shall be executed when knob is turned */
191
    this.dtmfReturnMenuItem.doRight = this.changeToNext;
191
    this.dtmfReturnMenuItem.doRight = function(args) { self.changeToNext(); };
192
    this.dtmfReturnMenuItem.doLeft = this.changeToPrev;
192
    this.dtmfReturnMenuItem.doLeft = function(args) { self.changeToPrev(); };
193
    this.dtmfReturnMenuItem.doPress = this.changeToDesc;
193
    this.dtmfReturnMenuItem.doPress = function(args) { self.changeToDesc(); };
194
}
194
}
195
 
195
 
196
DisplayLinus.prototype.changeToDesc = function()
196
DisplayLinus.prototype.changeToDesc = function()
197
{
197
{
198
    if (this.descItem)
198
    if (this.descItem)
199
    {
199
    {
200
        this.parentDisplay.currentMenuItem = this.descItem;
200
        this.currentMenuItem = this.descItem;
201
    }
201
    }
202
}
202
}
203
 
203
 
204
DisplayLinus.prototype.changeToNext = function()
204
DisplayLinus.prototype.changeToNext = function()
205
{
205
{
206
    if (this.nextItem)
206
    if (this.nextItem)
207
    {
207
    {
208
        this.parentDisplay.currentMenuItem = this.nextItem;
208
        this.currentMenuItem = this.nextItem;
209
    }
209
    }
210
}
210
}
211
 
211
 
212
DisplayLinus.prototype.changeToPrev = function()
212
DisplayLinus.prototype.changeToPrev = function()
213
{
213
{
214
    if (this.prevItem)
214
    if (this.prevItem)
215
    {
215
    {
216
        this.parentDisplay.currentMenuItem = this.prevItem;
216
        this.currentMenuItem = this.prevItem;
217
    }
217
    }
218
}
218
}
219
 
219
 
220
 
220
 
221
DisplayLinus.prototype.updateStatusMenuItem = function()
221
DisplayLinus.prototype.updateStatusMenuItem = function()
Line 223... Line 223...
223
    var date = new Date();
223
    var date = new Date();
224
    /* Get the current date time on the format YYYY-mm-dd HH.ii.ss */
224
    /* Get the current date time on the format YYYY-mm-dd HH.ii.ss */
225
    var dateAndTime = date.getDateTimeFormated();
225
    var dateAndTime = date.getDateTimeFormated();
226
    //var date = new Date();
226
    //var date = new Date();
227
    //var dateAndTime = "" + date.getTimeShortFormated();
227
    //var dateAndTime = "" + date.getTimeShortFormated();
228
    this.displayData[1] = this.parentDisplay.lcdCenterText(""+dateAndTime);
228
    this.displayData[1] = this.lcdCenterText(""+dateAndTime);
229
 
229
 
230
this.displayData[2] = this.parentDisplay.lcdCenterText(""+insideTemperature + " C   " + outsideTemperature + " C");
230
this.displayData[2] = this.lcdCenterText(""+insideTemperature + " C   " + outsideTemperature + " C");
231
 
231
 
232
    this.displayData[3] = this.parentDisplay.lcdCenterText(""+this.parentDisplay.CurrentPower.toString()+" Watt "+(this.parentDisplay.CurrentEnergy/1000).toString() + "kWh");
232
    this.displayData[3] = this.lcdCenterText(""+this.CurrentPower.toString()+" Watt "+(this.CurrentEnergy/1000).toString() + "kWh");
233
}
233
}
234
 
234
 
235
DisplayLinus.prototype.temperatureUpdate = function(sensorId)
235
DisplayLinus.prototype.temperatureUpdate = function(sensorId)
236
{
236
{
237
    if (sensorId == outsideTemperatureSensorId) {
237
    if (sensorId == outsideTemperatureSensorId) {
Line 262... Line 262...
262
        this.phoneItem[0].setDescItem(this.statusMenuItem);
262
        this.phoneItem[0].setDescItem(this.statusMenuItem);
263
        this.dtmfReturnMenuItem.setNextItem(this.phoneItem[0]);
263
        this.dtmfReturnMenuItem.setNextItem(this.phoneItem[0]);
264
        this.dtmfReturnMenuItem.setPrevItem(this.phoneItem[0]);
264
        this.dtmfReturnMenuItem.setPrevItem(this.phoneItem[0]);
265
        this.nextPhoneItem = 1 % numberOfItemsInPhonebook;
265
        this.nextPhoneItem = 1 % numberOfItemsInPhonebook;
266
        this.lastPhoneItem = 0;
266
        this.lastPhoneItem = 0;
267
        this.phoneItem[0].doRight = this.changeToNext;
267
        this.phoneItem[0].doRight = function(args) { self.changeToNext(); };
268
        this.phoneItem[0].doLeft = this.changeToPrev;
268
        this.phoneItem[0].doLeft = function(args) { self.changeToPrev(); };
269
        this.phoneItem[0].doPress = this.changeToDesc;
269
        this.phoneItem[0].doPress = function(args) { self.changeToDesc(); };
270
        this.phoneItem[0].displayData[0] = this.lcdCenterText(""+dateAndTime);
270
        this.phoneItem[0].displayData[0] = this.lcdCenterText(""+dateAndTime);
271
        this.phoneItem[0].displayData[1] = this.lcdCenterText(""+phonenumber);
271
        this.phoneItem[0].displayData[1] = this.lcdCenterText(""+phonenumber);
272
        if (persons.length >= 1) {
272
        if (persons.length >= 1) {
273
            this.phoneItem[0].displayData[2] = this.lcdCenterText(""+persons[0]);
273
            this.phoneItem[0].displayData[2] = this.lcdCenterText(""+persons[0]);
274
        } else {
274
        } else {
Line 285... Line 285...
285
        this.phoneItem[this.nextPhoneItem].setNextItem(this.phoneItem[(this.nextPhoneItem-1 + numberOfItemsInPhonebook) % numberOfItemsInPhonebook]);
285
        this.phoneItem[this.nextPhoneItem].setNextItem(this.phoneItem[(this.nextPhoneItem-1 + numberOfItemsInPhonebook) % numberOfItemsInPhonebook]);
286
        this.phoneItem[this.nextPhoneItem].setPrevItem(this.dtmfReturnMenuItem);
286
        this.phoneItem[this.nextPhoneItem].setPrevItem(this.dtmfReturnMenuItem);
287
        this.phoneItem[this.nextPhoneItem].setDescItem(this.statusMenuItem);
287
        this.phoneItem[this.nextPhoneItem].setDescItem(this.statusMenuItem);
288
        this.dtmfReturnMenuItem.setNextItem(this.phoneItem[this.nextPhoneItem]);
288
        this.dtmfReturnMenuItem.setNextItem(this.phoneItem[this.nextPhoneItem]);
289
        this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook].setPrevItem(this.phoneItem[this.nextPhoneItem]);
289
        this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook].setPrevItem(this.phoneItem[this.nextPhoneItem]);
290
        this.phoneItem[this.nextPhoneItem].doRight = this.changeToNext;
290
        this.phoneItem[this.nextPhoneItem].doRight = function(args) { self.changeToNext(); };
291
        this.phoneItem[this.nextPhoneItem].doLeft = this.changeToPrev;
291
        this.phoneItem[this.nextPhoneItem].doLeft = function(args) { self.changeToPrev(); };
292
        this.phoneItem[this.nextPhoneItem].doPress = this.changeToDesc;
292
        this.phoneItem[this.nextPhoneItem].doPress = function(args) { self.changeToDesc(); };
293
        this.phoneItem[this.nextPhoneItem].displayData[0] = this.lcdCenterText(""+dateAndTime);
293
        this.phoneItem[this.nextPhoneItem].displayData[0] = this.lcdCenterText(""+dateAndTime);
294
        this.phoneItem[this.nextPhoneItem].displayData[1] = this.lcdCenterText(""+phonenumber);
294
        this.phoneItem[this.nextPhoneItem].displayData[1] = this.lcdCenterText(""+phonenumber);
295
        if (persons.length >= 1) {
295
        if (persons.length >= 1) {
296
            this.phoneItem[this.nextPhoneItem].displayData[2] = this.lcdCenterText(""+persons[0]);
296
            this.phoneItem[this.nextPhoneItem].displayData[2] = this.lcdCenterText(""+persons[0]);
297
        } else {
297
        } else {
Line 308... Line 308...
308
        this.phoneItem[this.nextPhoneItem].setNextItem(this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook]);
308
        this.phoneItem[this.nextPhoneItem].setNextItem(this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook]);
309
        this.phoneItem[this.nextPhoneItem].setPrevItem(this.dtmfReturnMenuItem);
309
        this.phoneItem[this.nextPhoneItem].setPrevItem(this.dtmfReturnMenuItem);
310
        this.phoneItem[this.nextPhoneItem].setDescItem(this.statusMenuItem);
310
        this.phoneItem[this.nextPhoneItem].setDescItem(this.statusMenuItem);
311
        this.dtmfReturnMenuItem.setNextItem(this.phoneItem[this.nextPhoneItem]);
311
        this.dtmfReturnMenuItem.setNextItem(this.phoneItem[this.nextPhoneItem]);
312
        this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook].setPrevItem(this.phoneItem[this.nextPhoneItem]);
312
        this.phoneItem[(this.nextPhoneItem-1+ numberOfItemsInPhonebook) % numberOfItemsInPhonebook].setPrevItem(this.phoneItem[this.nextPhoneItem]);
313
        this.phoneItem[this.nextPhoneItem].doRight = this.changeToNext;
313
        this.phoneItem[this.nextPhoneItem].doRight = function(args) { self.changeToNext(); };
314
        this.phoneItem[this.nextPhoneItem].doLeft = this.changeToPrev;
314
        this.phoneItem[this.nextPhoneItem].doLeft = function(args) { self.changeToPrev(); };
315
        this.phoneItem[this.nextPhoneItem].doPress = this.changeToDesc;
315
        this.phoneItem[this.nextPhoneItem].doPress = function(args) { self.changeToDesc(); };
316
        this.phoneItem[this.nextPhoneItem].displayData[0] = this.lcdCenterText(""+dateAndTime);
316
        this.phoneItem[this.nextPhoneItem].displayData[0] = this.lcdCenterText(""+dateAndTime);
317
        this.phoneItem[this.nextPhoneItem].displayData[1] = this.lcdCenterText(""+phonenumber);
317
        this.phoneItem[this.nextPhoneItem].displayData[1] = this.lcdCenterText(""+phonenumber);
318
        if (persons.length >= 1) {
318
        if (persons.length >= 1) {
319
            this.phoneItem[this.nextPhoneItem].displayData[2] = this.lcdCenterText(""+persons[0]);
319
            this.phoneItem[this.nextPhoneItem].displayData[2] = this.lcdCenterText(""+persons[0]);
320
        } else {
320
        } else {