@klmf2
Mahlzeit, bei mir wird leider in den Datenpunkten nichts angezeigt.
muss ich da noch irgendwas anpassen!?
Der Wetter Adapter bei mir hat komischerweise keinen Datenpunkt.
Normal sollte der Adapter doch einen Datenpunkt haben !?
Das script habe ich laufen und alle Datenpunkte wurden erstellt nur werden nicht mit Inhalt gefüllt.
/****************************
* Aktuelle Wetterdaten auslesen
* 27.10.2018
* Angelehnt an: https://forum.iobroker.net/viewtopic.php?t=13207
* Veröffentlicht unter: https://forum.iobroker.net/viewtopic.php?&t=13795
***************************/
// Hier werden die Datenpunkte für VIS angelegt
const STATE_FUER_VIS_WETTER = 'javascript.0.mic.vis-support.wetter-aktuell';
// Zum bekommen der Daten vom DasWetter-Script
const DASWETTER_STATE_START = 'daswetter.0.NextHours.Location_1.Day_1.Hour_';
const DASWETTER_STATE_END_TEMP = '.temp_value';
const DASWETTER_STATE_END_ICON = '.iconURL';
const DASWETTER_STATE_END_DESC = '.symbol_desc';
// States erzeugen
MG_createStateCelcius(STATE_FUER_VIS_WETTER + DASWETTER_STATE_END_TEMP, 'Aktuelle Temperatur von DasWetter-Adapter', 'info', 0);
MG_createState(STATE_FUER_VIS_WETTER + DASWETTER_STATE_END_ICON, 'Aktuelles Wetter-Icon', 'string', 'info', '');
MG_createState(STATE_FUER_VIS_WETTER + DASWETTER_STATE_END_DESC, 'Aktuelle Wetterbeschreibung', 'string', 'info', '');
// Ausführen bei Scriptstart, 5 Sekunden später, damit States auch existieren
setTimeout(function() { setCurrentTempInState(); }, 5000);
// Geplante Ausführung
schedule('2 * * * *', setCurrentTempInState); // Jede zweite Minute von jeder Stunde
// Setzt jeweils die Daten der aktuellen Stunde vom DasWetter-Dadapter in die Datenpunkte für Vis
function setCurrentTempInState() {
var currentHour = new Date().getHours();
if (currentHour === 0) currentHour = 24; // Siehe issue: https://github.com/rg-engineering/ioBroker.daswetter/issues/25
setState(STATE_FUER_VIS_WETTER + DASWETTER_STATE_END_TEMP, parseFloat(getState(DASWETTER_STATE_START + currentHour + DASWETTER_STATE_END_TEMP).val), true);
setState(STATE_FUER_VIS_WETTER + DASWETTER_STATE_END_ICON, getState(DASWETTER_STATE_START + currentHour + DASWETTER_STATE_END_ICON).val, true);
setState(STATE_FUER_VIS_WETTER + DASWETTER_STATE_END_DESC, getState(DASWETTER_STATE_START + currentHour + DASWETTER_STATE_END_DESC).val, true);
}
/**
* Create States - General
* @param {string} stId ID
* @param {string} stName Name, Description
* @param {mixed} stType Datatype: string, boolean, etc.
* @param {string} stRole Role: button, etc.
* @param {mixed} stDef Default value
*/
function MG_createState(stId, stName, stType, stRole, stDef) {
createState(stId, {
'name': stName,
'desc': stName,
'type': stType,
'read': true,
'write': true,
'role': stRole,
'def': stDef,
});
}
/**
* Create States - °C
* @param {string} stId ID
* @param {string} stName Name, Description
* @param {string} stRole Role: button, etc.
* @param {mixed} stDef Default value
*/
function MG_createStateCelcius(stId, stName, stRole, stDef) {
createState(stId, {
'name': stName,
'desc': stName,
'type': 'number',
'unit': '°C',
'min': -100,
'max': 256,
'read': true,
'write': true,
'role': stRole,
'def': stDef,
});
}
[image: 1578059148807-bildschirmfoto-2020-01-03-um-14.41.49-resized.png]