FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: DJ-Dan am 23 Juli 2018, 18:13:09

Titel: Device Reading -> Dummy zuweisen
Beitrag von: DJ-Dan am 23 Juli 2018, 18:13:09
Hallo zusammen,
irgendwie finde ich nichts was mein Problem lösen kann. Falls ich damit falsch liege seht es mir bitte nach.

Nun zu meinem "Problem":

Ich habe meine Tablet UI fertig gemacht und benötige nun für eine anzeige ein welches Radio bei meinem ECHO läuft ein Dummy das zwei Readings meines Echo Devices annimmt.
Im Bild ein Ausschnitt des Echo-Devices.

Wenn Radio auf den Echo Devices läuft ändert sich der playStatus auf playing und in tunein steht die Radio ID.
Nun muss der Dummy wenn playStatus=playing ist den wert tunein (Radio ID) annehmen und wenn playingStatus=paused ist dann soll im Dummy paused stehen oder etwas anderes das ist egal.

Kann mir dazu jemand weiterhelfen?

Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: Amenophis86 am 23 Juli 2018, 19:06:00
Warum so kompliziert? Greif doch mit FTUI direkt auf die Readings des vorhandenen Device zu.

Weiterhin bitte ich dich keine Screenshots zu posten, sondern entsprechender Anforderungen (siehe angepinnte Beiträge) deine Informationen zur Verfügung zu stellen. Danke :)
Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: DJ-Dan am 23 Juli 2018, 19:18:40
Vielen Dank Amenophis86 für die schnelle Antwort,
klar kann ich das Device bzw das Reading direkt abfragen jedoch habe ich eine Auswahlliste eingebunden mittels der ich mein Radio einschalte. Sprich es gibt z.B. die Auswahlmöglichkeiten "1Live, BigFM,..." wenn ich jedoch das Radio aushalte. Bleibt derzeit bei mir das letzte Radio stehe da sich bei dem Echo Device die tunein ID nicht löscht.

<div class="cell" data-type="push" data-device="ECHO_85256ec022ac45199f48d36054284bc6" data-icon="fa-amazon" data-set-on="pause" data-get="playStatus" data-get-on="playing" data-get-off="paused"></div>
<div data-type="label">Sender</div>
<div class="cell" data-type="select" data-device="ECHO_85256ec022ac45199f48d36054284bc6" data-items='["s25260","s84203","s10249","s189305"]' data-alias='["1Live","BigFM","FantasyDanceFM","ILoveMashup"]' data-get="tunein" data-set="tunein"></div>


Daher wollte ich es mit einem Dummy lösen der sowohl die tunein ID annimmt oder den playStatus
Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: australien am 23 Juli 2018, 20:44:22
wenn du es mit einem dummy lösen willst, würde ich eine DOIF nehmen

etwa so
DOIF  playingStatus=paused  set dummy <tuneinID> DOELSE set dummy paused  [code]
Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: DJ-Dan am 23 Juli 2018, 21:08:57
Danke @australien!
Soweit war ich bis dato auch. Jedoch fehlt mir halt genau der teil ab "set dummy..."
Wie setze ich denn den dummy mit dem playStatus Reading oder dem tunein Reading vom Echo?
Ich muss halt den aktuellen Wert vom Echo übernehmen.
Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: rischbiter123 am 23 Juli 2018, 21:43:00
Moin, ich würde es folgendermaßen probieren:

mit einem notify auf playingStatus reagieren,
dessen Status als Variable an eine Funktion in 99_myUtils übergeben,
dort den Wert von tunein in eine zweite Variable einlesen,
dann:
if playingStatus ne paused
set dummy zweite Variable
else
set dummy Pause o.ä.
Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: australien am 23 Juli 2018, 23:34:54
Zitat von: DJ-Dan am 23 Juli 2018, 21:08:57

Soweit war ich bis dato auch. Jedoch fehlt mir halt genau der teil ab "set dummy..."
Wie setze ich denn den dummy mit dem playStatus Reading oder dem tunein Reading vom Echo?
Ich muss halt den aktuellen Wert vom Echo übernehmen.

sollte so ähnlich funktionieren
set dummy {ReadingsVal('<Echo_Device>','<Readings>','')}

damit sollte der Wert des Readings in den Dummy geschrieben werden.
Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: Amenophis86 am 24 Juli 2018, 07:18:31
Folgende Dinge in der CommandRef können dir helfen:
https://fhem.de/commandref_DE.html#perl
https://fhem.de/commandref_DE.html#setreading

Und ob DOIF, notify, Dummy oder ganz anders bleibt dir überlassen. Viele Wege führen nach Rom. Ich werfe zB noch mal userreading ins Rennen:
https://fhem.de/commandref_DE.html#userReadings
Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: Otto123 am 24 Juli 2018, 18:37:53
Zitat von: australien am 23 Juli 2018, 23:34:54
sollte so ähnlich funktionieren
set dummy {ReadingsVal('<Echo_Device>','<Readings>','')}

damit sollte der Wert des Readings in den Dummy geschrieben werden.
Ich würde mal etwas nachkorrigieren :)
https://commandref.fhem.de/commandref_DE.html#set
Zitat{(perlExpression)} mit dem Ergebnis der perlExpression.
set dummy {(ReadingsVal('<Echo_Device>','<Readings>',''))}


Gruß Otto
Titel: Antw:Device Reading -> Dummy zuweisen
Beitrag von: DJ-Dan am 25 Juli 2018, 19:38:26
Vielen vielen Danke an Otto123
genau das habe ich gesucht. Irgendwie hatte meine Variante nicht funktioniert!