Gibt es eine Möglichkeit in einem Flow eine Zahl zu extrahieren (ohne Script)?
Ich starte einen Flow mit dem Text “save - 0%” oder “call - 100%”.
Der Flow speichert mir mit save gewisse Werte.
Wie kann ich jedoch die Zahl auslesen, ich möchte diese gerne gebrauchen ohne grossen Umweg…
Ha, ich habe auch daran herumgepfuscht, Ronny und Spart,
Um zu verstehen, was du mit deiner Frage meinst, Spart, habe ich mir Folgendes überlegt:
Das funktioniert hier, mit homeyscript “Dann” karte
“Skript mit Argument ausführen und Nummer-Tag zurückgeben”.
Als Argument nehmen wir das Tag die du auswählen kannst unter “Dieser Flow” [Startwert]
// Extract number from string
let input = (args[0]);
// only save the string following the "-" and whitespace
var res_1 = input.slice(input.indexOf('-')+2);
// now, only save the string prior to the "%"
var res = res_1.split("%")[0];
// use parseFloat to change "res" into a numeric value
return parseFloat(res);
Sorry für meine späte Antwort, habe es etwas auf die Seite gestellt.
Der Code so funktioniert bei mir nicht: Cannot read properties of undefined (reading ‘slice’)
Da ich aber eh nur die 0% brauche (zum öffnen meiner Rollos), werde ich einfach di “Null” abrufen.
Ich hatte den falschen Flow/Kachel genommen, sorry…
Mit der richtigen Kachel funktioniert das einwandfrei. Danke.
Ich habe mich noch nicht gross mit den Scripts befasst, obwohl mir das viel sympathischer wäre.
Gibt es eine gute Anleitung?
Ich möchte ja Scripts schreiben, was kein Problem ist, diese abrufen und die Resultate dann auch brauchen können. In den Scripts kann ich aber nicht direkt Variablen einlesen und beschreiben, sehe ich das richtig?
Ich würde die Zeit im Text “Remaining time” gerne als Zahl nutzen. Am liebsten auch noch umgerechnet in Stunden und Minuten. Dies sind aktuell einfach nur Minuten.
Vielleicht hast du oder jemand anderes Zeit und Geduld mit dies zu erklären.
Ich danke schon mal
Wow! Danke! Das hat mit schon sehr weiter geholfen.
Die ersten drei Elemete funktionieren schon. Ich bekomme die Zeit aus dem Text als Zahl. Aber das umrechnen funktioniert noch nicht.
Kannst du mir sagen, wo mein Fehler ist? Ich finde auch deine Zeiteinheit (hh:mm) nicht.
Die Berechnung ist wie folgt aufgebaut: {{ [Result] * 60 }}
Die Minuten müssen in Sekunden umgewandelt werden, damit sie in der Better Logic-Karte verwendet werden können.
Das [Ergebnis] oder [Result]-Tag stammt aus die vorherigen Konvertierungslogik-Karte
Wenn du sie in die Berechnungs-Karte einfügen möchtest, sehst du sie oben unter “Diese Flow”.
.
In diesem BL-Diagramm kannst du zwar hh:mm als gewünschte Zeiteinheit angeben, aber dann müsst du immer noch dein Eintrag auswählen, um ihn dem Flow-karte hinzuzufügen.
Das muss man einfach wissen.
hartelijk dank voor uw hulp.
Ich hatte zwei Fehler. Ich hatte bei der Multiplikation mit 60 eine Leerzeile drin. Und ich habe nicht gesehen, dass am Ende die Zeit z.B. 05:00 auch wieder ein Text und keine Zahl ist. Ich danke dir sehr