NEWS
Texte und Zahlen aus ein Variable ändern
-
xHallo,
ich komme einen Text von ifttt in die Servicevariable geschrieben. Nun möchte ich den Text abändern bzw. auch umändern.
Dabei möchte ich minutes auf minuten ändern und seconds in Sekunde.
Wollte es im Blockly machen nur weiss ich nicht wie?
Vlt. kann mir da wer weiterhelfen?
Lg
Jürgen
-
on({id: 'cloud.0.services.ifttt',change: 'ne''}, function() { var va1 = getState('cloud.0.services.ifttt').val; var va2 = va1.replace("minutes ","Minuten "); va1 = va2.replace("seconds ","Sekunde"); setState('cloud.0.services.ifttt', va1); });
und nicht unter global ablegen
-
Hallo arteck,
danke für dein antwort und das skript.
Leider tut sich gar nichts wenn ich das skript ausführe und log ist auch nichts zu sehen.
Achja, wa ist wenn ich über eine Stunde laufe, dann muss hour auch noch auf Stunde geändert werden?
LG
Jürgen
1693_translate_skript.png -
Leider tut sich gar nichts wenn ich das skript ausführe und log ist auch nichts zu sehen. `
Es tut sich erst etwas, wenn der Inhalt des Datenpunktes 'cloud.0.services.ifttt' verändert wird (z.B. im Reiter "Objekte"). -
Wenn schon beim Skriptstart die Umwandlung erfolgen soll, dann mache es so:
const idLauf = 'cloud.0.services.ifttt'; function hms2SMS(txt) { txt = txt.replace('seconds', 'Sekunden'); txt = txt.replace('minutes', 'Minuten'); txt = txt.replace('hours', 'Stunden'); return txt; } // Skriptstart setState(idLauf, hms2SMS(getState(idLauf).val)); on(idLauf, function(dp) { // Triggern bei Änderung des Inhalts if(dp.state.val.indexOf('seconds') != -1) setState(idLauf, hms2SMS(dp.state.val)); });
-
Hallo Paul53,
nein beim 1. skript tut sich auch bei Veränderung der variable nichts.
Danke vielmals für dein Skript, das funktioniert beim Starten des skriptes und auch beim Verändern.
Wenn es nicht viel aufwand ist, wäre auch noch super, wenn singulär und plural also wenn 1 dann 1 minute wenn 2 dann 2 minuten konvertiert wird.
Danke
LG
Jürgen