I admit I don't follow the discussion frequently. I was thinking about the sunshine hours log - from the posts I understand the interval is considered "sunny" if the solar radiation is above a fixed threshold (e.g. 120 W/m2). I have second thoughts. For one of my stations I use Weather Display and there the logic is different. An interval is sunny if the solar radiation is 75% or above expected maximum solar radiation for the given latitude/longitude and time of day & year. I haven't done this to other stations where I use weewx yet but I plan to write a simple (bash) script that would compare the current/max solar radiation every minute and log 0 or 1 to the database. I can then simply make a sum and get sunshine minutes per day. Does this make any sense? I have a script that does a similar calculation already but has more threshold values (in %) that tell me sky conditions. And it works very well. I guess I could write a python script and integrate it with weewx but don't have enough knowledge. Cheers.
Dne petek, 01. november 2019 11.59.54 UTC+1 je oseba Stefan napisala: > > Hello Andrew. > > Yes.Thats it. Thank you very Much. It works! > > Thanks > Stefan > > Am Mittwoch, 16. Oktober 2019 15:08:35 UTC+2 schrieb Andrew Milner: >> >> check your file - it looks as though there is now a 'stray' letter v in >> the file as a result of your editing!! A typo of somekind clearly!! >> >> >> >> On Wednesday, 16 October 2019 14:57:33 UTC+3, Stefan wrote: >>> >>> Thx Gary. >>> I made the change. However, it does not work either. There is still the >>> error message: >>> >>> Oct 16 13:54:28 raspberrypi weewx[12153]: engine: Caught unrecoverable >>> exception in engine: >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** name 'v' is not >>> defined >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** Traceback (most >>> recent call last): >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** File >>> "/usr/share/weewx/weewx/engine.py", line 884, in main >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** engine = >>> engine_class(config_dict) >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** File >>> "/usr/share/weewx/weewx/engine.py", line 78, in __init__ >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** >>> self.loadServices(config_dict) >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** File >>> "/usr/share/weewx/weewx/engine.py", line 142, in loadServices >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** >>> self.service_obj.append(weeutil.weeutil._get_object(svc)(self, config_dict)) >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** File >>> "/usr/share/weewx/weeutil/weeutil.py", line 1130, in _get_object >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** mod = >>> __import__(module) >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** File >>> "/usr/share/weewx/user/radiationhours.py", line 174, in <module> >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** v >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** NameError: name 'v' >>> is not defined >>> Oct 16 13:54:28 raspberrypi weewx[12153]: **** Exiting. >>> >>> >>> Am Mittwoch, 16. Oktober 2019 09:27:48 UTC+2 schrieb gjr80: >>>> >>>> OK, essentially the same file but double spaced. The problem looks like >>>> it is due to field radiation being either missing or None. Try >>>> changing the following line: >>>> >>>> syslog.syslog(syslog.LOG_DEBUG, "Calculated sunshine_hours = %f, based >>>> on radiation = %f, and min_sunshine = %f" % >>>> >>>> to >>>> >>>> syslog.syslog(syslog.LOG_DEBUG, "Calculated sunshine_hours = %f, based >>>> on radiation = %s, and min_sunshine = %f" % >>>> >>>> You will need to restart WeeWX for the change to take effect. >>>> >>>> Gary >>>> >>>> On Wednesday, 16 October 2019 16:50:00 UTC+10, Stefan wrote: >>>>> >>>>> Hello Gray. >>>>> >>>>> Here is the Script. Thx for Help. >>>>> >>>>> Am Mittwoch, 16. Oktober 2019 07:47:43 UTC+2 schrieb gjr80: >>>>>> >>>>>> Chances are field radiation does not exist in an archive record or >>>>>> it is set to None. I am afraid if you want any further help you are >>>>>> going >>>>>> to have to post the copy of radiationhours.py that you are using; >>>>>> the version in the repo you linked only has 106 lines of code and the >>>>>> error >>>>>> trace you posted indicates the error is at line 203. >>>>>> >>>>>> Gary >>>>>> >>>>>> On Wednesday, 16 October 2019 15:26:42 UTC+10, Stefan wrote: >>>>>>> >>>>>>> Hello. >>>>>>> >>>>>>> The problem has reappeared today. Weewx stops the work. I have not >>>>>>> changed the script, not adjusted to the threshold. This is still on >>>>>>> 120W min. It ran until this morning without problems. But again >>>>>>> this error message. >>>>>>> >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: engine: Caught >>>>>>> unrecoverable exception in engine: >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** float argument >>>>>>> required, not NoneType >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** Traceback (most >>>>>>> recent call last): >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** File >>>>>>> "/usr/share/weewx/weewx/engine.py", line 890, in main >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** engine.run() >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** File >>>>>>> "/usr/share/weewx/weewx/engine.py", line 160, in run >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** >>>>>>> self.dispatchEvent(weewx.Event(weewx.STARTUP)) >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** File >>>>>>> "/usr/share/weewx/weewx/engine.py", line 224, in dispatchEvent >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** >>>>>>> callback(event) >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** File >>>>>>> "/usr/share/weewx/weewx/engine.py", line 520, in startup >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** >>>>>>> self._catchup(self.engine.console.genStartupRecords) >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** File >>>>>>> "/usr/share/weewx/weewx/engine.py", line 635, in _catchup >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** >>>>>>> origin='hardware')) >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** File >>>>>>> "/usr/share/weewx/weewx/engine.py", line 224, in dispatchEvent >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** >>>>>>> callback(event) >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** File >>>>>>> "/usr/share/weewx/user/radiationhours.py", line 203, in newArchiveRecord >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** >>>>>>> (event.record['sunshine_hours'], radiation, self.min_sunshine)) >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** TypeError: float >>>>>>> argument required, not NoneType >>>>>>> Oct 16 07:22:48 raspberrypi weewx[14709]: **** Exiting. >>>>>>> >>>>>>> >>>>>>> Am Samstag, 12. Oktober 2019 11:46:57 UTC+2 schrieb gjr80: >>>>>>>> >>>>>>>> If you must modify the code then yes that will do what you want >>>>>>>> provided there is no min_sunshine setting in weewx.conf. >>>>>>>> >>>>>>>> Gary >>>>>>>> >>>>>>> -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/727db41c-d758-4287-83da-e8a74dfc1fe2%40googlegroups.com.
