This is a very first development version of my new MMDVMDashboard using websockets-technology to get rid of high load on Raspberry Pi and others and keep those temperature down.
The Dashboard persists in detail in 3 components: two on the server (Hotspot/Repeater) side and on on the browser.
The two server sided components are the logtailer.py (which communicates via websocket with your browser and streams the logs to it for processing) and the webserver-component from python3 (which is serving the needed html and javascript infrastructure to your browser).
The client based component is the javascript processing the streamed log lines and filling the tables.
## Used Ports
By default following Ports are used for running the Dashboard:
* 8000 TCP: webservice
* 5678 TCP: Websocket
## Installation
You'll need to install several python3 modules. A concrete list will follow here later.
* First of all (if not already done by installation of MMDVMHost): create a syetemuser with `sudo adduser --system --no-create-home --group mmdvm`
* Also add the new user to the group "dialout" with `usermod -a -G dialout mmdvm`
* Add following line to /etc/sudoers with `sudo visudo` for getting the logtailer access to MMDVMHost: `www-data ALL=(ALL) NOPASSWD: /usr/local/bin/MMDVMHost`
* Clone this repository to your home-directory with `git clone --recurse-submodules -j8 https://github.com/dg9vh/MMDVMHost-Websocketboard` to clone the repository with it's submodules
* Create directory with `sudo mkdir /opt/MMDVMDash`
* Copy all files from repository into this folder
* Change ownership to user mmdvm for example with `sudo chown -R mmdvm:mmdvm /opt/MMDVMDash`
* Modify *logtailer.ini* to fit your needs
* Modify */html/js/config.js* to fit your needs, here you can switch on/off tabs showing or enable debug for getting some output in javascript console. You should take a look into this file - here are different options you can configure.
* Copy files in */opt/MMDVMDash/systemd* to */etc/systemd/system* or similar corresponding to your system
* Modify both scripts to fit your needs
* Enable services with following commmands, this results in starting both automatically after reboot:
If you have any trouble running the software most things depend on the logtailer-component. So it is a good idea to try starting the software on the console with
`python3 ./logtailer.py` to see the output of the program. A common error is missing python-libraries you should install with the commands mentioned above.
If you are using the DMRHost as replacement for MMDVMHost you should enable DMR-ID-Lookup within *logtailer.ini* by setting the corresponding option = 1
Also take care to configure the filepath to the correct location of your *DMRIds.dat*.
First row leave untouched for orientation. The other lines contains on first column the DMR-timeslot the TG is used, second column contains the talkgroup-number and third column contains the label you want to be shown in the target-column of the dashboard.
Please edit this file to your needs. It may change on developer-side from time by time so when updating keep a copy of your personal list to modify/edit it.
If you do not want to have this Talkgroup-textes in your dashboard, simply remove all but the first line in this file.