NEWS
Frage zum Script
-
Ja ist klar. "pop" habe ich auch schon gefunden…. Danke!
-
Dann sollte so was möglich sein:
CODE:
createState('BewegungsmeldungAck', false);
createState('EreignisListe', '');
var events = [];
// Liste aus maximal 5 Ereignissen
function getEventsList() {
var text = '';
for (var i = 0; i < events.length; i++) {
text += (text ? <u>'
\n'</u> : '') + events__;}
return text;
…__ __@bluefox:
Läuft soweit gut, nur die "
" sind noch in der Ereignisliste. Bekomme ich die weg, oder kannst Du da noch was machen?–------------------------------------------
Dann noch eine zweite Geschichte, möchte einen Wert (Temperatur) in ein Script einlesen und dann prüfen. Klappt nicht (weil ich die Syntax/Parameter nicht kenne...... )
Wie bekomme ich die Temperatur eingelesen?_
log("===> Start TempTruhe","info"); createState('TruheZuWarm', 'false'); on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/*Gefriertruhentemperatur.TEMPERATURE*/, function(obj) { if (obj.newState.val > "-20") { setState('TruheZuWarm', 'true'); log("---> Truhe zu warm: ", +obj.newState.val,"info"); } else { setState('TruheZuWarm', 'false'); log("---> Truhe i.O.: ", +obj.newState.val,"info"); } });
Danke und Gruß
Bernd_ `
-
@bku:Läuft soweit gut, nur die "
" sind noch in der Ereignisliste. Bekomme ich die weg, oder kannst Du da noch was machen? `
Dafür gibt es zwei Möglichkeiten:
einfach löschen, oder "Basic - String (unescaped)" nutzen.@bku:Dann noch eine zweite Geschichte, möchte einen Wert (Temperatur) in ein Script einlesen und dann prüfen. Klappt nicht (weil ich die Syntax/Parameter nicht kenne…... )
Wie bekomme ich die Temperatur eingelesen?
log("===> Start TempTruhe","info"); createState('TruheZuWarm', 'false'); on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/*Gefriertruhentemperatur.TEMPERATURE*/, function(obj) { if (obj.newState.val > "-20") { setState('TruheZuWarm', 'true'); log("---> Truhe zu warm: ", +obj.newState.val,"info"); } else { setState('TruheZuWarm', 'false'); log("---> Truhe i.O.: ", +obj.newState.val,"info"); } });
Danke und Gruß
Bernd `
log("===> Start TempTruhe","info"); createState('TruheZuWarm', 'false'); on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/*Gefriertruhentemperatur.TEMPERATURE*/, function(obj) { var temp = parseFloat(obj.newState.val); if (temp > -20) { setState('TruheZuWarm', 'true'); log("---> Truhe zu warm: ", +obj.newState.val,"info"); } else { setState('TruheZuWarm', 'false'); log("---> Truhe i.O.: ", +obj.newState.val,"info"); } });
-
log("===> Start TempTruhe","info");
createState('TruheZuWarm', 'false');
on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/Gefriertruhentemperatur.TEMPERATURE/, function(obj) {
var temp = parseFloat(obj.newState.val);
if (temp > -20) {
setState('TruheZuWarm', 'true');
log("–-> Truhe zu warm: ", +obj.newState.val,"info");
} else {
setState('TruheZuWarm', 'false');
log("---> Truhe i.O.: ", +obj.newState.val,"info");
}
}); `
@bluefox:Klappt leider noch nicht, bekomme Fehler "….object is not a function"
304_sc-fehler.png
147_getting_started_3_de.png -
@bku:log("===> Start TempTruhe","info");
createState('TruheZuWarm', 'false');
on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/Gefriertruhentemperatur.TEMPERATURE/, function(obj) {
var temp = parseFloat(obj.newState.val);
if (temp > -20) {
setState('TruheZuWarm', 'true');
log("–-> Truhe zu warm: ", +obj.newState.val,"info");
} else {
setState('TruheZuWarm', 'false');
log("---> Truhe i.O.: ", +obj.newState.val,"info");
}
}); `
@bluefox:Klappt leider noch nicht, bekomme Fehler "….object is not a function" `
Der stützt bei````
log("---> Truhe zu warm: ", +obj.newState.val,"info");Muss so sein:
log("---> Truhe zu warm: " + obj.newState.val);
log("---> Truhe zu warm: " + obj.newState.val, "info");
EDIT: Und danke. Du hast Fehler gefunden. :)
-
noch nicht ganz richtig?
304_sc2.png
304_sc1.png -
@bku:noch nicht ganz richtig? `
Komma zu viel:log("–-> Truhe zu warm: ", + temp, "info");
if (temp > '-10')
Schlecht:
Es muss sein:
if (temp > -10)
-
Danke, läuft jetzt aber warum ist zwischen "Truhe 1" und "Truhe 2" immer eine Differenz ??
Der richtige Wert steht in "Truhe 1"
304_t2.png
304_t1.png -
@bku:Danke, läuft jetzt aber warum ist zwischen "Truhe 1" und "Truhe 2" immer eine Differenz ??
Der richtige Wert steht in "Truhe 1" `
Weil duvar temp = parseFloat(obj.oldState.val);
oldState nimmst. Und oldState das ist genau Zustand vor newState.
Richtig währe immer newState zu verwenden.
-
Danke - irgendwann hab ichs raus …