diff --git a/box.py b/box.py index 4b3cb39..6d75965 100755 --- a/box.py +++ b/box.py @@ -1,34 +1,11 @@ #!/usr/bin/env python -from mpd import MPDClient #from readtest import * import re from CardList import CardList from Reader import Reader import sys - - -def connectMPD(): - try: - client = MPDClient() # create client object - client.timeout = 200 # network timeout in seconds (floats allowed), default: None - client.idletimeout = None - print "Connecting..." - client.connect("localhost", 6600) - print "Connected!" - return client - except: - print 'Could not connect to MPD server' - -def play(client, plist): - try: - client.stop() - client.clear() - client.add(plist) - if re.search('playlist',plist): - client.shuffle() - client.play() - except: - print 'Could not play playlist %s' % plist +import subprocess +import shlex reader = Reader() cardList = CardList() @@ -42,13 +19,9 @@ while True: plist = cardList.getPlaylist(card) print 'Playlist', plist if plist != '': - client = connectMPD() - if plist=='pause': - client.pause() - else: - play(client, plist) - client.close() + subprocess.check_call( ["./haplaylist.sh %s" % plist], shell=True) except KeyboardInterrupt: sys.exit(0) except: pass + diff --git a/haplaylist.sh b/haplaylist.sh new file mode 100644 index 0000000..2c6ee89 --- /dev/null +++ b/haplaylist.sh @@ -0,0 +1,4 @@ +#!/bin/bash +playlist=$1 + +curl --silent --output /dev/null -X POST -H "x-ha-access: HOMEASSISTANTPASSWORD" -H "Content-Type: application/json" -d '{"entity_id": "input_text.playlist", "value": "'"$playlist"'"}' http://10.0.0.26:8123/api/services/input_text/set_value diff --git a/musiccards.service b/musiccards.service new file mode 100644 index 0000000..4a43a29 --- /dev/null +++ b/musiccards.service @@ -0,0 +1,16 @@ +[Unit] +Description=MusicCards +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/home/pi/music-cards +ExecStart=/usr/bin/python -u /home/pi/music-cards/box.py +Restart=on-failure +RestartSec=10 +KillMode=process + +[Install] +WantedBy=multi-user.target +