NEWS
[gelöst] Laderegelung für Tablet
-
Hallo Tom,
versuch es mal so:
on({id: "javascript.0.tablet.akku_stand"/*tablet.akku_stand*/ }, function(obj) { if ("javascript.0.tablet.akku_stand"/*tablet.akku_stand*.val <= "30"){ setState (("hm-rpc.0.KEQ0022951.2.STATE" ,true)});
-
@Jey Cee:Hallo Tom,
versuch es mal so:
on({id: "javascript.0.tablet.akku_stand"/*tablet.akku_stand*/ }, function(obj) { if ("javascript.0.tablet.akku_stand"/*tablet.akku_stand*.val <= "30"){ setState (("hm-rpc.0.KEQ0022951.2.STATE" ,true)}); ```` `
Danke, aber jetzt zeigt der Editor Fehler an.
977_sreenshot.png
9054_ical-1.jpg
9054_ical-2.jpg -
Sorry der Code war unvollständig.
on({id: "javascript.0.tablet.akku_stand"/*tablet.akku_stand*/ }, function(obj) { if (getState("javascript.0.tablet.akku_stand"/*tablet.akku_stand*/.val <= "30")){ setState("hm-rpc.0.KEQ0022951.2.STATE" ,true);} });
-
@Jey Cee:Sorry der Code war unvollständig.
on({id: "javascript.0.tablet.akku_stand"/*tablet.akku_stand*/ }, function(obj) { if (getState("javascript.0.tablet.akku_stand"/*tablet.akku_stand*/.val <= "30")){ setState("hm-rpc.0.KEQ0022951.2.STATE" ,true);} }); ```` `
Die Syntax war o.k. - das Programm funzt aber leider noch nicht.
-
Nimm mal bei 30 die Anführungszeichen weg.
305_widget-import-dokumentation.pdf -
@Jey Cee:Nimm mal bei 30 die Anführungszeichen weg. `
Hab ich schon probiert, das ist es auch nicht.
-
@Tom:@Jey Cee:Nimm mal bei 30 die Anführungszeichen weg. `
Hab ich schon probiert, das ist es auch nicht. `
vielleicht hilft das…
on("javascript.0.tablet.akku_stand", function() { var int = parseInt(getState("javascript.0.tablet.akku_stand").val, 10); if (int <= 30)){ setState("hm-rpc.0.KEQ0022951.2.STATE" ,true);} });
bin aber totaler Anfänger und weis nicht ob es klappt :?
-
ich würde…
on({id: "javascript.0.tablet.akku_stand" }, function(obj) { if (parseInt(getState("javascript.0.tablet.akku_stand".val) <= 30)){ setState("hm-rpc.0.KEQ0022951.2.STATE" ,true);} });
sitze aber gerade mit dem Tablet auf dem Sofa, daher…ohne Gewähr
-
Probiers mal so:
on("javascript.0.tablet.akku_stand", function(obj){ var int = parseInt(obj.val); if (int <= 30)){ setState("hm-rpc.0.KEQ0022951.2.STATE" ,true,true);} });
-
@Tom:@Jey Cee:Nimm mal bei 30 die Anführungszeichen weg. `
Hab ich schon probiert, das ist es auch nicht. `
vielleicht hilft das…
on("javascript.0.tablet.akku_stand", function() { var int = parseInt(getState("javascript.0.tablet.akku_stand").val, 10); if (int <= 30)){ setState("hm-rpc.0.KEQ0022951.2.STATE" ,true);} });
bin aber totaler Anfänger und weis nicht ob es klappt :? `
Danke blauholsten, so funktioniert es
Auch ein Danke schön an alle andernen :lol:
-
Das freut mich…
305_heizungsscript_faq.pdf -
Hallo zusammen,
ich habe ein ähnliches Problem:
ich habe eingegeben:
on("javascript.0.tablet.battery.level", function() { var int = parseInt(getState("javascript.0.tablet.battery.level").val, 10); if (int <= 20)){ setState("hm-rpc.2.00000000000000.3.STATE" ,true);} });
Und bekomme zurück:
07:36:25.354 [info] javascript.0 Stop script script.js.Tablet.Tablet_on 07:36:33.960 [info] javascript.0 Start javascript script.js.Tablet.Tablet_on 07:36:33.960 [error] javascript.0 script.js.Tablet.Tablet_on compile failed: SyntaxError: Unexpected token )
Ich habe alle Lösungen durchprobiert, bekomme aber immer die selbe Rückmeldung.
Gruß,
Mathias
-
if (int <= 20)){
Hier sind glaube ich zwei schließende (runde) Klammern. Sollte eigentlich nur eine sein.
Grüße, Jens
-
Steht auch im Fehler drin
Unexpected token ")"
An die Schreibweise des Parser muss man sich erste gewöhnen
-
Danke schön. Jetzt habe ich einen weiteren Fehler gefunden.
Der Akku Level bleibt bei 98 Prozent stehen, auch wenn das Tablet aus ist.
-
var int = parseInt(getState("javascript.0.tablet.akku_stand").val, 10);
wie ist das "val; 10" zu verstehen?
-
Das mit den 98% hat sich dann erledigt, den Akku sollte man immer zwischen 20-80% pendeln lassen, dann hält dieser am längsten. Sowohl das Aussaugen des Akkus als auch das langsame Quälen auf der letzten Strecke zur 100 macht den Akkus großen Stress.
Grüße, Jens.
-
Wenn Du parseInt(string, Radix) verwendest, ist 10 sowie schon default, kann man also weglassen.
Wenn Du immer ein dezimalen Wert erwartest, kannst Du parseint auch weglassen. parseint macht ja nur Sinn, wenn Du einen bestimmten Wert aus einem Zahlensystem in einen anderen lesen / parsen willst. Der Wert wird dann sowieso in eine var geschrieben.
Somit bleibt:
var int = getState("javascript.0.tablet.akku_stand").val;
-
Wenn Du parseInt(string, Radix) verwendest, ist 10 sowie schon default, kann man also weglassen.
Wenn Du immer ein dezimalen Wert erwartest, kannst Du parseint auch weglassen. parseint macht ja nur Sinn, wenn Du einen bestimmten Wert aus einem Zahlensystem in einen anderen lesen / parsen willst. Der Wert wird dann sowieso in eine var geschrieben.
Somit bleibt:
var int = getState("javascript.0.tablet.akku_stand").val; ```` `
Wird in manchen Fällen nicht gehen, da ein String geliefert wird. Somit macht es eigentlich Sinn das parseInt stehen zu lassen.
-
Wie stell ich denn in dem Script ein, das der Akku bei 10% geladen wird und bei 95% abgeschaltet?
on("javascript.0.tablet.akku_stand", function() { var int = parseInt(getState("javascript.0.tablet.akku_stand").val, 10); if (int <= 20){ setState("hm-rpc.0.KEQ0022951.2.STATE" ,true);} });