NEWS
Fehler in "if-Bedingung" / brauche mal Anfängerhilfe
-
Hallo zusammen.
Ich versuche grade mit Blockly eine Liste als JSON zu formatieren...Bin blutiger Javascript-Anfänger und habe mir nach einigen Beispielen hier einen ensprechenden Code-Block gebaut...
return {text: getObject(id).common.name, objectId: id, buttonStateValue: getState(id).val, image: "lightbulb", imageActive: "lightbulb-on", imageColor: "#ececec", listType: "buttonToggle", buttonToggleValueTrue: true, buttonToggleValueFalse: false, buttonBackgroundActiveColor: "red", imageActiveColor: "yellow", showValueLabel: false,};das funktioniert soweit prima. nur gibt es ein paar DP's die keinen Wert haben...
also bekomme ich ein warning:getState "sonoff.0.TVrechts.POWER" not found (3) states[id]=nullich habe jetzt versucht eine if-Bedingung drumrum zu legen:
if (getState(id) == null) { break; return {text: getObject(id).common.name, objectId: id, buttonStateValue: getState(id).val, image: "lightbulb", imageActive: "lightbulb-on", imageColor: "#ececec", listType: "buttonToggle", buttonToggleValueTrue: true, buttonToggleValueFalse: false, buttonBackgroundActiveColor: "red", imageActiveColor: "yellow", showValueLabel: false,}; }jetzt bekomme ich ein error:
SyntaxError: Illegal break statementist wahrscheinlich ein ganz simples Problem, aber ich finde ihn leider nicht...
kann mir jemand helfen? -
Hallo zusammen.
Ich versuche grade mit Blockly eine Liste als JSON zu formatieren...Bin blutiger Javascript-Anfänger und habe mir nach einigen Beispielen hier einen ensprechenden Code-Block gebaut...
return {text: getObject(id).common.name, objectId: id, buttonStateValue: getState(id).val, image: "lightbulb", imageActive: "lightbulb-on", imageColor: "#ececec", listType: "buttonToggle", buttonToggleValueTrue: true, buttonToggleValueFalse: false, buttonBackgroundActiveColor: "red", imageActiveColor: "yellow", showValueLabel: false,};das funktioniert soweit prima. nur gibt es ein paar DP's die keinen Wert haben...
also bekomme ich ein warning:getState "sonoff.0.TVrechts.POWER" not found (3) states[id]=nullich habe jetzt versucht eine if-Bedingung drumrum zu legen:
if (getState(id) == null) { break; return {text: getObject(id).common.name, objectId: id, buttonStateValue: getState(id).val, image: "lightbulb", imageActive: "lightbulb-on", imageColor: "#ececec", listType: "buttonToggle", buttonToggleValueTrue: true, buttonToggleValueFalse: false, buttonBackgroundActiveColor: "red", imageActiveColor: "yellow", showValueLabel: false,}; }jetzt bekomme ich ein error:
SyntaxError: Illegal break statementist wahrscheinlich ein ganz simples Problem, aber ich finde ihn leider nicht...
kann mir jemand helfen?@supermicha
Versuche malif(existsState(id)) return {... -
Hallo zusammen.
Ich versuche grade mit Blockly eine Liste als JSON zu formatieren...Bin blutiger Javascript-Anfänger und habe mir nach einigen Beispielen hier einen ensprechenden Code-Block gebaut...
return {text: getObject(id).common.name, objectId: id, buttonStateValue: getState(id).val, image: "lightbulb", imageActive: "lightbulb-on", imageColor: "#ececec", listType: "buttonToggle", buttonToggleValueTrue: true, buttonToggleValueFalse: false, buttonBackgroundActiveColor: "red", imageActiveColor: "yellow", showValueLabel: false,};das funktioniert soweit prima. nur gibt es ein paar DP's die keinen Wert haben...
also bekomme ich ein warning:getState "sonoff.0.TVrechts.POWER" not found (3) states[id]=nullich habe jetzt versucht eine if-Bedingung drumrum zu legen:
if (getState(id) == null) { break; return {text: getObject(id).common.name, objectId: id, buttonStateValue: getState(id).val, image: "lightbulb", imageActive: "lightbulb-on", imageColor: "#ececec", listType: "buttonToggle", buttonToggleValueTrue: true, buttonToggleValueFalse: false, buttonBackgroundActiveColor: "red", imageActiveColor: "yellow", showValueLabel: false,}; }jetzt bekomme ich ein error:
SyntaxError: Illegal break statementist wahrscheinlich ein ganz simples Problem, aber ich finde ihn leider nicht...
kann mir jemand helfen? -
auch damit funktioniert es leider nicht.
immernoch:
SyntaxError: Illegal break statementscheint am break zu liegen??
Nachtrag:
Das 'break' ist natürlich jetzt sinnlos mit dem 'existsState()
jetzt läuft es! :+1: :+1:
-
auch damit funktioniert es leider nicht.
immernoch:
SyntaxError: Illegal break statementscheint am break zu liegen??
Nachtrag:
Das 'break' ist natürlich jetzt sinnlos mit dem 'existsState()
jetzt läuft es! :+1: :+1:
@supermicha sagte: scheint am break zu liegen??
Wo siehst Du break? Ausführlicher:
if(existsState(id)) return { text: getObject(id).common.name, objectId: id, buttonStateValue: getState(id).val, image: "lightbulb", imageActive: "lightbulb-on", imageColor: "#ececec", listType: "buttonToggle", buttonToggleValueTrue: true, buttonToggleValueFalse: false, buttonBackgroundActiveColor: "red", imageActiveColor: "yellow", showValueLabel: false }; -
ja in meiner ursprünglichen Variante hatte ich ja ein break drin.
-
nochmal Nachtrag:
mit existsState() kommt zwar keine Fehlermeldung mehr, die nicht gefüllten DP's werden aber auch nicht rausgeschmissen...
Denn der Datenpunkt existiert ja, hat nur keinen Wert.... :confused:

der erste Power ohne Zahl muss weg...
-
Muss mich korrigieren... es funktioniert.
die ausgelassenen Werte werden allerdings als NULL ins JSON übernommen.
Musst mein Blockly jetzt umbauen um die Nullwerte nicht zu übernehmen, nun klappt es...