Fatal error - Help please!

After running emonSD on a pi 2 for over 10 years with only minor issues, I have now totally screwed up the apps while trying to sort a minor niggle. I am running emonSD-21Jul21

The core of the program is still running, collecting data and reporting back to Home Assistant but I no longer have any apps and when I login to the web UI I just get this message:-

Fatal error: Uncaught Error: Call to undefined function tr() in /var/www/emoncms/Modules/app/app_menu.php:70
Stack trace:
#0 /var/www/emoncms/core.php(284): require() #1 /var/www/emoncms/index.php(384): load_menu() #2 {main} thrown in /var/www/emoncms/Modules/app/app_menu.php on line 70

Running “git status” on the app folder via ssh shows this:

pi@emonpi:/var/www/emoncms/Modules/app $ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    apps/OpenEnergyMonitor/co2monitor/app.json
        deleted:    apps/OpenEnergyMonitor/co2monitor/co2monitor.js
        deleted:    apps/OpenEnergyMonitor/co2monitor/co2monitor.php
        deleted:    apps/OpenEnergyMonitor/co2monitor/preview.png
        deleted:    apps/OpenEnergyMonitor/config-nav.php
        deleted:    apps/OpenEnergyMonitor/costcomparison/app.json
        deleted:    apps/OpenEnergyMonitor/costcomparison/costcomparison.php
        deleted:    apps/OpenEnergyMonitor/costcomparison/preview.png
        deleted:    apps/OpenEnergyMonitor/costcomparison/rates.js
        deleted:    apps/OpenEnergyMonitor/feedin/app.json
        deleted:    apps/OpenEnergyMonitor/feedin/feedin.php
        deleted:    apps/OpenEnergyMonitor/graph-nav.php
        deleted:    apps/OpenEnergyMonitor/myboiler/app.json
        deleted:    apps/OpenEnergyMonitor/myboiler/myboiler.js
        deleted:    apps/OpenEnergyMonitor/myboiler/myboiler.php
        deleted:    apps/OpenEnergyMonitor/myboiler/style.css
        deleted:    apps/OpenEnergyMonitor/myelectric/app.json
        deleted:    apps/OpenEnergyMonitor/myelectric/myelectric.php
        deleted:    apps/OpenEnergyMonitor/myelectric2/app.json
        deleted:    apps/OpenEnergyMonitor/myelectric2/myelectric2.php
        deleted:    apps/OpenEnergyMonitor/myenergy/app.json
        deleted:    apps/OpenEnergyMonitor/myenergy/myenergy.php
        deleted:    apps/OpenEnergyMonitor/myheatpump/app.json
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump.js
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump.php
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump_bargraph.js
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump_controller.php
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump_model.php
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump_powergraph.js
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump_process.js
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump_process.php
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump_schema.php
        deleted:    apps/OpenEnergyMonitor/myheatpump/myheatpump_waft.php
        deleted:    apps/OpenEnergyMonitor/myheatpump/process_daily.php
        deleted:    apps/OpenEnergyMonitor/myheatpump/style.css
        deleted:    apps/OpenEnergyMonitor/mysolarpv/app.json
        deleted:    apps/OpenEnergyMonitor/mysolarpv/mysolarpv.php
        deleted:    apps/OpenEnergyMonitor/mysolarpvbattery/app.json
        deleted:    apps/OpenEnergyMonitor/mysolarpvbattery/mysolarpvbattery.php
        deleted:    apps/OpenEnergyMonitor/mysolarpvdivert/app.json
        deleted:    apps/OpenEnergyMonitor/mysolarpvdivert/mysolarpvdivert.php
        deleted:    apps/OpenEnergyMonitor/octopus/app.json
        deleted:    apps/OpenEnergyMonitor/octopus/octopus.php
        deleted:    apps/OpenEnergyMonitor/octopus/profile.js
        deleted:    apps/OpenEnergyMonitor/octopus/tariff_explorer.css
        deleted:    apps/OpenEnergyMonitor/octopus/tariff_explorer.js
        deleted:    apps/OpenEnergyMonitor/profile/app.json
        deleted:    apps/OpenEnergyMonitor/profile/preview.png
        deleted:    apps/OpenEnergyMonitor/profile/profile.php
        deleted:    apps/OpenEnergyMonitor/solarbatterysim/app.json
        deleted:    apps/OpenEnergyMonitor/solarbatterysim/preview.png
        deleted:    apps/OpenEnergyMonitor/solarbatterysim/solarbatterysim.php
        deleted:    apps/OpenEnergyMonitor/storagesim/app.json
        deleted:    apps/OpenEnergyMonitor/storagesim/storagesim.js
        deleted:    apps/OpenEnergyMonitor/storagesim/storagesim.php
        deleted:    apps/OpenEnergyMonitor/timeofuse/app.json
        deleted:    apps/OpenEnergyMonitor/timeofuse/timeofuse.php
        deleted:    apps/OpenEnergyMonitor/timeofuse2/app.json
        deleted:    apps/OpenEnergyMonitor/timeofuse2/timeofuse2.php
        deleted:    apps/OpenEnergyMonitor/timeofusecl/app.json
        deleted:    apps/OpenEnergyMonitor/timeofusecl/timeofusecl.php
        deleted:    apps/OpenEnergyMonitor/ukgrid/app.json
        deleted:    apps/OpenEnergyMonitor/ukgrid/ukgrid.js
        deleted:    apps/OpenEnergyMonitor/ukgrid/ukgrid.php
        deleted:    apps/blank/blank.php
        deleted:    apps/template/app.json
        deleted:    apps/template/preview.png
        deleted:    apps/template/template.js
        deleted:    apps/template/template.php

no changes added to commit (use "git add" and/or "git commit -a")
pi@emonpi:/var/www/emoncms/Modules/app $ git pull origin stable
From https://github.com/emoncms/app
 * branch            stable     -> FETCH_HEAD
Already up to date.

Is there a way to reinstall the app files without changing anything else from ssh?

thanks in advance,

IvanW

@TrystanLea might be able to help you.

Try running git checkout . in the apps folder. This should restore the your copy of the repo to match the current master branch.

Hi Glyn,
I am running emonSD-21Jul21 will this action just update the apps and will they run ok?

Or will it update the whole emonSD to the latest version? If so, will my old data still be intact?

Update:

Had a read online and ran git checkout .
Missing files are restored, but still have the same issue with the error message

Regards,

IvanW

It just updates some of the files in the emoncms system - your data is safe.

As this is quite an old system, you might find it easier to get a new card, start with the latest release and then migrate your data Import / Backup / Restore / Update — OpenEnergyMonitor 0.0.1 documentation

This is non-destructive so the old card is not changed in anyway.

1 Like

Thanks for the suggestions, managed to fix the problem - thought I would share the process in case it helps anyone else in a similar fix.

I did an ssh into the rpi and temporarily disabled the app module:

mv /var/www/emoncms/Modules/app /var/www/emoncms/Modules/app_disabled

This enabled the web UI to come up successfully and I then reloaded the Modules

cd /var/www/emoncms
git pull
git submodule update --init --recursive

Next specifically refreshed modules:

cd Modules
git pull

Then restarted the web server:

sudo systemctl restart apache2

Put the apps back:

mv /var/www/emoncms/Modules/app_disabled /var/www/emoncms/Modules/app

Then logged back in to the web UI.