Jump to content

[PLUGIN] LCD_Manager

This topic contains 85 posts with an estimated read time of 39 minutes. A summary containing the most significant posts is available with an estimated read time of 1 minute.

Featured Replies

On 8/20/2023 at 9:18 AM, SimonF said:

 

Not at present within the plugin.

 

But you can run these to turn off the screen 1 = on 0 = off so you could run as a user script on a schedule.

 

root@QNAP:~# echo -e "M^\x1" > /dev/ttyS1
root@QNAP:~# echo -e "M^\x0" > /dev/ttyS1

 

Hey is there a newer version of this code to turn off the screen?

 

I've got a usb crystalfontz off ebay. not getting anything with the quoted code.

My device is on: /dev/ttyUSB1

1861073739_Screenshot2024-03-04at20_39_15.thumb.png.aec9daca40770cbea770260d91cde5fe.png

Edited by dopeytree

  • 2 weeks later...
  • Replies 84
  • Views 15.8k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Oh @SimonF, look what you've made me do...     This is a HD44780 2004 display hooked up to a Arduino Nano that I had lying around connected via USB to unRAID (sorry for the poor

  • JonathanM
    JonathanM

    For those of us with servers tucked away, any chance of this working over usb-ip? I'm envisioning perhaps a raspberry pi clone of some flavor, joined to the local wifi, cycling between several servers

  • ricostuart
    ricostuart

    Might be worth havign a look at this project too : https://github.com/jdupl/QnapFreeLCD/blob/master/lcd-control.ksh

Posted Images

@SimonF

So I have my QNAP TVS-871 and running the plugin and seems to work. My question is this: Is there a way to completely customize the screen? Like I want to enable it during boot and have it say something like loading Loading Unraid..., then once loaded change to Array Stooped, then once Array is started say Array Loading. then once loaded say Array Loaded. then wait 10 seconds and show IP address then after 10 mins turn screen off, if button is pressed (the 2 buttons on qnap) the turn display on and show x if button is pressed again show y, if pressed again show z ect...

 

I am thinking something along the lines of user scripts to control the screen once loaded if possible??

 

Is this even possible?

 

Also Thanks form getting this far. It was annoying to see the screen never update to anything until now.

 

Note: That on the setting page in unraid you have the "Online Manual" link still back to the APC UPS Manual. maybe update to bring you to this thread?

 

I changed line 66 of the 'LCDSettings.page' to this

<span style="float:right;margin-right:10px"><a href="https://forums.unraid.net/topic/136952-plugin-lcd_manager/" target="_blank" title="_(UNRAID Forums: [PLUGIN] LCD_MANAGER)_"><i class="fa fa-file-text-o"></i> <u>_(Unraid Plugin Forum)_</u></a></span>


 

and now looks like this:

image.png.f62c9d2398e45444f2effb7450a31c24.png

 

 

I also updated the ICON to be more inline with UNRAID Icons (Attached if you want to use)

image.png.fd9d69895e1929279ea1b19d2824a9fd.png

lcd.png.bff7379a6c4227329ecac4445612afbb.png

 

Edited by almulder

  • Author
9 hours ago, almulder said:

 

Is this even possible?

 

Yes it is possible. My plan is to add an Unraid client process that can be configurable but I have create one as yet, There are sample code called client.php which is from a pfssense plugin.

 

here is the development guide for info: https://lcdproc.sourceforge.net/docs/current-dev.html

 

Thanks for the icon.

  • 3 months later...

Any way to add just about system stuff like name, ip address, etc?

 

Also would it be possible to add a field for custom pixel size? mine is 22x2 so it adds blocks and gets weird.

  • Author
1 hour ago, rweredhead said:

Any way to add just about system stuff like name, ip address, etc?

 

Also would it be possible to add a field for custom pixel size? mine is 22x2 so it adds blocks and gets weird.

Not currently, I still need to create an Unraid client.

 

For panel size. If you edit LCDSettings.page with find the LCD Screen dimensions and change the 20x2 to 22x2. This will allow you chane the setting. It will remain persistance but after reboot the code will revert so if you make in the gui it will revert unless you apply the change again but the config file will remain with the new Value post boot.

 

root@computenode:~# cd /usr/local/emhttp/plugins/lcd_manager/
root@computenode:/usr/local/emhttp/plugins/lcd_manager# ls
LCDSettings.page*  client.php*  event/  images/  include/  makepkg.sh*  scripts/
root@computenode:/usr/local/emhttp/plugins/lcd_manager# nano LCDSettings.page 
root@computenode:/usr/local/emhttp/plugins/lcd_manager# cat LCDSettings.page | grep -a4 x2
<!--
<input type="hidden" name="#include" value="/plugins/<?=$sName?>/include/update.apcupsd.php">
PORT=13666
HOST="127.0.0.1"
SIZE="20x2"
DEV="/dev/serial/by-id/usb-Crystalfontz_Crystalfontz_CFA631-USB_LCD_CF041151-if00-port0"
DRIVER="CFontzPacket"
ENABLED=1
DASH=0
--
  </select>

_(LCD Screen dimensions)_:
: <select name="SIZE" size="1" >
  <?=mk_option($cfg["SIZE"], "22x2", "22x2");?>
  <?=mk_option($cfg["SIZE"], "16x2", "16x2");?>
  </select>

_(LCD Device Path)_:
: <input type="text" name="DEV" value="<?=$cfg["DEV"];?>"/>
root@computenode:/usr/local/emhttp/plugins/lcd_manager# 

On 6/28/2024 at 11:40 PM, SimonF said:

Not currently, I still need to create an Unraid client.

 

For panel size. If you edit LCDSettings.page with find the LCD Screen dimensions and change the 20x2 to 22x2. This will allow you chane the setting. It will remain persistance but after reboot the code will revert so if you make in the gui it will revert unless you apply the change again but the config file will remain with the new Value post boot.

 

root@computenode:~# cd /usr/local/emhttp/plugins/lcd_manager/
root@computenode:/usr/local/emhttp/plugins/lcd_manager# ls
LCDSettings.page*  client.php*  event/  images/  include/  makepkg.sh*  scripts/
root@computenode:/usr/local/emhttp/plugins/lcd_manager# nano LCDSettings.page 
root@computenode:/usr/local/emhttp/plugins/lcd_manager# cat LCDSettings.page | grep -a4 x2
<!--
<input type="hidden" name="#include" value="/plugins/<?=$sName?>/include/update.apcupsd.php">
PORT=13666
HOST="127.0.0.1"
SIZE="20x2"
DEV="/dev/serial/by-id/usb-Crystalfontz_Crystalfontz_CFA631-USB_LCD_CF041151-if00-port0"
DRIVER="CFontzPacket"
ENABLED=1
DASH=0
--
  </select>

_(LCD Screen dimensions)_:
: <select name="SIZE" size="1" >
  <?=mk_option($cfg["SIZE"], "22x2", "22x2");?>
  <?=mk_option($cfg["SIZE"], "16x2", "16x2");?>
  </select>

_(LCD Device Path)_:
: <input type="text" name="DEV" value="<?=$cfg["DEV"];?>"/>
root@computenode:/usr/local/emhttp/plugins/lcd_manager# 

Thanks for the direction, How would i edit that file? Nano page doesnt offer the fields to modify and the cat page isnt editable.

  • Author
9 hours ago, rweredhead said:

Thanks for the direction, How would i edit that file? Nano page doesnt offer the fields to modify and the cat page isnt editable.

You should be able to nano the .page file.

nano /usr/local/emhttp/plugins/lcd_manager/LCDSettings.page 

  • 3 weeks later...

Hi. Works fine with a CrystalFontz 633 (with USB module), But have to change the settings for a 633 after boot (should be default in the original LCDd) and lower speed to 19200 (again, default in the original LCDd). Could we have an option to do it via the GUI plugin? Or tell me where to make those settings permanent?

Other solution is install from scratch but I like the idea of having control from the gui.

Thanks

DSCN1463.JPG

Edited by hamsterdan
Typo

  • Author
8 hours ago, hamsterdan said:

Hi. Works fine with a CrystalFontz 633 (with USB module), But have to change the settings for a 633 after boot (should be default in the original LCDd) and lower speed to 19200 (again, default in the original LCDd). Could we have an option to do it via the GUI plugin? Or tell me where to make those settings permanent?

Other solution is install from scratch but I like the idea of having control from the gui.

Thanks

DSCN1463.JPG

Code is in the setup, just not an option on the GUI at present. You may be able to change in the config file the driver to CFontz633. But of you change in the gui it would revert back.

            case "CFontz633":
                $config_text .= "[{$lcdproc_config['driver']}]\n";
                $config_text .= "Device={$realport}\n";
                $config_text .= "Size={$lcdproc_config['size']}\n";
                $config_text .= "Contrast=350\n";
                $config_text .= "Brightness=1000\n";
                $config_text .= "OffBrightness=50\n";
                $config_text .= "Speed=19200\n";
                $config_text .= "NewFirmware=yes\n";
                $config_text .= "Reboot=yes\n";
                break;

 

root@computenode:~# cat /boot/config/plugins/lcd_manager/lcd_manager.cfg 
HOST="127.0.0.1"
PORT="13666"
SIZE="22x2"
DASH="0"
DEV="/dev/ttyUSB0"
ENABLED="enabled"
DRIVER="CFontzPacket"
LCDPROC="no"
LCDPROCOPTS="N  C M"
root@computenode:~# 

Is it possible to add support of BeadaPanel USB Display? This product has a wider range of screen sizes and form factors. Product WiKi

 

rtc.jpg

c8e81eee684481da83cafa2c20a288c6.jpg

Hello everyone,

 

I have a QNAP TS-453A, the plugin was working but now it stopped. I dont know if it was an unraid update or a reboot.

 

If I try the command echo "E" > /dev/ttyS0 to S3 I receive always an input/output error.

 

Do you have any suggestion?

  • 3 weeks later...

Hi folks,

 

I've got an Asustor AS6706T Gen2.  Any idea which lcd driver it requires? I'm currently testing V7 beta2 on it.

 

thanks.

 

Rob.

Hi!  I installed this plugin on a new QNAP running unraid 6.12.11.  It works great, however the plugin doesn't survive a reload.  The plugin shows up under the 'Plugin File Install Errors' after a reboot, but I don't know where to find the log file.  Any suggestions?

 

Cheers!

 

plugin-error.thumb.png.be3660f618f2f89253f0f72aac399147.png

Edited by ritti

  • Author
2 hours ago, ritti said:

Hi!  I installed this plugin on a new QNAP running unraid 6.12.11.  It works great, however the plugin doesn't survive a reload.  The plugin shows up under the 'Plugin File Install Errors' after a reboot, but I don't know where to find the log file.  Any suggestions?

 

Cheers!

 

plugin-error.thumb.png.be3660f618f2f89253f0f72aac399147.png

Check the system log. Do you run any services providing access to internet that may not have started yet, i.e pihole or a vm firewall?

2 hours ago, SimonF said:

Check the system log. Do you run any services providing access to internet that may not have started yet, i.e pihole or a vm firewall?

This is occurring on a new install with no arrays or other services.  So, nothing that should block internet access, however the logs show a network failure event.

 

Aug 13 11:16:16 NAS01 root: Executing hook script: post_plugin_checks
Aug 13 11:16:16 NAS01 root: plugin: installing: lcd_manager.plg
Aug 13 11:16:16 NAS01 root: Executing hook script: pre_plugin_checks
Aug 13 11:16:16 NAS01 root: plugin: creating: /boot/config/plugins/lcd_manager/packages/lcdproc.txz - downloading from URL https://raw.githubusercontent.com/SimonFair/unraid-lcd/master/lcdproc.txz
Aug 13 11:16:21 NAS01 root: plugin: downloading: lcdproc.txz ...#015plugin: lcdproc.txz download failure: Network failure
Aug 13 11:16:21 NAS01 root: Executing hook script: post_plugin_checks

 

I can add a user script during array startup to install the plugin.  How would I then apply the locally stored lcd_manager settings via cli?

  • Author
22 minutes ago, ritti said:

This is occurring on a new install with no arrays or other services.  So, nothing that should block internet access, however the logs show a network failure event.

 

Aug 13 11:16:16 NAS01 root: Executing hook script: post_plugin_checks
Aug 13 11:16:16 NAS01 root: plugin: installing: lcd_manager.plg
Aug 13 11:16:16 NAS01 root: Executing hook script: pre_plugin_checks
Aug 13 11:16:16 NAS01 root: plugin: creating: /boot/config/plugins/lcd_manager/packages/lcdproc.txz - downloading from URL https://raw.githubusercontent.com/SimonFair/unraid-lcd/master/lcdproc.txz
Aug 13 11:16:21 NAS01 root: plugin: downloading: lcdproc.txz ...#015plugin: lcdproc.txz download failure: Network failure
Aug 13 11:16:21 NAS01 root: Executing hook script: post_plugin_checks

 

I can add a user script during array startup to install the plugin.  How would I then apply the locally stored lcd_manager settings via cli?

The plugin uses events to start processes so will not be simple to use user scripts. Can you see when system gets the network setup. Post syslig if you want.

Simon, I resolved the problem by enabled spanning-tree portfast on my Cisco switch.  Prior to enabling portfast, spanning-tree was blocking network access for ~ 50 sec as a loop prevention mechanism.  Thanks for the help with this!

  • 3 months later...

Hi,

I have a Futaba VFD than was running perfect under Ubuntu on USB with the mdm166a driver and would like to use it now with Unraid and the lcd_manager. Unfortunately "mdm166a.so" is not part of your collection in /lib/lcdproc. Is ist possible to add? Can I find the right lib for this "distro" some where else? 

Thanks for help.

Edited by berniebernieJ

  • Author
On 11/18/2024 at 10:00 AM, berniebernieJ said:

Hi,

I have a Futaba VFD than was running perfect under Ubuntu on USB with the mdm166a driver and would like to use it now with Unraid and the lcd_manager. Unfortunately "mdm166a.so" is not part of your collection in /lib/lcdproc. Is ist possible to add? Can I find the right lib for this "distro" some where else? 

Thanks for help.

Will look to see if I can build a new package.

@Simon

Thanks for all the help, I have installed the newest package and it runs very well!

As mentioned already the display is a little bit strange: despite whatever parameter I enter as "run lcdproc options" it always circles thru 5 displays and that is very annoying.

But I followed some documentation and found out how to limit that to one display :

    '!N' C '!P' '!L' '!I' '!U' '!S' '!T' '!M'

This helps to limit the display to one screen where I remove the '!', really funny but that is it now.

  • 1 month later...

Hey, I have a Crystalfontz CFA-635 and I have edited the config file to get all 4 lines working but any changes I make in LCDd.conf don't survive a restart.  Also if you need a tester for this display I am willing to put in the time.  Thanks for what you have done so far!

My celebration was premature.  All of the edits I did failed to survive a reboot.  Even the backup files I created disappeared.  I vaguely recall that Unraid runs from a RAM disk and that, of course, won't survive a reboot.  Maybe there's some way to resolve this, but I've wasted far too much time making the date and time appear in an attractive manner on the display.  It's just not that important for a NAS that will live on a shelf of an unoccupied laundry room datacenter.

 

I hope that @SimonF will take another look at this to move it from beta to stable.  Should he do that, I recommend the changes described below to the lcdprof.conf file, disabling all display screens by default (leave that to the user to select the 'run lcdproc options').  We also need a way to edit to the associated  .conf files that will survive reboots.  He's a sharp guy, so I'm sure that he would come up with something appropriate.

 

On 11/27/2024 at 4:29 AM, berniebernieJ said:

...despite whatever parameter I enter as "run lcdproc options" it always circles thru 5 displays and that is very annoying.

But I followed some documentation and found out how to limit that to one display :

    '!N' C '!P' '!L' '!I' '!U' '!S' '!T' '!M'

This helps to limit the display to one screen where I remove the '!', really funny but that is it now.

The unwanted displays are caused by the /etc/lcdproc.conf file having "Active=true" lines for each display you see cycling through.  I edited my copy of the /etc/lcdproc.conf, changing every "Active=true" to "Active=false".  Now, the only screens that show up in the rotation are those that I explicitly specify in the "Run lcdproc options" line, which is how I expected it to behave.

 

Your post got me started in the right direction, so thanks!

Edited by Miss_Sissy
Provide additional information

I tried my hand at fixing some things and I seem to have gotten it working much better for my screen. I'm not sure what you are using for hardware but I can try to make it work for you if you are willing to test it.  Unless you have a cfa 635 the brightness and contrast fields will do nothing.  Here is a link to my forked git https://github.com/wabamad/unraid-lcdcfa635test/tree/master

 

It's possible to install the plugin via url, I have attached a picture showing how to do so.  I plan to learn how to add more settings as I figure more of this out, it took me two evenings to get this far lol.

Quote
20 hours ago, Miss_Sissy said:

The unwanted displays are caused by the /etc/lcdproc.conf file having "Active=true" lines for each display you see cycling through.  I edited my copy of the /etc/lcdproc.conf, changing every "Active=true" to "Active=false".  Now, the only screens that show up in the rotation are those that I explicitly specify in the "Run lcdproc options" line, which is how I expected it to behave.

 

 

Screenshot 2025-01-18 002954.png

IMG_3565.JPG

Screenshot 2025-01-18 004214.png

  • Author
33 minutes ago, wabamad said:

I tried my hand at fixing some things and I seem to have gotten it working much better for my screen. I'm not sure what you are using for hardware but I can try to make it work for you if you are willing to test it.  Unless you have a cfa 635 the brightness and contrast fields will do nothing.  Here is a link to my forked git https://github.com/wabamad/unraid-lcdcfa635test/tree/master

 

It's possible to install the plugin via url, I have attached a picture showing how to do so.  I plan to learn how to add more settings as I figure more of this out, it took me two evenings to get this far lol.

 

Screenshot 2025-01-18 002954.png

IMG_3565.JPG

Screenshot 2025-01-18 004214.png

Feel free to create a PR and I will merge into the code and create a new package. 

 

 @Miss_SissyBeta is just a flag so I can remove that. Plan at some point is to create a Unraid specific client but have been working on other projects i.e. Vers 7.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...