some problems with php8.1

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Sat Aug 20, 2022 11:31 am

ok
i reloaded summary 5.6 and that now works
due to the 504 gateway time out i am unable to access the block setup to get to the forecast setting
i had to manually add the missing line to the forecast settings file to sort it
not sure whats wrong with the block setup
https://www.hc-iom.co.uk/template/indexDesktop.php
Image

davidefa
Expert
Expert
Posts: 862
Joined: Tue Jan 12, 2021 8:03 am
Location: Italy
Station model: WH2650
Software: WH2650 (direct upload)
Contact:

Re: some problems with php8.1

Post by davidefa » Sat Aug 20, 2022 12:16 pm

Try accessing the setup of the block via this url:
https://www.hc-iom.co.uk/template/admin ... ast&errors
And report any warning errors that appear in the upper part of the page

P.S.
You need to be logged in as administrator

P.P.S.
You may also take look at the server errors log to see if there is any useful information ( logged when you try to run the setup )

forecastsetup01.png
forecastsetup01.png (227.68 KiB) Viewed 10600 times
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Sat Aug 20, 2022 9:49 pm

Forecastblockerror.JPG
Forecastblockerror.JPG (161.91 KiB) Viewed 10567 times
this what showed up


i tried this https://www.hc-iom.co.uk/template/admin ... hp?&errors
and got
Blocksetuperror1.JPG
Blocksetuperror1.JPG (176.63 KiB) Viewed 10567 times
Blocksetuperror2.JPG
Blocksetuperror2.JPG (144.19 KiB) Viewed 10567 times
part 3 in new post
Last edited by hcorrin on Sat Aug 20, 2022 9:51 pm, edited 1 time in total.
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Sat Aug 20, 2022 9:50 pm

final part
Blocksetuperror3.JPG
Blocksetuperror3.JPG (120.27 KiB) Viewed 10567 times
this is last part of ssl_error log

[Sat Aug 20 22:28:05.512539 2022] [fcgid:warn] [pid 12377] [client 87.254.86.149:56435] mod_fcgid: stderr: PHP Deprecated: Function date_sunrise() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 141, referer: http://www.meteotemplate.com/
[Sat Aug 20 22:28:05.512630 2022] [fcgid:warn] [pid 12377] [client 87.254.86.149:56435] mod_fcgid: stderr: PHP Deprecated: Function date_sunset() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 142, referer: http://www.meteotemplate.com/
[Sat Aug 20 22:28:05.512637 2022] [fcgid:warn] [pid 12377] [client 87.254.86.149:56435] mod_fcgid: stderr: PHP Deprecated: Implicit conversion from float 2551442.8610880002 to int loses precision in /home/storage/129/3316129/user/htdocs/template/scripts/functions.php on line 1218, referer: http://www.meteotemplate.com/
[Sat Aug 20 22:28:05.512641 2022] [fcgid:warn] [pid 12377] [client 87.254.86.149:56435] mod_fcgid: stderr: PHP Deprecated: Implicit conversion from float 2551442.8610880002 to int loses precision in /home/storage/129/3316129/user/htdocs/template/scripts/functions.php on line 1218, referer: http://www.meteotemplate.com/
[Sat Aug 20 22:28:05.512644 2022] [fcgid:warn] [pid 12377] [client 87.254.86.149:56435] mod_fcgid: stderr: PHP Deprecated: Function date_sunrise() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 313, referer: http://www.meteotemplate.com/
[Sat Aug 20 22:28:05.512659 2022] [fcgid:warn] [pid 12377] [client 87.254.86.149:56435] mod_fcgid: stderr: PHP Deprecated: Function date_sunset() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 314, referer: http://www.meteotemplate.com/
[Sat Aug 20 22:28:05.512676 2022] [fcgid:warn] [pid 12377] [client 87.254.86.149:56435] mod_fcgid: stderr: PHP Warning: Trying to access array offset on value of type null in /home/storage/129/3316129/user/htdocs/template/header.php on line 622, referer: http://www.meteotemplate.com/
[Sat Aug 20 22:28:05.512679 2022] [fcgid:warn] [pid 12377] [client 87.254.86.149:56435] mod_fcgid: stderr: PHP Warning: Trying to access array offset on value of type null in /home/storage/129/3316129/user/htdocs/template/header.php on line 623, referer: http://www.meteotemplate.com/
[Sat Aug 20 22:34:43.641346 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Deprecated: Function date_sunrise() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 141
[Sat Aug 20 22:34:43.641381 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Deprecated: Function date_sunset() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 142
[Sat Aug 20 22:34:43.641384 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Deprecated: Implicit conversion from float 2551442.8610880002 to int loses precision in /home/storage/129/3316129/user/htdocs/template/scripts/functions.php on line 1218
[Sat Aug 20 22:34:43.641387 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Deprecated: Implicit conversion from float 2551442.8610880002 to int loses precision in /home/storage/129/3316129/user/htdocs/template/scripts/functions.php on line 1218
[Sat Aug 20 22:34:43.641390 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Deprecated: Function date_sunrise() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 313
[Sat Aug 20 22:34:43.641393 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Deprecated: Function date_sunset() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 314
[Sat Aug 20 22:34:43.641396 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Undefined array key "id" in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 32
[Sat Aug 20 22:34:43.641399 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Undefined variable $blockInfo in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 42
[Sat Aug 20 22:34:43.641402 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Trying to access array offset on value of type null in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 42
[Sat Aug 20 22:34:43.641405 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: foreach() argument must be of type array|object, null given in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 42
[Sat Aug 20 22:34:43.641420 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Trying to access array offset on value of type null in /home/storage/129/3316129/user/htdocs/template/header.php on line 622
[Sat Aug 20 22:34:43.641424 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Trying to access array offset on value of type null in /home/storage/129/3316129/user/htdocs/template/header.php on line 623
[Sat Aug 20 22:34:45.201218 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Undefined variable $blockInfo in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 76
[Sat Aug 20 22:34:45.201252 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Trying to access array offset on value of type null in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 76
[Sat Aug 20 22:34:45.201255 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Undefined variable $blockInfo in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 79
[Sat Aug 20 22:34:45.201258 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Trying to access array offset on value of type null in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 79
[Sat Aug 20 22:34:45.201260 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Deprecated: number_format(): Passing null to parameter #1 ($num) of type float is deprecated in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 79
[Sat Aug 20 22:34:45.201263 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Undefined variable $blockInfo in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 82
[Sat Aug 20 22:34:45.201266 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Trying to access array offset on value of type null in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 82
[Sat Aug 20 22:34:45.201268 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: foreach() argument must be of type array|object, null given in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 82
[Sat Aug 20 22:34:45.201271 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Warning: Undefined variable $variableList in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 101
[Sat Aug 20 22:34:45.201273 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: PHP Fatal error: Uncaught TypeError: implode(): Argument #1 ($pieces) must be of type array, string given in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php:101
[Sat Aug 20 22:34:45.201276 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: Stack trace:
[Sat Aug 20 22:34:45.201278 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: #0 /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php(101): implode(',', NULL)
[Sat Aug 20 22:34:45.201281 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: #1 {main}
[Sat Aug 20 22:34:45.201283 2022] [fcgid:warn] [pid 10160] [client 87.254.86.149:14653] mod_fcgid: stderr: thrown in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 101
[Sat Aug 20 22:57:02.864558 2022] [fcgid:warn] [pid 38857] [client 87.254.86.149:30821] mod_fcgid: read data timeout in 60 seconds, referer: https://www.hc-iom.co.uk/template/admin/index.php
[Sat Aug 20 22:57:02.864607 2022] [core:error] [pid 38857] [client 87.254.86.149:30821] End of script output before headers: php81-cgi, referer: https://www.hc-iom.co.uk/template/admin/index.php
[Sat Aug 20 22:58:40.165628 2022] [fcgid:warn] [pid 12333] [client 87.254.86.149:61009] mod_fcgid: read data timeout in 60 seconds
[Sat Aug 20 22:58:40.165668 2022] [core:error] [pid 12333] [client 87.254.86.149:61009] End of script output before headers: php81-cgi
[Sat Aug 20 22:59:25.145221 2022] [fcgid:warn] [pid 12378] [client 87.254.86.149:43959] mod_fcgid: read data timeout in 60 seconds, referer: https://www.hc-iom.co.uk/template/index.php
[Sat Aug 20 22:59:25.145268 2022] [core:error] [pid 12378] [client 87.254.86.149:43959] End of script output before headers: php81-cgi, referer: https://www.hc-iom.co.uk/template/index.php
[Sat Aug 20 22:59:31.845669 2022] [fcgid:warn] [pid 38489] [client 87.254.86.149:58505] mod_fcgid: read data timeout in 60 seconds, referer: https://www.hc-iom.co.uk/template/index.php
[Sat Aug 20 22:59:31.845711 2022] [core:error] [pid 38489] [client 87.254.86.149:58505] End of script output before headers: php81-cgi, referer: https://www.hc-iom.co.uk/template/index.php
[Sat Aug 20 23:00:25.017837 2022] [fcgid:warn] [pid 12333] [client 87.254.86.149:16349] mod_fcgid: read data timeout in 60 seconds
[Sat Aug 20 23:00:25.017864 2022] [core:error] [pid 12333] [client 87.254.86.149:16349] End of script output before headers: php81-cgi
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Sat Aug 20, 2022 10:23 pm

this is the link https://www.hc-iom.co.uk/template/admin/blockSetup.php giving the 504 error when logged in
Image

davidefa
Expert
Expert
Posts: 862
Joined: Tue Jan 12, 2021 8:03 am
Location: Italy
Station model: WH2650
Software: WH2650 (direct upload)
Contact:

Re: some problems with php8.1

Post by davidefa » Sat Aug 20, 2022 10:30 pm

Sorry, I think I didn't understand your initial statement ( if I'm not wrong, the first image shows that the forecast block setup returns only minor warnings but no fatal error, and it should work as expected ).
So you are not able to access this page:

block_setup1.png
block_setup1.png (223.21 KiB) Viewed 10563 times

In any case reload the page that generates the error appending an '?errors' ( or '&errors' if the url already contains an '?' )
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Sun Aug 21, 2022 6:51 pm

sorry if i did not explain it very well
yes your block_setup1 image in last post is what i am having the problem with
i tried as suggested https://www.hc-iom.co.uk/template/admin ... .php?error after login in and got the attached
blocksetuperror (2).JPG
blocksetuperror (2).JPG (75.48 KiB) Viewed 10540 times

error log info from server
[Sun Aug 21 19:25:11.605561 2022] [fcgid:warn] [pid 41728] [client 77.88.5.11:4429] mod_fcgid: stderr: PHP Warning: Undefined array key "user" in /home/storage/129/3316129/user/htdocs/template/admin/index.php on line 21
[Sun Aug 21 19:25:15.404393 2022] [fcgid:warn] [pid 41728] [client 77.88.5.227:18579] mod_fcgid: stderr: PHP Warning: Undefined array key "user" in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 24
[Sun Aug 21 19:25:22.062727 2022] [fcgid:warn] [pid 66398] [client 77.88.5.232:39275] mod_fcgid: stderr: PHP Warning: Undefined array key "user" in /home/storage/129/3316129/user/htdocs/template/admin/blockSetup.php on line 21
[Sun Aug 21 19:25:25.122105 2022] [fcgid:warn] [pid 59254] [client 77.88.5.3:49063] mod_fcgid: stderr: PHP Warning: Undefined array key "user" in /home/storage/129/3316129/user/htdocs/template/admin/blockSettings.php on line 24
[Sun Aug 21 19:33:14.147507 2022] [fcgid:warn] [pid 30160] [client 87.254.86.149:34423] mod_fcgid: read data timeout in 60 seconds
[Sun Aug 21 19:33:14.147544 2022] [core:error] [pid 30160] [client 87.254.86.149:34423] End of script output before headers: php81-cgi

19:33 is when i ran the above and took the image

thanks
Harold
Image

davidefa
Expert
Expert
Posts: 862
Joined: Tue Jan 12, 2021 8:03 am
Location: Italy
Station model: WH2650
Software: WH2650 (direct upload)
Contact:

Re: some problems with php8.1

Post by davidefa » Tue Aug 23, 2022 9:49 am

Sorry, can't understand the problem.
I have upgraded my test machine to php 8.1.9 but can't reproduce the error ( the only difference is the server, I'm running apache, your server is nginx, sholud setup a testing environment with nginx to see if there is any difference )

In the logs you posted shows that there are other timeouts too ( with referer page admin/index,php and index.php ):

Code: Select all

[Sat Aug 20 22:57:02.864558 2022] [fcgid:warn] [pid 38857] [client 87.254.86.149:30821] mod_fcgid: read data timeout in 60 seconds, referer: https://www.hc-iom.co.uk/template/admin/index.php
[Sat Aug 20 22:57:02.864607 2022] [core:error] [pid 38857] [client 87.254.86.149:30821] End of script output before headers: php81-cgi, referer: https://www.hc-iom.co.uk/template/admin/index.php
[Sat Aug 20 22:58:40.165628 2022] [fcgid:warn] [pid 12333] [client 87.254.86.149:61009] mod_fcgid: read data timeout in 60 seconds
[Sat Aug 20 22:58:40.165668 2022] [core:error] [pid 12333] [client 87.254.86.149:61009] End of script output before headers: php81-cgi
[Sat Aug 20 22:59:25.145221 2022] [fcgid:warn] [pid 12378] [client 87.254.86.149:43959] mod_fcgid: read data timeout in 60 seconds, referer: https://www.hc-iom.co.uk/template/index.php
[Sat Aug 20 22:59:25.145268 2022] [core:error] [pid 12378] [client 87.254.86.149:43959] End of script output before headers: php81-cgi, referer: https://www.hc-iom.co.uk/template/index.php
[Sat Aug 20 22:59:31.845669 2022] [fcgid:warn] [pid 38489] [client 87.254.86.149:58505] mod_fcgid: read data timeout in 60 seconds, referer: https://www.hc-iom.co.uk/template/index.php
[Sat Aug 20 22:59:31.845711 2022] [core:error] [pid 38489] [client 87.254.86.149:58505] End of script output before headers: php81-cgi, referer: https://www.hc-iom.co.uk/template/index.php
[Sat Aug 20 23:00:25.017837 2022] [fcgid:warn] [pid 12333] [client 87.254.86.149:16349] mod_fcgid: read data timeout in 60 seconds
[Sat Aug 20 23:00:25.017864 2022] [core:error] [pid 12333] [client 87.254.86.149:16349] End of script output before headers: php81-cgi
I also checked an online whois ( to know what provider are you using ) and found that they are experiencing error 500 too in accessing your site
Did you change anything lately ( other than php )?

whois01.png
whois01.png (328.43 KiB) Viewed 10529 times
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Tue Aug 23, 2022 9:16 pm

the only thing i have done is the php change from 7.4 to 8.1.9 there is not a lot Fasthost will allow one to change as shared server
the main front page https://www.hc-iom.co.uk ref a index.html so that should not give an error or do you mean https://www.hc-iom.co.uk/template/indexDesktop.php is giving the 500 error
this will give the php details https://www.hc-iom.co.uk/info.php but i cannot change anything
Image

davidefa
Expert
Expert
Posts: 862
Joined: Tue Jan 12, 2021 8:03 am
Location: Italy
Station model: WH2650
Software: WH2650 (direct upload)
Contact:

Re: some problems with php8.1

Post by davidefa » Wed Aug 24, 2022 10:07 am

There is something that times out the server.
My general approach in debugging these problems is to add debugging prints to pinpoint where the problem is.
If you could give me access to your hosting control panel ( or at least an ftp access ) I could test this directly on your server ( easier for me, not sure if acceptable for you ).
Or you can extract the attached script in your admin folder and run it in your browser ( you must be logged as administrator )

Code: Select all

https://www.hc-iom.co.uk/template/admin/blockSetup1.php?errors
It is the original script, only added 'a few' debug prints.
Zip and post the response page.
Attachments
blockSetup1.zip
(2.37 KiB) Downloaded 42 times
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Wed Aug 24, 2022 9:19 pm

ok put the new blocksetup1 in admin and logged in and ran the url as posted and got


after session_start
config
after config baseURL=/home/storage/129/3316129/user/htdocs/template/
header

Deprecated: Function date_sunrise() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 141

Deprecated: Function date_sunset() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 142

Deprecated: Implicit conversion from float 2551442.8610880002 to int loses precision in /home/storage/129/3316129/user/htdocs/template/scripts/functions.php on line 1218

Deprecated: Implicit conversion from float 2551442.8610880002 to int loses precision in /home/storage/129/3316129/user/htdocs/template/scripts/functions.php on line 1218

Deprecated: Function date_sunrise() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 313

Deprecated: Function date_sunset() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 314
after header
calling array_filter(glob
after calling array_filter(glob
foreach dirs dir=../homepage/blocks/astroEvents
blocknamespace=astroEvents
exist Config.txt
json decoded blockInfo=Array ( [version] => 4 [name] => Astronomy events block [namespace] => astroEvent [variables] => Array ( [0] => Array ( [variable] => upcomingAstroEvents [desc] => Number of displayed upcoming astro events [default] => 10 ) [1] => Array ( [variable] => astroEventsHeading [desc] => Add block heading [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/baroTrend
blocknamespace=baroTrend
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Barometric Pressure Trend [namespace] => baroTrend )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/calculator
blocknamespace=calculator
exist Config.txt
json decoded blockInfo=Array ( [version] => 3 [name] => Calculator [namespace] => calculator )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/calendar
blocknamespace=calendar
exist Config.txt
json decoded blockInfo=Array ( [version] => 3.1 [name] => Calendar [namespace] => calendar [variables] => Array ( [0] => Array ( [variable] => dateTypes [desc] => Specify if you want to use astronomical seasons or meteorological. Astronomical seasons correspond to the equinox and solastice. Meteorological seasons always start on the first day of the corresponding month. Use: "astronomical" or "meteorological". [default] => astronomical ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/calendarMonth
blocknamespace=calendarMonth
exist Config.txt
json decoded blockInfo=Array ( [version] => 2.2 [name] => Month Calendar [namespace] => calendarMonth [variables] => Array ( [0] => Array ( [variable] => previousNumber [desc] => Number of previous months displayed when "more" is clicked. [default] => 0 ) [1] => Array ( [variable] => nextNumber [desc] => Number of following months displayed when "more" is clicked. [default] => 0 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/clock
blocknamespace=clock
exist Config.txt
json decoded blockInfo=Array ( [version] => 3 [name] => Clock [namespace] => clock [variables] => Array ( [0] => Array ( [variable] => designNumber [desc] => Which design do you want. In the Blocks section at meteotemplate.com see the screenshot of the available types. Then enter the number of the one you want to use. [default] => 5 ) [1] => Array ( [variable] => showTZ [desc] => Show timezone offset [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/clockDigital
blocknamespace=clockDigital
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Digital Clock [namespace] => clockDigital [variables] => Array ( [0] => Array ( [variable] => showDate [desc] => Do you want to show the date [default] => true ) [1] => Array ( [variable] => textBold [desc] => bold text [default] => false ) [2] => Array ( [variable] => textItalics [desc] => italics [default] => false ) [3] => Array ( [variable] => darkThemeColor [desc] => text color with dark theme [default] => #ffffff ) [4] => Array ( [variable] => lightThemeColor [desc] => text color with light theme [default] => #000000 ) [5] => Array ( [variable] => showTZ [desc] => Show timezone offset [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/cloudHeight
blocknamespace=cloudHeight
exist Config.txt
json decoded blockInfo=Array ( [version] => 4 [name] => Cloud Height [namespace] => cloudHeight [variables] => Array ( [0] => Array ( [variable] => cloudHeightHeading [desc] => Do you want to show heading in the block? [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/cloudTemp
blocknamespace=cloudTemp
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Cloud Temperature [namespace] => cloudTemp [variables] => Array ( [0] => Array ( [variable] => cloudTempHeading [desc] => Do you want to show heading in the block? [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/co2
blocknamespace=co2
exist Config.txt
json decoded blockInfo=Array ( [version] => 3 [name] => CO2 block [namespace] => co2 )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/current
blocknamespace=current
exist Config.txt
json decoded blockInfo=Array ( [version] => 24.1 [name] => Current Conditions Block [namespace] => current [variables] => Array ( [0] => Array ( [variable] => updateInterval [desc] => Set the update interval in seconds. When selecting this take into account how often your text file/database is updated. Updates are performed by AJAX requests, so it should not affect the actual loading time of your homepage. [default] => 60 ) [1] => Array ( [variable] => showDivs [desc] => Parameters to show: T (temperature), H (humidity), P (pressure), W (wind speed), G (wind gust), A (apparent temperature), D (dew point), R (precipitation), S (solar radiation), UV [default] => T,H,P,W,G,R,A,D,S,UV ) [2] => Array ( [variable] => currentHighlightUpdate [desc] => Briefly color highlight the timestamp and changed parameters when data is updated [default] => true ) [3] => Array ( [variable] => colorHighlight [desc] => If you set the highlight to true you can specify the color of the highlight. Use auto = based on theme color, or you can use color code such as for example #ff0000. [default] => auto ) [4] => Array ( [variable] => currentHighlightInterval [desc] => If you set the highlight above to true, then you can specify here the period for which the time will be highlighted. If you use a small number it will just briefly flash, if longer, it will stay highlighted for some time. The time should be in seconds. [default] => 0.5 ) [5] => Array ( [variable] => windDirectionView [desc] => Show wind direction as degrees or show a symbol with abbreviation; set to "image" or "degrees" [default] => image ) [6] => Array ( [variable] => currentShowBftW [desc] => Show Beaufort scale for wind speed. [default] => true ) [7] => Array ( [variable] => currentShowBftG [desc] => Show Beaufort scale for wind gust. [default] => true ) [8] => Array ( [variable] => showTitle [desc] => Select if you want to show the title Current Conditions above the time [default] => false ) [9] => Array ( [variable] => conditionEnable [desc] => Enable current conditions icon using DarkSky API [default] => true ) [10] => Array ( [variable] => currentMaxInterval [desc] => Specify the maximum online interval. If the last update is older than this, the block will show just offline. The number should be in minutes. I recommend using slightly more than double the interval at which the source data is updated (to tolerate one missing interval and give some space for delay in transfer). For example, if you are using the database, the update interval is 5 minutes, so I would recommend using 11 minutes. [default] => 11 ) [11] => Array ( [variable] => showCurrentWarnings [desc] => Specify if you want to show warning symbols below the values in case they exceed thresholds specified below. If you set this to false you can ignore the rest of this settings. [default] => true ) [12] => Array ( [variable] => currentThresholdHighT [desc] =>
MAKE SURE THAT THE THRESHOLDS SET BELOW CORRESPOND TO YOUR DATABASE UNITS SET IN MAIN SETTINGS!!! If you want to disable just one particular warning (for example high humidity), then simply set the number to some unrealistic value, in this example, if you set the humidity upper limit to 101, the warning would obviously never show.

High temperature threshold [default] => 30 ) [13] => Array ( [variable] => currentThresholdLowT [desc] => Low temperature threshold [default] => 0 ) [14] => Array ( [variable] => currentThresholdHighD [desc] => High dew point threshold [default] => 30 ) [15] => Array ( [variable] => currentThresholdLowD [desc] => Low dew point threshold [default] => 0 ) [16] => Array ( [variable] => currentThresholdHighA [desc] => High apparent temperature (feels like) threshold [default] => 35 ) [17] => Array ( [variable] => currentThresholdLowA [desc] => Low apparent temperature (feels like) threshold [default] => -5 ) [18] => Array ( [variable] => currentThresholdHighH [desc] => High humidity threshold [default] => 95 ) [19] => Array ( [variable] => currentThresholdLowH [desc] => Low humidity threshold [default] => 40 ) [20] => Array ( [variable] => currentThresholdHighP [desc] => High pressure threshold [default] => 1030 ) [21] => Array ( [variable] => currentThresholdLowP [desc] => Low pressure threshold [default] => 995 ) [22] => Array ( [variable] => currentThresholdHighR [desc] => High rain rate (your precipitation units per hour) threshold [default] => 50 ) [23] => Array ( [variable] => currentThresholdHighW [desc] => High average wind speed threshold [default] => 25 ) [24] => Array ( [variable] => currentThresholdHighG [desc] => High wind gust threshold [default] => 35 ) [25] => Array ( [variable] => currentThresholdHighS [desc] => High solar radiation threshold (if solar sensor available, otherwise ignore) [default] => 800 ) [26] => Array ( [variable] => currentThresholdHighUV [desc] => High UV threshold (if UV enabled, otherwise ignore) [default] => 7 ) [27] => Array ( [variable] => currentWarningColorHighT [desc] => High temperature / apparent temperature / dew point warning color [default] => #c30000 ) [28] => Array ( [variable] => currentWarningColorLowT [desc] => Low temperature / apparent temperature / dew point warning color [default] => #0045ba ) [29] => Array ( [variable] => currentWarningColorHighH [desc] => High humidity warning color [default] => #007528 ) [30] => Array ( [variable] => currentWarningColorLowH [desc] => Low humidity warning color [default] => #c6a600 ) [31] => Array ( [variable] => currentWarningColorHighP [desc] => High pressure warning color [default] => #a800b1 ) [32] => Array ( [variable] => currentWarningColorLowP [desc] => Low pressure warning color [default] => #b96f00 ) [33] => Array ( [variable] => currentWarningColorHighR [desc] => High rain rate warning color [default] => #0065db ) [34] => Array ( [variable] => currentWarningColorHighW [desc] => High average wind speed / wind gust warning color [default] => #5a00a1 ) [35] => Array ( [variable] => currentWarningColorHighS [desc] => High solar radiation warning color [default] => #ced200 ) [36] => Array ( [variable] => currentWarningColorHighUV [desc] => High UV warning color [default] => #d78800 ) [37] => Array ( [variable] => currentShowTrends [desc] => Show trends [default] => true ) [38] => Array ( [variable] => currentTrendInterval [desc] => The trend is calculated from the change over the last X hours. Here you can specify the number of hours to the past to use.
Options: 1, 2, 3, 4, 5, 6 [default] => 3 ) [39] => Array ( [variable] => currentShowIndoor [desc] => Show indoor data [default] => true ) [40] => Array ( [variable] => autoOpenCurrent [desc] => Auto-open the 'more' option [default] => false ) [41] => Array ( [variable] => hideSeconds [desc] => Hide seconds in the update time (only show hours and minutes) [default] => false ) [42] => Array ( [variable] => hideMainSection [desc] => Hide the main top compact section and only show default detailed view. [default] => false ) [43] => Array ( [variable] => showLabels [desc] => Show textual labels under icons. [default] => false ) [44] => Array ( [variable] => dualUnits [desc] => Show dual units. [default] => false ) [45] => Array ( [variable] => alternativeW [desc] => Alternative wind units (if dual units enabled). Options: kmh, ms, mph, kt. [default] => mph ) [46] => Array ( [variable] => alternativeP [desc] => Alternative pressure units (if dual units enabled). Options: hpa, inhg, mmhg. [default] => inhg ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/currentUK
blocknamespace=currentUK
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => UK - Current Conditions [namespace] => currentUK [variables] => Array ( [0] => Array ( [variable] => metOfficeAPI [desc] => MetOffice API - get yours free at https://register.metoffice.gov.uk/WaveR ... =datapoint [default] => ) [1] => Array ( [variable] => ukMapHeight [desc] => The height of the map in the block in pixels. [default] => 600 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/dayNight
blocknamespace=dayNight
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Day/night block [namespace] => dayNight )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/dbInfo
blocknamespace=dbInfo
exist Config.txt
json decoded blockInfo=Array ( [version] => 3.1 [name] => Database Information [namespace] => dbInfo )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/dynamicImage
blocknamespace=dynamicImage
exist Config.txt
json decoded blockInfo=Array ( [version] => 4 [name] => Dynamic Image [namespace] => dynamicImage [variables] => Array ( [0] => Array ( [variable] => dynamicImageTitles [desc] => In this block you can display multiple images. For each you can set the title, URL and update interval. You need to always separate these with a semi-colon (;). The titles, URLs and intervals must go in the same order. You can of course use just one image, in which case you just put one title, one URL and one update interval and no semi-colons. Also, if the URL includes a timestamp to prevent caching delete it from the URL, the script will add this automatically.

Image titles [default] => Dynamic Image1;Dynamic Image2 ) [1] => Array ( [variable] => dynamicImageURLs [desc] => URLs [default] => http://www.mysite.com/image.png;http:// ... image2.png ) [2] => Array ( [variable] => dynamicImageUpdateIntervals [desc] => Update intervals in seconds [default] => 60;30 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/dynamicText
blocknamespace=dynamicText
exist Config.txt
json decoded blockInfo=Array ( [version] => 2.5 [name] => Dynamic Text [namespace] => dynamicText [variables] => Array ( [0] => Array ( [variable] => dynamicImageTitles [desc] => This is just a dummy page, you can ignore it, the real setup is at the following link: setup [default] => ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/earthquakes
blocknamespace=earthquakes
exist Config.txt
json decoded blockInfo=Array ( [version] => 3 [name] => Earthquakes [namespace] => earthquakes [variables] => Array ( [0] => Array ( [variable] => vicinity [desc] => The earthquakes are shown in two groups: significant and close. The significant earthquakes show significant earthquakes from the entire world. The second group looks at earthquakes in the vicinity of your station. You can specify the radius around your station to analyze. [default] => 2500 ) [1] => Array ( [variable] => unitsEQ [desc] => Radius units - "km" or "mi" [default] => km ) [2] => Array ( [variable] => eqCacheClose [desc] => cache for the earthquakes in the vicinity (past 30 days) in minutes (recommended: 60 minutes) [default] => 60 ) [3] => Array ( [variable] => eqCacheSignificant [desc] => cache for the significant earthquakes (past 30 days) (recommended: 720 minutes = 12 hours) [default] => 720 ) [4] => Array ( [variable] => maximumCloseEq [desc] => maximum number of nearby earthquakes displayed in the block [default] => 3 ) [5] => Array ( [variable] => maximumSignificantEq [desc] => maximum number of significant earthquakes displayed in the block [default] => 3 ) [6] => Array ( [variable] => mapType [desc] => Select the type of maps to be shown for the location of your station and earthquakes.
Possible values:
"HYBRID", "TERRAIN", "ROADMAP", "SATELLITE" [default] => HYBRID ) [7] => Array ( [variable] => mapZoom [desc] => Map default zoom (smaller number means more zoomed out - larger area covered), enter numbers from 1 to 12 (default 4) [default] => 4 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/extremes
blocknamespace=extremes
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Extremes [namespace] => extremes )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/fireDanger
blocknamespace=fireDanger
exist Config.txt
json decoded blockInfo=Array ( [version] => 2.1 [name] => Fire Danger Index [namespace] => fireDanger )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/forecast
blocknamespace=forecast
exist Config.txt
json decoded blockInfo=Array ( [version] => 9.4 [name] => Forecast [namespace] => forecast [variables] => Array ( [0] => Array ( [variable] => defaultForecast [desc] => NOTE: If you make any changes to this settings also make sure you empty the cache inside the forecast block directory, otherwise your changes will only be refleceted once the cache time expires.

Default forecast: Possible options: "yrNo","meteoBlue","darkSky","wxsim" [default] => yrNo ) [1] => Array ( [variable] => showyrNoForecast [desc] =>

yr.No forecast [default] => true ) [2] => Array ( [variable] => yrNoLocation [desc] => Go to https://www.yr.no/storage/lookup/English.csv.zip, search for your location and then copy the second column, it will look for example something like this: lat=41.89193&lon=12.51133&altitude=20 ( or provide your own coordinates ). You also have to provide the name of the place to be used in the select box.

The syntax is as follows: place_name,url
First name, then comma (,) then url [default] => Rome-Italy,lat=41.89193&lon=12.51133&altitude=20 ) [3] => Array ( [variable] => showDarkskyForecast [desc] =>

DarkSky forecast [default] => true ) [4] => Array ( [variable] => showWxSimForecast [desc] =>

WxSim forecast [default] => true ) [5] => Array ( [variable] => pathLatest [desc] => path to latest.csv [default] => latest.csv ) [6] => Array ( [variable] => pathPlainText [desc] => path to plaintext.txt [default] => plaintext.txt ) [7] => Array ( [variable] => categories [desc] => specify the hourly intervals for the forecast - will be aggregated, eg.'0-6,6-12,12-18,18-24' [default] => 0-6,6-12,12-18,18-24) ) [8] => Array ( [variable] => maxDays [desc] => maximum number of days shown unless clicked "more" [default] => 5 ) [9] => Array ( [variable] => decimalSeparator [desc] => decimal separator in latest.csv: "," or "." [default] => . ) [10] => Array ( [variable] => fieldSeparator [desc] => field separator in latest.csv: "," or ";" [default] => , ) [11] => Array ( [variable] => wxSimString [desc] => string displayed below the WxSim forecast [default] => THIS FORECAST WAS MADE IN AUTOMATED MODE AND MAY BE LESS ACCURATE THAN OTHERWISE ) [12] => Array ( [variable] => forecastsCache [desc] =>

cache time for the forecasts [default] => 60 ) [13] => Array ( [variable] => showMeteoBlue [desc] => MeteoBlue forecast [default] => true ) [14] => Array ( [variable] => meteoBlueDays [desc] => Days in forecast (take into account the column width where you want to place your Forecast block. Options: 4, 5, 6 and 7. [default] => 6 ) [15] => Array ( [variable] => meteoBlueLocation [desc] => Go to meteoblue.com and search for your location. Then look in the URL and enter a similar string to the default one you see below, which corresponds to your place. [default] => brno_czechia_3078610 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/gauges
blocknamespace=gauges
exist Config.txt
json decoded blockInfo=Array ( [version] => 7.1 [name] => Gauges [namespace] => gauges [variables] => Array ( [0] => Array ( [variable] => updateInterval [desc] => Set the update interval in seconds. When selecting this take into account how often your text file/database is updated. Updates are performed by AJAX requests, so it should not affect the actual loading time of your homepage. The number given should be in seconds. [default] => 15 ) [1] => Array ( [variable] => gaugeOrder [desc] => specify the gauges you want to show, in the order you want.
Abbreviations: T - temperature, A - apparent temperature, H - humidity, P - pressure, W - wind speed, G - wind gust, C - compass (wind direction), R - daily precipitation, UV, S - solar radiation, D - dew point, CBI - Combustion Burning Index, FD - fire danger, WB - wet-bulb temperature [default] => T,A,D,H,P,W,G,C,R,UV,S,CBI,FD ) [2] => Array ( [variable] => gaugeTitles [desc] => enable/disable the parameter title inside the gauge.
true/false [default] => true ) [3] => Array ( [variable] => gaugeShadow [desc] => add glow (shadow) to the gauges [default] => false ) [4] => Array ( [variable] => showValuesDefault [desc] => show the actual value inside the gauge [default] => true ) [5] => Array ( [variable] => gaugeSizeDefault [desc] => default size of the gauge in pixels [default] => 150 ) [6] => Array ( [variable] => animation [desc] => linear, quad, cycle, bounce, elastic [default] => linear ) [7] => Array ( [variable] => gaugeDesign [desc] => Specify the gauge design.
"template" - use template colors, "dark", "light", "black", "white", "retro" [default] => template ) [8] => Array ( [variable] => circle3D [desc] => add 3D look to the gauge outer circle [default] => true ) [9] => Array ( [variable] => showTime [desc] => show update time above the gauges [default] => false ) [10] => Array ( [variable] => gaugesHighlightUpdate [desc] => Briefly highlight the time value during updates (if time is enabled above). [default] => true ) [11] => Array ( [variable] => gaugesHighlightInterval [desc] => The time for which the time should be highlighted during updates (if enabled above). If you use a very short time, the time value will just flash, longer times will result in the time being highlighted for longer period. The value should be in seconds [default] => 0.5 ) [12] => Array ( [variable] => minLimitC [desc] =>

INDIVIDUAL GAUGE SETTING
make sure you fill in values for all the units (or leave the defaults), because you have to remember the users can change these in the settings.

Temperature, apparent temperature, dew point gauge
minimum value when units set to C [default] => -30 ) [13] => Array ( [variable] => maxLimitC [desc] => maximum value when units set to C [default] => 40 ) [14] => Array ( [variable] => minLimitF [desc] => minimum value when units set to F [default] => -30 ) [15] => Array ( [variable] => maxLimitF [desc] => maximum value when units set to F [default] => 110 ) [16] => Array ( [variable] => majorTickIntervalT [desc] => interval between the numbers on the gauge (major ticks) [default] => 10 ) [17] => Array ( [variable] => minorTickCountT [desc] => number of minor ticks between each major tick interval [default] => 10 ) [18] => Array ( [variable] => highlightT [desc] => undercolor the values in blue (below freezing point) and red (above freezing point) [default] => true ) [19] => Array ( [variable] => majorTickIntervalH [desc] =>

Humidity gauge
interval between the numbers on the gauge (major ticks) [default] => 20 ) [20] => Array ( [variable] => minorTickCountH [desc] => number of minor ticks between each major tick interval [default] => 4 ) [21] => Array ( [variable] => highlightH [desc] => green gradient undercolor [default] => true ) [22] => Array ( [variable] => minLimitHPA [desc] =>

Pressure gauge
minimum value when units set to hPa [default] => 980 ) [23] => Array ( [variable] => maxLimitHPA [desc] => maximum value when units set to hPa [default] => 1040 ) [24] => Array ( [variable] => minLimitINHG [desc] => minimum value when units set to inHg [default] => 28 ) [25] => Array ( [variable] => maxLimitINHG [desc] => maximum value when units set to inHg [default] => 31 ) [26] => Array ( [variable] => minLimitMMHG [desc] => minimum value when units set to mmHg [default] => 730 ) [27] => Array ( [variable] => maxLimitMMHG [desc] => maximum value when units set to mmHg [default] => 780 ) [28] => Array ( [variable] => majorTickIntervalPHPA [desc] => interval between the numbers on the pressure gauge (major ticks) when units set to hPa [default] => 10 ) [29] => Array ( [variable] => majorTickIntervalPINHG [desc] => interval between the numbers on the gauge (major ticks) when units set to inHg [default] => 1 ) [30] => Array ( [variable] => majorTickIntervalPMMHG [desc] => interval between the numbers on the gauge (major ticks) when units set to mmHg [default] => 10 ) [31] => Array ( [variable] => minorTickCountP [desc] => number of minor ticks between each major tick interval [default] => 5 ) [32] => Array ( [variable] => WmaxLimitKMH [desc] =>

Wind gauge
maximum value when units set to km/h [default] => 80 ) [33] => Array ( [variable] => WmaxLimitMS [desc] => maximum value when units set to m/s [default] => 25 ) [34] => Array ( [variable] => WmaxLimitKT [desc] => maximum value when units set to knots [default] => 50 ) [35] => Array ( [variable] => WmaxLimitMPH [desc] => maximum value when units set to mph [default] => 50 ) [36] => Array ( [variable] => WmajorTickIntervalKMH [desc] => interval between the numbers on the gauge (major ticks) when units set to km/h [default] => 10 ) [37] => Array ( [variable] => WmajorTickIntervalMS [desc] => interval between the numbers on the gauge (major ticks) when units set to m/s [default] => 5 ) [38] => Array ( [variable] => WmajorTickIntervalKT [desc] => interval between the numbers on the gauge (major ticks) when units set to knots [default] => 10 ) [39] => Array ( [variable] => WmajorTickIntervalMPH [desc] => interval between the numbers on the gauge (major ticks) when units set to mph [default] => 10 ) [40] => Array ( [variable] => minorTickCountW [desc] => number of minor ticks between each major tick interval [default] => 5 ) [41] => Array ( [variable] => GmaxLimitKMH [desc] =>

Gust gauge
maximum value when units set to km/h [default] => 120 ) [42] => Array ( [variable] => GmaxLimitMS [desc] => maximum value when units set to m/s [default] => 35 ) [43] => Array ( [variable] => GmaxLimitKT [desc] => maximum value when units set to knots [default] => 75 ) [44] => Array ( [variable] => GmaxLimitMPH [desc] => maximum value when units set to mph [default] => 75 ) [45] => Array ( [variable] => GmajorTickIntervalKMH [desc] => interval between the numbers on the gauge (major ticks) when units set to km/h [default] => 10 ) [46] => Array ( [variable] => GmajorTickIntervalMS [desc] => interval between the numbers on the gauge (major ticks) when units set to m/s [default] => 5 ) [47] => Array ( [variable] => GmajorTickIntervalKT [desc] => interval between the numbers on the gauge (major ticks) when units set to knots [default] => 10 ) [48] => Array ( [variable] => GmajorTickIntervalMPH [desc] => interval between the numbers on the gauge (major ticks) when units set to mph [default] => 10 ) [49] => Array ( [variable] => minorTickCountG [desc] => number of minor ticks between each major tick interval [default] => 5 ) [50] => Array ( [variable] => maxLimitMM [desc] =>

Rain gauge (daily cummulative value)
maximum value when units set to mm [default] => 50 ) [51] => Array ( [variable] => maxLimitCM [desc] => maximum value when units set to cm [default] => 5 ) [52] => Array ( [variable] => maxLimitIN [desc] => maximum value when units set to inches [default] => 2 ) [53] => Array ( [variable] => majorTickIntervalMM [desc] => interval between the numbers on the gauge (major ticks) when units set to mm [default] => 5 ) [54] => Array ( [variable] => majorTickIntervalCM [desc] => interval between the numbers on the gauge (major ticks) when units set to cm [default] => 0.5 ) [55] => Array ( [variable] => majorTickIntervalIN [desc] => interval between the numbers on the gauge (major ticks) when units set to inches [default] => 0.2 ) [56] => Array ( [variable] => minorTickCountR [desc] => number of minor ticks between each major tick interval [default] => 2 ) [57] => Array ( [variable] => highlightS [desc] =>

Solar radiation gauge
black->yellow gradient undercolor of the gauge [default] => true ) [58] => Array ( [variable] => limitUV [desc] =>

UV gauge
set this to true if you want the UV gauge to have a maximum of just 11 rather than 20 [default] => true ) [59] => Array ( [variable] => highlightUV [desc] => UV gauge undercolor [default] => true ) [60] => Array ( [variable] => compassNeedle [desc] =>

Wind direction (compass)
"line" - just an indicator line on the actual compass, "arrow" - full arrow from the gauge center, just like the other gauges [default] => line ) [61] => Array ( [variable] => compassTitle [desc] => the label for wind direction can be set separately (it does not look very good when the line indicator is used) [default] => true ) [62] => Array ( [variable] => highlightCBI [desc] =>

CBI gauge
show undercolor for CBI gauge [default] => true ) [63] => Array ( [variable] => highlightFD [desc] =>

Fire danger gauge
show undercolor for fire danger gauge [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/glossary
blocknamespace=glossary
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Glossary [namespace] => glossary [variables] => Array ( [0] => Array ( [variable] => autoOpenGlossary [desc] => Auto-open the block. [default] => false ) [1] => Array ( [variable] => showGlossaryTitle [desc] => Show block title. [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/grLevelX
blocknamespace=grLevelX
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => GrLevelX [namespace] => grLevelX [variables] => Array ( [0] => Array ( [variable] => grLevelXImageUpdateInterval [desc] => Interval at which you want the images to auto-update on the homepage (in seconds) [default] => 60 ) [1] => Array ( [variable] => productTypesString [desc] => Available product types - semi-colon delimited list of the images you want to be available to view on the homepage. [default] => cc1;cr ) [2] => Array ( [variable] => defaultProduct [desc] => Default product [default] => cc1 ) [3] => Array ( [variable] => imgType [desc] => Image format (jpg or png) [default] => jpg ) [4] => Array ( [variable] => radarLocation [desc] => Four-letter abbreviation of the radar site [default] => kffc ) [5] => Array ( [variable] => imageDir [desc] => Relative path to the grLevelX image directory. Be very careful about this! It must be relative path relative to the GrLevelX




hope this gives you some clues

thanks
Harold
Image

andyk1
Professional
Professional
Posts: 431
Joined: Tue Feb 27, 2018 10:56 pm
Location: OKLAHOMA, USA
Station model: Ecowitt WS90
Software: Meteobridge/GW2000B
Contact:

Re: some problems with php8.1

Post by andyk1 » Wed Aug 24, 2022 10:27 pm

I also discovered a new problem but unsure where it arises from. I have Ecowitt GW1000's, GW1100 and a GW2000.
A few days ago I noticed the rain gauge is not updating on the GW100's... I have 2 of them but work fine on the 1100 and 2000. Doing MB and ecowitt reboots and do not help. Manually updating the rain gauge works but reverts back to 0" after the 5 min cron job but that's in the api and meteotemplate.txt file I'm sure.

Andy
Image

davidefa
Expert
Expert
Posts: 862
Joined: Tue Jan 12, 2021 8:03 am
Location: Italy
Station model: WH2650
Software: WH2650 (direct upload)
Contact:

Re: some problems with php8.1

Post by davidefa » Wed Aug 24, 2022 11:51 pm

The scripts stops 'in the middle' of the grLevelX block ( while printing the content of the file grLevelXConfig.txt ).
Make a copy of the block and remove it from the homepage/blocks directory.
Rerun the blockSetup1.php again.
Image

davidefa
Expert
Expert
Posts: 862
Joined: Tue Jan 12, 2021 8:03 am
Location: Italy
Station model: WH2650
Software: WH2650 (direct upload)
Contact:

Re: some problems with php8.1

Post by davidefa » Thu Aug 25, 2022 12:31 am

@Andy
Not sure to understand completely the problem ( and the configuration ).
You have a single rain gauge ( wh40 I presume ) that is connected to all your gateways.
If they all send data to ecowitt.net you should see equal rain readings/total for all your stations.
And when you manually click the rain gauge all your gateway should increment.
If not you can check the Calibration menu in the wsview app ( for each gateway ) verifying the rain gain is set to 1.0 ( or the value you set ).
If the value of the gateway ( that feeds meteotemplate ) is correct, but the value recorded by meteotemplate is not, you can check the main setup of meteotemplate ( the rain multiplier is set to 1.0, or the value you selected )

P.S.
Check also the graph date format is set correctly ( I've seen in your extended graph, when selecting along interval, all data in the X axis is shown as %D )

setup_rain.png
setup_rain.png (103.03 KiB) Viewed 10506 times
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Thu Aug 25, 2022 7:11 pm

ok removed the grlevelX block and rerun the test blocksetup1 and got

after session_start
config
after config baseURL=/home/storage/129/3316129/user/htdocs/template/
header

Deprecated: Function date_sunrise() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 141

Deprecated: Function date_sunset() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 142

Deprecated: Implicit conversion from float 2551442.8610880002 to int loses precision in /home/storage/129/3316129/user/htdocs/template/scripts/functions.php on line 1218

Deprecated: Implicit conversion from float 2551442.8610880002 to int loses precision in /home/storage/129/3316129/user/htdocs/template/scripts/functions.php on line 1218

Deprecated: Function date_sunrise() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 313

Deprecated: Function date_sunset() is deprecated in /home/storage/129/3316129/user/htdocs/template/header.php on line 314
after header
calling array_filter(glob
after calling array_filter(glob
foreach dirs dir=../homepage/blocks/astroEvents
blocknamespace=astroEvents
exist Config.txt
json decoded blockInfo=Array ( [version] => 4 [name] => Astronomy events block [namespace] => astroEvent [variables] => Array ( [0] => Array ( [variable] => upcomingAstroEvents [desc] => Number of displayed upcoming astro events [default] => 10 ) [1] => Array ( [variable] => astroEventsHeading [desc] => Add block heading [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/baroTrend
blocknamespace=baroTrend
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Barometric Pressure Trend [namespace] => baroTrend )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/calculator
blocknamespace=calculator
exist Config.txt
json decoded blockInfo=Array ( [version] => 3 [name] => Calculator [namespace] => calculator )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/calendar
blocknamespace=calendar
exist Config.txt
json decoded blockInfo=Array ( [version] => 3.1 [name] => Calendar [namespace] => calendar [variables] => Array ( [0] => Array ( [variable] => dateTypes [desc] => Specify if you want to use astronomical seasons or meteorological. Astronomical seasons correspond to the equinox and solastice. Meteorological seasons always start on the first day of the corresponding month. Use: "astronomical" or "meteorological". [default] => astronomical ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/calendarMonth
blocknamespace=calendarMonth
exist Config.txt
json decoded blockInfo=Array ( [version] => 2.2 [name] => Month Calendar [namespace] => calendarMonth [variables] => Array ( [0] => Array ( [variable] => previousNumber [desc] => Number of previous months displayed when "more" is clicked. [default] => 0 ) [1] => Array ( [variable] => nextNumber [desc] => Number of following months displayed when "more" is clicked. [default] => 0 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/clock
blocknamespace=clock
exist Config.txt
json decoded blockInfo=Array ( [version] => 3 [name] => Clock [namespace] => clock [variables] => Array ( [0] => Array ( [variable] => designNumber [desc] => Which design do you want. In the Blocks section at meteotemplate.com see the screenshot of the available types. Then enter the number of the one you want to use. [default] => 5 ) [1] => Array ( [variable] => showTZ [desc] => Show timezone offset [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/clockDigital
blocknamespace=clockDigital
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Digital Clock [namespace] => clockDigital [variables] => Array ( [0] => Array ( [variable] => showDate [desc] => Do you want to show the date [default] => true ) [1] => Array ( [variable] => textBold [desc] => bold text [default] => false ) [2] => Array ( [variable] => textItalics [desc] => italics [default] => false ) [3] => Array ( [variable] => darkThemeColor [desc] => text color with dark theme [default] => #ffffff ) [4] => Array ( [variable] => lightThemeColor [desc] => text color with light theme [default] => #000000 ) [5] => Array ( [variable] => showTZ [desc] => Show timezone offset [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/cloudHeight
blocknamespace=cloudHeight
exist Config.txt
json decoded blockInfo=Array ( [version] => 4 [name] => Cloud Height [namespace] => cloudHeight [variables] => Array ( [0] => Array ( [variable] => cloudHeightHeading [desc] => Do you want to show heading in the block? [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/cloudTemp
blocknamespace=cloudTemp
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Cloud Temperature [namespace] => cloudTemp [variables] => Array ( [0] => Array ( [variable] => cloudTempHeading [desc] => Do you want to show heading in the block? [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/co2
blocknamespace=co2
exist Config.txt
json decoded blockInfo=Array ( [version] => 3 [name] => CO2 block [namespace] => co2 )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/current
blocknamespace=current
exist Config.txt
json decoded blockInfo=Array ( [version] => 24.1 [name] => Current Conditions Block [namespace] => current [variables] => Array ( [0] => Array ( [variable] => updateInterval [desc] => Set the update interval in seconds. When selecting this take into account how often your text file/database is updated. Updates are performed by AJAX requests, so it should not affect the actual loading time of your homepage. [default] => 60 ) [1] => Array ( [variable] => showDivs [desc] => Parameters to show: T (temperature), H (humidity), P (pressure), W (wind speed), G (wind gust), A (apparent temperature), D (dew point), R (precipitation), S (solar radiation), UV [default] => T,H,P,W,G,R,A,D,S,UV ) [2] => Array ( [variable] => currentHighlightUpdate [desc] => Briefly color highlight the timestamp and changed parameters when data is updated [default] => true ) [3] => Array ( [variable] => colorHighlight [desc] => If you set the highlight to true you can specify the color of the highlight. Use auto = based on theme color, or you can use color code such as for example #ff0000. [default] => auto ) [4] => Array ( [variable] => currentHighlightInterval [desc] => If you set the highlight above to true, then you can specify here the period for which the time will be highlighted. If you use a small number it will just briefly flash, if longer, it will stay highlighted for some time. The time should be in seconds. [default] => 0.5 ) [5] => Array ( [variable] => windDirectionView [desc] => Show wind direction as degrees or show a symbol with abbreviation; set to "image" or "degrees" [default] => image ) [6] => Array ( [variable] => currentShowBftW [desc] => Show Beaufort scale for wind speed. [default] => true ) [7] => Array ( [variable] => currentShowBftG [desc] => Show Beaufort scale for wind gust. [default] => true ) [8] => Array ( [variable] => showTitle [desc] => Select if you want to show the title Current Conditions above the time [default] => false ) [9] => Array ( [variable] => conditionEnable [desc] => Enable current conditions icon using DarkSky API [default] => true ) [10] => Array ( [variable] => currentMaxInterval [desc] => Specify the maximum online interval. If the last update is older than this, the block will show just offline. The number should be in minutes. I recommend using slightly more than double the interval at which the source data is updated (to tolerate one missing interval and give some space for delay in transfer). For example, if you are using the database, the update interval is 5 minutes, so I would recommend using 11 minutes. [default] => 11 ) [11] => Array ( [variable] => showCurrentWarnings [desc] => Specify if you want to show warning symbols below the values in case they exceed thresholds specified below. If you set this to false you can ignore the rest of this settings. [default] => true ) [12] => Array ( [variable] => currentThresholdHighT [desc] =>
MAKE SURE THAT THE THRESHOLDS SET BELOW CORRESPOND TO YOUR DATABASE UNITS SET IN MAIN SETTINGS!!! If you want to disable just one particular warning (for example high humidity), then simply set the number to some unrealistic value, in this example, if you set the humidity upper limit to 101, the warning would obviously never show.

High temperature threshold [default] => 30 ) [13] => Array ( [variable] => currentThresholdLowT [desc] => Low temperature threshold [default] => 0 ) [14] => Array ( [variable] => currentThresholdHighD [desc] => High dew point threshold [default] => 30 ) [15] => Array ( [variable] => currentThresholdLowD [desc] => Low dew point threshold [default] => 0 ) [16] => Array ( [variable] => currentThresholdHighA [desc] => High apparent temperature (feels like) threshold [default] => 35 ) [17] => Array ( [variable] => currentThresholdLowA [desc] => Low apparent temperature (feels like) threshold [default] => -5 ) [18] => Array ( [variable] => currentThresholdHighH [desc] => High humidity threshold [default] => 95 ) [19] => Array ( [variable] => currentThresholdLowH [desc] => Low humidity threshold [default] => 40 ) [20] => Array ( [variable] => currentThresholdHighP [desc] => High pressure threshold [default] => 1030 ) [21] => Array ( [variable] => currentThresholdLowP [desc] => Low pressure threshold [default] => 995 ) [22] => Array ( [variable] => currentThresholdHighR [desc] => High rain rate (your precipitation units per hour) threshold [default] => 50 ) [23] => Array ( [variable] => currentThresholdHighW [desc] => High average wind speed threshold [default] => 25 ) [24] => Array ( [variable] => currentThresholdHighG [desc] => High wind gust threshold [default] => 35 ) [25] => Array ( [variable] => currentThresholdHighS [desc] => High solar radiation threshold (if solar sensor available, otherwise ignore) [default] => 800 ) [26] => Array ( [variable] => currentThresholdHighUV [desc] => High UV threshold (if UV enabled, otherwise ignore) [default] => 7 ) [27] => Array ( [variable] => currentWarningColorHighT [desc] => High temperature / apparent temperature / dew point warning color [default] => #c30000 ) [28] => Array ( [variable] => currentWarningColorLowT [desc] => Low temperature / apparent temperature / dew point warning color [default] => #0045ba ) [29] => Array ( [variable] => currentWarningColorHighH [desc] => High humidity warning color [default] => #007528 ) [30] => Array ( [variable] => currentWarningColorLowH [desc] => Low humidity warning color [default] => #c6a600 ) [31] => Array ( [variable] => currentWarningColorHighP [desc] => High pressure warning color [default] => #a800b1 ) [32] => Array ( [variable] => currentWarningColorLowP [desc] => Low pressure warning color [default] => #b96f00 ) [33] => Array ( [variable] => currentWarningColorHighR [desc] => High rain rate warning color [default] => #0065db ) [34] => Array ( [variable] => currentWarningColorHighW [desc] => High average wind speed / wind gust warning color [default] => #5a00a1 ) [35] => Array ( [variable] => currentWarningColorHighS [desc] => High solar radiation warning color [default] => #ced200 ) [36] => Array ( [variable] => currentWarningColorHighUV [desc] => High UV warning color [default] => #d78800 ) [37] => Array ( [variable] => currentShowTrends [desc] => Show trends [default] => true ) [38] => Array ( [variable] => currentTrendInterval [desc] => The trend is calculated from the change over the last X hours. Here you can specify the number of hours to the past to use.
Options: 1, 2, 3, 4, 5, 6 [default] => 3 ) [39] => Array ( [variable] => currentShowIndoor [desc] => Show indoor data [default] => true ) [40] => Array ( [variable] => autoOpenCurrent [desc] => Auto-open the 'more' option [default] => false ) [41] => Array ( [variable] => hideSeconds [desc] => Hide seconds in the update time (only show hours and minutes) [default] => false ) [42] => Array ( [variable] => hideMainSection [desc] => Hide the main top compact section and only show default detailed view. [default] => false ) [43] => Array ( [variable] => showLabels [desc] => Show textual labels under icons. [default] => false ) [44] => Array ( [variable] => dualUnits [desc] => Show dual units. [default] => false ) [45] => Array ( [variable] => alternativeW [desc] => Alternative wind units (if dual units enabled). Options: kmh, ms, mph, kt. [default] => mph ) [46] => Array ( [variable] => alternativeP [desc] => Alternative pressure units (if dual units enabled). Options: hpa, inhg, mmhg. [default] => inhg ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/currentUK
blocknamespace=currentUK
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => UK - Current Conditions [namespace] => currentUK [variables] => Array ( [0] => Array ( [variable] => metOfficeAPI [desc] => MetOffice API - get yours free at https://register.metoffice.gov.uk/WaveR ... =datapoint [default] => ) [1] => Array ( [variable] => ukMapHeight [desc] => The height of the map in the block in pixels. [default] => 600 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/dayNight
blocknamespace=dayNight
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Day/night block [namespace] => dayNight )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/dbInfo
blocknamespace=dbInfo
exist Config.txt
json decoded blockInfo=Array ( [version] => 3.1 [name] => Database Information [namespace] => dbInfo )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/dynamicImage
blocknamespace=dynamicImage
exist Config.txt
json decoded blockInfo=Array ( [version] => 4 [name] => Dynamic Image [namespace] => dynamicImage [variables] => Array ( [0] => Array ( [variable] => dynamicImageTitles [desc] => In this block you can display multiple images. For each you can set the title, URL and update interval. You need to always separate these with a semi-colon (;). The titles, URLs and intervals must go in the same order. You can of course use just one image, in which case you just put one title, one URL and one update interval and no semi-colons. Also, if the URL includes a timestamp to prevent caching delete it from the URL, the script will add this automatically.

Image titles [default] => Dynamic Image1;Dynamic Image2 ) [1] => Array ( [variable] => dynamicImageURLs [desc] => URLs [default] => http://www.mysite.com/image.png;http:// ... image2.png ) [2] => Array ( [variable] => dynamicImageUpdateIntervals [desc] => Update intervals in seconds [default] => 60;30 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/dynamicText
blocknamespace=dynamicText
exist Config.txt
json decoded blockInfo=Array ( [version] => 2.5 [name] => Dynamic Text [namespace] => dynamicText [variables] => Array ( [0] => Array ( [variable] => dynamicImageTitles [desc] => This is just a dummy page, you can ignore it, the real setup is at the following link: setup [default] => ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/earthquakes
blocknamespace=earthquakes
exist Config.txt
json decoded blockInfo=Array ( [version] => 3 [name] => Earthquakes [namespace] => earthquakes [variables] => Array ( [0] => Array ( [variable] => vicinity [desc] => The earthquakes are shown in two groups: significant and close. The significant earthquakes show significant earthquakes from the entire world. The second group looks at earthquakes in the vicinity of your station. You can specify the radius around your station to analyze. [default] => 2500 ) [1] => Array ( [variable] => unitsEQ [desc] => Radius units - "km" or "mi" [default] => km ) [2] => Array ( [variable] => eqCacheClose [desc] => cache for the earthquakes in the vicinity (past 30 days) in minutes (recommended: 60 minutes) [default] => 60 ) [3] => Array ( [variable] => eqCacheSignificant [desc] => cache for the significant earthquakes (past 30 days) (recommended: 720 minutes = 12 hours) [default] => 720 ) [4] => Array ( [variable] => maximumCloseEq [desc] => maximum number of nearby earthquakes displayed in the block [default] => 3 ) [5] => Array ( [variable] => maximumSignificantEq [desc] => maximum number of significant earthquakes displayed in the block [default] => 3 ) [6] => Array ( [variable] => mapType [desc] => Select the type of maps to be shown for the location of your station and earthquakes.
Possible values:
"HYBRID", "TERRAIN", "ROADMAP", "SATELLITE" [default] => HYBRID ) [7] => Array ( [variable] => mapZoom [desc] => Map default zoom (smaller number means more zoomed out - larger area covered), enter numbers from 1 to 12 (default 4) [default] => 4 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/extremes
blocknamespace=extremes
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Extremes [namespace] => extremes )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/fireDanger
blocknamespace=fireDanger
exist Config.txt
json decoded blockInfo=Array ( [version] => 2.1 [name] => Fire Danger Index [namespace] => fireDanger )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/forecast
blocknamespace=forecast
exist Config.txt
json decoded blockInfo=Array ( [version] => 9.4 [name] => Forecast [namespace] => forecast [variables] => Array ( [0] => Array ( [variable] => defaultForecast [desc] => NOTE: If you make any changes to this settings also make sure you empty the cache inside the forecast block directory, otherwise your changes will only be refleceted once the cache time expires.

Default forecast: Possible options: "yrNo","meteoBlue","darkSky","wxsim" [default] => yrNo ) [1] => Array ( [variable] => showyrNoForecast [desc] =>

yr.No forecast [default] => true ) [2] => Array ( [variable] => yrNoLocation [desc] => Go to https://www.yr.no/storage/lookup/English.csv.zip, search for your location and then copy the second column, it will look for example something like this: lat=41.89193&lon=12.51133&altitude=20 ( or provide your own coordinates ). You also have to provide the name of the place to be used in the select box.

The syntax is as follows: place_name,url
First name, then comma (,) then url [default] => Rome-Italy,lat=41.89193&lon=12.51133&altitude=20 ) [3] => Array ( [variable] => showDarkskyForecast [desc] =>

DarkSky forecast [default] => true ) [4] => Array ( [variable] => showWxSimForecast [desc] =>

WxSim forecast [default] => true ) [5] => Array ( [variable] => pathLatest [desc] => path to latest.csv [default] => latest.csv ) [6] => Array ( [variable] => pathPlainText [desc] => path to plaintext.txt [default] => plaintext.txt ) [7] => Array ( [variable] => categories [desc] => specify the hourly intervals for the forecast - will be aggregated, eg.'0-6,6-12,12-18,18-24' [default] => 0-6,6-12,12-18,18-24) ) [8] => Array ( [variable] => maxDays [desc] => maximum number of days shown unless clicked "more" [default] => 5 ) [9] => Array ( [variable] => decimalSeparator [desc] => decimal separator in latest.csv: "," or "." [default] => . ) [10] => Array ( [variable] => fieldSeparator [desc] => field separator in latest.csv: "," or ";" [default] => , ) [11] => Array ( [variable] => wxSimString [desc] => string displayed below the WxSim forecast [default] => THIS FORECAST WAS MADE IN AUTOMATED MODE AND MAY BE LESS ACCURATE THAN OTHERWISE ) [12] => Array ( [variable] => forecastsCache [desc] =>

cache time for the forecasts [default] => 60 ) [13] => Array ( [variable] => showMeteoBlue [desc] => MeteoBlue forecast [default] => true ) [14] => Array ( [variable] => meteoBlueDays [desc] => Days in forecast (take into account the column width where you want to place your Forecast block. Options: 4, 5, 6 and 7. [default] => 6 ) [15] => Array ( [variable] => meteoBlueLocation [desc] => Go to meteoblue.com and search for your location. Then look in the URL and enter a similar string to the default one you see below, which corresponds to your place. [default] => brno_czechia_3078610 ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/gauges
blocknamespace=gauges
exist Config.txt
json decoded blockInfo=Array ( [version] => 7.1 [name] => Gauges [namespace] => gauges [variables] => Array ( [0] => Array ( [variable] => updateInterval [desc] => Set the update interval in seconds. When selecting this take into account how often your text file/database is updated. Updates are performed by AJAX requests, so it should not affect the actual loading time of your homepage. The number given should be in seconds. [default] => 15 ) [1] => Array ( [variable] => gaugeOrder [desc] => specify the gauges you want to show, in the order you want.
Abbreviations: T - temperature, A - apparent temperature, H - humidity, P - pressure, W - wind speed, G - wind gust, C - compass (wind direction), R - daily precipitation, UV, S - solar radiation, D - dew point, CBI - Combustion Burning Index, FD - fire danger, WB - wet-bulb temperature [default] => T,A,D,H,P,W,G,C,R,UV,S,CBI,FD ) [2] => Array ( [variable] => gaugeTitles [desc] => enable/disable the parameter title inside the gauge.
true/false [default] => true ) [3] => Array ( [variable] => gaugeShadow [desc] => add glow (shadow) to the gauges [default] => false ) [4] => Array ( [variable] => showValuesDefault [desc] => show the actual value inside the gauge [default] => true ) [5] => Array ( [variable] => gaugeSizeDefault [desc] => default size of the gauge in pixels [default] => 150 ) [6] => Array ( [variable] => animation [desc] => linear, quad, cycle, bounce, elastic [default] => linear ) [7] => Array ( [variable] => gaugeDesign [desc] => Specify the gauge design.
"template" - use template colors, "dark", "light", "black", "white", "retro" [default] => template ) [8] => Array ( [variable] => circle3D [desc] => add 3D look to the gauge outer circle [default] => true ) [9] => Array ( [variable] => showTime [desc] => show update time above the gauges [default] => false ) [10] => Array ( [variable] => gaugesHighlightUpdate [desc] => Briefly highlight the time value during updates (if time is enabled above). [default] => true ) [11] => Array ( [variable] => gaugesHighlightInterval [desc] => The time for which the time should be highlighted during updates (if enabled above). If you use a very short time, the time value will just flash, longer times will result in the time being highlighted for longer period. The value should be in seconds [default] => 0.5 ) [12] => Array ( [variable] => minLimitC [desc] =>

INDIVIDUAL GAUGE SETTING
make sure you fill in values for all the units (or leave the defaults), because you have to remember the users can change these in the settings.

Temperature, apparent temperature, dew point gauge
minimum value when units set to C [default] => -30 ) [13] => Array ( [variable] => maxLimitC [desc] => maximum value when units set to C [default] => 40 ) [14] => Array ( [variable] => minLimitF [desc] => minimum value when units set to F [default] => -30 ) [15] => Array ( [variable] => maxLimitF [desc] => maximum value when units set to F [default] => 110 ) [16] => Array ( [variable] => majorTickIntervalT [desc] => interval between the numbers on the gauge (major ticks) [default] => 10 ) [17] => Array ( [variable] => minorTickCountT [desc] => number of minor ticks between each major tick interval [default] => 10 ) [18] => Array ( [variable] => highlightT [desc] => undercolor the values in blue (below freezing point) and red (above freezing point) [default] => true ) [19] => Array ( [variable] => majorTickIntervalH [desc] =>

Humidity gauge
interval between the numbers on the gauge (major ticks) [default] => 20 ) [20] => Array ( [variable] => minorTickCountH [desc] => number of minor ticks between each major tick interval [default] => 4 ) [21] => Array ( [variable] => highlightH [desc] => green gradient undercolor [default] => true ) [22] => Array ( [variable] => minLimitHPA [desc] =>

Pressure gauge
minimum value when units set to hPa [default] => 980 ) [23] => Array ( [variable] => maxLimitHPA [desc] => maximum value when units set to hPa [default] => 1040 ) [24] => Array ( [variable] => minLimitINHG [desc] => minimum value when units set to inHg [default] => 28 ) [25] => Array ( [variable] => maxLimitINHG [desc] => maximum value when units set to inHg [default] => 31 ) [26] => Array ( [variable] => minLimitMMHG [desc] => minimum value when units set to mmHg [default] => 730 ) [27] => Array ( [variable] => maxLimitMMHG [desc] => maximum value when units set to mmHg [default] => 780 ) [28] => Array ( [variable] => majorTickIntervalPHPA [desc] => interval between the numbers on the pressure gauge (major ticks) when units set to hPa [default] => 10 ) [29] => Array ( [variable] => majorTickIntervalPINHG [desc] => interval between the numbers on the gauge (major ticks) when units set to inHg [default] => 1 ) [30] => Array ( [variable] => majorTickIntervalPMMHG [desc] => interval between the numbers on the gauge (major ticks) when units set to mmHg [default] => 10 ) [31] => Array ( [variable] => minorTickCountP [desc] => number of minor ticks between each major tick interval [default] => 5 ) [32] => Array ( [variable] => WmaxLimitKMH [desc] =>

Wind gauge
maximum value when units set to km/h [default] => 80 ) [33] => Array ( [variable] => WmaxLimitMS [desc] => maximum value when units set to m/s [default] => 25 ) [34] => Array ( [variable] => WmaxLimitKT [desc] => maximum value when units set to knots [default] => 50 ) [35] => Array ( [variable] => WmaxLimitMPH [desc] => maximum value when units set to mph [default] => 50 ) [36] => Array ( [variable] => WmajorTickIntervalKMH [desc] => interval between the numbers on the gauge (major ticks) when units set to km/h [default] => 10 ) [37] => Array ( [variable] => WmajorTickIntervalMS [desc] => interval between the numbers on the gauge (major ticks) when units set to m/s [default] => 5 ) [38] => Array ( [variable] => WmajorTickIntervalKT [desc] => interval between the numbers on the gauge (major ticks) when units set to knots [default] => 10 ) [39] => Array ( [variable] => WmajorTickIntervalMPH [desc] => interval between the numbers on the gauge (major ticks) when units set to mph [default] => 10 ) [40] => Array ( [variable] => minorTickCountW [desc] => number of minor ticks between each major tick interval [default] => 5 ) [41] => Array ( [variable] => GmaxLimitKMH [desc] =>

Gust gauge
maximum value when units set to km/h [default] => 120 ) [42] => Array ( [variable] => GmaxLimitMS [desc] => maximum value when units set to m/s [default] => 35 ) [43] => Array ( [variable] => GmaxLimitKT [desc] => maximum value when units set to knots [default] => 75 ) [44] => Array ( [variable] => GmaxLimitMPH [desc] => maximum value when units set to mph [default] => 75 ) [45] => Array ( [variable] => GmajorTickIntervalKMH [desc] => interval between the numbers on the gauge (major ticks) when units set to km/h [default] => 10 ) [46] => Array ( [variable] => GmajorTickIntervalMS [desc] => interval between the numbers on the gauge (major ticks) when units set to m/s [default] => 5 ) [47] => Array ( [variable] => GmajorTickIntervalKT [desc] => interval between the numbers on the gauge (major ticks) when units set to knots [default] => 10 ) [48] => Array ( [variable] => GmajorTickIntervalMPH [desc] => interval between the numbers on the gauge (major ticks) when units set to mph [default] => 10 ) [49] => Array ( [variable] => minorTickCountG [desc] => number of minor ticks between each major tick interval [default] => 5 ) [50] => Array ( [variable] => maxLimitMM [desc] =>

Rain gauge (daily cummulative value)
maximum value when units set to mm [default] => 50 ) [51] => Array ( [variable] => maxLimitCM [desc] => maximum value when units set to cm [default] => 5 ) [52] => Array ( [variable] => maxLimitIN [desc] => maximum value when units set to inches [default] => 2 ) [53] => Array ( [variable] => majorTickIntervalMM [desc] => interval between the numbers on the gauge (major ticks) when units set to mm [default] => 5 ) [54] => Array ( [variable] => majorTickIntervalCM [desc] => interval between the numbers on the gauge (major ticks) when units set to cm [default] => 0.5 ) [55] => Array ( [variable] => majorTickIntervalIN [desc] => interval between the numbers on the gauge (major ticks) when units set to inches [default] => 0.2 ) [56] => Array ( [variable] => minorTickCountR [desc] => number of minor ticks between each major tick interval [default] => 2 ) [57] => Array ( [variable] => highlightS [desc] =>

Solar radiation gauge
black->yellow gradient undercolor of the gauge [default] => true ) [58] => Array ( [variable] => limitUV [desc] =>

UV gauge
set this to true if you want the UV gauge to have a maximum of just 11 rather than 20 [default] => true ) [59] => Array ( [variable] => highlightUV [desc] => UV gauge undercolor [default] => true ) [60] => Array ( [variable] => compassNeedle [desc] =>

Wind direction (compass)
"line" - just an indicator line on the actual compass, "arrow" - full arrow from the gauge center, just like the other gauges [default] => line ) [61] => Array ( [variable] => compassTitle [desc] => the label for wind direction can be set separately (it does not look very good when the line indicator is used) [default] => true ) [62] => Array ( [variable] => highlightCBI [desc] =>

CBI gauge
show undercolor for CBI gauge [default] => true ) [63] => Array ( [variable] => highlightFD [desc] =>

Fire danger gauge
show undercolor for fire danger gauge [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/glossary
blocknamespace=glossary
exist Config.txt
json decoded blockInfo=Array ( [version] => 2 [name] => Glossary [namespace] => glossary [variables] => Array ( [0] => Array ( [variable] => autoOpenGlossary [desc] => Auto-open the block. [default] => false ) [1] => Array ( [variable] => showGlossaryTitle [desc] => Show block title. [default] => true ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/greetings
blocknamespace=greetings
exist Config.txt
json decoded blockInfo=Array ( [version] => 1.1 [name] => Greetings [namespace] => greetings [variables] => Array ( [0] => Array ( [variable] => defaultText [desc] => This block must be set up separately. Once you save this settings, go to the folder of this block and open the settings2.php in a text editor and follow the instructions.

default text when the hour does not match any defined interval [default] => Hello ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/history
blocknamespace=history
exist Config.txt
json decoded blockInfo=Array ( [version] => 4 [name] => History [namespace] => history [variables] => Array ( [0] => Array ( [variable] => autoOpenHistory [desc] => Do you want the block to auto-open temperature on load. [default] => false ) ) )
if key_exists(variables
if file_exists(settings.php
edit settings.php
installed
foreach dirs dir=../homepage/blocks/images
blocknamespace=images
exist Config.txt
json decoded blockInfo=Array ( [version] => 1 [name] => Images [namespace] => images )
if key_exists(variables
key variables does not exist
installed
foreach dirs dir=../homepage/blocks/indoor
blocknamespace=indoor
exist Config.txt
json decoded blockInfo=Array ( [version] => 7 [name] => Indoor [namespace] => indoor [variables] => Array ( [0] => Array ( [variable] => showIndoorIndices [desc] => Show comfortability indicators [default] => true ) [1] => Array ( [variable] => showIndoorTitle [desc] => Show block he


from this i assume i need to do the same with the indoor block plus any other blocks that stops the script before the finish
if every thing works to the end what should i see ie the main block setup screen or something else

Thanks
Harold
Image

davidefa
Expert
Expert
Posts: 862
Joined: Tue Jan 12, 2021 8:03 am
Location: Italy
Station model: WH2650
Software: WH2650 (direct upload)
Contact:

Re: some problems with php8.1

Post by davidefa » Thu Aug 25, 2022 8:36 pm

Yes to both questions.


P.S.
If your blocks do not contain any sensible/personal data, could you compress the whole homepage/blocks directory and post it ( or pm to me ) so that I can test it on my computer ( as this thing is quite weird, in my opinion ), include also the grLevelX block

P.P.S.
another question:
How log does the script takes to execute?
Does the gateway timeout appear?
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Thu Aug 25, 2022 10:25 pm

unfortunately the zip file of my blocks is 10.3mb so unable to attach have uploaded to my website as 2 zip files
https://www.hc-iom.co.uk/wd_forum/Blocks1.zip this one has the blocks left after removal of others
https://www.hc-iom.co.uk/wd_forum/Blocks2.zip this one has the removed files in

the 504 comes 1 minute after clicking go even with the removed blocks

i would not be surprised if it works ok for you

thanks
Harold
Image

davidefa
Expert
Expert
Posts: 862
Joined: Tue Jan 12, 2021 8:03 am
Location: Italy
Station model: WH2650
Software: WH2650 (direct upload)
Contact:

Re: some problems with php8.1

Post by davidefa » Fri Aug 26, 2022 7:06 am

Yes, indeed it works on my test server
Image

hcorrin
Observer
Observer
Posts: 40
Joined: Tue Sep 05, 2017 10:55 am
Location: Ballaugh
Station model: Davis VP2
Software: Weather Display
Contact:

Re: some problems with php8.1

Post by hcorrin » Fri Aug 26, 2022 7:39 pm

yes that's what I expected to happen
I changed to 8.0.22 but that did the same but at least the import data worked on that, unlike 8.1.9 which stopped after the first line.
i suspect that there may be another php command not allowed on the server, i know the eval is not

I'll have to decide whether to keep or retire the Meteotemplate on my hosted server
thanks for trying to sort
Harold

PS
runs ok on my synology unit so still can use Meteotemplate
Image

andyk1
Professional
Professional
Posts: 431
Joined: Tue Feb 27, 2018 10:56 pm
Location: OKLAHOMA, USA
Station model: Ecowitt WS90
Software: Meteobridge/GW2000B
Contact:

Re: some problems with php8.1

Post by andyk1 » Tue Aug 30, 2022 5:55 am

Hello

Sorry I did not see this earlier.

Honestly I don't know where the problem was but it started working in the middle of a heavy Downpour/Lightning yesterday but after a close lightning strike that cause lights to flicker. No my power did not go out as I have all important electronics on UPS's (Battery Backup power supplies) but rebooted all the GW1000's, GW1100 and GW2000 and MT anyway. Rebooted Raspberry Pi 4B (8gb) ver 1.2 hardware and strangely Everything (GW1000's) started working. Well it all worked except for the GW1000's rain gauge (WH65)

Going into MB I do see an update of about 10 days ago that didn't update on previous attempts. Also manually updated rain amounts in MB fixed MT's rain block. Wish there was an easier way to import from Ecowitt.net site db but that's for another day.

I'm going to take a long shot guess here and say the problem was in MB and not MT or Ecowitt.

davidefa wrote: Thu Aug 25, 2022 12:31 am @Andy
Not sure to understand completely the problem ( and the configuration ).
You have a single rain gauge ( wh40 I presume ) that is connected to all your gateways.
If they all send data to ecowitt.net you should see equal rain readings/total for all your stations.
And when you manually click the rain gauge all your gateway should increment.
If not you can check the Calibration menu in the wsview app ( for each gateway ) verifying the rain gain is set to 1.0 ( or the value you set ).
If the value of the gateway ( that feeds meteotemplate ) is correct, but the value recorded by meteotemplate is not, you can check the main setup of meteotemplate ( the rain multiplier is set to 1.0, or the value you selected )

P.S.
Check also the graph date format is set correctly ( I've seen in your extended graph, when selecting along interval, all data in the X axis is shown as %D )


setup_rain.png
Image

spd2612
Forecaster
Forecaster
Posts: 165
Joined: Thu Jan 23, 2020 4:00 pm
Location: Fort Myers
Station model: WS-5000/GW1100
Software: ECOWITT Plugin
Contact:

Re: some problems with php8.1

Post by spd2612 » Wed Feb 15, 2023 9:53 pm

davidefa wrote: Tue Aug 16, 2022 8:07 am Try updating the api.php script with the attached one.
On line 47 it has a debug option activated ( logging of all calls in cache/apiReqLog.txt ).
Has also a fix in case meteotemplateLive.txt is malformed.

Please send me the meteobridge log 8:00-8:40 so I can take a look if it contains anything 'suspicious'
I also used this API my time on current conditions has been off by 7 minutes for a long while and today Meteotemplatelive stopped updating, I had success from the plugin so I used the new API and running again, so far time is correct
Image

Ambient Weather WS-5000
Ultrasonic Anemometer
Thermo-Hygrometer Sensor WH31E
Soil Moisture Sensor WH31SM
Lightning Detection WH31L

andyk1
Professional
Professional
Posts: 431
Joined: Tue Feb 27, 2018 10:56 pm
Location: OKLAHOMA, USA
Station model: Ecowitt WS90
Software: Meteobridge/GW2000B
Contact:

Re: some problems with php8.1

Post by andyk1 » Thu Feb 16, 2023 3:44 am

spd2612 wrote: Wed Feb 15, 2023 9:53 pm
davidefa wrote: Tue Aug 16, 2022 8:07 am Try updating the api.php script with the attached one.
On line 47 it has a debug option activated ( logging of all calls in cache/apiReqLog.txt ).
Has also a fix in case meteotemplateLive.txt is malformed.

Please send me the meteobridge log 8:00-8:40 so I can take a look if it contains anything 'suspicious'
I also used this API my time on current conditions has been off by 7 minutes for a long while and today Meteotemplatelive stopped updating, I had success from the plugin so I used the new API and running again, so far time is correct
Having the same problem except mine is off by a few minutes to 5-6 periodically. I can't find what is causing it or why it starts working correctly after awhile.

I noticed in my apiViewer that the time is off and Software changes between Meteobridge and Ecowitt Plugin sometimes every few minutes to over 5 minutes. I have searched through the api.php, updater, ecowitt block and plugin but can't find the reason why it jumps back and forth between Meteobrige and ecowitt in the apiViewer.php.

Also, when it is on ecowitt during the 5 minute period to update the data base... it does not until the apiviwer shows meterbridge which can take several minutes to switch back sometimes causing a missed update to the dateabase causing a 10 minute miss in the DB.

No Friggin idea what causes this and have spent months looking for the cause.
Image

User avatar
meteoesine
Forecaster
Forecaster
Posts: 166
Joined: Sun Aug 20, 2017 4:08 pm
Location: Esine, Valcamonica (BS) - Italy
Station model: Davis Pro2+
Software: Meteobridge nano
Contact:

Re: some problems with php8.1

Post by meteoesine » Sun Feb 26, 2023 8:47 am

Hello,
there would also be the interesting Data Quality Checker plugin which doesn't work 100% with php 8.1 (cannot fix outliers and no graphs are displayed)

https://meteoesine.it/template/plugins/ ... /index.php

many tnx in advance
:arrow: https://meteoesine.it
ham wx aprs/cwop: IW2LAO-13

Image

Post Reply