Configuring a GPIO LCD

Hi. I’m running emonSD on an old R Pi 2 with some add-on boards and it basically seems to work OK (the web and ssh interfaces seem to work), but EmonPiLCD doesn’t run and my LCD display is blank. I think it’s expecting an I2C LCD display but mine is connected to GPIO pins without I2C. I have working configuration details from an old img saved but cannot understand how to tell emonPiLCD.cfg (or otherwise) that the display is not I2C and how it’s wired up.

Is there any simple way to do this, should I try to extend the lcddriver.py, or will that be a bundle of pain so I’d be better off ignoring it and writing something standalone using RPLCD?

I’ve also got some pushbuttons, relays and I think a temperature sensor wired up to GPIO pins if anyone would like to point me at ways to use them.

Many thanks for any thoughts!

I’ve installed node-red for various experiments (including a crude “holiday timer” for day trips) and it’ll be staying around because it gave a very easy way to display emoncms data (published over MQTT from Setup: Inputs) and log messages on the RPi LCD. The button events are sent from node-red to MQTT and acted upon by my heatpump client script that also collects data to send by HTTP to emoncms.

In case anyone ever wants it without digging around in the code, the HestiaPi shield LCD setup is rs on pin 24, e on 22, data pins [19, 10, 23, 8], backlight pin 21 and high to activate. The pushbuttons are connected to pins 26(W), 18(H), 15(+) and 11(-) (all are also active high, which needs “pullup” resistor set in node-red) with the relays connected to pins 16 (1/water) and 12 (2/heating).

So I don’t expect to extend lcddriver.py to handle GPIO displays because emonPiLCD is not as flexible in what it can display and wouldn’t easily show what I want in-home, which is fair enough because the EmonPi is advertised as monitoring unit for your utility cupboard, not a home control/display unit. And I’d still need something to use the other buttons and relays.

Edited to undo moderator-formatted text. That is not valid code for node-red, so it is misleading to format it as code.