Yottabits / 102shows

Raspberry Pi + APA102 + MQTT + 102shows = LED awesomeness!
GNU General Public License v2.0
15 stars 4 forks source link

Doesn't work #32

Open Britman72 opened 4 years ago

Britman72 commented 4 years ago

Not sure if this is maintained anymore or not, but I could not get this to work on Raspbian Buster.

Got Node Red working. Installed Mosquitto. 102shows/server/run.sh (per install doc) does not exist, tried server.py instead, looks like that works. Output:

2020-01-31 15:27:08 raspberrypi 102shows.server.mqttcontrol[10286] INFO Starting MyLED 2020-01-31 15:27:08 raspberrypi 102shows.server.mqttcontrol[10286] INFO Initializing LED strip... 2020-01-31 15:27:08 raspberrypi 102shows.drivers[10286] INFO sync-up 2020-01-31 15:27:08 raspberrypi 102shows.server.mqttcontrol[10286] INFO Connecting to the MQTT Broker 2020-01-31 15:27:08 raspberrypi 102shows.server.mqttcontrol[10286] INFO MyLED is ready 2020-01-31 15:27:08 raspberrypi 102shows.server.helpers.configparser[10286] INFO Successfully parsed defaults.yml as default configuration 2020-01-31 15:27:08 raspberrypi 102shows.server.helpers.configparser[10286] INFO Successfully parsed config.yml as user configuration 2020-01-31 15:27:08 raspberrypi 102shows.server.mqttcontrol[10286] INFO Starting the show clear 2020-01-31 15:27:08 raspberrypi 102shows.server.mqttcontrol[10286] INFO subscription on Broker localhost for led/MyLED/show/+/start and led/MyLED/show/+/stop 2020-01-31 15:27:08 raspberrypi 102shows.drivers[10289] INFO sync-down

Went to myserverip:1880/ui and all I get is a blank screen.

Britman72 commented 4 years ago

Solved, although the path to run.sh is still incorrect in the doc.

tomvdp commented 2 years ago

Indeed, I followed the instructions too. Got NodeRED running, Mosquitto too. The run.sh (and some other files) are not installed. Getting them manually doesn't fix it. It references a non-existing directory ../venv/ and then quits with an error:

TypeError: load() missing 1 required positional argument: 'Loader'

domiko96 commented 2 years ago

Not using this or developing this, but I know the original creator..

venv is usually the name of a python virtual environment. So you probably need to run:

python3 -m venv venv
source venv/bin/activate
which python3 -> should show the path to the python3 executable of the venv
pip install -r requirements.txt

See this primer to get familiar with virtual environments.

tomvdp commented 2 years ago

Thanks for the comment. The error I got was actually related to the use of a now-deprecated YAML function call. I created another ticket for that. After fixing that, to get the server running it should be started with the current working directory ./server. (At least in my case as I am not using virtual environments.)

So now I have all pieces up and running, but they are not talking to eachother. The UI sends MQTT messages in a format that the server is not picking up.

UI sends messages in the format: led/pi/show/start

The server though is listening to the format: led/pi/show/+/start

Here "led" and "pi" are coming from the configuration files. The problem is the server expects the "show_name" where the "+" sign is in the path above. But the UI does not send it in that way.

This is what it sends: led/pi/show/start {"name":"christmas","parameters":{"velocity":5,"merry_go_round":3,"chunk_blendover":5,"whole_blendover":5}}

It is as if in the current Github branch (checked master & stable) there is a mismatch between UI and server versions.

It is a pity the author has spent so much time developing and documenting but that it is now in a state that it does not work out of the box. I am afraid I am going to give up trying to get it back alive.

EDIT: my conclusion was correct. When using the install script, the versions of the UI and server do not match. I installed the latest current code and now at least the UI and server can communicate. Not all "shows" work and the UI crashes the server when it sends parameters.

sleiner commented 2 years ago

Hi @tomvdp,

as the original author, let me answer to that :-)

my conclusion was correct. When using the install script, the versions of the UI and server do not match. I installed the latest current code and now at least the UI and server can communicate. Not all "shows" work and the UI crashes the server when it sends parameters.


It is a pity the author has spent so much time developing and documenting but that it is now in a state that it does not work out of the box.

At the time, I was highly motivated to do this project for multiple reasons, most of which do not apply anymore. Also in the mean time some hardware broke and I now have lots of other stuff going on, so I'm stepping down from maintaining this project. I'll put that as a big disclaimer into the README file.