Wie bekomme ich STATE aus statusRequest?

Begonnen von HansDampfHH, 13 September 2015, 12:41:22

Vorheriges Thema - Nächstes Thema

HansDampfHH

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?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Puschel74

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.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

HansDampfHH

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.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

igami

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."
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

stromer-12

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)
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

HansDampfHH

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.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

HansDampfHH

#6
Okay, konnte ich klären.
Vielen Dank für den Hinweis !

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

oder

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

oder

Value(<devicename>)
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

igami

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).
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

HansDampfHH

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 !!!
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

igami

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 ;)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED