Hallo,
ich werde mein Audiosystem auf MPD aufbauen und arbeite deswegen gerade mit dem MPD Skript, da ich die Grundfunktionen (EIN/AUS, VOL+/-, Kanal+/-) auch über KNX Tasten steuern will (und das mit möglichst wenig Tasten) habe ich mir folgende Steuerung überlegt.
Tastenpaar als Dimmer programmiert. Bei langem drücken erhöht man die Lautstärke bzw. senkt sie ab. Ist die Lautstärke auf 0 so schaltet der Radio aus, ist sie >0 schaltet er ein.
Ein kurzer Druck erhöht oder senkt den Kanal ab.
Das geht jetzt aber nicht so einfach mit dem bestehenden MPD Plugin (zumindest glaube ich das). Jetzt habe ich mir ein paar Funktionen "nachgerüstet".
Das funktioniert soweit auch ganz gut. Nur mit dem Lautstärke "Dimmen" habe ich so meine Probleme. Es funktioniert zwar, aber sehr sehr zeitverzögert.
Im Anhang mein Code wie ich das im MPD realisiert habe.
__init__.py.txt
Anfangs wollte ich es einfach mit einer while Schleife in _volume_dim machen und immer wieder _send aufrufen, aber da wurde leider nichts an den MPD weitergegeben bzw. konnte ich das Dimmen auch nicht mehr abbrechen da das item() kein update vom KNX mehr bekommen hat.
Jetzt habe ich es über den Scheduler realisiert. Je nach Inhalt der DPT2 starte ich einen Scheduler für hoch oder runterdimmen und stelle ihn mit DPT2=0 wieder ab (bzw. wenn 0%oder 100% erreicht wurden). Das funktioniert nun zwar, aber startet erst sehr spät weg (k.A. woher die Verzögerung kommt, aber nach dem Aktivieren wird die Funktion vom Scheduler erst nach 15s das erste mal aufgerufen ) und es scheint als könne man zwischen den einzelnen Aufrufen nur 1s cycletime angeben.
Wie würde man meine "Dimm"-Funktion etwas Professioneller lösen?
Ich möchte das ganze auf jeden Fall im MPD Plugin realisieren und nicht über eine zusätzliche Logik.
Bin gespannt auf den Rat der Profis!
ich werde mein Audiosystem auf MPD aufbauen und arbeite deswegen gerade mit dem MPD Skript, da ich die Grundfunktionen (EIN/AUS, VOL+/-, Kanal+/-) auch über KNX Tasten steuern will (und das mit möglichst wenig Tasten) habe ich mir folgende Steuerung überlegt.
Tastenpaar als Dimmer programmiert. Bei langem drücken erhöht man die Lautstärke bzw. senkt sie ab. Ist die Lautstärke auf 0 so schaltet der Radio aus, ist sie >0 schaltet er ein.
Ein kurzer Druck erhöht oder senkt den Kanal ab.
Das geht jetzt aber nicht so einfach mit dem bestehenden MPD Plugin (zumindest glaube ich das). Jetzt habe ich mir ein paar Funktionen "nachgerüstet".
Das funktioniert soweit auch ganz gut. Nur mit dem Lautstärke "Dimmen" habe ich so meine Probleme. Es funktioniert zwar, aber sehr sehr zeitverzögert.
Im Anhang mein Code wie ich das im MPD realisiert habe.
__init__.py.txt
Anfangs wollte ich es einfach mit einer while Schleife in _volume_dim machen und immer wieder _send aufrufen, aber da wurde leider nichts an den MPD weitergegeben bzw. konnte ich das Dimmen auch nicht mehr abbrechen da das item() kein update vom KNX mehr bekommen hat.
Jetzt habe ich es über den Scheduler realisiert. Je nach Inhalt der DPT2 starte ich einen Scheduler für hoch oder runterdimmen und stelle ihn mit DPT2=0 wieder ab (bzw. wenn 0%oder 100% erreicht wurden). Das funktioniert nun zwar, aber startet erst sehr spät weg (k.A. woher die Verzögerung kommt, aber nach dem Aktivieren wird die Funktion vom Scheduler erst nach 15s das erste mal aufgerufen ) und es scheint als könne man zwischen den einzelnen Aufrufen nur 1s cycletime angeben.
Wie würde man meine "Dimm"-Funktion etwas Professioneller lösen?
Ich möchte das ganze auf jeden Fall im MPD Plugin realisieren und nicht über eine zusätzliche Logik.
Bin gespannt auf den Rat der Profis!