NEWS
Funktion mit Rückgabewert liefert undefined
-
Hallo,
ich bin Neuling was Scripting in iobroker angeht, habe aber etwas gefunden, was ich sehr gut zum Auslesen der Daten meines Wechselrichters verwenden kann.
Gefühlt muss ich eigentlich nur das "Abschreiben", was der Autor des Artikels auf dieser Seite anschaulich erklärt hat.Ich habe also das Blockly aus dem Abschnitt "Jetzt wird ausgelesen" 1:1 abgeschrieben, aber wenn ich es laufen lasse bekomme ich trotz einem validen Input von 13 (oder auch mal 29) beim Debug Output immer nur ein undefined für jeden Wert zurück.
Da ich hier zum ersten Mal mit den Elementen *JS Funktion mit Ergebnis' und Javascript Funktion n Blockly konfrontiert wurde, bin ich mir nicht sicher, ob ich die 3 Codeblöcke, die dort gezeigt werden, an die richtige Stelle gepackt habe:
• die kleine Funktion dec2bit habe ich in das Element JS Funktion mit Ergebnis kopiert
• den ganz langen Code am Ende der Seite habe ich in das Element Javascript Funktion kopiertIch sehe ansonsten tatsächlich keine Abweichung von dem wie es der Autor beschrieben hat hin zu meiner Variante:
Kann mir hier jemand auf die Sprünge helfen?
Vielen Dank -
@maddm sagte: nur ein undefined
Wie sieht der Inhalt der Funktion getBit(number, bitPosition) aus?
-
@paul53 wie beschrieben, da ist "nur" der Dreizeiler drin:
-
@maddm
Die Funktionsdeklaration darf innerhalb der Funktion nicht nochmal erfolgen, denn die erzeugt bereits Blockly. Nurreturn number >> bitPosition & 1;
oder wenn es boolesche Werte sein sollen:
return !!(number >> bitPosition & 1);
-
@paul53 Danke für Deine Hilfe, das sieht jetzt gut aus!