[YAMAHA_AVR] - support Thread ab 2022

Begonnen von Beta-User, 27 Oktober 2022, 11:09:41

Vorheriges Thema - Nächstes Thema

flummy1978

Zitat von: Beta-User am 06 Dezember 2022, 17:19:40
Ups...
Habe einen anderen Vorschlag - wir wandeln den gefundenen Wert in diesem Fall auch korrekt in das erwartete Format um?

Die Umsetzung ist eine andere, aber das Ergebnis das Gleiche oder verstehe ich das falsch? Am Ende kommen nur positive Zahlen an und das ist auch gut sonst Ohrenknall  ;D

Beta-User

#31
Zitat von: flummy1978 am 06 Dezember 2022, 19:47:30
Die Umsetzung ist eine andere, aber das Ergebnis das Gleiche oder verstehe ich das falsch? Am Ende kommen nur positive Zahlen an und das ist auch gut sonst Ohrenknall  ;D
Am Ende sind es tendenziell negative Zahlen, da die Receiver wohl eigentlich mit "volumeStraight" arbeiten...

Habe vorsichtshalber beim Testen erst mal keine Soundquelle nudeln lassen, aber das sah' jetzt eigentlich ganz ok aus. Nur die Logik bei "direct" habe ich noch nicht getestet. Die sah irgendwie auch gewöhnungsbedürftig aus...

Wenn keine zeitnahen Einwände kommen, würde ich diese Version dann am WE einchecken.

Nachtrag: Wer nicht die allerletzte Version von hier hatte, muß FHEM neu starten!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

flummy1978

Zitat von: Beta-User am 07 Dezember 2022, 22:16:15
Wenn keine zeitnahen Einwände kommen, würde ich diese Version dann am WE einchecken.
Ich hätte da denke nen Bug, auch wenn er schwer ist zu reproduzieren, weil ich noch nicht weiss, warum ich das Menu einmal gesehen habe.

Bei meinen ganzen Tests ging es ja speziell darum, dass ich eine bestimmte Funktion nach dem Starten des Receivers ausführen wollte. Ich habe dann bei der Suche nach der Befehlssyntax den Befehl "navigateListMenu" entdeckt, den ich bis dato nicht kannte. Ich habe mich gewundert warum nicht und siehe da: In meinem Menu set WZ_Yamaha_ACV ...... taucht dieser Befehl gar nicht auf.  Ich hab ihn aber in der ganzen Testerei 1x auf jeden Fall gesehen. Wenn ich ihn von Hand eintippe funktioniert er einwandfrei.....

Das ist der HTML  Code vom select:
<select id="sel_setWZ_Yamaha_ACV" informid="sel_setWZ_Yamaha_ACV" name="arg.setWZ_Yamaha_ACV" class="set"><option value="3dCinemaDsp">3dCinemaDsp</option>
<option value="adaptiveDrc">adaptiveDrc</option>
<option value="bass">bass</option>
<option value="direct">direct</option>
<option value="displayBrightness">displayBrightness</option>
<option value="dsp">dsp</option>
<option value="enhancer">enhancer</option>
<option value="input">input</option>
<option value="mute">mute</option>
<option value="off">off</option>
<option value="on">on</option>
<option value="rc_2">rc_2</option>
<option value="remoteControl">remoteControl</option>
<option value="scene">scene</option>
<option value="sleep">sleep</option>
<option value="statusRequest">statusRequest</option>
<option value="straight">straight</option>
<option value="treble">treble</option>
<option value="tunerFrequency">tunerFrequency</option>
<option value="volume">volume</option>
<option value="volumeDown">volumeDown</option>
<option selected="selected" value="volumeStraight">volumeStraight</option>
<option value="volumeUp">volumeUp</option>
</select>


Ich habe die Version aus dem oberen Link getestet:

Zitat von: Beta-User am 06 Dezember 2022, 08:11:14
"wget https://svn.fhem.de/trac/export/21538/trunk/fhem/FHEM/71_YAMAHA_AVR.pm -O ./FHEM/71_YAMAHA_AVR.pm"
File             Rev   Last Change

# $Id: 71_YAMAHA_AVR.pm 26762 06.12.2022 Beta-User $

f18.js                     26271 2022-07-29 15:22:05Z rudolfkoenig
fhemweb.js                 26782 2022-12-05 12:36:32Z rudolfkoenig


Auf dem LiveSystem ist diese (mit dem gleichen Fehler)
File             Rev   Last Change

# $Id: 71_YAMAHA_AVR.pm 26762 no more mixed recedents, fixed set 2 05.12.2022 Beta-User $

doif.js                    24438 2021-05-14 18:08:18Z Ellert
fhemweb.js                 26631 2022-10-31 11:17:44Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968
svg.js                     23428 2020-12-27 22:07:20Z rudolfkoenig


VG
Andreas

Beta-User

Das schaue ich mir an, aber bitte ab jetzt mit der aktuellsten Fassung testen (Ohrensaußen-Anlass sollte jetzt vorbei sein...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

flummy1978

Zitat von: Beta-User am 08 Dezember 2022, 17:51:11
Das schaue ich mir an, aber bitte ab jetzt mit der aktuellsten Fassung testen (Ohrensaußen-Anlass sollte jetzt vorbei sein...).

Der Vollständigkeit halber:
Version
File             Rev   Last Change

# $Id: 71_YAMAHA_AVR.pm 26762 07.12.2022 Beta-User $

f18.js                     26271 2022-07-29 15:22:05Z rudolfkoenig
fhemweb.js                 26782 2022-12-05 12:36:32Z rudolfkoenig


Hier ist das Menu sogar noch kürzer:

<option value="displayBrightness">displayBrightness</option>
<option value="mute">mute</option>
<option value="off">off</option>
<option value="on">on</option>
<option value="remoteControl">remoteControl</option>
<option value="sleep">sleep</option>
<option value="statusRequest">statusRequest</option>
<option value="tunerFrequency">tunerFrequency</option>
<option value="volume">volume</option>
<option value="volumeDown">volumeDown</option>
<option value="volumeUp">volumeUp</option><option selected="selected" value="volumeStraight">volumeStraight</option>



NACH dem Starten und Einschalten des Receivers ist die Menuleiste bedeutend länger (weiss nicht ob das Absicht ist - habe ich imho aber so bisher bei keinem Modul gesehen)

<option value="3dCinemaDsp">3dCinemaDsp</option>
<option value="adaptiveDrc">adaptiveDrc</option>
<option value="bass">bass</option>
<option value="direct">direct</option>
<option value="displayBrightness">displayBrightness</option>
<option value="dsp">dsp</option>
<option value="enhancer">enhancer</option>
<option value="input">input</option>
<option value="mute">mute</option>
<option value="navigateListMenu">navigateListMenu</option>
<option value="off">off</option>
<option value="on">on</option>
<option value="pause">pause</option>
<option value="play">play</option>
<option value="preset">preset</option>
<option value="presetDown">presetDown</option>
<option value="presetUp">presetUp</option>
<option value="remoteControl">remoteControl</option>
<option value="scene">scene</option>
<option value="skip">skip</option>
<option value="sleep">sleep</option>
<option value="statusRequest">statusRequest</option>
<option value="stop">stop</option>
<option value="straight">straight</option>
<option value="volumeUp">volumeUp</option><option value="treble">treble</option>
<option value="tunerFrequency">tunerFrequency</option>
<option value="volume">volume</option>
<option value="volumeDown">volumeDown</option>
<option selected="selected" value="volumeStraight">volumeStraight</option>


VG
Andreas


Beta-User

Zitat von: flummy1978 am 08 Dezember 2022, 19:47:28
NACH dem Starten und Einschalten des Receivers ist die Menuleiste bedeutend länger (weiss nicht ob das Absicht ist - habe ich imho aber so bisher bei keinem Modul gesehen)
OK, jetzt kann ich nachvollziehen, was du irritierend findest.
Ja, es ist in der Tat so, dass das Modul praktisch ständig abckecht, welche Befehle grade möglich sind. Das ist dann immer abhängig vom Receiver-Typ, und eben beim Menü dann noch von der Position, an der man sich grade befindet. Zumindest bei Starren auf den Code finde ich das v.a. im Hinblick auf die Menüposition nachvollziehbar, wobei man m.E. "volumeUp" und "..Down" hart reinknödeln könnte. Aber das sind Details am Rande, und nachdem du mich auf das Menü-Thema geschubst hast, werde ich wohl auch die Überlegungen einstellen, an der Methode grundsätzlich was zu ändern...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

flummy1978

Hey,

mhmmm 
Zitat von: Beta-User am 09 Dezember 2022, 15:36:46Das ist dann immer abhängig vom Receiver-Typ, und eben beim Menü dann noch von der Position, an der man sich grade befindet
für die Abhängigkeit vom Receiver Typ macht das wohl vielleicht gar nicht mal so wenig Sinn. Allerdings muss ich das mal in Ruhe testen ob IMMER die gleiche Menuauswahl kommt, wenn der Receiver an ist und sich in einem bestimmten Menue Bereich befindet - Hier hatte ich das Gefühl, dass es unterschiedlich war obwohl ich mich durchgehend im gleichen Bereich befand ( Net Radio -> Senderauswahl oder Net Radio -> Sender läuft)

Aber sicherlich bin ich nicht der Einzige, der das Modul nutzt und vielleicht die ein oder andere Idee hat die er mit uns teit  ;D

VG
Andreas

Grindrand

Hallo zusammen,

ich habe diese frage schon im Anfänger Thread gestellt, dort hat mich Beta-User auf diesen Thread aufmerksam gemacht. Kann es sein das wie Beta-User vermutet der RX-A8A zu neu ist und in Fhem noch nicht integrierbar ist?

Ich habe versucht meinen Yamaha RX-A8A in Fhem einzubinden.
Ein bisschen hat es wohl funktioniert. Er wird mit der richtigen Firmware und System ID und so angezeigt und in den Readings steht unter presence auch present, aber unter state bleibt er absent.
Auch wenn ich ihm einen Befehl schicke kommt immer "could not determine addressed zone!".
Hat jemand einen Tipp wie ich den fehler finde?

mfg Christoph

Beta-User

Na ja, wenn man in den Code schaut, kommt diese Rückmeldung nur, wenn das Modul keine Zonen erkennen kann, also das Internal ACTIVE_ZONE nicht gefüllt ist und auch nichts im helper-Hash unter "ZONES" steht.
Wenn sonst keiner so ein Gerät hat, musst du zumindest mal soweit in den Code schauen, dass du verstehst, wie diese Infos (ganz allgemein) gelesen und geschrieben werden (ich muss mich dazu auch "unter das Auto legen", weil ich das Modul auch nur behelfsweise übernommen habe).
Ein erster Schritt könnte sein, dass du mal ein vollständiges "list" (oder copy for forum) von dem Gerät lieferst (bitte durchschauen, ob da irgendwelche geheimhaltungsbedürftigen Dinge drin stehen und die (erkennbar) "schwärzen").

Mal ein erster Schuss ins Blaue... Es gibt anscheinend ein paar "spezielle" Modelle, die irgendwelche zusätzlichen Funktionen haben. Da gehört deiner dann vielleicht auch dazu?

Bitte für diesen Test die Funktion "_isModel_DSP" komplett durch das hier ersetzen:
sub _isModel_DSP {
    my $hash = shift // return;

    return 0 if !exists $hash->{MODEL};
    return 1 if $hash->{MODEL} =~ m{DSP-Z|RX-Z|RX-V2065|RX-V3900|DSP-AX3900|RX-A8A};
    return 0;
}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

marboj

Hallo zusammen,

habe seit gestern einen RX-V4A, der die gleiche Fehlermeldung hat wie der A8A.

Habe die Funktion ersetzt. Leider ist der Fehler noch immer da.

Hier das Listing des Geräts:

Internals:
   DEF        192.168.0.77 mainzone
   FIRMWARE   1.62/3.14
   FUUID      6464e0d8-f33f-698a-fcce-ea08324bd7aa15a3
   MODEL      RX-V4A
   NAME       RXV4A
   NR         511
   STATE      ???
   SYSTEM_ID  07A5CCD3
   TYPE       YAMAHA_AVR
   READINGS:
     2023-05-17 16:29:53   presence        present
   helper:
     ADDRESS    192.168.0.77
     AVAILABLE  1
     OFF_INTERVAL 30
     ON_INTERVAL 30
     RUNNING_REQUEST 0
     SELECTED_ZONE mainzone
     XML        /YamahaRemoteControl/desc.xml
     CMD_QUEUE:
Attributes:
   model      RX-V4A

Hat noch jemand eine Idee?

Gruß
Marco
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

Beta-User

"ersetzt" bedeutet: Du hast auch deine Modellbezeichnung in der regex ergänzt?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

marboj

Yepp

sieht so aus:

sub _isModel_DSP {
    my $hash = shift // return;

    return 0 if !exists $hash->{MODEL};
    return 1 if $hash->{MODEL} =~ m{DSP-Z|RX-Z|RX-V2065|RX-V3900|DSP-AX3900|RX-V4A};
    return 0;
}
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

Beta-User

#42
Hmmm, sieht so aus, also würden diese Modelle dann wohl irgendwas grundsätzlich anders machen als die älteren...
Um uns der Sache zu nähern, könntest du mal mitschneiden, was da so an Antworten auf alle möglichen Anfragen und Kommandos kommt. Sollte mit folgendem Schnippsel nach Zeile 1480 eingefangen werden können:
    Log3( $hash, 3, "$name received data for param " . toJSON($param) . " (error info $err): $data" );Ich hoffe, da kommen keine unerwarteten Datentypen und werde in jedem Fall nicht gleich dazu kommen, das ggf. mit dem zu vergleichen, was mein Receiver (auf den die regex nicht paßt) so macht...
Wichtig: Unbedingt in die Liste "GP_Import" (ab Zeile 47) "toJSON" einfügen, sonst schmiert euch FHEM ab!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

marboj

Kannst Du ein wenig ausführlicher beschreiben, was ich zu tun habe? Möchte gerne helfen, bin aber nicht so fit.

Also den Schnipsel nach Zeile 1480 im Modul einfügen - bekomme ich hin

und dann?
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

Beta-User

#44
Na ja, das schreibt erst mal nur mit, was an Infos vom Receiver zurückkommt (verbose-Level 3). ZU finden dann im normalen FHEM-Log.

Was man damit dann anfangen kann, weiß ich auch noch nicht, wenn sich niemand findet, der mehr Ahnung von sowas hat wie meinereiner (bin ausdrücklich nur die Notlösung!), werde ich die Zeile mal Anfang kommender Woche bei meinem AVR aktivieren um zu verstehen, wie das Modul überhaupt tickt und was da ggf. erwartet wird (zumindest bei den "ganz alten" Modellen...).
Vielleicht findet sich dann ein Anpack, vielleicht auch nicht.

Nachtrag: Und bitte den Hinweis auf GP_Import beachten!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files