Dashboard - Loggedin vs Public

Greetings
Purchased recently the EmonPi, installed everything and all is working great.

Just got into a small problem regarding dashboards
Wanted to make a dashboard public so other people in the house could see them, however part of the items dont show when accessing them publicly

Example
Logged in to local Emonpi.

Logged in publicly
using emonpi.local/emoncms/dashboard/view?id=1

Seems all gauges and termperature indicators arent rendered at all.

Any advise please?
I made sure to make all feed public, and publish the dashboard too.

Thank you in advance

Hello @gilaraujo I seem to be able to replicate this, which means its a bug, will look into it.

I spoke to soon, I made the wrong feed public, it seems to be working for me now, the dashboard is visible, although the menu is incorrectly showing.

Greetings
The dashboard is visible, as you can see on the pics i posted
The problem are the widgets, gauges and temperature icons that dont show at all

The graphs seem to render ok.

I did try with many broweers to be sure.
Any idea what it might be causing it?

Yes sorry, I can see the widgets on mine, when logged out, so Im not sure:

I can see that the Elements ares howing on the CSS and HTML table, but just not rendered at all.
I will investigate a bit further but seems strange that only Some of them are rendered and others are not.

Any sugestions on troubleshouting you could offer?

Regards

Ok great, Perhaps try adding one widget at a time to the dashboard to see if its one particular widget that’s then stopping the render process for the rest?

I think you miss read me
I can see them in the Source Code HTML and CSS
but they do not render

I made a new dash with just ONE dial, it doesnt render either.

But it is there in the source code

So i am lost for what is causing this selective show/noShow

Interesting, not sure if this makes sense

I caught a Fatal Error on the debugger:

Fatal error : Uncaught Exception: DateTimeZone::__construct(): Unknown or bad timezone () in /var/www/emoncms/Modules/process/process_processlist.php:1591 Stack trace: #0 /var/www/emoncms/Modules/process/process_processlist.php(1591): DateTimeZone->__construct(‘’) #1 /var/www/emoncms/Modules/process/process_model.php(71): Process_ProcessList->getstartday(1565547238, Object(Process)) #2 /var/www/emoncms/Modules/feed/engine/VirtualFeed.php(83): Process->__call(‘getstartday’, Array) #3 /var/www/emoncms/Modules/feed/feed_model.php(518): VirtualFeed->lastvalue(32) #4 /var/www/emoncms/Modules/feed/feed_model.php(384): Feed->get_timevalue(32) #5 /var/www/emoncms/Modules/feed/feed_model.php(360): Feed->redis_get_user_feeds(1) #6 /var/www/emoncms/Modules/feed/feed_model.php(369): Feed->get_user_feeds(1) #7 /var/www/emoncms/Modules/feed/feed_controller.php(54): Feed->get_user_public_feeds(‘1’) #8 /var/www/emoncms/core.php(60): feed_controller() #9 /var/www/emoncms/index.php(215): controller(‘feed’) #10 {main} thrown in /var/www/emoncms/Modules/process/process_processlist.php on line 1591

does this make a better sense of whats can be going on?

This error does not apear when Logged in with fulla dmin credentials

Thanks @gilaraujo I will take a look at that

Got the same error a dial and real time graph and a multgraph and feedtime on one public dashboard
when logged in I get all data, when logged out the dial and the feedtime disperses.

logged in.

logged out:

Yes i been waiting for a reply on the topic but cant seem to have a solution just yet
Seems almost dials require admin credentials to be displayed.

@emrys @TrystanLea could you have a look at this again please?

No Graphs and Widgets on Public Dashboards

I am experiencing the same problem, just completely without data.

Without a login, I have neither graphs nor widgets.
Logged in, I have it all in place.

I want to be able to share this dashboard publicly, but it can’t be done as it is now.

My emoncm’s account is called Bielefeldt

Link to public dashboard:
https://emoncms.org/dashboard/view&id=36602

Public Dashboard image:
Not logged in

emoncms_logget_out

Non Public Dashboard
Logged in:

emoncms_logget_in

Ohhh
I had overlooked that I have to make every single feed public.

Now I think it all seems to work.

Thanks :slight_smile:

1 Like

I am having a similar issue.

I have a local installation of EmonCMS on a Raspberry Pi:

I have made all my feeds public.

I have a public dashboard:
https://philipahlers.com/emoncms/dashboard/view/test

When logged in, all gauges work, the graphs work, and the simple feed fields work.

When not logged in, no gauges work, but the graphs work.

I get the below error in the Apache error.log when accessing the dashboard:

PHP Error Stack Trace Uncaught Exception: DateTimeZone::__construct(): Unknown or bad timezone () in /var/www/emoncms/Modules/process/process_processlist.php:1656 Stack trace: #0 /var/www/emoncms/Modules/process/process_processlist.php(1656): DateTimeZone->__construct('') #1 /var/www/emoncms/Modules/process/process_model.php(71): Process_ProcessList->getstartday(1579133692, Object(Process)) #2 /var/www/emoncms/Modules/feed/engine/VirtualFeed.php(83): Process->__call('getstartday', Array) #3 /var/www/emoncms/Modules/feed/feed_model.php(518): VirtualFeed->lastvalue(58) #4 /var/www/emoncms/Modules/feed/feed_model.php(384): Feed->get_timevalue(58) #5 /var/www/emoncms/Modules/feed/feed_model.php(360): Feed->redis_get_user_feeds(1) #6 /var/www/emoncms/Modules/feed/feed_model.php(369): Feed->get_user_feeds(1) #7 /var/www/emoncms/Modules/feed/feed_controller.php(54): Feed->get_user_public_feeds('1') #8 /var/www/emoncms/core.php(60): feed_controller() #9 /var/www/emoncms/index.php(222): controller('feed') #10 {main} thrown in **/var/www/emoncms/Modules/process/process_processlist.php** on line **1656**

I also get the same error when accessing the public feed lists with the below api call:
https://philipahlers.com/emoncms/feed/list.json?userid=1

All other API calls work fine with public feeds.

Server Information

Server Information

Emoncms

Server

  • OS :- Linux 4.19.66-v7+

Memory

HTTP

  • Server :- Apache/2.4.25 (Raspbian) HTTP/1.1 CGI/1.1 443

MySQL

  • Version :- 5.5.5-10.1.38-MariaDB-0+deb9u1
  • Host :- localhost:6379 (127.0.0.1)
  • Date :- 2020-01-15 18:09:59 (UTC -06:00‌​)
  • Stats :- Uptime: 5115 Threads: 1 Questions: 6163 Slow queries: 0 Opens: 34 Flush tables: 1 Open tables: 28 Queries per second avg: 1.204

Redis

  • Version :-
    • Redis Server :- 3.2.6
    • PHP Redis :- 5.0.0
  • Host :- localhost:6379
  • Size :- 144 keys (712.17K)
  • Uptime :- 0 days

PHP

  • Version :- 7.0.33-0+deb9u6 (Zend Version 3.0.0)
  • Modules :- apache2handler | bcmath v7.0.33-0+deb9u6 | bz2 v7.0.33-0+deb9u6 | calendar v7.0.33-0+deb9u6 | Core v7.0.33-0+deb9u6 | ctype v7.0.33-0+deb9u6 | curl v7.0.33-0+deb9u6 | date v7.0.33-0+deb9u6 | dom v20031129 | exif v7.0.33-0+deb9u6 | fileinfo v1.0.5 | filter v7.0.33-0+deb9u6 | ftp v7.0.33-0+deb9u6 | gd v7.0.33-0+deb9u6 | gettext v7.0.33-0+deb9u6 | hash v1.0 | iconv v7.0.33-0+deb9u6 | igbinary v2.0.1 | imagick v3.4.3RC2 | json v1.4.0 | libxml v7.0.33-0+deb9u6 | mbstring v7.0.33-0+deb9u6 | mcrypt v7.0.33-0+deb9u6 | mysqli v7.0.33-0+deb9u6 | mysqlnd vmysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $ | openssl v7.0.33-0+deb9u6 | pcre v7.0.33-0+deb9u6 | PDO v7.0.33-0+deb9u6 | pdo_mysql v7.0.33-0+deb9u6 | Phar v2.0.2 | posix v7.0.33-0+deb9u6 | readline v7.0.33-0+deb9u6 | redis v5.0.0 | Reflection v7.0.33-0+deb9u6 | session v7.0.33-0+deb9u6 | shmop v7.0.33-0+deb9u6 | SimpleXML v7.0.33-0+deb9u6 | sockets v7.0.33-0+deb9u6 | SPL v7.0.33-0+deb9u6 | standard v7.0.33-0+deb9u6 | sysvmsg v7.0.33-0+deb9u6 | sysvsem v7.0.33-0+deb9u6 | sysvshm v7.0.33-0+deb9u6 | tokenizer v7.0.33-0+deb9u6 | wddx v7.0.33-0+deb9u6 | xml v7.0.33-0+deb9u6 | xmlreader v7.0.33-0+deb9u6 | xmlwriter v7.0.33-0+deb9u6 | xsl v7.0.33-0+deb9u6 | Zend OPcache v7.0.33-0+deb9u6 | zip v1.13.5 | zlib v7.0.33-0+deb9u6

Pi

  • Model :- Raspberry Pi 3 Model B+ Rev 1.3 - 1GB (Sony UK)

  • emonpiRelease :- - File-system :- read-write

Well - I figured out a workaround after posting this.

It looks like if you have a virtual feed with the same “Feed node” as one of your other nodes, the API call “/feed/list.json?userid=1” will fail, taking all dashboard widgets except for graphs with it.

Interesting find - @emrys is this a bug?

Thanks @fillycheezstake

I’ve tried to replicate the bug here and no luck so far. This is what I did:

  1. I have a feed called P1 (power feed). I created a virtual feed based on this feed.
  2. I changed the node name of the virtual feed to match that of P1.
  3. Made both feeds public
  4. Created a dashboard with two dial widgets, one from the real feed and the other from the virtual.
  5. Made the dashboard public
  6. Tested public access to the dashboard (both dials work fine).
  7. Tested public access to the feed list, works fine:

Feed list result:

    [
    {
        "id": "1",
        "userid": "1",
        "name": "P1",
        "datatype": "1",
        "tag": "emontx3cm15",
        "public": "1",
        "size": "3486448",
        "engine": "5",
        "processList": "",
        "unit": "",
        "time": 1579173656,
        "value": 16,
        "start_time": 1570457090,
        "interval": 10
    },
    {
        "id": "20",
        "userid": "1",
        "name": "P1V",
        "datatype": "1",
        "tag": "emontx3cm15",
        "public": "1",
        "size": "0",
        "engine": "7",
        "unit": "",
        "processList": "53:1",
        "time": 1579173664,
        "value": 16,
        "start_time": 0,
        "interval": 1
    }
]

Can you give me any more pointers on how to replicate?

I’ve created an issue to help with tracking: Virtual feed with same node name causes feed list error · Issue #1500 · emoncms/emoncms · GitHub

1 Like