Hi,
Ich möchte das 2. Wort eines States auslesen:
Leerung: Restabfall in 8 tagen
So das nur Restabfall übrig bleibt.
Geht das in Yaml-Code?
LG, Mitch
Hi,
Ich möchte das 2. Wort eines States auslesen:
Leerung: Restabfall in 8 tagen
So das nur Restabfall übrig bleibt.
Geht das in Yaml-Code?
LG, Mitch
Du kannst den Text splitten:
states(‘sensor.xyz’).split(’ ')[1]
Die Bedingung fürs splitten ist das Leerzeichen und dann wird der 2. Abschnitt ausgegeben
Darf ich fragen, ob es dazu auch technische Referenzen mit Beispielen gibt?
Seitdem ich vom ioBroker gewechselt bin, ist das mein größtes Problem. Und irgendwie kommt mir das Kit dem Split bekannt vor.
Ist das Yaml, oder wird zu den ganzen Variablen Aktivitäten eine andere Sprache genutz
auch interessant auf der Seite
Hat mir mir leider nicht funktioniert. Das ist mein Yaml-Code:
data:
title: Mülltonne(n) rausstellen!
message: states(‘sensor.nachste_abholung’).split(’ ')[1]
action: telegram_bot.send_message
Leider gibt es nichts aus. Im State steht folgendes:
Leerung: Restabfall Morgen
Er soll am Ende des Tages das in der Form ausgeben:
Mülltonne(n) rausstellen!
Liebe Familie XXX, morgen wird der Restabfall abgeholt!
In deinem Code waren auch falsche ‘
,’
und nicht '
oder "
als String-Begrenzungszeichen angegeben!
data:
title: Mülltonne(n) rausstellen!
message: Liebe Familie XXX, morgen wird der {{ states('sensor.sensor.nachste_abholung').split(' ')[1]}} abgeholt!
action: telegram_bot.send_message
Vielen Dank, jetzt funktioniert es. Ich habe nur 1x den “sensor.” entfernt.
Jetzt ist mir aber noch aufgefallen, dass an der betreffenden 2. Position entweder Restabfall, Bioabfall oder DSD steht. DSD ist da für meine Familie das Problem, weil denen das nix sagt. Kann ich auch irgendwie eine Erkennung einbauen, dass er bei DSD das durch das Wort Gelbe Tonne ersetzt? Das kennen Sie und wissen dann auch was zu tun ist.
Das ich das ganze nur an einen Telegram Bot sende ist nur zu Testzwecken. Ich möchte ihnen dann per Alexa Media Player TTS eine Nachricht an die betreffenden Alexas senden. Da weiss ich aber wie das geht.
Eventuell so?
data:
title: Mülltonne(n) rausstellen!
message: >
{% set s = states('sensor.nachste_abholung').split(' ')[1] %}
Liebe Familie XXX, morgen wird der {{ iif((s == 'DSD'),'DEIN_TEXT',s) }} abgeholt!
action: telegram_bot.send_message
Jupp, im Beispiel oben war ein sensor.
zu viel drin, sorry!
Erstmal vielen Dank für die Hilfe. Ich bin am Ziel. Ich habe mir oben die Links von justone angesehen, aber damit schaffe ich es nicht, mir die Schreibweise selber mal zu erschliessen.
Deshalb eine Frage an Dich: Nutzt du irgendwelche Referenzen, wo am besten noch Praxisbeispiel enthalten sind? Das wäre cool, oder hast du mittlerweile so eine Code-Schnipsel Grundlage, dass du einfach deine eigenen Automatisierungen als Referenz nutzt?
Ich benutze die Entwicklertools und das Internet