diff --git a/RPizeBox.log b/RPizeBox.log old mode 100644 new mode 100755 index 56fcff0..ff4e7b5 --- a/RPizeBox.log +++ b/RPizeBox.log @@ -1,255 +1,131 @@ -11/17/2013 12:12:44 PM pylms directory: /home/pi/RPizeBox/pylms -11/17/2013 12:21:25 PM Logged in to LMS = True -11/17/2013 12:23:46 PM Logged in to LMS = True -11/17/2013 12:25:50 PM Logged in to LMS! -11/17/2013 12:27:58 PM Logged in to LMS! -11/17/2013 12:29:35 PM Logged in to LMS! -11/17/2013 12:31:41 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:31:44 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:31:48 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:31:51 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:31:54 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:31:57 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:00 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:03 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:06 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:09 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:12 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:15 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:18 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:21 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:24 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:32:31 PM Logged in to LMS! -11/17/2013 12:34:10 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:34:13 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:34:16 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:34:19 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:34:22 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:34:25 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:34:28 PM LMS not there. Trying again in 3 seconds. -11/17/2013 12:47:55 PM Logged in to LMS. -11/17/2013 12:47:55 PM Logged in to player. -11/17/2013 12:48:24 PM Logged in to LMS. -11/17/2013 12:48:24 PM Logged in to player. -11/17/2013 12:48:42 PM SkipForward -11/17/2013 12:51:50 PM Logged in to LMS. -11/17/2013 12:51:50 PM Logged in to player. -11/17/2013 12:51:56 PM SkipForward -11/17/2013 12:52:01 PM SkipBackward -11/17/2013 12:59:35 PM Logged in to LMS. -11/17/2013 12:59:35 PM Logged in to player. -11/17/2013 12:59:38 PM SkipForward -11/17/2013 01:04:23 PM Logged in to LMS. -11/17/2013 01:04:23 PM Logged in to player. -11/17/2013 01:08:18 PM Logged in to LMS. -11/17/2013 01:08:18 PM Logged in to player. -11/17/2013 01:09:23 PM Logged in to LMS. -11/17/2013 01:09:23 PM Logged in to player. -11/17/2013 01:10:26 PM Logged in to LMS. -11/17/2013 01:10:26 PM Logged in to player. -11/17/2013 01:10:26 PM Elapsed time: 0.000025 -11/17/2013 01:10:27 PM Elapsed time: 0.000021 -11/17/2013 01:10:27 PM Elapsed time: 0.000020 -11/17/2013 01:10:27 PM Elapsed time: 0.000021 -11/17/2013 01:10:27 PM Elapsed time: 0.000020 -11/17/2013 01:10:27 PM Elapsed time: 0.000021 -11/17/2013 01:10:27 PM Elapsed time: 0.000021 -11/17/2013 01:10:27 PM Elapsed time: 0.000021 -11/17/2013 01:10:27 PM Elapsed time: 0.000021 -11/17/2013 01:10:28 PM Elapsed time: 0.000021 -11/17/2013 01:10:28 PM Elapsed time: 0.000023 -11/17/2013 01:10:28 PM Elapsed time: 0.000022 -11/17/2013 01:10:28 PM Elapsed time: 0.000023 -11/17/2013 01:10:28 PM Elapsed time: 0.000024 -11/17/2013 01:10:28 PM Elapsed time: 0.000022 -11/17/2013 01:10:28 PM Elapsed time: 0.000022 -11/17/2013 01:10:28 PM Elapsed time: 0.000022 -11/17/2013 01:10:29 PM Elapsed time: 0.000021 -11/17/2013 01:10:29 PM Elapsed time: 0.000024 -11/17/2013 01:10:29 PM Elapsed time: 0.000021 -11/17/2013 01:10:30 PM Elapsed time: 0.000021 -11/17/2013 01:10:30 PM Elapsed time: 0.000021 -11/17/2013 01:10:30 PM Elapsed time: 0.000021 -11/17/2013 01:10:30 PM Elapsed time: 0.000021 -11/17/2013 01:11:07 PM Logged in to LMS. -11/17/2013 01:11:07 PM Logged in to player. -11/17/2013 01:11:07 PM Elapsed time: 0.000041 -11/17/2013 01:11:07 PM Elapsed time: 0.118595 -11/17/2013 01:11:07 PM Elapsed time: 0.237141 -11/17/2013 01:11:07 PM Elapsed time: 0.360053 -11/17/2013 01:11:07 PM Elapsed time: 0.486732 -11/17/2013 01:11:08 PM Elapsed time: 0.613057 -11/17/2013 01:11:08 PM Elapsed time: 0.730793 -11/17/2013 01:11:08 PM Elapsed time: 0.850162 -11/17/2013 01:11:08 PM Elapsed time: 0.968866 -11/17/2013 01:11:08 PM Elapsed time: 1.087616 -11/17/2013 01:11:08 PM Elapsed time: 1.246204 -11/17/2013 01:11:08 PM Elapsed time: 1.364479 -11/17/2013 01:11:08 PM Elapsed time: 1.482396 -11/17/2013 01:11:09 PM Elapsed time: 1.637849 -11/17/2013 01:11:09 PM Elapsed time: 1.756278 -11/17/2013 01:11:09 PM Elapsed time: 1.873825 -11/17/2013 01:11:09 PM Elapsed time: 2.018526 -11/17/2013 01:11:09 PM Elapsed time: 2.161748 -11/17/2013 01:11:09 PM Elapsed time: 2.279640 -11/17/2013 01:11:09 PM Elapsed time: 2.407026 -11/17/2013 01:11:10 PM Elapsed time: 2.573409 -11/17/2013 01:11:10 PM Elapsed time: 2.700739 -11/17/2013 01:11:10 PM Elapsed time: 2.819698 -11/17/2013 01:11:10 PM Elapsed time: 2.962939 -11/17/2013 01:11:10 PM Elapsed time: 3.080924 -11/17/2013 01:11:10 PM Elapsed time: 3.199250 -11/17/2013 01:11:10 PM Elapsed time: 3.317760 -11/17/2013 01:11:10 PM Elapsed time: 3.485592 -11/17/2013 01:11:11 PM Elapsed time: 3.603535 -11/17/2013 01:11:11 PM Elapsed time: 3.964615 -11/17/2013 01:11:11 PM Elapsed time: 4.126680 -11/17/2013 01:11:11 PM Elapsed time: 4.245259 -11/17/2013 01:11:11 PM Elapsed time: 4.372365 -11/17/2013 01:11:11 PM Elapsed time: 4.492427 -11/17/2013 01:11:12 PM Elapsed time: 4.610903 -11/17/2013 01:11:12 PM Elapsed time: 4.736054 -11/17/2013 01:11:12 PM Elapsed time: 4.853582 -11/17/2013 01:11:12 PM Elapsed time: 4.971982 -11/17/2013 01:11:12 PM Elapsed time: 5.089797 -11/17/2013 01:11:12 PM Elapsed time: 5.214962 -11/17/2013 01:11:12 PM Elapsed time: 5.332536 -11/17/2013 01:11:12 PM Elapsed time: 5.452778 -11/17/2013 01:11:13 PM Elapsed time: 5.570522 -11/17/2013 01:11:13 PM Elapsed time: 5.688510 -11/17/2013 01:11:13 PM Elapsed time: 5.806818 -11/17/2013 01:11:13 PM Elapsed time: 5.925366 -11/17/2013 01:11:13 PM Elapsed time: 6.043243 -11/17/2013 01:11:13 PM Elapsed time: 6.161396 -11/17/2013 01:11:13 PM Elapsed time: 6.279744 -11/17/2013 01:11:13 PM Elapsed time: 6.411012 -11/17/2013 01:11:14 PM Elapsed time: 6.539189 -11/17/2013 01:11:14 PM Elapsed time: 6.664965 -11/17/2013 01:11:14 PM Elapsed time: 6.783233 -11/17/2013 01:11:14 PM Elapsed time: 6.901098 -11/17/2013 01:11:14 PM Elapsed time: 7.024528 -11/17/2013 01:11:14 PM Elapsed time: 7.142708 -11/17/2013 01:11:14 PM Elapsed time: 7.259892 -11/17/2013 01:11:14 PM Elapsed time: 7.378309 -11/17/2013 01:11:14 PM Elapsed time: 7.496511 -11/17/2013 01:11:15 PM Elapsed time: 7.619035 -11/17/2013 01:11:15 PM Elapsed time: 7.737573 -11/17/2013 01:11:15 PM Elapsed time: 7.855827 -11/17/2013 01:11:15 PM Elapsed time: 7.973570 -11/17/2013 01:11:15 PM Elapsed time: 8.092179 -11/17/2013 01:11:15 PM Elapsed time: 8.210000 -11/17/2013 01:11:15 PM Elapsed time: 8.342645 -11/17/2013 01:11:15 PM Elapsed time: 8.460933 -11/17/2013 01:11:16 PM Elapsed time: 8.590067 -11/17/2013 01:11:16 PM Elapsed time: 8.712581 -11/17/2013 01:11:16 PM Elapsed time: 8.836915 -11/17/2013 01:11:16 PM Elapsed time: 8.954895 -11/17/2013 01:11:16 PM Elapsed time: 9.072467 -11/17/2013 01:12:11 PM Logged in to LMS. -11/17/2013 01:12:11 PM Logged in to player. -11/17/2013 01:12:11 PM Elapsed time: 0.000038 -11/17/2013 01:12:11 PM Elapsed time: 0.119716 -11/17/2013 01:12:11 PM Elapsed time: 0.240432 -11/17/2013 01:12:11 PM Elapsed time: 0.359531 -11/17/2013 01:12:11 PM Elapsed time: 0.477519 -11/17/2013 01:12:11 PM Elapsed time: 0.595665 -11/17/2013 01:12:12 PM Elapsed time: 0.713899 -11/17/2013 01:12:12 PM Elapsed time: 0.834405 -11/17/2013 01:12:12 PM Elapsed time: 0.952112 -11/17/2013 01:12:12 PM Elapsed time: 1.070155 -11/17/2013 01:12:12 PM Elapsed time: 1.188256 -11/17/2013 01:12:12 PM Elapsed time: 1.306392 -11/17/2013 01:12:12 PM Elapsed time: 1.424415 -11/17/2013 01:12:12 PM Elapsed time: 1.542124 -11/17/2013 01:12:12 PM Elapsed time: 1.660101 -11/17/2013 01:12:13 PM Elapsed time: 1.778466 -11/17/2013 01:12:13 PM Elapsed time: 1.896484 -11/17/2013 01:12:13 PM Elapsed time: 2.491089 -11/17/2013 01:12:13 PM Elapsed time: 2.608964 -11/17/2013 01:12:14 PM Elapsed time: 2.729758 -11/17/2013 01:12:14 PM Elapsed time: 2.847871 -11/17/2013 01:12:14 PM Elapsed time: 2.966194 -11/17/2013 01:12:14 PM Elapsed time: 3.083873 -11/17/2013 01:12:14 PM Elapsed time: 3.201373 -11/17/2013 01:12:14 PM Elapsed time: 3.319432 -11/17/2013 01:12:14 PM Elapsed time: 3.465937 -11/17/2013 01:12:14 PM Elapsed time: 3.583635 -11/17/2013 01:12:15 PM Elapsed time: 3.701089 -11/17/2013 01:12:15 PM Elapsed time: 3.856794 -11/17/2013 01:12:15 PM Elapsed time: 3.975440 -11/17/2013 01:12:15 PM Elapsed time: 4.102474 -11/17/2013 01:12:15 PM Elapsed time: 4.270547 -11/17/2013 01:12:15 PM Elapsed time: 4.394319 -11/17/2013 01:12:15 PM Elapsed time: 4.512079 -11/17/2013 01:12:15 PM Elapsed time: 4.655578 -11/17/2013 01:12:16 PM Elapsed time: 4.773881 -11/17/2013 01:12:16 PM Elapsed time: 4.891617 -11/17/2013 01:12:16 PM Elapsed time: 5.034817 -11/17/2013 01:12:16 PM Elapsed time: 5.153120 -11/17/2013 01:12:16 PM Elapsed time: 5.270928 -11/17/2013 01:12:16 PM Elapsed time: 5.412105 -11/17/2013 01:12:16 PM Elapsed time: 5.530014 -11/17/2013 01:12:16 PM Elapsed time: 5.648581 -11/17/2013 01:12:17 PM Elapsed time: 5.791020 -11/17/2013 01:12:17 PM Elapsed time: 5.908197 -11/17/2013 01:12:17 PM Elapsed time: 6.031534 -11/17/2013 01:12:17 PM Elapsed time: 6.158188 -11/17/2013 01:12:17 PM Elapsed time: 6.320957 -11/17/2013 01:12:17 PM Elapsed time: 6.439092 -11/17/2013 01:12:17 PM Elapsed time: 6.557339 -11/17/2013 01:12:18 PM Elapsed time: 6.699897 -11/17/2013 01:12:18 PM Elapsed time: 6.817624 -11/17/2013 01:12:18 PM Elapsed time: 6.935963 -11/17/2013 01:12:18 PM Elapsed time: 7.498165 -11/17/2013 01:12:18 PM Elapsed time: 7.616305 -11/17/2013 01:12:19 PM Elapsed time: 7.734118 -11/17/2013 01:12:19 PM Elapsed time: 7.879503 -11/17/2013 01:12:19 PM Elapsed time: 8.008216 -11/17/2013 01:12:19 PM Elapsed time: 8.132650 -11/17/2013 01:12:19 PM Elapsed time: 8.293136 -11/17/2013 01:12:19 PM Elapsed time: 8.410730 -11/17/2013 01:12:19 PM Elapsed time: 8.528361 -11/17/2013 01:12:19 PM Elapsed time: 8.670757 -11/17/2013 01:12:20 PM Elapsed time: 8.788300 -11/17/2013 01:12:20 PM Elapsed time: 8.906312 -11/17/2013 01:12:20 PM Elapsed time: 9.049291 -11/17/2013 01:12:20 PM Elapsed time: 0.100328 -11/17/2013 01:12:20 PM Elapsed time: 0.218078 -11/17/2013 01:12:20 PM Elapsed time: 0.336221 -11/17/2013 01:12:20 PM Elapsed time: 0.454068 -11/17/2013 01:12:20 PM Elapsed time: 0.571805 -11/17/2013 01:12:21 PM Elapsed time: 0.688735 -11/17/2013 01:12:21 PM Elapsed time: 0.806768 -11/17/2013 01:12:21 PM Elapsed time: 0.931563 -11/17/2013 01:12:21 PM Elapsed time: 1.051979 -11/17/2013 01:12:21 PM Elapsed time: 1.179045 -11/17/2013 01:12:21 PM Elapsed time: 1.296984 -11/17/2013 01:12:21 PM Elapsed time: 1.414682 -11/17/2013 01:12:21 PM Elapsed time: 1.532232 -11/17/2013 01:12:22 PM Elapsed time: 1.650630 -11/17/2013 01:12:22 PM Elapsed time: 1.768799 -11/17/2013 01:12:22 PM Elapsed time: 1.886963 -11/17/2013 01:12:22 PM Elapsed time: 2.004853 -11/17/2013 01:12:22 PM Elapsed time: 2.122649 -11/17/2013 01:12:22 PM Elapsed time: 2.240667 -11/17/2013 01:12:22 PM Elapsed time: 2.358888 -11/17/2013 01:12:22 PM Elapsed time: 2.477008 -11/17/2013 01:12:23 PM Elapsed time: 2.594677 -11/17/2013 01:12:23 PM Elapsed time: 2.712118 -11/17/2013 01:12:23 PM Elapsed time: 2.830186 -11/17/2013 01:12:23 PM Elapsed time: 2.963532 -11/17/2013 01:12:23 PM Elapsed time: 3.082465 -11/17/2013 01:12:23 PM Elapsed time: 3.201821 -11/17/2013 01:12:23 PM Elapsed time: 3.319587 -11/17/2013 01:12:23 PM Elapsed time: 3.462080 -11/17/2013 01:12:23 PM Elapsed time: 3.579141 -11/17/2013 01:12:24 PM Elapsed time: 3.697101 -11/17/2013 01:12:24 PM Elapsed time: 3.839901 -11/17/2013 01:12:24 PM Elapsed time: 3.958218 -11/17/2013 01:12:24 PM Elapsed time: 4.076751 -11/17/2013 01:12:24 PM Elapsed time: 4.219439 -11/17/2013 01:12:24 PM Elapsed time: 4.337142 -11/17/2013 01:12:24 PM Elapsed time: 4.454831 -11/17/2013 01:12:25 PM Elapsed time: 4.598092 -11/17/2013 01:14:02 PM Logged in to LMS. -11/17/2013 01:14:02 PM Logged in to player. +11/17/2013 08:20:26 PM Play +11/17/2013 08:20:53 PM Track changed, now: Hunter +11/17/2013 08:22:47 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:22:52 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:23:27 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:23:32 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:23:37 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:23:42 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:23:47 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:23:53 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:23:58 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:24:05 PM Logged in to LMS. +11/17/2013 08:24:05 PM Logged in to player. +11/17/2013 08:25:32 PM Play +11/17/2013 08:27:17 PM Track changed, now: Boulevard Of Broken Dreams +11/17/2013 08:27:31 PM Vol- +11/17/2013 08:27:31 PM Volume is: 28 +11/17/2013 08:29:18 PM Logged in to LMS. +11/17/2013 08:29:18 PM Logged in to player. +11/17/2013 08:29:18 PM Track changed, now: Boulevard Of Broken Dreams +11/17/2013 08:29:22 PM Power OFF +11/17/2013 08:29:26 PM Power ON +11/17/2013 08:32:25 PM Logged in to LMS. +11/17/2013 08:32:25 PM Logged in to player. +11/17/2013 08:32:25 PM Track changed, now: Boulevard Of Broken Dreams +11/17/2013 08:32:28 PM Power OFF +11/17/2013 08:33:12 PM Logged in to LMS. +11/17/2013 08:33:12 PM Logged in to player. +11/17/2013 08:33:12 PM Track changed, now: Boulevard Of Broken Dreams +11/17/2013 08:37:00 PM Success: Logged in to LMS. +11/17/2013 08:37:00 PM Success: In contact with SqueezeLite. +11/17/2013 08:37:00 PM Track changed, now: Boulevard Of Broken Dreams +11/17/2013 08:37:35 PM Power ON +11/17/2013 08:37:38 PM Play +11/17/2013 08:37:41 PM Vol+ +11/17/2013 08:37:41 PM Volume is: 33 +11/17/2013 08:37:45 PM Vol+ +11/17/2013 08:37:45 PM Volume is: 38 +11/17/2013 08:37:49 PM Vol+ +11/17/2013 08:37:49 PM Volume is: 43 +11/17/2013 08:37:52 PM Vol+ +11/17/2013 08:37:52 PM Volume is: 48 +11/17/2013 08:37:57 PM Vol+ +11/17/2013 08:37:57 PM Volume is: 47 +11/17/2013 08:38:00 PM Vol+ +11/17/2013 08:38:00 PM Volume is: 40 +11/17/2013 08:38:02 PM Vol+ +11/17/2013 08:38:02 PM Volume is: 45 +11/17/2013 08:38:05 PM Vol+ +11/17/2013 08:38:05 PM Volume is: 50 +11/17/2013 08:38:07 PM Vol+ +11/17/2013 08:38:07 PM Volume is: 55 +11/17/2013 08:38:10 PM Vol+ +11/17/2013 08:38:10 PM Volume is: 41 +11/17/2013 08:38:12 PM Vol- +11/17/2013 08:38:12 PM Volume is: 36 +11/17/2013 08:38:15 PM Vol- +11/17/2013 08:38:15 PM Volume is: 31 +11/17/2013 08:38:18 PM Vol- +11/17/2013 08:38:18 PM Volume is: 26 +11/17/2013 08:38:20 PM Vol- +11/17/2013 08:38:20 PM Volume is: 21 +11/17/2013 08:38:23 PM Vol- +11/17/2013 08:38:23 PM Volume is: 16 +11/17/2013 08:38:26 PM Vol- +11/17/2013 08:38:26 PM Volume is: 11 +11/17/2013 08:38:36 PM Success: Logged in to LMS. +11/17/2013 08:38:36 PM Success: In contact with SqueezeLite. +11/17/2013 08:38:36 PM Track changed, now: Boulevard Of Broken Dreams +11/17/2013 08:38:42 PM Vol+ +11/17/2013 08:38:42 PM Volume is: 16 +11/17/2013 08:38:45 PM Vol+ +11/17/2013 08:38:45 PM Volume is: 21 +11/17/2013 08:38:48 PM Vol+ +11/17/2013 08:38:48 PM Volume is: 26 +11/17/2013 08:38:51 PM Vol+ +11/17/2013 08:38:51 PM Volume is: 31 +11/17/2013 08:39:56 PM Track changed, now: All-Nighter +11/17/2013 08:40:02 PM Success: Logged in to LMS. +11/17/2013 08:40:02 PM Success: In contact with SqueezeLite. +11/17/2013 08:40:02 PM Track changed, now: All-Nighter +11/17/2013 08:41:29 PM Track changed, now: Total Eclipse of the Heart +11/17/2013 08:41:59 PM Success: Logged in to LMS. +11/17/2013 08:41:59 PM Success: In contact with SqueezeLite. +11/17/2013 08:41:59 PM Track changed, now: Total Eclipse of the Heart +11/17/2013 08:43:27 PM Vol+ +11/17/2013 08:43:27 PM Volume is: 36 +11/17/2013 08:43:29 PM Vol+ +11/17/2013 08:43:29 PM Volume is: 41 +11/17/2013 08:43:31 PM Vol+ +11/17/2013 08:43:31 PM Volume is: 46 +11/17/2013 08:43:33 PM Vol+ +11/17/2013 08:43:33 PM Volume is: 51 +11/17/2013 08:43:39 PM Vol- +11/17/2013 08:43:39 PM Volume is: 46 +11/17/2013 08:43:44 PM Vol+ +11/17/2013 08:43:44 PM Volume is: 51 +11/17/2013 08:43:56 PM Success: Logged in to LMS. +11/17/2013 08:43:56 PM Success: In contact with SqueezeLite. +11/17/2013 08:43:56 PM Track changed, now: Total Eclipse of the Heart +11/17/2013 08:45:59 PM Track changed, now: Here I Stand Before Me +11/17/2013 08:47:02 PM Success: Logged in to LMS. +11/17/2013 08:47:02 PM Success: In contact with SqueezeLite. +11/17/2013 08:47:02 PM Track changed, now: Here I Stand Before Me +11/17/2013 08:48:02 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:48:07 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:48:12 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:48:47 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:48:52 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:48:57 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:49:02 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:49:08 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:49:13 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:49:27 PM Success: Logged in to LMS. +11/17/2013 08:49:27 PM Success: In contact with SqueezeLite. +11/17/2013 08:50:17 PM Track changed, now: BBC Radio 4 +11/17/2013 08:53:02 PM Success: Logged in to LMS. +11/17/2013 08:53:02 PM Success: In contact with SqueezeLite. +11/17/2013 08:53:02 PM Track changed, now: BBC Radio 4 +11/17/2013 08:55:52 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:55:57 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:56:29 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:56:34 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:56:40 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:56:45 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:56:50 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:56:55 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:57:00 PM LMS not there. Trying again in 5 seconds. +11/17/2013 08:57:12 PM Success: Logged in to LMS. +11/17/2013 08:57:12 PM Success: In contact with SqueezeLite. +11/17/2013 08:57:12 PM Track changed, now: BBC Radio 4 diff --git a/RPizeBox.py b/RPizeBox.py index 8c8f4e6..782fdd6 100755 --- a/RPizeBox.py +++ b/RPizeBox.py @@ -27,13 +27,16 @@ # - SqueezeLite (https://code.google.com/p/squeezelite/) # - lirc set up with your remote as the lirc.conf from - http://lirc.sourceforge.net/remotes/ # -# + ################################################################################### # # This is the code to show the display, check whether the IR has been pressed # and see if we need a smooth reboot or shutdown # -# 0.0.1 Initial release, playing around with git +# 0.0.1 Initial release, playing around with git +# Issues: +# - lirc remembers two button presses and shows the volume images +# in flashes between the titles # ################################################################################### @@ -61,20 +64,34 @@ from pylms.server import Server # to talk to LMS server from pylms.player import Player # to talk to LMS player +# class to hold all the variables +class RPizeBox: + scrollStepTime = 0.7 # how long to wait between steps when scrolling + lastStepTime = 0 # when we last stepped + delayOnLoop = 3 # time to wait when back to start on a scroll + scPort = 9090 # default LMS port for CLI + scUser = "" # CLI user + scPassword = "" # CLI password + logInWait = 5 # time in seconds to wait between LMS login attempts + loggedin = False # assume we are not logged in... + whatToShow = 0 # 0 = Artist, 1 = Album, 2 = Position/Length + bottomLineCycleDelay = 3 # time in seconds for bottom line rotation + flashChange = 1.0 # time in seconds to show volume change etc. + scrollPosition = 0 # starting position for the scroll + current_title = "" # current_title + waitBeforeOffMinutes = 10 # time to wait before going to standby + +# make an object to hold all these variables. Not sure why but I suppose it is neater +RPizeBox = RPizeBox() -#login details for the LMS (SqueezeLite) -scPort = 9090 # default LMS port for CLI -scUser = "" # CLI user -scPassword = "" # CLI password -logInWait = 5 # time in seconds to wait between LMS login attempts -loggedin = False # assume we are not logged in... -whatToShow = 0 # 0 = Artist, 1 = Album, 2 = Position/Length -bottomLineCycleDelay = 3 # time in seconds for bottom line rotation #for pylirc +# how long to wait between remote actions, check with console command "top" +##################################### +pylircReadDelay = 0.1 # 0.05 ~ 9% overhead +##################################### 0.1 ~ 6% overhead blocking = 0; # no idea what this does, but in the demo code! configFile = "/remoteCodes.conf" # has the codes we'll respond to -pylircReadDelay = 0.1 # how long to wait between responses #some messages = "123456789ABCDEF0" welcomeMessage1 = " Welcome to " @@ -114,50 +131,61 @@ def getExternalIP(ifname): ####################################################################### # # +######################### reset/reboot button ######################### +# Best used in another script since it takes 30s to initialise +# +os.chdir(os.path.dirname(os.path.realpath(__file__))) +os.system("python buttonWatch.py &") + + +########################### 16 x 2 display ############################ # set up the 16x2 display - 4 bit to save pins - apparently slower but marginal # https://projects.drogon.net/raspberry-pi/wiringpi/lcd-library/ wp.wiringPiSetup(); lcd = wp.lcdInit (2, 16, 4, 11,10 , 0,1,2,3,0,0,0,0) wp.lcdClear(lcd) # clear the lcd wp.lcdPosition(lcd, 0, 0) # cursor to start of row - + +################################# LMS ################################ # connect to the LMS -sc = Server(hostname=getExternalIP("eth0"), port=scPort, username=scUser, password=scPassword) +sc = Server(hostname=getExternalIP("eth0"), port=RPizeBox.scPort, username=RPizeBox.scUser, password=RPizeBox.scPassword) # log in to the LMS server - can't do much until that has happened. -while loggedin != True: +while RPizeBox.loggedin != True: try: sc.connect() #throws ugly error if LMS not there - loggedin = sc.logged_in - logging.debug('Logged in to LMS.') + RPizeBox.loggedin = sc.logged_in + logging.debug('Success: Logged in to LMS.') except: - logging.debug('LMS not there. Trying again in %i seconds.' % logInWait) + logging.debug('LMS not there. Trying again in %i seconds.' % RPizeBox.logInWait) wp.lcdPosition(lcd, 0, 0) wp.lcdPuts(lcd,welcomeMessage1[:16]) wp.lcdPosition(lcd, 0, 1) wp.lcdPuts(lcd,welcomeMessage2[:16]) - time.sleep(logInWait) + time.sleep(RPizeBox.logInWait) # connected to server, now set up the player # we know it is the RPi because we nab the local H/W address -sl = sc.get_player(getHwAddr("eth0")) # http://stackoverflow.com/questions/159137/getting-mac-address -logging.debug('Logged in to player.') - +try: + sl = sc.get_player(getHwAddr("eth0")) # http://stackoverflow.com/questions/159137/getting-mac-address + logging.debug('Success: In contact with SqueezeLite.') +except: + logging.warning('Can\'t contact SqueezeLite! Check it is running') ####################################################################### # END INITIALISE # # # # no idea what blocking is pylircConfigFile = "/remoteCodes.conf" - +track_title = "" # start looking for remote control calls if(pylirc.init("pylirc", currDir + pylircConfigFile, blocking)): elapsed_time = 0 start_time = time.time() - + code = {"config" : ""} while(code["config"] != "quit"): @@ -165,19 +193,56 @@ def getExternalIP(ifname): if(not blocking): # how long since we started elapsed_time = time.time() - start_time + + # has track has changed + #logging.debug('RPizeBox.current_title: %s, sl.get_track_title: %s' % (RPizeBox.current_title, sl.get_track_title())) + if (RPizeBox.current_title != sl.get_track_title()): + RPizeBox.scrollPosition = -1 + RPizeBox.lastStepTime = time.time() + RPizeBox.current_title = sl.get_track_title() + logging.debug('Track changed, now: %s' % RPizeBox.current_title) + if (sl.get_mode() == 'play'): + #logging.debug('Entered if (sl.get_mode() == \'play\'): loop') waitCount = 0 try: - #logging.debug('Elapsed time: %f' % elapsed_time) + wp.lcdPosition(lcd,0,0) + # scrolling code will go here + track_title = sl.get_track_title() + if (len(track_title) <= 16): + wp.lcdPuts(lcd,(sl.get_track_title() + " "*16)[:16]) + else: + # this is where we scroll + track_title += " --- " + track_title[:16] + + # cause delay if at start + if (RPizeBox.scrollPosition == -1): + RPizeBox.lastStepTime += RPizeBox.delayOnLoop + RPizeBox.scrollPosition = 0 + wp.lcdPuts(lcd,track_title[RPizeBox.scrollPosition:16+RPizeBox.scrollPosition]) + wp.lcdPosition(lcd, 0, 1) + wp.lcdPuts(lcd,(sl.get_track_artist() + " "*16)[:16]) + + if ((time.time() - RPizeBox.lastStepTime) > RPizeBox.scrollStepTime): + wp.lcdPuts(lcd,track_title[RPizeBox.scrollPosition:16+RPizeBox.scrollPosition]) + RPizeBox.scrollPosition += 1 + RPizeBox.lastStepTime = time.time() + + if (len(track_title) == 16+RPizeBox.scrollPosition): + #back to the start + RPizeBox.scrollPosition = -1 + + + # move to second row wp.lcdPosition(lcd, 0, 1) - # no switch in python! - if(whatToShow == 0 and elapsed_time >= bottomLineCycleDelay and elapsed_time < (bottomLineCycleDelay * 2)): + # no switch in python so cycle through the bottom line based on timings + if(RPizeBox.whatToShow == 0 and elapsed_time >= RPizeBox.bottomLineCycleDelay and elapsed_time < (RPizeBox.bottomLineCycleDelay * 2)): wp.lcdPuts(lcd,(sl.get_track_artist() + " "*16)[:16]) - elif(whatToShow == 1 and elapsed_time >= (bottomLineCycleDelay * 2) and elapsed_time < (bottomLineCycleDelay * 3)): + elif(RPizeBox.whatToShow == 1 and elapsed_time >= (RPizeBox.bottomLineCycleDelay * 2) and elapsed_time < (RPizeBox.bottomLineCycleDelay * 3)): wp.lcdPuts(lcd,(sl.get_track_album() + " "*16)[:16]) - elif(whatToShow == 2 and elapsed_time >= (bottomLineCycleDelay * 3) and elapsed_time < (bottomLineCycleDelay * 4)): + elif(RPizeBox.whatToShow == 2 and elapsed_time >= (RPizeBox.bottomLineCycleDelay * 3) and elapsed_time < (RPizeBox.bottomLineCycleDelay * 4)): wp.lcdPosition(lcd, 0, 1) elapsed = sl.get_time_elapsed() total = sl.get_track_duration() @@ -185,15 +250,31 @@ def getExternalIP(ifname): wp.lcdPuts(lcd,">" + ">"*(progress+1)+"-"*(8-progress) + " " + str(datetime.timedelta(seconds=int(total)))[-5:]) start_time = time.time() - whatToShow += 1 - if (whatToShow == 3): - whatToShow = 0 + RPizeBox.whatToShow += 1 + if (RPizeBox.whatToShow == 3): + RPizeBox.whatToShow = 0 except: + wp.lcdPosition(lcd, 0, 1) wp.lcdPuts(lcd," -++- "[:16]) # title scrolling - - - + + # deal with pause/stop + elif (sl.get_mode() == 'pause' or (sl.get_mode() == 'stop' and sl.get_power_state())): + wp.lcdPosition(lcd, 0, 0) + wp.lcdPuts(lcd,(sl.get_track_artist() + " "*16)[:16]) + wp.lcdPosition(lcd, 0, 1) + wp.lcdPuts(lcd,(" PAUSED" + " "*16)[:16]) + elapsed_time = time.time() - start_time + if (elapsed_time >= (RPizeBox.waitBeforeOffMinutes * 60)): + # send "OFF" message to player + sl.set_power_state(False) + + elif (sl.get_mode() == 'stop'): + wp.lcdPosition(lcd, 0, 1) + wp.lcdPuts(lcd," " + time.strftime("%H:%M", time.gmtime())[:16]) + wp.lcdPosition(lcd, 0, 0) + wp.lcdPuts(lcd,(datetime.datetime.now().strftime("%A") + " " + datetime.datetime.now().strftime("%d")+ " " + datetime.datetime.now().strftime("%B")[:3] + " "*16)[:16]) + # Delay between reads? time.sleep(pylircReadDelay) @@ -242,11 +323,21 @@ def getExternalIP(ifname): elif(code["config"] == "Vol+"): logging.debug("Vol+") - sl.volume_up() + sl.volume_up() + logging.debug("Volume is: " + str(sl.get_volume())) + # sl.get_volume() gives integer 0-100 + wp.lcdPosition(lcd, 0, 1) + wp.lcdPuts(lcd,((chr(255)*int(0.16*sl.get_volume())) + " "*16)[:16]) + time.sleep(RPizeBox.flashChange) elif(code["config"] == "Vol-"): logging.debug("Vol-") sl.volume_down() + logging.debug("Volume is: " + str(sl.get_volume())) + # sl.get_volume() gives integer 0-100 + wp.lcdPosition(lcd, 0, 1) + wp.lcdPuts(lcd,((chr(255)*int(0.16*sl.get_volume())) + " "*16)[:16]) + time.sleep(RPizeBox.flashChange) elif(code["config"] == "SkipForward" or code["config"] == "Tune+"): logging.debug("SkipForward") @@ -261,7 +352,7 @@ def getExternalIP(ifname): s = pylirc.nextcode(1) else: s = [] - + ####################################################################### # END RESPOND TO REMOTE # # # diff --git a/RPizeBox_bb.png b/RPizeBox_bb.png new file mode 100755 index 0000000..ba43b3a Binary files /dev/null and b/RPizeBox_bb.png differ diff --git a/buttonWatch.py b/buttonWatch.py new file mode 100755 index 0000000..6f07251 --- /dev/null +++ b/buttonWatch.py @@ -0,0 +1,75 @@ +import RPi.GPIO as GPIO +import os +import time +import logging +import wiringpi2 as wp # to control display + +#set up logging +logging.basicConfig(filename='/home/pi/scripts/buttonwatch.log',level=logging.DEBUG,format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p') + +# set up the display - 4 bit to save pins - apparently slower but marginal +# https://projects.drogon.net/raspberry-pi/wiringpi/lcd-library/ +wp.wiringPiSetup(); +lcd = wp.lcdInit (2, 16, 4, 11,10 , 0,1,2,3,0,0,0,0) + +#delay 30 seconds to let things settle down! +logging.debug('Starting 30 second delay to let GPIO settle down...') +time.sleep(30) +logging.debug('...and continuing...') + +#where the button is plugged in +buttonPin = 4 + +#time limits +accidental = 0.2 +shutdown = 3 + +#set up GPIO +GPIO.setmode(GPIO.BCM) + +# don't need ground lead? +GPIO.setup(buttonPin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) +GPIO.add_event_detect(buttonPin, GPIO.RISING) # add rising edge detection on a channel + +try: + while True: + + # stop it trashing the CPU + time.sleep(0.1) + + elapsed_time = 0 + if GPIO.event_detected(buttonPin): + start_time = time.time() + + while (GPIO.input(buttonPin)): + time.sleep(0.2) + elapsed_time = time.time() - start_time + if (elapsed_time > shutdown): + logging.info('Shutting down... (Elapsed time: ' + str(elapsed_time)[:4] + ')') + os.system("kill $(pgrep -f RPizeBox.py)") + wp.lcdClear(lcd) + wp.lcdPosition(lcd, 0, 0) + wp.lcdPuts(lcd,"Shutting down "[:16]) + wp.lcdPosition(lcd, 0, 1) + wp.lcdPuts(lcd," right now..."[:16]) + os.system("shutdown -h now +1") + break + + #ignore knocks but reboot if proper press + if (elapsed_time > accidental and elapsed_time <= shutdown): + logging.info('Rebooting... (Elapsed time: ' + str(elapsed_time)[:4] + ")") + os.system("kill $(pgrep -f RPizeBox.py)") + wp.lcdClear(lcd) + wp.lcdPosition(lcd, 0, 0) + wp.lcdPuts(lcd,"Rebooting "[:16]) + wp.lcdPosition(lcd, 0, 1) + wp.lcdPuts(lcd," right now."[:16]) + os.system("reboot") + #break + elif (elapsed_time > 0 and elapsed_time <= accidental): + logging.info('Button Pressed: Nothing to do. (Elapsed time: ' + str(elapsed_time)[:4] + ')') + + + +except KeyboardInterrupt: + GPIO.cleanup() \ No newline at end of file