Thank you for your detailed explanation. I have two configs (weewx.conf, tempest.conf), two separated database (weewx.sdb, tempest.sdb) in /var/lib/weewx, two separated HTML roots (/var/html/weewx, var/html/tempest). I saw the second instance write somethings in the /var/html/tempest directory; but not completed because of errors along the process. However I have only one forecast.sdb. Could you tell me more how to identify a specific forecast_tempest.sdb in the weewx config?
For belchertown skin, I'm not sure why we need two separated skins because I understand that both instances are supposed to "read" the skin only? On Monday, 4 October 2021 at 17:39:24 UTC+7 [email protected] wrote: > You have probably not disabled the belchertown skin completely for the > Cheetah Generator. > > What you have to make sure with two (or more) instances on the same server > is: > > with two weewx instances on one and the same server you need two different > weewx.conf > e.g. tempest.conf and 2ndstation.conf > and possibly also two different skin directories with a dedicated > skin.conf (if both instances are using the same skin - one instance can use > different skins at the same time, but when two instances share the same > skin.conf everything must be identical). > > You will need to have a separate (sub-)directory for your html output > (HTML_ROOT) for each instance (and each skin used by the instance) and you > better have two separate directories for your databases (in case both use a > database with the same name - or you rename one of them). > > Your issue looks to me that you may have not thoroughly and consequently > assigned different names (and paths/directories) to the HTML_ROOTs, > database bindings,databases etc. > > When both instances run properly on both servers, there's no reason why > they shouldn't run properly together on one server. > > I have separated in my installation the skins directory (i.e. created one > for each instance - now each instance has its own, independent skin.conf > for each skin it uses - e.g. /etc/weewx/inst1/skins and > /etc/weewx/inst2/skins) and have the HTML_ROOT of each instance's > weewx.conf point to there, and my databases carry the names of the instance > in its name (even though that is not necessary if you separate them with > directories, but with such a naming "convention" you sort of implicitly > document where they belong to ) > > If in your use case both of your instances need a forecast.sdb then you > have to rename at least one of them - or place them in a different > directory) - if you include the name of your instance, it could be > forecast-inst1.sdb and forecast-inst2.sdb and they can both remain/stay in > /var/lib/weewx. Then it's also easy to tell who/what belongs to where. > > > On 04.10.2021 11:00, Chotechai Piyavongsiri wrote: > > Even I disabled forecast from the bechertown skin (latest version), it > still produces the error > Oct 4 15:53:05 bthoven-AP34-PRO weewx-tempest[20798] DEBUG weewx.manager: > Daily summary version is 4.0 > Oct 4 15:53:16 bthoven-AP34-PRO weewx-tempest[20798] INFO weewx.restx: > MQTT: Published record 2021-10-04 15:53:12 +07 (1633337592) > Oct 4 15:55:16 bthoven-AP34-PRO weewx-tempest[20798] INFO weewx.restx: > MQTT: Published record 2021-10-04 15:55:12 +07 (1633337712) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] INFO weewx.restx: > MQTT: Published record 2021-10-04 15:56:12 +07 (1633337772) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] INFO weewx.manager: > Added record 2021-10-04 15:55:00 +07 (1633337700) to database 'tempest.sdb' > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] INFO weewx.manager: > Added record 2021-10-04 15:55:00 +07 (1633337700) to daily summary in > 'tempest.sdb' > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Running reports for latest time in the database. > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Report 'SeasonsReport' not enabled. Skipping. > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Report 'SmartphoneReport' not enabled. Skipping. > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Report 'MobileReport' not enabled. Skipping. > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Report 'StandardReport' not enabled. Skipping. > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Running report 'Belchertown' > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Found configuration file > /etc/weewx/skins/Belchertown/skin.conf for report 'Belchertown' > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] INFO weewx.restx: > MQTT: Published record 2021-10-04 15:55:00 +07 (1633337700) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.cheetahgenerator: Using search list > ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', > 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', > 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras', > 'weewx.cheetahgenerator.JSONHelpers', u'user.belchertown.getData'] > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG weewx.manager: > Daily summary version is 4.0 > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: Caught unrecoverable exception in generator > 'weewx.cheetahgenerator.CheetahGenerator' > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** No JSON object could be decoded > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** Traceback (most recent call last): > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/share/weewx/weewx/reportengine.py", line 196, in run > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** obj.start() > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/share/weewx/weewx/reportengine.py", line 281, in start > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** self.run() > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/share/weewx/weewx/cheetahgenerator.py", line 152, in run > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** ngen = > self.generate(gen_dict[section_name], self.gen_ts) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/share/weewx/weewx/cheetahgenerator.py", line 222, in generate > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** ngen += > self.generate(section[subsection], gen_ts) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/share/weewx/weewx/cheetahgenerator.py", line 222, in generate > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** ngen += > self.generate(section[subsection], gen_ts) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/share/weewx/weewx/cheetahgenerator.py", line 311, in generate > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** default_binding) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/share/weewx/weewx/cheetahgenerator.py", line 387, in _getSearchList > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** searchList += > obj.get_extension_list(timespan, db_lookup) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/share/weewx/user/belchertown.py", line 636, in get_extension_list > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** eqdata = json.load( read_file ) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/lib/python2.7/json/__init__.py", line 291, in load > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** **kw) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/lib/python2.7/json/__init__.py", line 339, in loads > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** return _default_decoder.decode(s) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/lib/python2.7/json/decoder.py", line 364, in decode > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** obj, end = self.raw_decode(s, > idx=_w(s, 0).end()) > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** File > "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** raise ValueError("No JSON object > could be decoded") > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** ValueError: No JSON object could be > decoded > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] ERROR > weewx.reportengine: **** Generator terminated > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] INFO > weewx.reportengine: Copied 31 files to /var/www/bthofen.com/tempest > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG weewx.manager: > Daily summary version is 4.0 > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Report 'FTP' not enabled. Skipping. > Oct 4 15:56:16 bthoven-AP34-PRO weewx-tempest[20798] DEBUG > weewx.reportengine: Report 'RSYNC' not enabled. Skipping. > Oct 4 15:57:16 bthoven-AP34-PRO weewx-tempest[20798] INFO weewx.restx: > MQTT: Published record 2021-10-04 15:57:12 +07 (1633337832) > > > On Monday, 4 October 2021 at 15:49:03 UTC+7 Chotechai Piyavongsiri wrote: > >> I just found out I can run more than one weewx instance from this thread. >> I have two outdoor weather stations (weatherslueth and weatherflow >> tempest). I already run weewx separately on two physical servers and both >> are running fine. After I implement two instances on one of the server (one >> that already hosts weatherslueth instance) with instance named weewx and >> tempest. The former instance remains running fine without problem; but the >> newly added instance for Tempest can start running and can't produce >> webpages. I've checked /var/lib/weewx, it has forecast.sdb, weewx.sdb, >> tempest.sdb, and weewxwd.sdb. I'm not sure the one forecast.sdb is supposed >> to cater for both instances? >> The syslog for tempest instance, with debug on in tempest.conf: >> >> Oct 4 15:22:16 bthoven-AP34-PRO weewx-tempest[9908] INFO weewx.restx: >> MQTT: Published record 2021-10-04 15:22:14 +07 (1633335734) >> Oct 4 15:23:16 bthoven-AP34-PRO weewx-tempest[9908] INFO weewx.restx: >> MQTT: Published record 2021-10-04 15:23:14 +07 (1633335794) >> Oct 4 15:24:16 bthoven-AP34-PRO weewx-tempest[9908] INFO weewx.restx: >> MQTT: Published record 2021-10-04 15:24:14 +07 (1633335854) >> Oct 4 15:25:16 bthoven-AP34-PRO weewx-tempest[9908] INFO weewx.restx: >> MQTT: Published record 2021-10-04 15:25:14 +07 (1633335914) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] INFO weewx.restx: >> MQTT: Published record 2021-10-04 15:26:13 +07 (1633335973) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] INFO weewx.manager: >> Added record 2021-10-04 15:25:00 +07 (1633335900) to database 'tempest.sdb' >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] INFO weewx.manager: >> Added record 2021-10-04 15:25:00 +07 (1633335900) to daily summary in >> 'tempest.sdb' >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG >> weewx.reportengine: Running reports for latest time in the database. >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG >> weewx.reportengine: Report 'SeasonsReport' not enabled. Skipping. >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG >> weewx.reportengine: Report 'SmartphoneReport' not enabled. Skipping. >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG >> weewx.reportengine: Report 'MobileReport' not enabled. Skipping. >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG >> weewx.reportengine: Report 'StandardReport' not enabled. Skipping. >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG >> weewx.reportengine: Running report 'Belchertown' >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG >> weewx.reportengine: Found configuration file >> /etc/weewx/skins/Belchertown/skin.conf for report 'Belchertown' >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG >> weewx.cheetahgenerator: Using search list >> ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', >> 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', >> 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras', >> 'weewx.cheetahgenerator.JSONHelpers', u'user.belchertown.getData'] >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] INFO weewx.restx: >> MQTT: Published record 2021-10-04 15:25:00 +07 (1633335900) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] DEBUG weewx.manager: >> Daily summary version is 4.0 >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: Caught unrecoverable exception in generator >> 'weewx.cheetahgenerator.CheetahGenerator' >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** Error downloading forecast data. Check >> the URL in your configuration and try again. You are trying to use URL: >> https://api.darksky.net/forecast//13.717268,100.590727?units=auto&lang=en, >> and the error is: <urlopen error [Errno -2] Name or service not known> >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** Traceback (most recent call last): >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** File >> "/usr/share/weewx/weewx/reportengine.py", line 196, in run >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** obj.start() >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** File >> "/usr/share/weewx/weewx/reportengine.py", line 281, in start >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** self.run() >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 152, in run >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** ngen = >> self.generate(gen_dict[section_name], self.gen_ts) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 222, in generate >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** ngen += >> self.generate(section[subsection], gen_ts) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 222, in generate >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** ngen += >> self.generate(section[subsection], gen_ts) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 311, in generate >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** default_binding) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 387, in _getSearchList >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** searchList += >> obj.get_extension_list(timespan, db_lookup) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** File >> "/usr/share/weewx/user/belchertown.py", line 536, in get_extension_list >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** raise Warning( "Error downloading >> forecast data. Check the URL in your configuration and try again. You are >> trying to use URL: %s, and the error is: %s" % ( forecast_url, error ) ) >> Oct 4 15:26:16 bthoven-AP34-PRO weewx-tempest[9908] ERROR >> weewx.reportengine: **** Warning: Error downloading forecast data. >> Check the URL in your configuration and try again. You are trying to use >> URL: >> https://api.darksky.net/forecast//13.717268,100.590727?units=auto&lang=en, >> and the error is: <urlopen error [Errno -2] Name or service not known> >> >> On Thursday, 4 February 2021 at 13:44:34 UTC+7 [email protected] wrote: >> >>> Thank you Gary. >>> I will rework everything. >>> The reason why I think it has something to do with line breaks is the >>> following: on my test system I didn't save the original weewx init script >>> when I tried it the last time. So I also copied and pasted the init script >>> from my production to the test system as described above. After that I was >>> seeing the very same error, but with the origninal single instance init >>> script. Copying the script, instead of pasting it's content into Notepad++ >>> and saving it through WinSCP, solved the problem. A diff didn't show any >>> differences (different line breaks are ignored), also the permissions were >>> set correctly. I will try it all again and we'll see. >>> gjr80 schrieb am Donnerstag, 4. Februar 2021 um 07:02:53 UTC+1: >>> >>>> The How to run multiple instances of WeeWX >>>> <https://github.com/weewx/weewx/wiki/weewx-multi> wiki article is >>>> written (as are many other articles/instructions) assuming WeeWX was >>>> installed via setup.py. On a setup.py install you will find the util >>>> directory in /home/weewx. For a package install you will find most of >>>> the util directory contents in /etc/weewx, unfortunately that does not >>>> include the util/init.d directory which contains weewx-multi. So if >>>> you want to use weewx-multi on a package installation you will need to >>>> download weewx-multi from GitHub. The destination directory you >>>> download weewx-multi to on your WeeWX system is not important as it >>>> will be copied to the correct location during setup. The following command >>>> can be used to download weewx-multi to /var/tmp: >>>> >>>> $ wget -P /var/tmp >>>> https://raw.githubusercontent.com/weewx/weewx/master/util/init.d/weewx-multi >>>> >>>> Once weewx-multi has been downloaded the rest of the wiki article >>>> instructions can be followed substituting the path to weewx-multi >>>> accordingly. >>>> >>>> I am not sure if incorrect line endings would cause the error you are >>>> seeing, I would go back over the wiki article and work through it >>>> carefully >>>> and completely obtaining weewx-multi as outlined above. >>>> >>>> I will touch up the wiki article to clear up the confusion over the >>>> location of weewx-multi. >>>> >>>> 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/acd74fc0-7ef2-48c8-a57f-47f5879ee44fn%40googlegroups.com > > <https://groups.google.com/d/msgid/weewx-user/acd74fc0-7ef2-48c8-a57f-47f5879ee44fn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- 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/65fd80b6-89c5-4924-8dd8-85fa39e5dce8n%40googlegroups.com.
