Modul für MPD

Begonnen von roedert, 08 Januar 2014, 12:17:21

Vorheriges Thema - Nächstes Thema

Wernieman

Kennst Du Dich mit der "event-Orientierten" Version von fhem-Modulen aus?

Siehe auch meine folgende Anfrage:
http://forum.fhem.de/index.php/topic,18552.0.html
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Wzut

Zitat von: roedert am 09 Januar 2014, 12:43:01
Daher ja die Idee das Pollen mit interval=0 abschalten zu können für den der es nicht will oder die Infos nicht braucht
stellt man bei meinem Modul 9999 ein , wird gerade mal knapp alle drei Stunden einmal der MPD Server angesprochen

Zitat von: roedert am 09 Januar 2014, 12:43:01
Da denke ich ein Großteil der Installationen auf Linux läuft (Raspberry, Fritzbox, NAS, "normale" PC-Hardware) sollte schon den meisten geholfen sein.
Dass das Modul "nur-Linux" ist, sollte erstmal kein Hinderungsgrund sein.

Vorsicht , FHEM selbst kann ja unter Windows laufen nur das MPD Server Gerät muss Linux sein
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

roedert

Zitat von: Wzut am 09 Januar 2014, 13:57:51Vorsicht , FHEM selbst kann ja unter Windows laufen nur das MPD Server Gerät muss Linux sein

Schon klar, aber bei einem FHEM auf Windows hast du ja das mpc-command zur Steuerung des mpd über Netzwerk nicht.

Wzut

Richtig und genau deshalb habe ich ja auf die Fernsteuerung eines MPC verzichtet und rede direkt mit dem MPD.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

roedert

Zitat von: Wzut am 09 Januar 2014, 14:02:48
Richtig und genau deshalb habe ich ja auf die Fernsteuerung eines MPC verzichtet und rede direkt mit dem MPD.

ohhhhh, na das ist ja noch viel besser  ;D
Tschuldigung, ich dachte du nutzt auch den mpc

Wernieman

also die tcp-Kommunikation implementiert?

Dort ist ein "IDLE" Kommando auch implementiert ....

Edit: Bin auch gerade beim Überlegen, wie ich direkte Kommunikation implementiere ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Wzut

Ich vermute du bist gedanklich auf einer falschen Schiene. Ich halte keine dauerhaft offene Verbindung zwischen dem FHEM Modul und dem MPD Server,
sondern baue eine Verbindung auf wenn dies notwendig ist , hole/schreibe die Daten und schliesse sofort die Verbindung wieder. 
Notwendig kann die Verbindung sein wenn der User ein Kommando absetzt oder wenn das Intervall abgelaufen ist und die readings neue/aktuelle  Werte bekommen sollen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wernieman

Ich habe mir gedacht, das dieses von Dir so umgesetzt wurde.

Aber .. wenn man die TCP-Verbindung dauerhaft aufbaut, hat man den Vorteil, bei Änderungen im mpd vom mpd getrickert zu werden, so das das polling entfällt.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Wernieman

#38
@Wzut

Sorry, aber Deine version bekomme ich in FHEM nicht mal geladen:
syntax error at ./FHEM/73_MPC.pm line 21, near "package main"
BEGIN not safe after errors--compilation aborted at ./FHEM/73_MPC.pm line 23.


Hast Du eine Idee?

Ups .. sorry, Der Download hat ein Problem: Am Anfang das <pre> löschen!

Dafür kommt jetzt:
Can't modify constant item in scalar assignment at ./FHEM/73_MPC.pm line 36, near ">"
syntax error at ./FHEM/73_MPC.pm line 36, near ">"
syntax error at ./FHEM/73_MPC.pm line 43, near ")"
syntax error at ./FHEM/73_MPC.pm line 46, near ">"
syntax error at ./FHEM/73_MPC.pm line 60, near ")"
syntax error at ./FHEM/73_MPC.pm line 64, near ">"
syntax error at ./FHEM/73_MPC.pm line 68, near ")"
syntax error at ./FHEM/73_MPC.pm line 75, near "}     ="
syntax error at ./FHEM/73_MPC.pm line 76, near "}     ="
syntax error at ./FHEM/73_MPC.pm line 77, near "}     ="
./FHEM/73_MPC.pm has too many errors.


Kann es sein, das Du eine "use" vergesen hast? Kenne mich jetzt nur mit perl nicht genug aus, um das fehlende use zu finden :o(

Ansonsten .. es sieht schon mal gut aus.

1 Kritik hätte ich:
Warum legst Du die Volumensprünge fest und übergibst Sie nicht bei "set"?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

roedert

...schau mal ins Logfile - es fehlt sicher irgendein Perl-Modul

Wernieman

Nur welches! Genau das schreibt er nicht ins logfile :o(
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Wzut

#41
Zitat von: Wernieman am 09 Januar 2014, 20:30:28
Sorry, aber Deine version bekomme ich in FHEM nicht mal geladen:
Warum legst Du die Volumensprünge fest und übergibst Sie nicht bei "set"?

sorry da lief wohl beim Upload was schief , ich hänge nochmal  eine leicht geänderte Version an
Die Sprungweite kann man doch mit attr festlegen , dachte 1,2,5, 10 wäre brauchbar

Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wernieman

#42
Diese Version funzt bei mir....

Wenn man die Parameter Veriable löäst, also bei jedem set-Befehl übergeben kann, hat man och mehr Freiheiten? Vorallem kann man dann eventuell auch Absolute Werte vergeben, oder nicht optimal?

P.S. darf in der Version "rumfummeln"? Würde gerne versuchen etwas zu "optimieren" ... am Wochenende
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Wzut

#43
Zitat von: Wernieman am 09 Januar 2014, 20:50:44
bei jedem set-Befehl übergeben kann, hat man och mehr Freiheiten? Vorallem kann man dann eventuell auch Absolute Werte vergeben
ähh ?? dafür gibt es doch "set name volume wert" , da kannst von 0 bis 100 alles reinschreiben

Zitat von: Wernieman am 09 Januar 2014, 20:50:44
P.S. darf in der Version "rumfummeln"? Würde gerne versuchen etwas zu "optimieren" ... am Wochenende
Nur zu , das Ding ist zum aktuellen Zeitpunkt bestimmt alles andere als perfekt, über weitere Anregungen/Meinungen zur Verbesserung würde ich mich freuen

Habe noch ein paar Sachen geändert und mich bemüht die FHEM Standarts aus dem Developer Wiki einzuhalten, auch etwas Doku ist im HTML Teil jetzt dazu gekommen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wernieman

Wollte gerade bei meinem "neuen" TestPC Deine MPC-Version probieren, dabei ist mir aufgefallen, das Dein Link: http://webadmin.de/73_MPC.pm nicht funktioniert. Jedenfalls hier und jetzt bei mir ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html