NEWS
[gelöst] Fehlermeldung aus blockly Script - wrong type: string
-
Hallo ihr da,
ich bekomme eine Fehlermeldiung angezeigt, die ich aktuell noch nicht bereinigt bekomme:
javascript.0 2018-09-05 13:01:07.632 warn at Object. <anonymous>(script.js.Meine_Schalter.Bose_an/aus:17:5) javascript.0 2018-09-05 13:01:07.628 warn Wrong type of meinedp.0.bose.volume_current: "string". Please fix, while deprecated and will not work in next versions.</anonymous>
Ich habe das Objekt nachdem ich das gesehen habe von Logikwert auf Zahl gestellt. Aber es hat keine Besserung gebracht.
Weiss jemand womit dieser Fehler zusammen hängt und wie ich ihn gelöst bekomme?
Gruss,
Mitch
-
Javascript Adapter neu gestartet nachdem du den Typen geändert hast ?
(Adapter liest objecte beim starten aus)
Sent from my iPhone using Tapatalk
-
-
Vorhin nicht, aber ich habe ihn jetzt habe ich den Javascript Adapter durchgestartet.
Leider ohne Erfolg.
Anbei das betreffende Blockly Script als Code:
on({id: "meinedp.0.bose.switch_on_off"/*switch_on_off*/, change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("meinedp.0.bose.switch_on_off").val == true) { setState("broadlink2.0.RM:RM-Pro-Plus.L.Bose_An/Aus"/*Bose An/Aus*/, true); if (getState("meinedp.0.bose.volume_difference").val < 0) { var repeat_end = getState("meinedp.0.bose.volume_factory").val - getState("meinedp.0.bose.volume_standard").val; for (var count = 0; count < repeat_end; count++) { setState("broadlink2.0.RM:RM-Pro-Plus.L.Bose_LS_runter"/*Bose LS runter*/, true); } } else if (getState("meinedp.0.bose.volume_difference").val > 0) { var repeat_end2 = getState("meinedp.0.bose.volume_difference").val; for (var count2 = 0; count2 < repeat_end2; count2++) { setState("broadlink2.0.RM:RM-Pro-Plus.L.Bose_LS_hoch"/*Bose LS hoch*/, true); } } setState("meinedp.0.bose.volume_current"/*volume_current*/, getState("meinedp.0.bose.volume_standard").val, true); } else { if (getState("meinedp.0.bose.volume_difference").val < 0) { var repeat_end3 = getState("meinedp.0.bose.volume_factory").val - getState("meinedp.0.bose.volume_standard").val; for (var count3 = 0; count3 < repeat_end3; count3++) { setState("broadlink2.0.RM:RM-Pro-Plus.L.Bose_LS_hoch"/*Bose LS hoch*/, true); } } else if (getState("meinedp.0.bose.volume_difference").val > 0) { var repeat_end4 = getState("meinedp.0.bose.volume_difference").val; for (var count4 = 0; count4 < repeat_end4; count4++) { setState("broadlink2.0.RM:RM-Pro-Plus.L.Bose_LS_runter"/*Bose LS runter*/, true); } } setState("broadlink2.0.RM:RM-Pro-Plus.L.Bose_An/Aus"/*Bose An/Aus*/, true); setState("meinedp.0.bose.volume_current"/*volume_current*/, getState("meinedp.0.bose.volume_factory").val, true); } });
Ich glaube ich verwende das betreffende Objekt nicht ordnungsgemäß.
-
setState("meinedp.0.bose.volume_current"/*volume_current*/, getState("meinedp.0.bose.volume_standard").val, true); ```` `
Irgendwie muss in den Datenpunkt "meinedp.0.bose.volume_standard" ein String gelandet sein.
-
Ich dachete ich kann das ändern, wenn ich von Logikwert auf Zahl stelle. Leider Fehlanzeige.
Dann dachte ich ich passe über das Ojketmenü nochmal den Wert an. Leider zickt die Webseite sobald ich diesen Wert ändern will.
Habt ihr eine Idee?
EDIT: Er löscht nichtmal das Objekt!
-
Schreibe den Zahlenwert per Script in den Datenpunkt.
setState("meinedp.0.bose.volume_standard", 30, true);
-
Habe ich ausgeführt. Jetzt ist der Fehler weg.
Ich habe auch den Fehler im Script gefunden, warum es so zickig lief.
Vielen Dank an alle für die Hilfe!
-
Jetzt ist der Fehler weg. `
Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst]. -
Erledigt.