Yamaha RX-V755 akzeptiert letztes Enter nicht

Begonnen von hadenia, 12 Januar 2022, 19:54:38

Vorheriges Thema - Nächstes Thema

hadenia

Habe meinen Yamaha RX-V755 in FHEM eingebunden und möchte über den server Eingang einen bestimmten Radiosender abspielen, der per UPNP von der Fritzbox zur Verfügung gestellt wird.
Der Radiosender wird durch das Notify wie gewünscht ausgewählt, aber nicht abgespielt.
Wenn ich statt Notify per per Fernbedienung den Sender auswähle, ist ein Druck auf die Enter-Taste der Fernbedienung notwendig, wenn der geünschte Sender im Display des Receivers erscheint, damit er dann auch abgespielt wird.

Mein Problem: Der Sender wird bei ausführen des Notifys ausgewählt, den Tastendruck möchte ich durch den entsprechenden AUfruf simulieren, aber dieser letzte Befehl
set Yamaha_RX_V775 remoteControl enter
wird hartnäckig ignoriert. Der Sender wird nicht abgepielt.

Wenn ich nach dem Abarbeiten des Notify den o.g. Befehl in der Kommandozeile eingebe, führt der Receiver den Befehl aus und der Sender wird abgespielt.

Das Notify, welches den Sender wählen und abspielen soll:



Internals:
   DEF        Switch_YamahaRXV775:o[nf]+ {if($EVENT eq "on") {fhem("set Yamaha_RX_V775 on;sleep 3;set Yamaha_RX_V775 navigateListMenu AVM_Mediaserver_240/Internetradio/EsenciaFM;sleep 5;set Yamaha_RX_V775 remoteControl enter;sleep 1;set Yamaha_RX_V775 remoteControl enter");}elsif($EVENT eq "off"){fhem("set Yamaha_RX_V775 off")}}
   FUUID      61def446-f33f-9228-5da8-112c8c5d423420ac
   NAME       YamahaRXV775
   NOTIFYDEV  Switch_YamahaRXV775
   NR         159
   NTFY_ORDER 50-YamahaRXV775
   REGEXP     Switch_YamahaRXV775:o[nf]+
   STATE      2022-01-12 19:33:46
   TRIGGERTIME 1642012426.19676
   TYPE       notify
   READINGS:
     2022-01-12 19:33:33   state           active
     2022-01-12 19:33:46   triggeredByDev  Switch_YamahaRXV775
     2022-01-12 19:33:46   triggeredByEvent on
Attributes:
   room       Multimedia_Wohnzimmer


Hat jemand eine Idee, wie ich den Receiver dazu bekomme, den Sender nicht nur zu wählen sondern auch abzuspielen?

Im Voraus vielen Dank für alle Tipps"

Beta-User

Vermutlich sind da ein paar Semikolon zu wenig verteilt:
(aus commandref_DE.html#command):
Zitat
Mehrere FHEM-Kommandos hintereinander werden mittels Semikolon ( ; ) getrennt. Weil Semikola auch in perl-Code oder Shell-Programmen benutzt werden, müssen sie mittels doppelten Semikola geschützt werden. Lesen Sie sich bitte die Bemerkungen des notify-Abschnittes zu Kommandoparametern und Regeln durch.Z.B. schaltet die erste der folgenden Befehlszeilen die Lampe 1 nur/erst zur Uhrzeit 07:00 Uhr aus, die Lampe 2 aber sofort und die zweite Befehlszeile schaltet Lampe 1 und 2 um 7:00 Uhr gleichzeitig aus.

       
  • define lampoff at 07:00 set Lamp1 off; set Lamp2 off
    define lampoff at 07:00 set Lamp1 off;; set Lamp2 off
Für jede weitere Indirektion muss man die Strichpunkte verdoppeln. Um also die beiden Lampen um 7:00 für 10 Minuten einzuschalten schreibt man:

       
  • define onAt at 07:00 set Lamp1 on;;set Lamp2 on;; define offAt at +00:10 set Lamp1 off;;;;set Lamp2 off
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hadenia

Hallo, vielen Dank für den Tipp. Ich tue mich ohnehin mit Perl schwer und habe bzgl. der Syntax schon einiges probiert, leider erfolglos. Habe es jetzt auch noch einmal mit dopelten ";" probiert, aber wie zuvor wird der letzte Befehl zum simulieren der Enter-Taste nicht ausgeführt. HHHmmmmm......

Beta-User

Zitat von: hadenia am 14 Januar 2022, 12:34:34
Hallo, vielen Dank für den Tipp. Ich tue mich ohnehin mit Perl schwer und habe bzgl. der Syntax schon einiges probiert, leider erfolglos. Habe es jetzt auch noch einmal mit dopelten ";" probiert, aber wie zuvor wird der letzte Befehl zum simulieren der Enter-Taste nicht ausgeführt.
Es wäre wie üblich einfacher, wenn du konkreter rückmelden könntest, wo du wie viele Semikola verteilt hast...

Wenn meine Vermutung stimmt, sollte es so sein:
   DEF        Switch_YamahaRXV775:o[nf]+ {if($EVENT eq "on") {fhem("set Yamaha_RX_V775 on;sleep 3;set Yamaha_RX_V775 navigateListMenu AVM_Mediaserver_240/Internetradio/EsenciaFM;;sleep 5;;set Yamaha_RX_V775 remoteControl enter;;;;sleep 1;;;;set Yamaha_RX_V775 remoteControl enter");}elsif($EVENT eq "off"){fhem("set Yamaha_RX_V775 off")}}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hadenia

Hallo, nochmals vielen Dank. Klappt leider noch nicht. Für mich sieht es so aus, dass das notify nach diesem Befehl nicht mehr weiter ausgeführt wird:
AVM_Mediaserver_240/Internetradio/EsenciaFM
Am Receiver werden die abgespeicherten Radiosender angezeigt, aber dann passiert nichts mehr.
Wenn ich dann 2x Enter auf der Fernbedienung drücke oder 2x
set Yamaha_RX_V775 remoteControl enter
eingebe, wird der gewünschte Sender ausgewählt (ist der erste in der Liste) und abgespielt.
Also diese Sequenz wird nicht ausgeführt:
;;sleep 5;;set Yamaha_RX_V775 remoteControl enter;;;;sleep 1;;;;set Yamaha_RX_V775 remoteControl enter

Beta-User

Hmm, habe jetzt mal mit etwas dummy-Magie rumgespielt, und jedenfalls lt. Event-Monitor scheint das so zu gehen:

defmod n_test3 notify devstrich0:o[nf]+ {if ( $EVENT eq 'on' ) {fhem('set devstrich0 on1;;sleep 3;;set devstrich0 navigateListMenu AVM_Mediaserver_240/Internetradio/EsenciaFM ;;sleep 5;;set devstrich0 remoteControl enter;;sleep 1;;set devstrich0 remoteControl enter');;}elsif($EVENT eq 'off'){fhem('set devstrich0 off1')}}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors