NodeRed - wyszukiwanie wybranego znaku w msg.payload - polecenie

Cześć
Potrzebuję przeszukiwać za każdym razem msg.payload czy jest w niej znak + i wtedy chciałbym to przekierować na inną. Problem jest taki że jak jest ocena 4+, to głośnik nie czyta plusa tylko samo “cztery”, więc muszę mu stworzyć odrębną wiadomość ze słowem “plus”. Tylko jakim poleceniem to zrobić?

obraz

Ja bym użył do tego regexa

Ja użyłbym noda change:

I później w wywołaniu wiadomości jako jej zawartość podałbym msg.plus zamiast msg.payload

Spróbuj tego msg.payload = msg.payload.replace(" plus “,”+"); może przeczyta poprawnie?

edit… pomyłka - odwrotnie: msg.payload = msg.payload.replace("+"," plus");

Z czego czytasz oceny? (z jakiego dziennika?)

Dzienniczek Vulcan, tutaj jest cały temat

finalnie wyszło to tak
obraz

obraz

ale w takiej formie też działa

msg.data.new_state.state = msg.data.new_state.state.replace("+"," plus. ");
msg.data.new_state.state = msg.data.new_state.state.replace("-"," minus. ");
msg.payload=
{
    "data":
    {
    "message": "Kacper Ocena: " +msg.data.new_state.state +" - " +msg.data.new_state.attributes.subject + " " +msg.data.new_state.attributes.date + ", waga: " +msg.data.new_state.attributes.weight +", " +msg.data.new_state.attributes.description,
    }
}
return msg;

Kurcze - ja mam Librusa i tu jest mogiła.

1 Like