NEWS
Text zur Zahl
-
Hallo zusammen,
ich erhalte von einem Adapter die Werte in Textform. Zb „Fehler links, Status ok, usw“.
Damit ich diese Statue weiterverarbeiten kann, benötige ich das in Zahlen umgewandelt -> „Fehler links = 1 / Status ok = 2, usw“.
Ist das per Blockly oder Script möglich? Hat hier einer Tipps/Beispiele für mich?Vielen Dank für eure Zeit/Hilfe.
-
-
@samke
Bin leider nur auf dem Tablet unterwegs, so dass ich Dir keinen hübschen Screenshot machen kann.Eine Möglichkeit wäre, dass Du unter „Logik“ den Baustein „Im Falle von“ benutzt.
Du definierst dir zuvor eine Variable „meinStatusAlsZahl“, dann nimmst Du den gerade genannten Logikbaustein und hängst in den Abschnitt „der Fall ist“ Deinen Status Deines Adapters, der nur in Textform vorliegt.
Über das Zahnrad des Blockes kannst Du Dir beliebig viele Fallunterscheidungen hineinziehen. Jede besteht aus „Im Falle von“ und „Mache“. In den „Im Falle von“-Abschnitt wirfst Du ein Textelement und fügst dort den gewünschten Text ein z.B. „Fehler links“ etc. Also der exakte Staustext Deines Adapters. Im Mache-Abschnitt fügst Du einen Block ein, der dann „ meinStatusAlsZahl“-Variable mit dem jeweiligen gewünschten Zahlencode setzt. Nach dem gesamten Block steht dann hoffentlich der gewünschte Ziffernwert in der Variable und Du kannst ihn weiterverwenden.Hoffe, dass Du verstehst, was ich meine. Sonst reiche ich bald noch einen Screenshot nach.
VG
Oliver -
@sigi234 said in Text zur Zahl:
linkeddevices
Linkeddevices habe ich mir angeschaut und auch ausprobiert, leider kann das "noch nicht" Textwerte in Zahlen nach Vorgabe wandeln. So wurde mir das auch hier im Forum bestätigt.
@schlammschlumpf said in Text zur Zahl:
Eine Möglichkeit wäre, dass Du unter „Logik“ den Baustein „Im Falle von“ benutzt.
Hört sich erstmal gut an. Ich hab das mal versucht. Wie kann ich dann prüfen, ob in der Variable was ankommt? Ich benötige den Wert dann am Ende in einem Objekt, damit ich es über "simple-api" angezeigt bekommen/nutzen kann.
Dafür habe ich "steuere [Objekt] mit [Variable]" versucht zu nutzen. Leider kommt nichts an in dem Objekt.
Hier mal ein Screenshot - vielleicht habt ihr ja noch Tipps für mich, das Problem zu lösen?Danke
-
@samke
vor dem ersten Falls ein debug setzen und schauen ob Mower.batteryPercent getriggert wird.
Dann siehst du das im Log. Aus wurde geändert würde ich aktualliesiert nehmen. -
-
"Der fall ist" habe ich bei mir garnicht?! Bei mir steht ja "falls / mache". Ist dass das gleiche, oder hab ich ne falsche Version, oder wie bekomme ich "Der fall ist"?
Ich hatte auf batteryPercent geprüft, weil dieser sich ständig ändert und damit ich das schneller prüfen kann, ob es funktioniert - so war meine Idee. LastStatus ändert sich nur alle Stunde mal.
-
@samke sagte: "Der fall ist" habe ich bei mir garnicht?
Welche Javascript-Adapter-Version?
-
@paul53 said in Text zur Zahl:
Welche Javascript-Adapter-Version?
Ich hab jetzt alles upgedatet, jetzt hab ich Version 5.1.3 - und nun habe ich auch "Der Fall ist".
Leider funktioniert es aber auch so noch nicht. Habe ich da jetzt noch was falsch eingestellt?
Durch das Debug seh ich im Log auch nichts. Funktioniert der Trigger einfach nicht? Kann man das irgendwie mal manuell auch auslösen? -
@samke sagte Kann man das irgendwie mal manuell auch auslösen?
Im Tab "Objekte" den Wert (Text) von "lastStatus" ändern und wieder zurück. Dann sollte zweimal getriggert werden.
-
@paul53 said in Text zur Zahl:
Im Tab "Objekte" den Wert (Text) von "lastStatus" ändern und wieder zurück. Dann sollte zweimal getriggert werden.
Leider passiert, wenn ich das manuell trigger, auch nichts...
-
@samke sagte: Leider passiert, wenn ich das manuell trigger, auch nichts.
Du hast das Skript aktiviert und hoffentlich nicht unter der Gruppe "global" erstellt?
-
@paul53 said in Text zur Zahl:
Du hast das Skript aktiviert und hoffentlich nicht unter der Gruppe "global" erstellt?
Ääää... doch, das hatte ich, also an war es, aber es war unter dem Ordner "global". Ich habe jetzt einen eigenen Ordner angelegt und dort das Script erstellt. Leider trotzdem keine Verbesserung.
-
Im Log finde ich jetzt folgendes, wenn ich das Script anpasse und speicher.
-
@samke
Deaktiviere oder lösche das Skript unter der Gruppe "global". -
@paul53 said in Text zur Zahl:
Deaktiviere oder lösche das Skript unter der Gruppe "global".
Wie du mir im anderen Post geschrieben hattest, sollte ich das "linkeddevices" Script unter "global" stoppen - und genau das war es auch. Dann war der Fehler weg im Log und dann funktionierte auch das Script mit der Umwandlung der Texte in Zahlen!
Ich danke für eure Ideen und Geduld!!!