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!

-
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!

@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....


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...
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden