NEWS
Pioneer AV-Receiver fernbedienen
-
Ich möchte einen Pioneer AV-Receiver von der Visualisierung iQontrol aus bedienen.
Der richtige iOBroker Adapter (Onkyo) ist installiert und funktioniert.Um eine Internetradiostation auszuwählen, muss ich erst in einem Menu z.B. TuneIn anwählen und dann im nächsten die gewünschte Radiostation.
Das geht leider nicht direkt, sondern nur durch betätigen einer "Up" bzw. "Down"-Taste.
Ich muss so oft auf "Media Down" drücken, bis in "Navigation Summary" der Wert "4/12" steht und dann mit "MediaSelect" bestätigen.Ich möchte also durch einen Befehl von iQontrol einmalig ein Script ausführen, um die Menuauswahl zu tätigen.
Ich habe einen Datenpunkt erzeugt "TuneIn_auswählen", den ich von iQontrol umschalte.Das ist meine erste Idee dazu:

Funktioniert natürlich nicht.
Was mache ich falsch. -
Ich möchte einen Pioneer AV-Receiver von der Visualisierung iQontrol aus bedienen.
Der richtige iOBroker Adapter (Onkyo) ist installiert und funktioniert.Um eine Internetradiostation auszuwählen, muss ich erst in einem Menu z.B. TuneIn anwählen und dann im nächsten die gewünschte Radiostation.
Das geht leider nicht direkt, sondern nur durch betätigen einer "Up" bzw. "Down"-Taste.
Ich muss so oft auf "Media Down" drücken, bis in "Navigation Summary" der Wert "4/12" steht und dann mit "MediaSelect" bestätigen.Ich möchte also durch einen Befehl von iQontrol einmalig ein Script ausführen, um die Menuauswahl zu tätigen.
Ich habe einen Datenpunkt erzeugt "TuneIn_auswählen", den ich von iQontrol umschalte.Das ist meine erste Idee dazu:

Funktioniert natürlich nicht.
Was mache ich falsch.@Cephalopod sagte: Was mache ich falsch.
Du erzeugst mit "wiederhole bis" eine Endlosschleife.
Müssen die Button wirklich auf false gesetzt werden?
Wie verhält sich "Navigation Summery" bei "Media Down" bzw. "Media Up"? -
@Cephalopod sagte: Was mache ich falsch.
Du erzeugst mit "wiederhole bis" eine Endlosschleife.
Müssen die Button wirklich auf false gesetzt werden?
Wie verhält sich "Navigation Summery" bei "Media Down" bzw. "Media Up"?@paul53 sagte in Pioneer AV-Receiver fernbedienen:
Wie verhält sich "Navigation Summery" bei "Media Down" bzw. "Media Up"?
Der Zählt hoch mit jedem manuellen Tastendruck und fängt nach 12 wieder mit 1 an.
Also 1/12, 2/12, 3/12, ... 12/12, 1/12, ...@paul53 sagte in Pioneer AV-Receiver fernbedienen:
Müssen die Button wirklich auf false gesetzt werden?
Bin mir nicht sicher. Muss das bei "Buttons" im iOBroker nicht gemacht werden?
Wie werden die denn im Script betätigt? Mit "Steuere"? -
@paul53 sagte in Pioneer AV-Receiver fernbedienen:
Wie verhält sich "Navigation Summery" bei "Media Down" bzw. "Media Up"?
Der Zählt hoch mit jedem manuellen Tastendruck und fängt nach 12 wieder mit 1 an.
Also 1/12, 2/12, 3/12, ... 12/12, 1/12, ...@paul53 sagte in Pioneer AV-Receiver fernbedienen:
Müssen die Button wirklich auf false gesetzt werden?
Bin mir nicht sicher. Muss das bei "Buttons" im iOBroker nicht gemacht werden?
Wie werden die denn im Script betätigt? Mit "Steuere"?@Cephalopod sagte: Muss das bei "Buttons" im iOBroker nicht gemacht werden?
Normalerweise nicht, denn es genügt die Aktualisierung des Zeitstempels beim konstanten Wert true.
@Cephalopod sagte in Pioneer AV-Receiver fernbedienen:
Wie werden die denn im Script betätigt?
Eine Bestätigung erfolgt durch den Adapter. Adapter-Datenpunkte müssen mit "steuere" geschrieben werden, damit gesendet wird.
Wenn du eine Schleifen verwenden möchtest, dann benötigst du innerhalb der Schleife eine ausreichend lange Pause, etwa so:

-
Suuuuper, das war es.
1000 Dank!!! -
Kurze Nachfrage:
Wieso tauchen diese Meldungen im Protkoll auf?
-
Kurze Nachfrage:
Wieso tauchen diese Meldungen im Protkoll auf?
@Cephalopod sagte: Wieso tauchen diese Meldungen im Protkoll auf?
Offenbar schreibst du nicht den Logikwert wahr in den DP "Media Select", sondern einen String.
-
Kurze Nachfrage:
Wieso tauchen diese Meldungen im Protkoll auf?
@Cephalopod sagte in Pioneer AV-Receiver fernbedienen:
Wieso tauchen diese Meldungen im Protkoll auf?
wie beschreibst du denn
mediaselect? -
@Cephalopod sagte in Pioneer AV-Receiver fernbedienen:
Wieso tauchen diese Meldungen im Protkoll auf?
wie beschreibst du denn
mediaselect?@Homoran sagte in Pioneer AV-Receiver fernbedienen:
wie beschreibst du denn mediaselect?
Wie oben.
Mit "Steuere Media Select mit wahr"
Das ist das aktuelle Script.
Die Zeiten musste ich anpassen, das Umschalten dauert etwas.
-
@Homoran sagte in Pioneer AV-Receiver fernbedienen:
wie beschreibst du denn mediaselect?
Wie oben.
Mit "Steuere Media Select mit wahr"
Das ist das aktuelle Script.
Die Zeiten musste ich anpassen, das Umschalten dauert etwas.
@Cephalopod sagte in Pioneer AV-Receiver fernbedienen:
Mit "Steuere Media Select mit wahr"
sonst läuft nichts parallel?
Mit dem Skript sollte fiese Meldung nicht kommen.
-
@Cephalopod sagte in Pioneer AV-Receiver fernbedienen:
Mit "Steuere Media Select mit wahr"
sonst läuft nichts parallel?
Mit dem Skript sollte fiese Meldung nicht kommen.
@Homoran sagte in Pioneer AV-Receiver fernbedienen:
sonst läuft nichts parallel?
Nein, das ist das einzige Script, was die DP verwendet
@Homoran sagte in Pioneer AV-Receiver fernbedienen:
Mit dem Skript sollte fiese Meldung nicht kommen.
Tut es aber, komisch. Und warum nur als 'Info' und nicht als Fehler?
Mal was anderes: Werden die Zeilen im Script wirklich von oben nach unten nacheinander ausgeführt?
Wenn da also Pause steht, folgt die nächste Zeile erst nach der Wartezeit?Und noch was:
Wie baue ich eine Variable in einen Textstring ein?
Wenn ich unterschiedliche Listeneinträge auswählen möchte, also das eine Mal "3/12" und das nächste Mal "7/12", wie wäre das am geschicktesten? -
@Homoran sagte in Pioneer AV-Receiver fernbedienen:
sonst läuft nichts parallel?
Nein, das ist das einzige Script, was die DP verwendet
@Homoran sagte in Pioneer AV-Receiver fernbedienen:
Mit dem Skript sollte fiese Meldung nicht kommen.
Tut es aber, komisch. Und warum nur als 'Info' und nicht als Fehler?
Mal was anderes: Werden die Zeilen im Script wirklich von oben nach unten nacheinander ausgeführt?
Wenn da also Pause steht, folgt die nächste Zeile erst nach der Wartezeit?Und noch was:
Wie baue ich eine Variable in einen Textstring ein?
Wenn ich unterschiedliche Listeneinträge auswählen möchte, also das eine Mal "3/12" und das nächste Mal "7/12", wie wäre das am geschicktesten?@Cephalopod sagte in Pioneer AV-Receiver fernbedienen:
Tut es aber, komisch. Und warum nur als 'Info' und nicht als Fehler?
zeig mal die Objektdaten von dem DP
-
@Cephalopod sagte in Pioneer AV-Receiver fernbedienen:
Tut es aber, komisch. Und warum nur als 'Info' und nicht als Fehler?
zeig mal die Objektdaten von dem DP
@Homoran sagte in Pioneer AV-Receiver fernbedienen:
@Cephalopod sagte in Pioneer AV-Receiver fernbedienen:
Tut es aber, komisch. Und warum nur als 'Info' und nicht als Fehler?
zeig mal die Objektdaten von dem DP
Bitteschön:
{ "_id": "onkyo.0.Device.MediaDown", "type": "state", "common": { "name": "Media Down", "type": "boolean", "role": "button", "read": true, "write": true, "def": false }, "from": "system.adapter.onkyo.0", "ts": 1770564562277, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "user": "system.user.admin" } -
Kurze Nachfrage:
Wieso tauchen diese Meldungen im Protkoll auf?
@Cephalopod sagte: Wieso tauchen diese Meldungen im Protkoll auf?
Die Quelle der Meldungen ist nicht das Skript, sondern der Onkyo-Adapter selbst. Setze die Log-Stufe der Instanz "onkyo.0" auf "warn", dann sollten die Meldungen verschwinden.
Auszug aus der Datei main.js:// NET USB Down if (id === adapter.namespace + '.' + 'Device.MediaDown') { let new_val = state.val; if (new_val == true) { new_val = 'DOWN'; } new_val = 'NTC' + new_val; adapter.log.debug('new_val: ' + new_val); adapter.setState(adapter.namespace + '.' + 'Device.command', {val: new_val, ack: false}); adapter.setState(adapter.namespace + '.' + 'Device.MediaDown', {val: "", ack: true}); }Der Adapter schreibt einen Leerstring in den Datenpunkt.
-
@Cephalopod sagte: Wieso tauchen diese Meldungen im Protkoll auf?
Die Quelle der Meldungen ist nicht das Skript, sondern der Onkyo-Adapter selbst. Setze die Log-Stufe der Instanz "onkyo.0" auf "warn", dann sollten die Meldungen verschwinden.
Auszug aus der Datei main.js:// NET USB Down if (id === adapter.namespace + '.' + 'Device.MediaDown') { let new_val = state.val; if (new_val == true) { new_val = 'DOWN'; } new_val = 'NTC' + new_val; adapter.log.debug('new_val: ' + new_val); adapter.setState(adapter.namespace + '.' + 'Device.command', {val: new_val, ack: false}); adapter.setState(adapter.namespace + '.' + 'Device.MediaDown', {val: "", ack: true}); }Der Adapter schreibt einen Leerstring in den Datenpunkt.
@paul53 sagte in Pioneer AV-Receiver fernbedienen:
Setze die Log-Stufe der Instanz "onkyo.0" auf "warn", dann sollten die Meldungen verschwinden
Prima, damit kann ich leben
@paul53 sagte in Pioneer AV-Receiver fernbedienen:
Der Adapter schreibt einen Leerstring in den Datenpunkt.
Also "schlampig" Programmiert?
-
@paul53 sagte in Pioneer AV-Receiver fernbedienen:
Setze die Log-Stufe der Instanz "onkyo.0" auf "warn", dann sollten die Meldungen verschwinden
Prima, damit kann ich leben
@paul53 sagte in Pioneer AV-Receiver fernbedienen:
Der Adapter schreibt einen Leerstring in den Datenpunkt.
Also "schlampig" Programmiert?
@Cephalopod sagte: Also "schlampig" Programmiert?
Sieht so aus. Ich hätte die Button so programmiert:
// NET USB Down if (id === adapter.namespace + '.Device.MediaDown' && state.val === true) { const new_val = 'NTCDOWN'; adapter.log.debug('new_val: ' + new_val); adapter.setState(adapter.namespace + '.Device.command', {val: new_val, ack: false}); }