Yottabits/102shows

Doesn't work

Opened this issue · 5 comments

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.

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

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'

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.

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.

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.

  • on the stable branch, UI and server do match. I've had that in use for quite some time :-) Unfortunately, with the current version of Node-RED, the UI is just blank o.O (as discovered in the original issue report here)
  • on the master branch, I did some experimental stuff and indeed, the UI can now make the server crash, as you discovered.

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.