mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2026-03-02 05:06:51 +01:00
Updated ioBroker Card Definitionen (Seiten) (markdown)
@@ -481,6 +481,57 @@ let CardChartExample: PageChart =
|
|||||||
|
|
||||||
[Zum Blockly](https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/Blockly/CardChart.xml)
|
[Zum Blockly](https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/Blockly/CardChart.xml)
|
||||||
|
|
||||||
|
**Javascript für History Adapter**
|
||||||
|
```
|
||||||
|
var sourceDP = 'alias.0.Wohnzimmer.Heizung.ACTUAL';
|
||||||
|
var targetDP = '0_userdata.0.Test.chartTest';
|
||||||
|
var rangeHours = 24;
|
||||||
|
var maxXAchsisTicks = 4;
|
||||||
|
var storeInstance = 'history.0';
|
||||||
|
|
||||||
|
on({id: sourceDP, change: "any"}, async function (obj) {
|
||||||
|
sendTo(historyInstance, 'getHistory', {
|
||||||
|
id: sourceDP,
|
||||||
|
options: {
|
||||||
|
start: Date.now() - (60 * 60 * 1000 * rangeHours),
|
||||||
|
end: Date.now(),
|
||||||
|
count: rangeHours,
|
||||||
|
limit: rangeHours,
|
||||||
|
aggregate: 'average'
|
||||||
|
}
|
||||||
|
}, function (result) {
|
||||||
|
var cardChartString = ""
|
||||||
|
|
||||||
|
var stepXAchsis = rangeHours / maxXAchsisTicks;
|
||||||
|
|
||||||
|
for (var i = 0; i < rangeHours; i++){
|
||||||
|
var deltaHour = rangeHours - i
|
||||||
|
|
||||||
|
var targetDate = new Date(Date.now() - (deltaHour * 60 * 60 * 1000));
|
||||||
|
|
||||||
|
//Check history items for requested hours
|
||||||
|
for (var j = 0, targetValue = 0; j < result.result.length; j++) {
|
||||||
|
var valueDate = new Date(result.result[j].ts);
|
||||||
|
var value = (Math.round(result.result[j].val * 10) / 10 )
|
||||||
|
|
||||||
|
if (valueDate > targetDate){
|
||||||
|
if ((targetDate.getHours() % stepXAchsis) == 0){
|
||||||
|
cardChartString += targetValue + '^' + targetDate.getHours() + ':00' + '~';
|
||||||
|
} else {
|
||||||
|
cardChartString += targetValue + '~';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
targetValue = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cardChartString = cardChartString.substring(0,cardChartString.length-1);
|
||||||
|
setState(targetDP, cardChartString, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user