Lautsprecher - Klingel und ein IST Zustand

Moin Community,

ich habe in Node Red meinen Lautsprecher mit der Klingel verbunden.


Das funktioniert auch wunderbar; es klingelt, die Lautstärke wird auf 50% gesetzt, ein MP3 abgespielt und eine Nachricht an die Smartphones. :+1:

Jetzt ist es allerdings so, wenn ich vorher Radio höre auf dem Lautsprecher (Lautstärke 20%, Radio Simon42) und es klingelt, läuft das oben genannte Protokoll ab. Am Ende des ganzen, wird weder das Radio wieder abgespielt noch die Lautstärke auf den vorherigen Zustand gebracht.

Nun ist meine Frage, wie bekomme ich einen “Ist-Zustand” heraus, den ich nach dem Ablauf der Klingelfunktion wieder herstellen kann?

Über eure Hilfe bin ich dankbar.

Viele Grüße

Moin,
von dein klingel Nodes würde ich in eine current_state Node gehen und dann in eine function Node um die wichtigen werte “zwischenzuspeichern”
image
in der function Node habe ich das rein geschrieben:

var volume = msg.data.attributes.volume_level
var media = msg.data.attributes.media_content_id
var content = msg.data.attributes.media_content_type
flow.set("volume", volume);
flow.set("media", media);
flow.set("content", content);
return msg;

Am ende gehst du dann in 2 Call Service Nodes rein (Data auf “JSON” Stellen bei beiden):


bei volume_set kommt das bei Data rein:

{"volume_level":"{{{flow.volume}}}"}

beim play_media kommt das in Data rein:

{"media_content_id":"{{{flow.media}}}","media_content_type":"{{{flow.content}}}"}

Und dann sollte es hoffentlich laufen.

LG
Tobi

1 „Gefällt mir“

Moin @totow

in der debug Node zeigt mir mein Lautsprecher “off” oder “playing” an. Mehr Daten werden durch den Current State nicht geschickt.

Dan stell deine Debug Node mal um die zeigt dir grad nur msg.payload an.
image
oder ist bei deiner Current State nicht automatisch msg.data mit gesetzt?
image

LG

1 „Gefällt mir“

Dankeschön @totow

Das werde ich heute Abend mal intensiv testen.

Klingelauslösung => Dein Current State + Funktion Node => Meine Lautstärke + Song => Deine Call Services zur Wiederherstellung

@totow NACHTRAG
Das hat funktioniert :+1:

1 „Gefällt mir“