NEWS
[Script] Eieruhr
-
Super Idee!
hatte mir auch etwas
ä
hnliches gebastelt.In deinem Script fehlen zwei Semikolons.
Hinter:
var instanz = "javascript.0";
var objekt = "Eieruhr";
Hat er jedenfalls bei mir beanstandet.
Wichtig w
ä
re auch noch gut zu wissen, ob du die Eier ins kalte Wasser legst oder erst dem kochenden Wasser hinzu gibst. -
Super Idee!
hatte mir auch etwas
ä
hnliches gebastelt.In deinem Script fehlen zwei Semikolons.
Hinter:
var instanz = "javascript.0";
var objekt = "Eieruhr";
Hat er jedenfalls bei mir beanstandet.
Wichtig w
ä
re auch noch zu wissen, ob du die Eier ins kalte Wasser legst oder erst dem kochenden Wasser hinzu gibst. `Hall
ö
le,nat
ü
rlich ins kochende Wasser. ioBroker wei
ß
ja nicht, wann das Wasser kocht :lol:Das mit den Semikolons pass ich gleich an.
Gru
ß
dna909
-
-
Hi,
ich bekomme beim Script folgende Fehlermeldung:
javascript.0 script.js.common.Eieruhr compile failed: SyntaxError: Unexpected token varUnd das Widget sieht unvollst
ä
ndig aus (oberer Bereich fehlt?):
Jemand eine L
ö
sung f
ü
r mich? 
Danke euch und Gr
ü
ß
e, Thorsten -
Da hat der Fehlerteufel zugeschlagen. Hab die falsche Version erwischt.
Eine Zeile enthielt "var const=
…
", das gibt nat
ü
rlich einen Compile-Error.Script sollte jetzt wieder funktionieren.
Das Widget sieht unvollst
ä
ndig aus, weil der Datenpunkt f
ü
r den Timer noch fehlt. Der wird ja vom Script erzeugt, aber durch den Fehler funktioniert das nat
ü
rlich nicht.Somit wird da dann auch nichts angezeigt.
Am Besten einfach nochmal probieren

mfg
dna909
-
Hallo dna909,
cooles Skript, funktioniert wunderbar. Vielen Dank daf
ü
r.Ich lasse mir per Blockly nach Wunsch meine aktuelle Zimmertemperatur oder K
ü
hlschranktemperatur in das Skript (bzw. Variable) eintragen, erh
ö
ht den Komfort nochmals ein bisschen.Gru
ß
, Marwin -
Hallo @dna909, funktioniert das Script bei dir noch ohne Weiteres? Bei mir wird per Javascript schon nicht mehr das "Eieruhr"-Objekt unter javascript angelegt. Danke.
-
Danke f
ü
r deine schnelle R
ü
ckmeldung @dna909- es werden garkeine Objekte / Datenpunkte unter Javascript.0 angelegt
- als Fehlermeldung erhalte ich im Script nun eher sporadisch folgendes:
22:01:47.246 error javascript.0 (1412) script.js.common.Eieruhr compile failed: at script.js.common.Eieruhr:22
Mein Script:
// Eieruhr dna909 (heinbloed@nu-is-en.de) // ************************************************************************** // v0.1 initial // v0.2 Erweiterung Eitemperatur + Gewicht // v0.3 Formel Garzeit angepasst (13.10.2017) // ************************************************************************** // // Datenpunkte: // // start: true/false // Stop: true/false // fertig: true/false //Wert für viele tolle Dinge // Haerte: "w","m","h" //weich,medium,hart // Groesse: "s","m","l","xl" //Eigröße // Timer: "mm:ss" // Reset: true/false // Gewicht: g //Eigewicht // Temperatur: °C //Eitemperatur // Switch: true/false //true=nach Größe ; false=nach Gewicht /////////////////////////////////////////////////////////////////////////////// ! // Datenpunkte ! var instanz = "javascript.0"; var objekt = "Eieruhr"; ! var start = instanz+"."+objekt+"."+"start"; var fertig = instanz+"."+objekt+"."+"fertig"; var haerte = instanz+"."+objekt+"."+"Haerte"; var groesse = instanz+"."+objekt+"."+"Groesse"; var stop = instanz+"."+objekt+"."+"Stop"; var timer = instanz+"."+objekt+"."+"Timer"; var reset = instanz+"."+objekt+"."+"Reset"; var gewicht = instanz+"."+objekt+"."+"Gewicht"; var temp = instanz+"."+objekt+"."+"Temperatur"; ! /////////////////////////////////////////////////////////////////////////////// var SiedePunkt=100; //Siedepunkt Wasser var InnenTemp=[62,68,82]; //Kerntemperatur Eigelb (weich,medium,hart) var TempStart=7; //Eitemperatur var EiGroesse=[50,60,70,80]; //S,M,L,XL-Eigewicht ! /////////////////////////////////////////////////////////////////////////////// ! //// Initialwerte ! haerte_math=InnenTemp[0]; gewicht_math=EiGroesse[1]; ! /////////////////////////////////////////////////////////////////////////////// ! on({id: new RegExp( groesse +"|"+ haerte +"|"+ temp +"|"+ gewicht) , change: "ne"}, function (obj) { switch (getState(haerte).val) { case "w": haerte_math=InnenTemp[0]; break; case "m": haerte_math=InnenTemp[1]; break; case "h": haerte_math=InnenTemp[2]; break; case "": console.log("error"); break; } ! if (getState(gewicht).val < EiGroesse[1]){ setState(groesse, "s"); }else{ if ((getState(gewicht).val >= EiGroesse[1]) && (getState(gewicht).val < EiGroesse[2])) { setState(groesse,"m"); }else{ if ((getState(gewicht).val >= EiGroesse[2]) && (getState(gewicht).val < EiGroesse[3])) { setState(groesse,"l"); }else{ if ((getState(gewicht).val >= EiGroesse[3])) { setState(groesse,"xl"); } } } } TempStart=(getState(temp).val); gewicht_math=(getState(gewicht).val); ! timer1(); ! }); ! on({id: start, change: "ne"}, function (obj) { if (getState(start).val === true) { setState(fertig, false); setState(reset, false); setState(stop, false); interval = setInterval(countdown, 1000); } }); ! on({id: reset, change: "ne"}, function (obj) { if (getState(reset).val ===true) { clearInterval(interval); setState(start, false); setState(fertig, false); setState(reset, false); setState(stop, false); timer1(); } }); ! /// Berechnung der Kochzeit /////////////////////////////////////////////////// ! function timer1() { ze1 = 0.517*Math.pow(gewicht_math, 2/3)*Math.log (0.76*((SiedePunkt - TempStart)/(SiedePunkt-haerte_math))); ze2 = Math.round(ze1 * 60); // Kochzeit in Sekunden minuten=Math.floor(ze2/60); // Minuten sekunden=ze2 - (minuten*60); // Sekunden ! if (minuten < 10){ fz_m="0"; } else { fz_m=""; } if (sekunden < 10){ fz_s="0"; }else { fz_s=""; } zeit= fz_m + minuten.toString() + ":" + fz_s + sekunden.toString(); setState(timer, zeit); ! } ! // Countdown ! function countdown() { if (ze2 > 0 ) { if (getState(stop).val ===false) { ze2--; minuten=Math.floor(ze2/60); // Minuten sekunden=ze2 - (minuten*60); // Sekunden } if (minuten < 10){ fz_m="0"; } else { fz_m=""; } if (sekunden < 10){ fz_s="0"; }else { fz_s=""; } zeit= fz_m + minuten.toString() + ":" + fz_s + sekunden.toString(); setState(timer, zeit); } else { clearInterval(interval); setState(start, false); setState(fertig, true); setStateDelayed(fertig, false, 60000, true); } } ! // Datenpunkte erzeugen ! function createStates () { createState(start, false, { name: 'Eieruhr starten', desc: 'Eieruhr starten', type: 'boolean', role: 'state', unit: '' }); createState(fertig, false, { name: 'Eieruhr fertig', desc: 'Eieruhr fertig', type: 'boolean', role: 'state', unit: '' }); createState(haerte, "w", { name: 'Eierhärte', desc: 'Eierhärte', type: 'String', role: 'value', unit: '' }); ! createState(groesse, "m", { name: 'Eiergröße', desc: 'Eiergröße', type: 'string', role: 'value', unit: '' }); ! createState(stop, false, { name: 'Eieruhr fertig', desc: 'Eieruhr fertig', type: 'boolean', role: 'state', unit: '' }); createState(timer, "00:00", { name: 'Timer', desc: 'Timer', type: 'string', role: 'value', unit: '' }); ! createState(reset, false, { name: 'Eieruhr reset', desc: 'Eieruhr reset', type: 'boolean', role: 'state', unit: '' }); ! createState(gewicht, 50, { name: 'Eigewicht', desc: 'Eigewicht', type: 'number', role: 'value', unit: 'g' }); createState(temp, 0, { name: 'Eitemperatur', desc: 'Eitemperatur', type: 'number', role: 'value', unit: '°C' }); ! } ! /////////////////////////////////////////////////////////////////////////////// ! createStates(); setTimeout(timer1,1000); ! ```` -
Okay liebe Eierliebhaber inklusive @dna909
Problem ausfindig gemacht: zu Beginn der Zeilen 21 / 22 und 24 befanden sich Zeichen, die zumindest bei mir das Erstellen der Datenpunkte unterbunden hatten.
Folgendes, leicht angepasstes Script klappt bei mir im Jahre 2020:
// Eieruhr dna909 (heinbloed@nu-is-en.de) // ************************************************************************** // v0.1 initial // v0.2 Erweiterung Eitemperatur + Gewicht // v0.3 Formel Garzeit angepasst (13.10.2017) // ************************************************************************** // // Datenpunkte: // // start: true/false // Stop: true/false // fertig: true/false //Wert für viele tolle Dinge // Haerte: "w","m","h" //weich,medium,hart // Groesse: "s","m","l","xl" //Eigröße // Timer: "mm:ss" // Reset: true/false // Gewicht: g //Eigewicht // Temperatur: °C //Eitemperatur // Switch: true/false //true=nach Größe ; false=nach Gewicht /////////////////////////////////////////////////////////////////////////////// // Datenpunkte var instanz = "javascript.0"; var objekt = "Eieruhr"; var start = instanz+"."+objekt+"."+"start"; var fertig = instanz+"."+objekt+"."+"fertig"; var haerte = instanz+"."+objekt+"."+"Haerte"; var groesse = instanz+"."+objekt+"."+"Groesse"; var stop = instanz+"."+objekt+"."+"Stop"; var timer = instanz+"."+objekt+"."+"Timer"; var reset = instanz+"."+objekt+"."+"Reset"; var gewicht = instanz+"."+objekt+"."+"Gewicht"; var temp = instanz+"."+objekt+"."+"Temperatur"; /////////////////////////////////////////////////////////////////////////////// var SiedePunkt=100; //Siedepunkt Wasser var InnenTemp=[62,68,82]; //Kerntemperatur Eigelb (weich,medium,hart) var TempStart=7; //Eitemperatur var EiGroesse=[50,60,70,80]; //S,M,L,XL-Eigewicht /////////////////////////////////////////////////////////////////////////////// //// Initialwerte haerte_math=InnenTemp[0]; gewicht_math=EiGroesse[1]; /////////////////////////////////////////////////////////////////////////////// on({id: new RegExp( groesse +"|"+ haerte +"|"+ temp +"|"+ gewicht) , change: "ne"}, function (obj) { switch (getState(haerte).val) { case "w": haerte_math=InnenTemp[0]; break; case "m": haerte_math=InnenTemp[1]; break; case "h": haerte_math=InnenTemp[2]; break; case "": console.log("error"); break; } if (getState(gewicht).val < EiGroesse[1]){ setState(groesse, "s"); }else{ if ((getState(gewicht).val >= EiGroesse[1]) && (getState(gewicht).val < EiGroesse[2])) { setState(groesse,"m"); }else{ if ((getState(gewicht).val >= EiGroesse[2]) && (getState(gewicht).val < EiGroesse[3])) { setState(groesse,"l"); }else{ if ((getState(gewicht).val >= EiGroesse[3])) { setState(groesse,"xl"); } } } } TempStart=(getState(temp).val); gewicht_math=(getState(gewicht).val); timer1(); }); on({id: start, change: "ne"}, function (obj) { if (getState(start).val === true) { setState(fertig, false); setState(reset, false); setState(stop, false); interval = setInterval(countdown, 1000); } }); on({id: reset, change: "ne"}, function (obj) { if (getState(reset).val ===true) { clearInterval(interval); setState(start, false); setState(fertig, false); setState(reset, false); setState(stop, false); timer1(); } }); /// Berechnung der Kochzeit /////////////////////////////////////////////////// function timer1() { ze1 = 0.517*Math.pow(gewicht_math, 2/3)*Math.log (0.76*((SiedePunkt - TempStart)/(SiedePunkt-haerte_math))); ze2 = Math.round(ze1 * 60); // Kochzeit in Sekunden minuten=Math.floor(ze2/60); // Minuten sekunden=ze2 - (minuten*60); // Sekunden if (minuten < 10){ fz_m="0"; } else { fz_m=""; } if (sekunden < 10){ fz_s="0"; }else { fz_s=""; } zeit= fz_m + minuten.toString() + ":" + fz_s + sekunden.toString(); setState(timer, zeit); } // Countdown function countdown() { if (ze2 > 0 ) { if (getState(stop).val ===false) { ze2--; minuten=Math.floor(ze2/60); // Minuten sekunden=ze2 - (minuten*60); // Sekunden } if (minuten < 10){ fz_m="0"; } else { fz_m=""; } if (sekunden < 10){ fz_s="0"; }else { fz_s=""; } zeit= fz_m + minuten.toString() + ":" + fz_s + sekunden.toString(); setState(timer, zeit); } else { clearInterval(interval); setState(start, false); setState(fertig, true); setStateDelayed(fertig, false, 60000, true); } } // Datenpunkte erzeugen function createStates () { createState(start, false, { name: 'Eieruhr starten', desc: 'Eieruhr starten', type: 'boolean', role: 'state', unit: '' }); createState(fertig, false, { name: 'Eieruhr fertig', desc: 'Eieruhr fertig', type: 'boolean', role: 'state', unit: '' }); createState(haerte, "w", { name: 'Eierhärte', desc: 'Eierhärte', type: 'String', role: 'value', unit: '' }); createState(groesse, "m", { name: 'Eiergröße', desc: 'Eiergröße', type: 'string', role: 'value', unit: '' }); createState(stop, false, { name: 'Eieruhr fertig', desc: 'Eieruhr fertig', type: 'boolean', role: 'state', unit: '' }); createState(timer, "00:00", { name: 'Timer', desc: 'Timer', type: 'string', role: 'value', unit: '' }); createState(reset, false, { name: 'Eieruhr reset', desc: 'Eieruhr reset', type: 'boolean', role: 'state', unit: '' }); createState(gewicht, 50, { name: 'Eigewicht', desc: 'Eigewicht', type: 'number', role: 'value', unit: 'g' }); createState(temp, 0, { name: 'Eitemperatur', desc: 'Eitemperatur', type: 'number', role: 'value', unit: '°C' }); } /////////////////////////////////////////////////////////////////////////////// createStates(); setTimeout(timer1,1000);Danke f
ü
r das sch
ö
ne Script @dna909 -
Okay liebe Eierliebhaber inklusive @dna909
Problem ausfindig gemacht: zu Beginn der Zeilen 21 / 22 und 24 befanden sich Zeichen, die zumindest bei mir das Erstellen der Datenpunkte unterbunden hatten.
Folgendes, leicht angepasstes Script klappt bei mir im Jahre 2020:
// Eieruhr dna909 (heinbloed@nu-is-en.de) // ************************************************************************** // v0.1 initial // v0.2 Erweiterung Eitemperatur + Gewicht // v0.3 Formel Garzeit angepasst (13.10.2017) // ************************************************************************** // // Datenpunkte: // // start: true/false // Stop: true/false // fertig: true/false //Wert für viele tolle Dinge // Haerte: "w","m","h" //weich,medium,hart // Groesse: "s","m","l","xl" //Eigröße // Timer: "mm:ss" // Reset: true/false // Gewicht: g //Eigewicht // Temperatur: °C //Eitemperatur // Switch: true/false //true=nach Größe ; false=nach Gewicht /////////////////////////////////////////////////////////////////////////////// // Datenpunkte var instanz = "javascript.0"; var objekt = "Eieruhr"; var start = instanz+"."+objekt+"."+"start"; var fertig = instanz+"."+objekt+"."+"fertig"; var haerte = instanz+"."+objekt+"."+"Haerte"; var groesse = instanz+"."+objekt+"."+"Groesse"; var stop = instanz+"."+objekt+"."+"Stop"; var timer = instanz+"."+objekt+"."+"Timer"; var reset = instanz+"."+objekt+"."+"Reset"; var gewicht = instanz+"."+objekt+"."+"Gewicht"; var temp = instanz+"."+objekt+"."+"Temperatur"; /////////////////////////////////////////////////////////////////////////////// var SiedePunkt=100; //Siedepunkt Wasser var InnenTemp=[62,68,82]; //Kerntemperatur Eigelb (weich,medium,hart) var TempStart=7; //Eitemperatur var EiGroesse=[50,60,70,80]; //S,M,L,XL-Eigewicht /////////////////////////////////////////////////////////////////////////////// //// Initialwerte haerte_math=InnenTemp[0]; gewicht_math=EiGroesse[1]; /////////////////////////////////////////////////////////////////////////////// on({id: new RegExp( groesse +"|"+ haerte +"|"+ temp +"|"+ gewicht) , change: "ne"}, function (obj) { switch (getState(haerte).val) { case "w": haerte_math=InnenTemp[0]; break; case "m": haerte_math=InnenTemp[1]; break; case "h": haerte_math=InnenTemp[2]; break; case "": console.log("error"); break; } if (getState(gewicht).val < EiGroesse[1]){ setState(groesse, "s"); }else{ if ((getState(gewicht).val >= EiGroesse[1]) && (getState(gewicht).val < EiGroesse[2])) { setState(groesse,"m"); }else{ if ((getState(gewicht).val >= EiGroesse[2]) && (getState(gewicht).val < EiGroesse[3])) { setState(groesse,"l"); }else{ if ((getState(gewicht).val >= EiGroesse[3])) { setState(groesse,"xl"); } } } } TempStart=(getState(temp).val); gewicht_math=(getState(gewicht).val); timer1(); }); on({id: start, change: "ne"}, function (obj) { if (getState(start).val === true) { setState(fertig, false); setState(reset, false); setState(stop, false); interval = setInterval(countdown, 1000); } }); on({id: reset, change: "ne"}, function (obj) { if (getState(reset).val ===true) { clearInterval(interval); setState(start, false); setState(fertig, false); setState(reset, false); setState(stop, false); timer1(); } }); /// Berechnung der Kochzeit /////////////////////////////////////////////////// function timer1() { ze1 = 0.517*Math.pow(gewicht_math, 2/3)*Math.log (0.76*((SiedePunkt - TempStart)/(SiedePunkt-haerte_math))); ze2 = Math.round(ze1 * 60); // Kochzeit in Sekunden minuten=Math.floor(ze2/60); // Minuten sekunden=ze2 - (minuten*60); // Sekunden if (minuten < 10){ fz_m="0"; } else { fz_m=""; } if (sekunden < 10){ fz_s="0"; }else { fz_s=""; } zeit= fz_m + minuten.toString() + ":" + fz_s + sekunden.toString(); setState(timer, zeit); } // Countdown function countdown() { if (ze2 > 0 ) { if (getState(stop).val ===false) { ze2--; minuten=Math.floor(ze2/60); // Minuten sekunden=ze2 - (minuten*60); // Sekunden } if (minuten < 10){ fz_m="0"; } else { fz_m=""; } if (sekunden < 10){ fz_s="0"; }else { fz_s=""; } zeit= fz_m + minuten.toString() + ":" + fz_s + sekunden.toString(); setState(timer, zeit); } else { clearInterval(interval); setState(start, false); setState(fertig, true); setStateDelayed(fertig, false, 60000, true); } } // Datenpunkte erzeugen function createStates () { createState(start, false, { name: 'Eieruhr starten', desc: 'Eieruhr starten', type: 'boolean', role: 'state', unit: '' }); createState(fertig, false, { name: 'Eieruhr fertig', desc: 'Eieruhr fertig', type: 'boolean', role: 'state', unit: '' }); createState(haerte, "w", { name: 'Eierhärte', desc: 'Eierhärte', type: 'String', role: 'value', unit: '' }); createState(groesse, "m", { name: 'Eiergröße', desc: 'Eiergröße', type: 'string', role: 'value', unit: '' }); createState(stop, false, { name: 'Eieruhr fertig', desc: 'Eieruhr fertig', type: 'boolean', role: 'state', unit: '' }); createState(timer, "00:00", { name: 'Timer', desc: 'Timer', type: 'string', role: 'value', unit: '' }); createState(reset, false, { name: 'Eieruhr reset', desc: 'Eieruhr reset', type: 'boolean', role: 'state', unit: '' }); createState(gewicht, 50, { name: 'Eigewicht', desc: 'Eigewicht', type: 'number', role: 'value', unit: 'g' }); createState(temp, 0, { name: 'Eitemperatur', desc: 'Eitemperatur', type: 'number', role: 'value', unit: '°C' }); } /////////////////////////////////////////////////////////////////////////////// createStates(); setTimeout(timer1,1000);Danke f
ü
r das sch
ö
ne Script @dna909 -
@Bostil Das lag scheinbar daran, das bei der Umstellung der Forensoftware das Script falsch formatiert wurde. Irgendwie stimmten da die Tags nicht mehr. Habe das aber im ersten Beitrag angepasst.
Gru
ß
dna909
@dna909
Leider nicht angepasst.
Die Zeichen ">!" sind immer noch drin! -
@dna909
Leider nicht angepasst.
Die Zeichen ">!" sind immer noch drin! -
@Negalein
Jupp passt jetzt
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

