Moin,
bin gerade auch ein wenig am experimentieren und habe -wie bereits hier vorgeschlagen wurde- festgestellt dass das setzten von "leer" nicht notwendig ist wenn
on({id:"telegram.0.communicate.request",change:'any'}
Verwendet wird.
Habe mein Skript so gestaltet dass der TriggerBefehl immer mit "/" beginnen muss.
Ausserdem schreibe ich die Datenpunkte und Bezeichnungen in ein zweidimensionales Array und überlasse das holen der Werte und die generierung des Ausgabetextes einer Schleife. Spart meines erachtens sehr viele Zeilen falls man mal mehrere Werte gleichzeitig holen und ausgeben möchte.
Vielleicht kann der ein oder andere etwas damit anfangen…
Gruß MP
! ```
`on({id:"telegram.0.communicate.request",change:'any'}, function (obj) {
//Hier "trigger" anpassen
if (obj.newState.val.match(/([.+])/trigger/i)) {
sendTemps();
}
});
! function sendTemps() {
! // Alle Objekte in Array rein, save code und so...
var dataPoints = [
["Büro: ","hm-rpc.0.MEQxxxxxxx.4.ACTUAL_TEMPERATURE"],
["Server: ","hm-rpc.0.MEQxxxxxx.1.TEMPERATURE"],
["Garage: ","Variablen.0.Aussen.Garten.Temperatur.Garage"],
["Garten: ","Variablen.0.Aussen.Garten.Temperatur.Garten"],
["Pool: ","Variablen.0.Aussen.Garten.Temperatur.Pool"],
["Kollektor: ","Variablen.0.Aussen.Garten.Temperatur.Kollektor"],
];
! var text = "";
! for (i = 0; i < dataPoints.length; i++) {
dataPoints[i][1] = getState(dataPoints[i][1]).val;
text += dataPoints[i][0] + dataPoints[i][1] + "°C \n";
}
sendTo("telegram.0",text);
}` [/i][/i][/i][/i]