Number to String


(Andrea Riela) #31

that means 1 call every 180 sec right?

in my case 2 calls every 360 sec (6 mins)


(Thomas Binder) #32

They’re both msecs. So 600000 means 10minutes and 10000 means 10 seconds.


(Andrea Riela) #33

Absolutely … but what I’m looking at is the interval between EXTERNAL queries to Wu.

So, I have this http binding specific request, and a generic weather binding request. The first one every 10 mins, the second every 15 mins (as weather usually doesn’t change more frequently :slight_smile: )
Of course I’ll change the time my items will ask the cache … but this won’t impact the Wu calls per day :slight_smile:

time is running out, and I’m not seeing any update in my logs … after the issues above.

:frowning:


(Andrea Riela) #34

Still same issue:

2018-03-26 16:07:16.623 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoLevel4’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[3].level_meteoalarm)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]


(Thomas Binder) #35

I’m confused right now… :wink:

leave the other binding and we have a look on http-binding and how it works:

  1. it retrieves the Content of a web-page and caches it
  2. in items’ configuration you can use the cached Content

ad 1)
that is, what your http.cfg does:

  • retrieve the JSON in your case
  • Caches it
  • every 10mins it reloads the Cache

ad 2)
your items ask the Cache every 10secs for updates. which will result in the same Content for 10mins.

My guess now was, that you had the old content for 10mins and only after that, the item got filled again.


(Andrea Riela) #36

it seems the item is not able to ask the cache because of the error above


(Thomas Binder) #37

not exactly. Have a look at your JSON. It should not contain four alerts. (last time I checked with your old API-key, it was only two).

this is now alerts[3] if there’s only two alerts, the fourth one is not found, of course. there should be alerts[0] or alerts[1]


(Andrea Riela) #38

same error for all 4 items (well, in facts 8 items):

String Http_Wunderground_MeteoAlarm1 “Meteoalarm [%s]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]" }
String Http_Wunderground_MeteoAlarm2 “Meteoalarm [%s]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]" }
String Http_Wunderground_MeteoAlarm3 “Meteoalarm [%s]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]" }
String Http_Wunderground_MeteoAlarm4 “Meteoalarm [%s]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]" }
Number Http_Wunderground_MeteoLevel1 “Level [%d]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[0].level_meteoalarm)]" }
Number Http_Wunderground_MeteoLevel2 “Level [%d]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[1].level_meteoalarm)]" }
Number Http_Wunderground_MeteoLevel3 “Level [%d]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[2].level_meteoalarm)]" }
Number Http_Wunderground_MeteoLevel4 “Level [%d]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[3].level_meteoalarm)]" }

2018-03-26 16:07:16.461 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoAlarm1’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2018-03-26 16:07:16.483 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoAlarm2’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2018-03-26 16:07:16.510 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoAlarm3’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2018-03-26 16:07:16.537 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoAlarm4’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2018-03-26 16:07:16.557 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoLevel1’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[0].level_meteoalarm)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2018-03-26 16:07:16.577 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoLevel2’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[1].level_meteoalarm)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2018-03-26 16:07:16.606 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoLevel3’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[2].level_meteoalarm)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2018-03-26 16:07:16.623 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type ‘http’ of item ‘Http_Wunderground_MeteoLevel4’ could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig ‘[WuAlertsCache:300000:JSONPATH($.alerts[3].level_meteoalarm)]’ doesn’t contain a valid binding configuration
at org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(BindingConfigReaderDelegate.java:51) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204) ~[?:?]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:139) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]


(Andrea Riela) #39

sorry wrong past of items:

String Http_Wunderground_MeteoAlarm1 “Meteoalarm [%s]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]" }
String Http_Wunderground_MeteoAlarm2 “Meteoalarm [%s]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[1].wtype_meteoalarm_name)]" }
String Http_Wunderground_MeteoAlarm3 “Meteoalarm [%s]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[2].wtype_meteoalarm_name)]" }
String Http_Wunderground_MeteoAlarm4 “Meteoalarm [%s]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[3].wtype_meteoalarm_name)]" }
Number Http_Wunderground_MeteoLevel1 “Level [%d]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[0].level_meteoalarm)]" }
Number Http_Wunderground_MeteoLevel2 “Level [%d]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[1].level_meteoalarm)]" }
Number Http_Wunderground_MeteoLevel3 “Level [%d]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[2].level_meteoalarm)]" }
Number Http_Wunderground_MeteoLevel4 “Level [%d]” (gOutdoor, gWeather) { http="[WuAlertsCache:300000:JSONPATH($.alerts[3].level_meteoalarm)]" }


(Thomas Binder) #40

That’s strange, but as there’s not always enough warnings to fill all items (at least I hope there are some beautiful days in the pyrenees), have a look here:
The discussion is to have the alerts parsed via a rule - therefore you don’t have all the Errors in your logs:


(Andrea Riela) #41

btw I’m from Milan, Italy :slight_smile: I was just using some locations around Europe with at least 2 alerts to test the solution :slight_smile:

I’m not sure I’m understanding what you are saying. Idea is to use a Rule to troubleshoot better?


(Andrea Riela) #42

LOL

found the issue :slight_smile:

the right syntax is:

{ http="<[WuAlertsCache:300000:JSONPATH($.alerts[0].wtype_meteoalarm_name)]" }

it was missing the “<”

:slight_smile:
now it works like a charm

thanks
Andrea


(Andrea Riela) #43

Still a problem here :frowning: Sorry for bothering you again :slight_smile:

I’ve change location with my location, where are not alerts currently.

The issue is: when there are no alerts, meteoalarm reply is like this:

{
“response”: {
“version”:“0.1”,
“termsofService”:“http://www.wunderground.com/weather/api/d/terms.html”,
“features”: {
“alerts”: 1
}
}
,“query_zone”: “999”,
“alerts”: [
]
}

So the path is not ok and the items are not cleared as I would like:

2018-03-26 16:50:50.264 [DEBUG] [ab.binding.http.internal.HttpBinding] - updating cache for ‘MeteoalarmCache’ (‘http://api.wunderground.com/api/xxxxxx/alerts/q/zmw:00000.465.16080.json’)
2018-03-26 16:50:51.450 [WARN ] [ab.binding.http.internal.HttpBinding] - Transformation ‘JSONPATH($.alerts[3].wtype_meteoalarm_name)’ threw an exception. [response=
{
“response”: {
“version”:“0.1”,
“termsofService”:“http://www.wunderground.com/weather/api/d/terms.html”,
“features”: {
“alerts”: 1
}
}
,“query_zone”: “999”,
“alerts”: [
]
}
]
org.openhab.core.transform.TransformationException: Invalid path ‘$.alerts[3].wtype_meteoalarm_name’ in ’
{
“response”: {
“version”:“0.1”,
“termsofService”:“http://www.wunderground.com/weather/api/d/terms.html”,
“features”: {
“alerts”: 1
}
}
,“query_zone”: “999”,
“alerts”: [
]
}

at org.openhab.core.transform.TransformationHelper$TransformationServiceDelegate.transform(TransformationHelper.java:67) [189:org.openhab.core.compat1x:2.3.0.201803231044]
at org.openhab.binding.http.internal.HttpBinding.execute(HttpBinding.java:194) [223:org.openhab.binding.http:1.12.0.201803230213]
at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:144) [189:org.openhab.core.compat1x:2.3.0.201803231044]
at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:166) [189:org.openhab.core.compat1x:2.3.0.201803231044]
2018-03-26 16:50:51.457 [DEBUG] [ab.binding.http.internal.HttpBinding] - transformed response is ’
{
“response”: {
“version”:“0.1”,
“termsofService”:“http://www.wunderground.com/weather/api/d/terms.html”,
“features”: {
“alerts”: 1
}
}
,“query_zone”: “999”,
“alerts”: [
]
}

2018-03-26 16:50:51.460 [TRACE] [ab.binding.http.internal.HttpBinding] - Couldn’t find matching binding provider [itemName=Http_Wunderground_MeteoAlarm4, command=CHANGED]
2018-03-26 16:50:51.472 [DEBUG] [ab.binding.http.internal.HttpBinding] - item ‘Http_Wunderground_MeteoAlarm3’ is fetched from cache
<…>

Any suggestion how to solve this issue?
thanks

Andrea


(Thomas Binder) #44

Hi Andrea,

I’m afraid you can’t. Unfortunatelay there’s no alerts for Italy as there is no for Germany…


(Andrea Riela) #45

Why? It was working like a charm till 2 years ago. Meteoalarm is working really good also for Italy. Now there are alerts in Sardegna and Calabria.

Also Germany is covered.
Why you are saying differently?


(Andrea Riela) #46

I can confirm. Germany is working fine.

Check Kreis Ravensburg:

https://www.meteoalarm.eu/en_UK/0/0/DE344-Kreis%20Ravensburg.html

http://api.wunderground.com/api/xxxxx/alerts/q/zmw:00000.379.10935.json

or Bonn:

https://www.meteoalarm.eu/en_UK/0/0/DE289-Bundesstadt%20Bonn.html

http://api.wunderground.com/api/xxxxx/alerts/q/zmw:00000.163.10518.json


(Andrea Riela) #47

Mmmmm …


(Andrea Riela) #48

@binderth

I think you are right. Wunderground blocked in API all alerts from Meteoalarm. And AccuWeather is asking money for those alerts.

Question: any chance to use the rss directly from meteoalarm.eu?

this is an example (2 alerts, city of Troms in Norway).

Any chance to parse in this xml text this piece? alt=“awt:9 level:4” The icon is reflecting the alert. There is also “today” and “tomorrow” for current and forecast.

Any suggestion?

Andrea

rss.pdf (14.9 KB)


(Vincent Regaud) #49

I would consider a javascript transform for this one.
Javascrpit has tool to transform xml into json or javascript objets that make it very easy to manipulate thereafter.


(Thomas Binder) #50

Can’t confirm these, no alerts at all in Germany…
I use DWD for alerts - just parse this JSON - you can adress multiple locations in one call:
https://app-prod-ws.warnwetter.de/v16/warningOverview?points=10.2101|49.9913%2C8.4182|54.8624%2C8.9989|48.2372

(only available in Germany, I’m afraid!)