Ankündigung

Einklappen
Keine Ankündigung bisher.

Radiowecker

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • NilsS
    antwortet
    Hab nochmal die dazu passende Webabfrage rausgekramt.

    Damit man das auch nutzen kann.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Warichet
    antwortet
    Hi,

    I'm talking to myself here (the best way to get some consensus )
    Zitat von Warichet Beitrag anzeigen
    I noticed some inconsistencies, bizarre behaviour.
    A concrete example is the "text display"
    This thing seems to work only once, not twice, but ... it seems to depend on the mode which it is in !
    That problem seems to be (at least partially) solved.
    I issue a "menu_collapse" before each "display text".
    Maybe not very elegant, but it works. I'd prefer to be able to explicitely select modes, but don't know how (yet).

    Also, the procedure to play a single MP3 file seems to have slightly changed with FW 1.67 (credit Taxus). One has to first enable the "extra menu" on the MusicPal, and there is an option "server" (not the media server !, just server, and fill-in the related menu, with computer name, share name, user name & password). From the MP, navigate to the server option, select one of those MP3 or WMA files which you have previously copied there, play it, save it to the fav. From then, it can be selected from the HomeServer just as any other MP fav.

    The clock is still not working. Rhâ
    Any hint ?

    Einen Kommentar schreiben:


  • Bodo
    antwortet
    Hoi
    Schon gesehen? Es gibt ein App dafür: 23.02.2010
    Ampache on the iPhone – in the app store now.

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Zitat von woda Beitrag anzeigen
    Status: Glücklicher Besitzer eines HS und eines Musicpals mit installiertem Palmod und MPD.
    Über Telnet kann ich über "mpc add songname.mp3" einzelne Titel zu einer Playliste zusammenfügen und dann per "mpc save durchsage1" abspeichern.
    Zum verwenden der Playliste als Durchsage, müsste ich "mpc clear" und "mpc load durchsage1" eingeben und dann mit "mpc play" abspielen.
    Das mit der Playliste hat für mich den Vorteil, dass ich z.B. einen Gong und dann die eigentliche Durchsage zusammenhängen kann wie ich möchte.

    Mein Problem ist: Wie sende ich vom HS aus ein Telegramm dass z.B. "mpc play" ausführt? 7
    Ich hab nen ganz alten Baustein den ich mal ne ganze Zeit erfolgreich genutzt hab. Da der aber nicht so "perfekt" ist wie er soll nutz ich den im Moment nicht. Ich hab aber bereits ein Konzept wie ich auch die Kommunikation mit mehreren MPD's die ihre Lieder von einer "ampache" Installtion bekommen. Wird aber sicher noch ein paar Wochen dauern bis ich damit anfange, da da noch ein "paar" ganz andere Dinge vorher kommen

    Code:
    # Kopf (Experte)
    ################
    5000|"MPD\MPD Connect Modul"|0|14|"E1 MPD-Receive"|"E2 Init"|"E3 playlist"|"E4 play"|"E5 stop"|"E6 next"|"E7 prev"|"E8 pause"|"E9 playid"|"E10 Volume"|"E11 Volume +"|"E12 Volume -"|"E13 Repeat"|"E14 Random"|10|"A1 MPD-Send"|"A2 Displaystatus"|"A3 Volume"|"A4 Repeat"|"A5 Random"|"A6 State"|"A7 Time playing"|"A8 Time Total"|"A9 Time Remain"|"A10 Error String"
    # Kopf (HS)
    ###########
    5001|14|10|1|10|0
    # Eingänge
    ##########
    5002|1|""|1
    5002|2|0|0
    5002|3|""|1
    5002|4|0|0
    5002|5|0|0
    5002|6|0|0
    5002|7|0|0
    5002|8|0|0
    5002|9|0|0
    5002|10|0|0
    5002|11|0|0
    5002|12|0|0
    5002|13|0|0
    5002|14|0|0
    # Variablen
    ###########
    5003|1|""|0
    5003|2|""|0
    5003|3|0|0      # Status: Volume
    5003|4|0|0      # Status: Repeat
    5003|5|0|0      # Status: Random
    5003|6|0|0      # Status: State
    5003|7|0|0      # Status: Time played
    5003|8|0|0      # Status: Time Total
    5003|9|""|0
    5003|10|""|0
     
    # Ausgänge
    ##########
    5004|1|""|0|1|1
    5004|2|""|0|2|1
    5004|3|0|0|2|0
    5004|4|0|0|2|0
    5004|5|0|0|2|0
    5004|6|0|0|2|0
    5004|7|0|0|2|0
    5004|8|0|0|2|0
    5004|9|0|0|2|0
    5004|10|""|0|2|1
     
    # Formeln
    #########
    # Daten empfangen
    ##################
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'Title:') <0)"|"''"|""|0|0|2|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'Title:') <0) and (__import__('string').find(EN[1], 'Name:'))"|"EN[1][__import__('string').find(EN[1], 'Name:')+6:__import__('string').find(EN[1],chr(0x0a),__import__('string').find(EN[1], 'Name:'))]"|""|0|0|2|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'Title:'))"|"EN[1][__import__('string').find(EN[1], 'Title:')+7:__import__('string').find(EN[1],chr(0x0a),__import__('string').find(EN[1], 'Title:'))]"|""|0|0|2|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'volume:'))"|"int(EN[1][__import__('string').find(EN[1], 'volume:')+8:__import__('string').find(EN[1],chr(0x0a),__import__('string').find(EN[1], 'volume:'))])"|""|0|0|3|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'repeat:'))"|"int(EN[1][__import__('string').find(EN[1], 'repeat:')+7:__import__('string').find(EN[1],chr(0x0a),__import__('string').find(EN[1], 'repeat:'))])"|""|0|0|4|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'random:'))"|"int(EN[1][__import__('string').find(EN[1], 'random:')+7:__import__('string').find(EN[1],chr(0x0a),__import__('string').find(EN[1], 'random:'))])"|""|0|0|5|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'state:'))"|"EN[1][__import__('string').find(EN[1], 'state:') +6:__import__('string').find(EN[1],chr(0x0a),__import__('string').find(EN[1], 'state:'))]"|""|0|0|9|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'time:'))"|"int(EN[1][__import__('string').find(EN[1], 'time:')+6:__import__('string').find(EN[1],':',__import__('string').find(EN[1], 'time:')+6)])"|""|0|0|7|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'Time:') <0)"|"int(0)"|""|0|0|8|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'Time:'))"|"int(EN[1][__import__('string').find(EN[1], 'Time:')+6:__import__('string').find(EN[1],chr(0x0a),__import__('string').find(EN[1], 'Time:')+6)])"|""|0|0|8|0
    5012|0|"EC[1] and (__import__('string').find(EN[1], 'error:'))"|"EN[1][__import__('string').find(EN[1], 'error:')+7:__import__('string').find(EN[1],chr(0x0a),__import__('string').find(EN[1], 'error:')+7)]"|""|0|0|10|0
     
    #State
    5012|0|"EC[1]"|"0"|""|0|0|6|0
    5012|0|"EC[1] and SC[9] and (__import__('string').find(SN[9],'play')!=-1)"|"1"|""|0|0|6|0
    5012|0|"EC[1] and SC[9] and (__import__('string').find(SN[9],'pause')!=-1)"|"2"|""|0|0|6|0
    5012|0|"SA[6]<>SN[6]"|"SN[6]"|""|6|0|0|0
     
    #playlist
    5012|0|"EC[3]"|"'clear\x0Aload ' + EN[3] + '\x0D\x0Aplay\x0d\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    #play
    5012|0|"EC[4]"|"'play\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    #stop
    5012|0|"EC[5]"|"'stop\x0D\x0Astatus\x0D\x0A'"|""|1|0|0|0
    #next
    5012|0|"EC[6] and EN[6]==1"|"'next\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    #prev
    5012|0|"EC[7] and EN[7]==1"|"'previous\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    #playid
    5012|0|"EC[9]"|"'playid ' + str(int(EN[9])) + '\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
     
    #Volume
    5012|0|"EC[10]"|"'setvol ' + str(int(EN[10])) + '\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    5012|0|"EC[11] and EN[11]==1 and SN[3]<95"|"'setvol '+ str(int(SN[3] + 5)) + '\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    5012|0|"EC[12] and EN[12]==1 and SN[3]>5"|"'setvol '+ str(int(SN[3] - 5)) + '\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    5012|0|"EC[1] and SC[3]"|"SN[3]"|""|3|0|0|0
     
    #Repeat
    5012|0|"EC[13]"|"'repeat ' + str(int(EN[13])) + '\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    5012|0|"EC[1] and (EC[13]!=1) and SC[4]"|"SN[4]"|""|4|0|0|0
    #Random
    5012|0|"EC[14]"|"'random ' + str(int(EN[14])) + '\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    5012|0|"EC[1] and (EC[14]!=1) and SC[5]"|"SN[5]"|""|5|0|0|0
     
    #pause
    5012|0|"EC[8] and SN[6]>0"|"'pause ' + str(int(EN[8])) + '\x0D\x0Astatus\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    #Time
    5012|0|"EC[1] and SC[7]"|"SN[7]"|""|7|0|0|0
    5012|0|"EC[1] and SC[8]"|"SN[8]"|""|8|0|0|0
    #Remaining Time
    5012|0|"EC[1] and SC[7] and (SN[8]>SN[7])"|"SN[8]-SN[7]"|""|9|0|0|0
    #Error
    5012|0|"SC[10]"|"SN[10]"|""|10|0|0|0
    #Display String
    5012|0|"SC[7] and (__import__('string').find(EN[1],'http://',__import__('string').find(EN[1],'file:')+6,__import__('string').find(EN[1],'file:')+13)<0)"|"__import__('time').strftime('%M:%S',__import__('time').localtime(int(SN[7]))) + '/' + __import__('time').strftime('%M:%S',__import__('time').localtime(int(SN[8]))) + '  '  + str(SN[2])"|""|2|0|0|0
    5012|0|"SC[7] and (__import__('string').find(EN[1],'http://',__import__('string').find(EN[1],'file:')+6,__import__('string').find(EN[1],'file:')+13)>-1)"|"__import__('time').strftime('%M:%S',__import__('time').localtime(__import__('time').time())) + '  '+ str(SN[2])"|""|2|0|0|0
     
    ## Wenn Status nicht stop dann Refresh alle "1" Sek
    5012|0|"EC[1] and (SN[6]>0)"|"1"|"1"|0|1|0|0
     
    # Status abrufen
    5012|0|"OC[1] and (ON[1]==1)"|"'status\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
     
    # Init
    5012|0|"EC[2] and (EN[2]<>0)"|"'status\x0D\x0Acurrentsong\x0D\x0A'"|""|1|0|0|0
    5012|0|"EC[2] and (EN[2]<>0)"|"1"|"2"|0|1|0|0

    Fast vergessen:

    Der Eingang liegt auf dem Empfang einer Webabfrage auf port 6600 des mpd und der Ausgang auf dem Senden Feld

    Einen Kommentar schreiben:


  • woda
    antwortet
    Hallo zuerst, an alle Forenmitglieder und Mitleser!
    Bis jetzt zähle ich mich auch zu den Mitlesern und Nutznießern dieses super Forums.
    Bisher konnte ich alle Informationen die ich benötigte mit der Suchfunktion und durch mitverfolgen der Beiträge erhalten.

    Jetzt steh ich allerdings auf dem Schlauch:
    Status: Glücklicher Besitzer eines HS und eines Musicpals mit installiertem Palmod und MPD.
    Über Telnet kann ich über "mpc add songname.mp3" einzelne Titel zu einer Playliste zusammenfügen und dann per "mpc save durchsage1" abspeichern.
    Zum verwenden der Playliste als Durchsage, müsste ich "mpc clear" und "mpc load durchsage1" eingeben und dann mit "mpc play" abspielen.
    Das mit der Playliste hat für mich den Vorteil, dass ich z.B. einen Gong und dann die eigentliche Durchsage zusammenhängen kann wie ich möchte.

    Mein Problem ist: Wie sende ich vom HS aus ein Telegramm dass z.B. "mpc play" ausführt?

    Herzlichen Dank, Wolfgang

    Zitat von ThorstenGehrig Beitrag anzeigen
    Hi
    das "palmod" ist zwar schlecht dokumentiert (meiner Meinung nach) - aber wenn man man Google´t findet man dass der "mpd"-Addon ein mächtiges tool ist.
    Damit kann man auch nur einen Song abspielen - ohne einen Loop zu haben. Ist ganz gut zu gebrauchen um eine "Durchsage" zu gestalten.
    Dazu muss man allerdings die Ansagen vorher irgendwo abspeichern (USB / Netzwerk:Samba) - in die mpd-Datenbank aufnehmen (mpc update) dann Playliste leeren (mpc clear) und song aufnehmen (mpc add "songname") - im zweifelsfall mit "mpc search any <suchstring>" suchen und dann mit "mpc play" abspielen.

    Einen Kommentar schreiben:


  • Warichet
    antwortet
    Hi Jonofe,

    Zitat von jonofe Beitrag anzeigen
    Yes, you have to analyse the html source. You have to find the source for the form. Here the example to show the clock
    Thank you for the hint.

    Zitat von jonofe Beitrag anzeigen
    I think it should be sufficient to define an URL to an MP3 file as favourite and than call this favourite.
    OK, I'll try it

    About the paradox between the samples mentionned here, it is definitely related to the FirmWare version. I've 1.67 (BETA)

    As mentionned before, I noticed some inconsistencies, bizarre behaviour.
    A concrete example is the "text display"
    This thing seems to work only once, not twice, but ... it seems to depend on the mode which it is in !
    So, if the clock is displayed and I issue the "display text" command, it works.
    A second "display text" command will not work, unless .... I switch to another mode, ie, hit the FAV button.
    So, I'm close to the end, if I could know how to remotely switch between modes.

    Any hint ?

    Here is my status:
    the following is working fine: favorits (radio), volume, brightness (all modes)
    clock doesn't work anymore (although it was working fine before)
    the following doesn't work well: display text
    to be done: stream a MP3 file

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von Warichet Beitrag anzeigen
    How did you get that ? Maybe playing with the language parameter and looking in the source code of the management page ? If so, I should have thought about that.
    Yes, you have to analyse the html source. You have to find the source for the form. Here the example to show the clock

    Code:
    <form method="post" action="[COLOR=Red][B]/admin/cgi-bin/admin.cgi?f=show_clock&amp;n=../show_clock.html[/B][/COLOR]">
    <div class="apply_button">
    <input class="button" type="submit" value="[COLOR=Lime][B]Uhrzeit anzeigen[/B][/COLOR]" name="[B][COLOR=Blue]apply[/COLOR][/B]" />
    </div>
    </form>
    Now you can see the POST URL (marked in red), but you have to replace the &amp; by an &.
    And you can find out the name (blue) and the value (green) of the data to post. (replace each space by an +)
    With that, you should be able to control the musicpal web-interface functions by HTTP-POST calls.

    Zitat von Warichet Beitrag anzeigen
    I'm the only one having Firmware: 1.67 (BETA) ?
    I'm using the same FW.

    Zitat von Warichet Beitrag anzeigen
    PS: If I want to play MP3 files, is it sufficient to copy the files somewhere on a remote web server like the example

    or is it mandatory to have a streaming application available on that remote web server ?
    I think it should be sufficient to define an URL to an MP3 file as favourite and than call this favourite.

    Einen Kommentar schreiben:


  • Warichet
    antwortet
    Hi Jonofe,

    Thank you for all those infos, appreciated !

    Zitat von jonofe Beitrag anzeigen
    in French it should be apply=Afficher+horloge
    How did you get that ? Maybe playing with the language parameter and looking in the source code of the management page ? If so, I should have thought about that.

    Zitat von jonofe Beitrag anzeigen
    you should try the template from taxus
    Well, things are going weird.
    I re-tried the original syntax from Taxus, and it works fine, for all states. The clock display doesn't work anymore.
    The behaviour is irrational, I've the impression it is based on a previous state or command execution, but no clue as to which one.

    I'm the only one having Firmware: 1.67 (BETA) ?

    PS: If I want to play MP3 files, is it sufficient to copy the files somewhere on a remote web server like the example
    or is it mandatory to have a streaming application available on that remote web server ?

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von Warichet Beitrag anzeigen
    I managed to get the clock display working .... after setting the MusicPal language to ... german (I'm unable to find the keywords for french).
    in French it should be apply=Afficher+horloge


    Concerning brightness you should try the template from taxus and change the POST URL and the last enty as follows. Please replace the "x" with the brightness you want to set.

    brightness clock:
    POST /admin/cgi-bin/admin.cgi?f=display_brightness_clock&n=../display_brightness_clock.html
    brightness=x

    bightness activity
    POST /admin/cgi-bin/admin.cgi?f=display_brightness_active&n=../display_brightness_active.html
    brightness=x

    brightness sleep timer
    POST /admin/cgi-bin/admin.cgi?f=display_brightness_sleep_timer&n=../display_brightness_sleep_timer.html
    brightness=x

    brightness standby mode
    POST /admin/cgi-bin/admin.cgi?f=display_brightness_sleeping&n=../display_brightness_sleeping.html
    brightness=x


    hope it works ...

    Einen Kommentar schreiben:


  • Warichet
    antwortet
    Zitat von NilsS Beitrag anzeigen
    Yes you are right it should Be 22
    Well, after some testing, it must be 21 (22 doesn't work)
    It beats me!

    I managed to get the clock display working .... after setting the MusicPal language to ... german (I'm unable to find the keywords for french).
    The example from Taxus must be entered exactly as shown.

    Still trying to change the brightness and display some text ........

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Yes you are right it should Be 22

    Einen Kommentar schreiben:


  • Warichet
    antwortet
    Hi Nils,

    Zitat von NilsS Beitrag anzeigen
    Use a base64encode Baustein in GLE and encode
    usernamE:Password to base64 and put it
    Authorization: base64encodedUserPass
    Pfiou, completely missed this problematic.
    Thank you very much for the tip.

    About the length, did you notice it's written 21, I count 22 characters
    If it was an index, I could assume it is starting from 0, but here ? shouldn't it be an absolute value for the length ?

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Zitat von Warichet Beitrag anzeigen
    1) about Authorization, I guess it is: username space password in clear text ?, no special characters ?
    Authorization: <Username> <Password>
    Use a base64encode Baustein in GLE and encode
    usernamE:Password to base64 and put it

    Authorization: base64encodedUserPass

    Einen Kommentar schreiben:


  • Warichet
    antwortet
    Zitat von Warichet Beitrag anzeigen
    I've read and understood Jonofe's arguments about http_get and http_post.
    I've read and understood Taxus's samples.
    Well, no, I failed to look into the sample for the clock (I wasn't interested in the clock)
    I guess the answer is there, it clearly mentions the HTTP_POST

    Nevertheless, it brings yet some other questions
    1) about Authorization, I guess it is: username space password in clear text ?, no special characters ?
    Authorization: <Username> <Password>
    2) about Length, how can I compute the length ? starting from where ?

    Thank you

    Einen Kommentar schreiben:


  • Bodo
    antwortet
    Zitat von Warichet Beitrag anzeigen
    ... Under -"Web-Seiten/IP-Geräten", I can't see any place where I could specify the method either http_get or http_post.
    Hi Warichet

    If your "Message" is sent within the URL it is GET.

    Example:
    HTML-Code:
    http://www.ip.com/script?v=100&r=200

    Einen Kommentar schreiben:

Lädt...
X