Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Plugin: AV Device (für Yamaha, Pioneer, Denon, etc.)
Ein erster Test sieht schon mal gut aus.. Gib mir aber noch paar Tage.. muss jetzt erstmal die Items aufbohren und die SmartVISU anbinden.. Bisher schalte ich via Backend.
Ideen wie ich am Denon rauskriegen kann, was gerade spielt?
Ist das sicher so? Bei meinen Pioneers hatte ich da nie Probleme. Meinen Denon steuer ich über RS232. Also wenn der Raspi in der Nähe ist, einfach billigen USB-Adapter kaufen und geht.. zumal man den Receiver auch sofort steuern kann, wenn die Steckdose gerade erst eingeschaltet wurde..
Bis zu einer gewissen Gerätegeneration kann der VSX nur eine Verbindung. Ich habe bspw eine 921, der kann auch nur eine Verbindung (Telnet, OriginalApp oder shNG). Die nächste Generation (922) sollte mehrere können.
im Log steht:
INFO Main Deactivating logic: avdevice-serial-reconnect
INFO Main Deactivating logic: avdevice-tcp-reconnect
ERROR avdevice Initializing : Neither IP address nor RS232 port given. Not running.
Onkelandy
Mit dem aktuellen Develop habe ich es zum Laufen gebraucht.
Mir sind noch ein paar Dinge aufgefallen bzw. habe ich es nicht verstanden, wie es angewendet wird.
Es wird immer die TextDatei aus dem Pfad /usr/local/smarthome/plugins/avdevice verwendet, auch wenn das Plugin selbst nicht dort liegt. Vielleicht kannst Du es so ändern, dass immer der Pfad genutzt wird, in dem auch das Plugin liegt, bzw das was in der plugin.yaml angegeben wurde.
Volume+ bzw. Volume-: Wenn man das Item über das Backend auf true schaltet, hört es nicht wieder auf, sprich es wird immer lauter. Das war hier schon mal Thema. Ich habe aber die Lösung nicht gefunden. Ich habe SourceUp und SourceDown auch umgesetzt. Da hört "der Lauf" zwar auf, wenn man das Item auf "false" setzt, aber wäre es nicht besser, dass der jeweilige Befehl nur einmal gesendet würde und man dann pro "Schalten" einmal aktivieren mus?
ListeningMode bekomme ich gar nicht hin. Im Textfile habe ich 1; listeningmode; set; ****SR; ?L; SR****; RW
Sisamiwe
Erstes Problem werde ich durch os.path.abspath(os.path.dirname(__file__)) beheben.
Zeile 376 von AVDeviceInit.py sollte dann so heißen, evtl. braucht es zu Beginn noch ein "import os":
Das mit dem Source Up und Volume Up dürfte natürlich nicht passieren. Ich muss mir das nochmals ansehen, da das Plugin eigentlich solch ein Problem abfangen sollte. Einfache Lösung ist aber, bei Up ein "increase" unter Functiontype einzutragen und ein "decrease" bei Down.. also zB
Code:
1; volume+; increase; VU; ; VOL; W
Alternativ geht es immer, als Datentyp einfach int anzugeben, weil das Plugin ja einen int-Wert als Antwort erwartet. Selbes Spiel mit SourceUp und Down.
ListeningMode funktioniert. Wichtig ist nur, dass die Pioneer-Items, die zu ändern sind, im item.conf/yaml auf bool oder num gestellt sind. str dürfen nur Display, Genre, etc. sein, also Sachen, die man ausliest. So funktioniert nun mal das ganze Code-Set von Pioneer..
Du stellst dann zB den Mode auf "Stereo", indem du das Item auf 7 setzt. Oder auf "Pure direct", indem du es auf 8 setzt.
Die Nullen kannst du knicken, das macht das Plugin. Modus auf 101 -> Action, etc. Wenn du mit Strings arbeiten willst, musst du eine Logik mit einem Hilfsitem erstellen.
Bitte um Rückmeldung, dann ändere ich die paar Files ab und pushe sie.
Noch ne Frage zur Textdatei. Wird die beim Start von shNG eingelesen oder immer, wenn das Item aufgerufen wird? Sprich werden Änderungen in der Textdatei direkt übernommen oder erst nach einem Neustart?
Wie ist die Regel bei der Verwendung von "enforce_update" in dem Items? Muss das bspw bei VolumeUp gesetzt werden, damit es immer wieder gesendet wird?
So ich habe Deine Hinweise getestet: Textdatei: Da habe ich nicht eingebaut, wobei ich vermute, Du meinst Zeile 375 (develop vom 9.12.17) VolumeUp: Mit Decrease und Increase funktioniert es. ListeningMode: Der ListeningMode geht halb. Ich kann einen spezifischen Wert setzen. Schalte ich mit der Fernbedienung um, wird aber nicht der richtige Wert aus der Rückmeldung des Receivers ausgelesen. Schalte ich per FB bspw auf TV SURROUND, ist die wird das Item mit "100" bestückt, es müsste aber "116" sein. Der Receiver gibt es aber richtig aus (habe ich mit Telnet getestet). Beim Start des Plugins ist es einmalig richtig. Wird danach mit FB umgeschaltet kommt ein anderer Wert. Es sieht fast aus, wie der Gruppenwert, also statt 116 kommt 100.
Die Abfrage des PlayListingModes mit ?L habe ich gar nicht hinbekommen. Geht das bei Dir?
Zur ersten Frage: Die Datei wird nur 1 Mal beim Start eingelesen, darauf alles initialisiert. Neustart ist also notwendig. enforce_update muss bei den Items hinterlegt werden, ja. Theoretisch könnte das Plugin den Wert eines passenden Items auch automatisch auf 0 stellen, aber da sehe ich keinen Vorteil, zumal es mit den versch. Funktionen zu komplex werden könnte. Für VolumeUp, etc. ist als "enforce_update" zwingend nötig, ja.
Textdatei: Ja, 375 im AVDeviceInit-File.
ListeningMode: Mit Fernbedienung hab ichs nicht probiert, der Receiver steht im Keller.. müsst ich suchen (die Fernbedienung ) Aber wenn ich's über Telnet ändere, wird das sauber upgedatet. Kannst du mal versuchen, in Telnet 0008SR einzutippen und dann im Logfile von AVDevice checken, ob was passiert? Müsstest davor noch DEBUG level fürs Plugin in etc/logging.yaml aktivieren:
Onkelandy
Ich habe mich nochmal mit dem ListeningMode beschäftigt. Mitloggen geht leider bei mir nicht, das mein VSX-921 nur eine Verbindung zulässt.
Ich habe daher mal eine telnet-Verbindung hersgestellt und geschaut, was bei Bedienung mit der Fernbedienung ausgegeben wird. Un dich glaube hier liegt der Hase im Pfeffer (wie man so schön sagt.).
Schaltet man mit der Fernbedienung des Listening Mode um, wird über Telnet folgendes ausgegeben:
Es sieht so aus, als wenn nach dem Umschalten des ListeningModes mit der Fernbedienung zum einen der gewählte ListeningMode mit SR**** und kurz darauf mit LM**** nochmal bestätigt wird. In der Anleitung steht unter LM = PlayingListeningMode. Und dieser enthält die genauen Informationen zum gewählten ListeningMode.
Bedeutet also in Summe, dass man auch den LM auswerten muss. Und das bekomme ich irgendwie nicht hin.
Mein Auszug aus der Textdatei:
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar