mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-08 07:24:21 +00:00
445 lines
11 KiB
JavaScript
445 lines
11 KiB
JavaScript
/**
|
|
* Model for Charts
|
|
*/
|
|
|
|
Ext.define('FHEM.model.ChartModel', {
|
|
extend: 'Ext.data.Model',
|
|
fields: [
|
|
{
|
|
name: 'TIMESTAMP',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'TIMESTAMP2',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'TIMESTAMP3',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'TIMESTAMP4',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'TIMESTAMP5',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'TIMESTAMP6',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'TIMESTAMP7',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'TIMESTAMP8',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'TIMESTAMP9',
|
|
type: 'date',
|
|
dateFormat: "Y-m-d H:i:s"
|
|
},
|
|
{
|
|
name: 'VALUE',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},{
|
|
name: 'VALUE2',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},{
|
|
name: 'VALUE3',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},{
|
|
name: 'VALUE4',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},{
|
|
name: 'VALUE5',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},{
|
|
name: 'VALUE6',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},{
|
|
name: 'VALUE7',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},{
|
|
name: 'VALUE8',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},{
|
|
name: 'VALUE9',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM2',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM3',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM4',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM5',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM6',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM7',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM8',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'SUM9',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG2',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG3',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG4',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG5',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG6',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG7',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG8',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'AVG9',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN2',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN3',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN4',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN5',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN6',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN7',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN8',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MIN9',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX2',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX3',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX4',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX5',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX6',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX7',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX8',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'MAX9',
|
|
type: 'float',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT2',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT3',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT4',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT5',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT6',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT7',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT8',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
},
|
|
{
|
|
name: 'COUNT9',
|
|
type: 'integer',
|
|
convert: function(v,record) {
|
|
return record.parseToNumber(v);
|
|
}
|
|
}
|
|
],
|
|
parseToNumber: function(value) {
|
|
|
|
if (value === "") {
|
|
//we will return nothing
|
|
} else if (parseFloat(value, 10).toString().toUpperCase() === "NAN") {
|
|
if (Ext.isDefined(FHEM) && Ext.isDefined(FHEM.userconfig)) {
|
|
var convertednumber = 0;
|
|
Ext.iterate(FHEM.userconfig.chartkeys, function(k, v) {
|
|
if (value === k) {
|
|
//return the value for the given key from userconfig
|
|
convertednumber = v;
|
|
}
|
|
});
|
|
return parseFloat(convertednumber, 10);
|
|
} else {
|
|
return value;
|
|
}
|
|
} else {
|
|
return parseFloat(value, 10);
|
|
}
|
|
}
|
|
}); |