FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: HansDampfHH am 13 September 2015, 12:41:22

Titel: Wie bekomme ich STATE aus statusRequest?
Beitrag von: HansDampfHH am 13 September 2015, 12:41:22
Hallo, ich möchte  den Status von MPD auf meinem Raspberry abfragen.
Unter Internals oder auch Readings habe ich den Eintrag STATE mit STOP oder PLAY.

Wenn ich nun get MyMPD statusRequest bekomme ich eine Liste aller Zustände.
Aber wie kann ich nun nur STATE abfragen?
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: Puschel74 am 13 September 2015, 13:34:36
Und auch hier:
EventMonitor und das Ergebniss zeigen.
Nicht alle benutzen MPD aber wenn du deine Frage auf diesen Personenkreis einengen willst solltest du unter Multimedia posten.
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: HansDampfHH am 13 September 2015, 14:04:03
Hm, ich stehe da leider noch auf dem Schlauch.
Vielleicht kannst du mir bitte noch mal etwas auf die Sprünge helfen.

Auf dem Raspberry läuft ein Radiostream mit MPD.
Das ist in FHEM auch eingebunden. Nun möchte ich bei einer Aktion vorher schauen, ob der STATE von MPD auf PLAY oder STOP steht.
Also etwas in der Art: if( getState MyMPD=='PLAY')

Mit getState bekomme ich aber:
bitrate:192 consume:0 elapsed:3.709 id:105 mixrampdb:0.000000 nextsong:17 nextsongid:2 playlist:6381 playlistlength:105 pos:104 random:0 repeat:0 single:0 song:104 songid:105 volume:75

Den STATE bekomme ich so nicht.

Mit statusRequest bekomme ich das hier:
volume: 75
repeat: 0
random: 0
single: 0
consume: 0
playlist: 6381
playlistlength: 105
mixrampdb: 0.000000
state: stop
song: 104
songid: 105

Wie kann ich das "state" direkt auslesen?

Der Hinweis mit dem Event Monitor hilft mir nicht, zumindest weiß ich nicht genau wie du das meinst.
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: igami am 13 September 2015, 14:09:26
http://fhem.de/commandref#perl

Es würde auch helfen wenn man weiß wie du das weiter verarbeiten willst, sonst kommt dann vielleicht: "Ja, das funktioniert, kann ich so aber nicht gebrauchen."
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: stromer-12 am 13 September 2015, 14:13:48
Hilft dir:
Zitat
InternalVal(<devicename>,<reading>,<defaultvalue>)
Gibt den Inhalt der "internal" zurück (den Inhalt der in dem "Internals"-Abschnitt von "list device" angezeigt wird)
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: HansDampfHH am 13 September 2015, 14:16:05
Hm, also ich möchte das ja nicht weiterverarbeiten.

Szenario ist folgendes:
Es läuft auf dem Raspberry Volumio und entsprechend ein Radiostream.
Nun möchte ich bei einer bestimmten Aktion eine TTS Ansage über die Lautsprecher ausgeben.

Wenn das Radio allerdings an ist kann man die TTS Stimme kaum verstehen.
Daher möchte ich folgendes:

IF MPD==Play
  STOP Radio
  PLAY Ansage
  PLAY Radio
ELSE
  PLAY ANSAGE

Also ich möchte eben das Radio vor der Ansage stoppen, aber eben nur wenn es auch läuft und hinterher wieder anstellen.

Mir reicht also einfach nur zu wissen wie der Zustand von MPD ist, also PLAY oder STOP.
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: HansDampfHH am 13 September 2015, 14:30:28
Okay, konnte ich klären.
Vielen Dank für den Hinweis !

{InternalVal("MyMPD","STATE","")}

oder

{ReadingsVal("MyMPD", "state", "")}

oder

Value(<devicename>)
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: igami am 13 September 2015, 14:40:50
Zitat von: HansDampfHH am 13 September 2015, 14:16:05
Also ich möchte eben das Radio vor der Ansage stoppen, aber eben nur wenn es auch läuft und hinterher wieder anstellen.
Und womit machst du das? DOIF kann die Readings nämlich auf andere Art abfragen.

Der Vollständigkeit halber noch
Zitat
Value(<devicename>)
returns the state of the device (the string you see in paranthesis in the output of the list command).
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: HansDampfHH am 13 September 2015, 15:21:10
Oh man, das ist ja noch simpler und funktioniert:
Value(<devicename>)

Die Doku ist echt zu umfangreich, man weiß nie wo man suchen soll ;-)
Danke für den Hinweis !!!
Titel: Antw:Wie bekomme ich STATE aus statusRequest?
Beitrag von: igami am 13 September 2015, 15:35:12
Zitat von: HansDampfHH am 13 September 2015, 15:21:10
Die Doku ist echt zu umfangreich, man weiß nie wo man suchen soll ;-)

Das lernt man mit der Zeit ;)