Meecast / meecast

MeeCast - multiplatform highly customizable open source weather forecast client based on OMWeather code. Copyright (C) 2006-2024
https://meecast.org/
GNU Lesser General Public License v2.1
30 stars 18 forks source link

YR.no still don't work #44

Closed eson57 closed 1 year ago

eson57 commented 1 year ago

It says "No data available" and crashes when trying to update. I'm on Sailfish OS 4.5.0.24 with my X10III and here's log from launching app and trying to update yr data. I've tried reinstall meecast and co. don't know what I can do more. Works fine with e.g Foreca.

`| Sailfish OS 4.5.0.24 (Struven ketju) '--- NOTICE: Env value ignored: LIPSTICK2VNC_OPTS= [defaultuser@Fisken ~]$ harbour-meecast Begin /usr/bin End Controller::Controller() [D] unknown:0 - Using Wayland-EGL library "libutils.so" not found library "libcutils.so" not found library "libhardware.so" not found library "android.hardware.graphics.mapper@2.0.so" not found library "android.hardware.graphics.mapper@2.1.so" not found library "android.hardware.graphics.mapper@3.0.so" not found library "android.hardware.graphics.mapper@4.0.so" not found library "libc++.so" not found library "libhidlbase.so" not found library "libgralloctypes.so" not found library "android.hardware.graphics.common@1.2.so" not found library "libion.so" not found library "libz.so" not found library "libhidlmemory.so" not found library "android.hidl.memory@1.0.so" not found library "vendor.qti.qspmhal@1.0.so" not found Load Create Config class: LoadConfig SOurce name foreca.com SourceList::SourceList() SourceList::~SourceList() SOurce name yr.no SourceList::SourceList() SourceList::~SourceList() CONFIG CREATEQML11111!!!!!!!!!!!!!! Refcount ConfigQML2: 1 QNetworkConfiguration::InternetAccessPoint Current online status:1 Config::saveConfig /home/defaultuser/.config/harbour-meecast/config.xml End of creating Config class Controller::load_data() DataParser::Instance 0 Error in DataParser class: Error set content DataItem::DataItem() [D] unknown:0 - DataModel::DataModel() Refcount ConfigQML2: 2 DataItem::DataItem() [D] unknown:0 - DataModel::DataModel() Refcount ConfigQML2: 3 DataItem::DataItem() [D] unknown:0 - DataModel::DataModel() Refcount ConfigQML2: 4 DataItem::DataItem() [D] unknown:0 - DataModel::DataModel() Refcount ConfigQML2: 5 DataItem::DataItem() [D] unknown:0 - DataModel::DataModel() Refcount ConfigQML2: 6 timezone!!!!! 0 Current time 1697024671 Current time for time zone 1697024671 Current day 1696986000 Time for check 1697040001 End filling SourceList::SourceList() SourceList::~SourceList() omweather_sv_SV Success TR [W] unknown:274 - file:///usr/share/harbour-meecast/qml/pages/WeatherWrapper.qml:274:10: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column. Column will not function. [D] onCompleted:580 - Warning: specifying an object instance for initialPage is sub-optimal - prefer to use a Component [W] unknown:274 - file:///usr/share/harbour-meecast/qml/pages/WeatherWrapper.qml:274:10: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column. Column will not function. current_station_id is 0 . this->stationsList().at(this->current_station_id())->fileName().c_str() /home/defaultuser/.config/harbour-meecast/foreca.com_102665018 DataModel::reload_data /home/defaultuser/.config/harbour-meecast/foreca.com_102665018 DataParser::Instance 1 load data Filename /home/defaultuser/.config/harbour-meecast/foreca.com_102665018 Reloadfile _Filename /home/defaultuser/.config/harbour-meecast/foreca.com_102665018 TIMEZONE in entering 1 Update model - period 0 Current time for time zone 1697028272 timezone in update model 1 localtimezone 2 Update model - period 2 Current time for time zone 1697028272 timezone in update model 1 localtimezone 2 First day in datamodel 1697036401 Success 1697036401 Success 1697122801 Success 1697209201 Success 1697295601 Success 1697382001 Success 1697468401 Success 1697554801 Success 1697641201 Success 1697727601 Success 1697814001 Success 1697900401 Success 1697986801 Success 1698073201 Success 1698159601 [D] current_model_count:144 - current_model_count 0 [D] onCompleted:513 - list onCompleted 0 22 [D] onCompleted:514 - WeatherStationDelegate.qml - Config.stationname Vara current_station_id is 1 . this->stationsList().at(this->current_station_id())->fileName().c_str() /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara DataModel::reload_data /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara DataParser::Instance 1 load data Filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara Reloadfile _Filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara Error in DataParser class: Error set content Update model - period 0 Current time for time zone 1697024672 timezone in update model 0 localtimezone 2 Update model - period 2 Current time for time zone 1697024672 timezone in update model 0 localtimezone 2 First day in datamodel 1697040001 [D] current_model_count:144 - current_model_count 1 [D] current_model_count:144 - current_model_count 1 [W] unknown:368 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:368:8: QML Image: Cannot open: file:///usr/share/harbour-meecast//iconsets/Meecast/undefined [D] onCompleted:513 - list onCompleted 1 23 [D] onCompleted:514 - WeatherStationDelegate.qml - Config.stationname Vara [W] unknown:345 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:345:44: Unable to assign [undefined] to QString [W] unknown:424 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:424:44: Unable to assign [undefined] to double MeeCastCover::MeeCastCover(QObject parent): QObject(parent) MeeCastCover::MeeCastCover(QObject parent): QObject(parent) [D] onStatusChanged:288 - Change deactivating status false MeeCastCover::MeeCastCover::setStatus [D] onStatusChanged:244 - Change status false MeeCastCover::MeeCastCover::setStatus QNetworkConfiguration::InternetAccessPoint Current online status:1 Config::saveConfig /home/defaultuser/.config/harbour-meecast/config.xml [D] expression for onConfigChanged:192 - WeatherWrapper.qml onConfigChanged() station - Vara [W] unknown:614 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:614:13: QML Image: Cannot open: file:///usr/share/harbour-meecast//images/.png [D] current_model_count:144 - current_model_count -1 [D] current_model_count:144 - current_model_count -1 [W] unknown:424 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:424:44: Unable to assign [undefined] to double [W] unknown:368 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:368:8: QML Image: Cannot open: file:///usr/share/harbour-meecast//iconsets/Meecast/undefined [W] unknown:345 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:345:44: Unable to assign [undefined] to QString [W] unknown:614 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:614:13: QML Image: Cannot open: file:///usr/share/harbour-meecast//images/.png [D] current_model_count:144 - current_model_count -1 [D] current_model_count:144 - current_model_count -1 [W] unknown:424 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:424:44: Unable to assign [undefined] to double [W] unknown:345 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:345:44: Unable to assign [undefined] to QString [D] updatemodels:177 - QML updatemodels()) current_station_id is 1 . this->stationsList().at(this->current_station_id())->fileName().c_str() /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara DataModel::reload_data /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara DataParser::Instance 1 load data Filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara Reloadfile _Filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara Error in DataParser class: Error set content Update model - period 0 Current time for time zone 1697024683 timezone in update model 0 localtimezone 2 Update model - period 2 Current time for time zone 1697024683 timezone in update model 0 localtimezone 2 First day in datamodel 1697040001 [D] current_model_count:144 - current_model_count 1 [D] current_model_count:144 - current_model_count 1 [W] unknown:368 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:368:8: QML Image: Cannot open: file:///usr/share/harbour-meecast//iconsets/Meecast/undefined [D] onCompleted:513 - list onCompleted 1 23 [D] onCompleted:514 - WeatherStationDelegate.qml - Config.stationname Vara [W] unknown:345 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:345:44: Unable to assign [undefined] to QString [W] unknown:424 - file:///usr/share/harbour-meecast/qml/pages/WeatherStationDelegate.qml:424:44: Unable to assign [undefined] to double current_station_id is 0 . this->stationsList().at(this->current_station_id())->fileName().c_str() /home/defaultuser/.config/harbour-meecast/foreca.com_102665018 DataModel::reload_data /home/defaultuser/.config/harbour-meecast/foreca.com_102665018 DataParser::Instance 1 load data Filename /home/defaultuser/.config/harbour-meecast/foreca.com_102665018 Reloadfile _Filename /home/defaultuser/.config/harbour-meecast/foreca.com_102665018 TIMEZONE in entering 1 Update model - period 0 Current time for time zone 1697028283 timezone in update model 1 localtimezone 2 Update model - period 2 Current time for time zone 1697028283 timezone in update model 1 localtimezone 2 First day in datamodel 1697036401 Success 1697036401 Success 1697122801 Success 1697209201 Success 1697295601 Success 1697382001 Success 1697468401 Success 1697554801 Success 1697641201 Success 1697727601 Success 1697814001 Success 1697900401 Success 1697986801 Success 1698073201 Success 1698159601 [D] current_model_count:144 - current_model_count 0 [D] onCompleted:513 - list onCompleted 0 24 [D] onCompleted:514 - WeatherStationDelegate.qml - Config.stationname Vara ReLoadConfig Reloadfile _Filename /home/defaultuser/.config/harbour-meecast/config.xml LoadConfig SOurce name foreca.com SourceList::SourceList() SourceList::~SourceList() SOurce name yr.no SourceList::SourceList() SourceList::~SourceList() [D] expression for onConfigReloadCoverPage:298 - onConfigReloadCoverPage current_station_id is 1 . this->stationsList().at(this->current_station_id())->fileName().c_str() /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara [D] expression for onConfigReloadCoverPage:299 - Config.filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara current_station_id is 1 . this->stationsList().at(this->current_station_id())->fileName().c_str() /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara DataModel::reload_data /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara DataParser::Instance 1 load data Filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara Reloadfile _Filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara Error in DataParser class: Error set content Update model - period 0 Current time for time zone 1697024683 timezone in update model 0 localtimezone 2 [D] onStatusChanged:244 - Change status true ReLoadConfig Reloadfile _Filename /home/defaultuser/.config/harbour-meecast/config.xml LoadConfig SOurce name foreca.com SourceList::SourceList() SourceList::~SourceList() SOurce name yr.no SourceList::SourceList() SourceList::~SourceList() [D] expression for onConfigReloadCoverPage:298 - onConfigReloadCoverPage current_station_id is 1 . this->stationsList().at(this->current_station_id())->fileName().c_str() /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara [D] expression for onConfigReloadCoverPage:299 - Config.filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara current_station_id is 1 . this->stationsList().at(this->current_station_id())->fileName().c_str() /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara DataModel::reload_data /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara DataParser::Instance 1 load data Filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara Reloadfile _Filename /home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara Error in DataParser class: Error set content Update model - period 0 Current time for time zone 1697024684 timezone in update model 0 localtimezone 2 ConfigQml::check_and_update_station 1697031759 1697024684 MeeCastCover::MeeCastCover::setStatus [D] onStatusChanged:244 - Change status false MeeCastCover::MeeCastCover::setStatus [D] onStatusChanged:288 - Change deactivating status true [D] expression for onConfigChangeStationOnMainPage:201 - WeatherWrapper.qml onConfigChangeStationOnMainPage 1 MeeCastCover::MeeCastCover::setStatus [D] onStatusChanged:288 - Change deactivating status false MeeCastCover::MeeCastCover::setStatus [D] update:127 - start update UpdateThread::run() Refcount ConfigQML2: 7 activeConfigs for QNetworkConfiguration2 Station::updateData(bool force) curl result = 0 curl result = 0

10
 <temperature>6</temperature>
 <temperature>5</temperature>
 <temperature>6</temperature>
 <temperature>3</temperature>
 <temperature>0</temperature>
 <temperature>1</temperature>
 <temperature>1</temperature>
 <temperature>1</temperature>
 <temperature>1</temperature>
 <temperature>1</temperature>
 <temperature>2</temperature>
 <temperature>3</temperature>
 <temperature>3</temperature>

Station::updateData(bool force) curl result = 0 curl result = 0 terminate called after throwing an instance of 'Json::LogicError' what(): in Json::Value::resolveReference(key, end): requires objectValue Aborted`

poetaster commented 1 year ago

Hmmm. I just installed the chum build, also 1.1.36 and added a yr.no location (Spydeberg) from norway and it 'just worked'.

eson57 commented 1 year ago

I couldn't find Meecast on chum so I used OpenRepos. Can there be any difference?

vasvlad commented 1 year ago

Try to remove all stations from yr.no from your stations list. And try to add your station again. If it will not fix problem show me your Meecat's config file.

eson57 commented 1 year ago

Well, I'm beyond all that and have spent several hours of trial and error. First I tried to uninstall meecast and co plus cleaned out all the left overs, like .cache/.config/.local, and then I reinstalled everything from chum. After that I didn't even get to choose an area or provider, a black screen was all had when hitting the 'add weather station' button. So, clean out again and reinstall from OpenRepos, and I was back on track. Everything works just fine from Foreca and even OpenWeatherMap, but no YR.

About my Meecast config file... do you want me to configure YR first, or leave it as is? As is, I have only Foreca and OpenWeatherMap.

vasvlad commented 1 year ago

Can you show me content of this file: /home/defaultuser/.config/harbour-meecast/config.xml from your device? Or say me your country and station name for testing.

eson57 commented 1 year ago

The problematic station is Vara on YR. Same station works fine on Foreca and OpenWeatherMap when tested.

<?xml version="1.0" encoding="utf-8"?>
<config xmlns="http://omweather.garage.maemo.org/schemas">
 <base>/usr/share/harbour-meecast/</base>
 <iconset>Meecast</iconset>
 <temperature_unit>C</temperature_unit>
 <wind_speed_unit>m/s</wind_speed_unit>
 <pressure_unit>mbar</pressure_unit>
 <visible_unit>m</visible_unit>
 <language>Swedish</language>
 <current_station_id>1</current_station_id>
 <update_period>7200</update_period>
 <update_connect>false</update_connect>
 <fullscreen>false</fullscreen>
 <logo_on_cover>true</logo_on_cover>
 <wind_on_cover>true</wind_on_cover>
 <transparency>true</transparency>
 <lastupdate_on_cover>true</lastupdate_on_cover>
 <lockscreen>false</lockscreen>
 <standbyscreen>false</standbyscreen>
 <gps>false</gps>
 <splash>true</splash>
 <station>
  <source_name>openweathermap.org</source_name>
  <station_name>Kvanum</station_name>
  <station_id>2698520</station_id>
  <country>Sweden</country>
  <region>Vaestra Goetalands Laen</region>
  <file_name>/home/defaultuser/.config/harbour-meecast/openweathermap.org_2698520</file_name>
  <forecast_url>http://api.openweathermap.org/data/2.5/forecast/daily?id=2698520&amp;mode=xml&amp;units=metric&amp;cnt=10</forecast_url>
  <cookie></cookie>
  <user_agent></user_agent>
  <latitude>58</latitude>
  <longitude>13</longitude>
  <map_url>http://wms.openweathermap.org/service?service=WMS&amp;request=GetMap&amp;version=1.1.1&amp;srs=EPSG:4326&amp;layers=clouds&amp;styles=&amp;transparent=TRUE&amp;format=image/png&amp;width=960&amp;height=960&amp;bbox=12.000000,57.000000,14.000000,59.000000</map_url>
  <basemap_url>http://irs.gis-lab.info/?layers=osm&amp;srs=EPSG:4326&amp;format=image/png&amp;width=960&amp;height=960&amp;bbox=12.000000,57.000000,14.000000,59.000000</basemap_url>
  <detail_url>http://api.openweathermap.org/data/2.5/weather?id=2698520&amp;mode=xml&amp;units=metric</detail_url>
  <hours_url>http://api.openweathermap.org/data/2.5/forecast?id=2698520&amp;mode=xml&amp;units=metric</hours_url>
  <view_url>http://openweathermap.org/city/2698520/</view_url>
  <converter>/usr/share/harbour-meecast/lib/openweathermaporg</converter>
  <gps>false</gps>
 </station>
 <station>
  <source_name>yr.no</source_name>
  <station_name>Vara</station_name>
  <station_id>Sweden#V%C3%A4stra_G%C3%B6taland#Vara</station_id>
  <country>Sweden</country>
  <region>Västra Götaland</region>
  <file_name>/home/defaultuser/.config/harbour-meecast/yr.no_Sweden#V%C3%A4stra_G%C3%B6taland#Vara</file_name>
  <forecast_url>https://api.met.no/weatherapi/locationforecast/2.0/complete?lat=58,000000&amp;lon=12,000000</forecast_url>
  <cookie></cookie>
  <user_agent>MeeCast github.com/Meecast/meecast</user_agent>
  <latitude>58</latitude>
  <longitude>12</longitude>
  <detail_url>http://www.yr.no/sted/Sweden/V%C3%A4stra_G%C3%B6taland/Vara/varsel_time_for_time.xml</detail_url>
  <hours_url></hours_url>
  <view_url>http://www.yr.no/sted/Sweden/V%C3%A4stra_G%C3%B6taland/Vara/</view_url>
  <converter>/usr/share/harbour-meecast/lib/yrno</converter>
  <gps>false</gps>
 </station>
</config>
eson57 commented 1 year ago

I actually get the same behaviour from any YR station fairly close to where I live in Sweden. Try Vara, Skara, Falkoeping... they all make the app crash when trying to update data and after the crash there is "No data available". I am not the only one... https://openrepos.net/comment/42352#comment-42352

vasvlad commented 1 year ago

Try the version 1.1.37 of Meecast. Please remove all yr.no station's from stations list and add those to list again.

eson57 commented 1 year ago

Yes, now it works just fine. Thanks! 👍🏻

poetaster commented 1 year ago

Thanks @vasvlad ! I've just pushed the button at obs using This repo, the sailfishos branch and these tag forms. Should have chum distribution as of tomorrow! Thanks for all your work!

eson57 commented 1 year ago

Sorry to reopen this issue, but there is still problems with YR provider. Now it doesn't automatic update data, and when doing it manually from the stations page, it doesn't affect the event view. As for now, it hasn't been updated since October 15 on my device. I really do need help to further debug this issue.

vasvlad commented 1 year ago

Hi. I am on vacation now. Without notebook ;) . I'll explore this problem after November 1st

eson57 commented 1 year ago

No problem, take your time. :)

vasvlad commented 1 year ago

I just tried your station. It works for me

eson57 commented 1 year ago

Yes, it works at the first look, but it doesn't automatically update. After a day or two it's outdated data. Then I can manually update on the station page, but that doesn't affect the events view. Events view is still outdated data.

And one more thing... is there a way to choose what station to show on events view when you have more then one station configured?

Edit: No need to explain, I just found it.

vasvlad commented 1 year ago

Have you installed MeeCast Daemon (https://openrepos.net/content/vasvlad/meecast-daemon) on your device?

vasvlad commented 1 year ago

Try to install version 1.10.1 harbour-meecast-daemon and reboot your device.

eson57 commented 1 year ago

Thanks, I updated daemon and immediately after reboot it updated my YR station, so it looks promising. Let's see how it looks tomorrow and beyond.

eson57 commented 1 year ago

Looks like the error is fixed. Meecast is updating also YR again. Thanks for fixing it! 👍🏻