@skorpil:
data wurde doch vorher nirgendwo definiert, nur idVariable und idStart? `
Doch, hier (als Funktionsargument):
on(idVariable, function (data) {
@skorpil:
was bedeutet "||" und warum "===", also dreimal = `
|| steht in JavaScript für "ODER", d.h. der Teil in geschweiften Klammern hinter if (…) wird ausgeführt, wenn mind. eine der Bedingungen erfüllt ist.
=== ist ein Vergleich auf Gleichheit. Oft sieht man auch "==", der Unterschied hierbei ist, dass "==" auch Werte unterschiedlicher Typen zulässt, "===" aber nicht. Vermeidet ein paar Probleme die auftreten könnten. So ist "1" == 1 wahr, aber nicht "1" === 1 (da sie unterschiedliche Variablentypen sind).
@skorpil:
und das verstehe ich auch nicht "data.state.val " `
data.state ist der State in ioBroker, den du in der on-Anweisung überwachst, in deinem Fall also "hm-rega.0.51644". Der wird dir bei der Überwachung mitgegeben, um auf den aktuellen (und alten) Wert ragieren zu können.
data.state.val ist der Wert, der aktuell in diesem State steht.