|
Post by enekuda on Mar 2, 2020 19:43:16 GMT -8
I haven't been able to do much with my weather station over the winter.
A while back i noticed it stopped reporting to Wunderground, but with it begin winter i could not get up to check on it (nor have i had the time!) and when i update everything and run "sudo python SkyWeather.py" i get this error:
So i googled, and the only thing that came up was something that suggested to run "sudo i2cdetect -y 1"
That gives me this:
Any help would be greatly appreciated!!
|
|
|
Post by SDL on Mar 3, 2020 11:03:35 GMT -8
|
|
|
Post by enekuda on Mar 8, 2020 20:18:04 GMT -8
I'll double check my connections to that board and if it's not that then I'll order a new one! Hopefully that's all it is!
|
|
|
Post by enekuda on Mar 13, 2020 18:24:02 GMT -8
so double checked everything, no issues with connections. Ordered a new board at your link, just receive it today and reinstalled all the cables how they were...same issue:
though now when i run "sudo i2cdetect -y 1" now i get this:
Anyone have any clue what im getting wrong here? it did work totally fine, before i wasn't able to check it every day and now this happened.
|
|
|
Post by SDL on Mar 16, 2020 11:52:50 GMT -8
The first is an entirely different problem.
From the Readme.md
October 15, 2019: Version 051 - Added support for SolarMAX Lead Acid - Must update conflocal.py if used
@@ -42,6 +42,10 @@ runLEDs = False SolarMAX_Present = False Dual_MAX_WXLink = False +# SolarMAX_Type = "LEAD" for SolarMAX Lead Acid +# SolarMAX_Type = "LIPO" for SolarMAX LiPo +SolarMAX_Type = "" +
You really don't know what bus the I2C Mux wakes up as. As it suggests in the assembly and testing manual, run testSDL_Pi_TCA9545.py in the SDL_Pi_SkyWeather directory so you can see all four buses.
BP
|
|
|
Post by enekuda on Mar 18, 2020 13:59:34 GMT -8
OK. So i ran though the testing manual tests. Here are my results:
sudo python testSDL_Pi_TCA9545.py
Test SDL_Pi_TCA9545 Version 1.0 - SwitchDoc Labs
Sample uses 0x73 Program Started at:2020-03-18 16:36:14
Traceback (most recent call last): File "testSDL_Pi_TCA9545.py", line 51, in <module> tca9545 = SDL_Pi_TCA9545.SDL_Pi_TCA9545(addr=TCA9545_ADDRESS, bus_enable = TCA9545_CONFIG_BUS0) File "./SDL_Pi_TCA9545/SDL_Pi_TCA9545.py", line 47, in __init__ self._write(TCA9545_REG_CONFIG, config) File "./SDL_Pi_TCA9545/SDL_Pi_TCA9545.py", line 52, in _write self._bus.write_byte_data(self._addr, register, data) IOError: [Errno 121] Remote I/O error
i tried running that agian and it spit out this:
Test SDL_Pi_TCA9545 Version 1.0 - SwitchDoc Labs
Sample uses 0x73 Program Started at:2020-03-18 16:35:40
-----------BUS 0------------------- tca9545 control register B3-B0 = 0x1 ignore Interrupts if INT3' - INT0' not connected tca9545 control register Interrupts = 0x0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- 73 -- -- -- --
-----------------------------------
-----------BUS 1------------------- Traceback (most recent call last): File "testSDL_Pi_TCA9545.py", line 75, in <module> tca9545.write_control_register(TCA9545_CONFIG_BUS1) File "./SDL_Pi_TCA9545/SDL_Pi_TCA9545.py", line 74, in write_control_register self._write(TCA9545_REG_CONFIG, config) File "./SDL_Pi_TCA9545/SDL_Pi_TCA9545.py", line 52, in _write self._bus.write_byte_data(self._addr, register, data) IOError: [Errno 121] Remote I/O error no clue what is happening...i tried runnning it when i saw this reply and it gave me all of the BUS 0,1,2, and 3...
Onto the next test. it just sat for a few minutes after (self.powerpin,gpio.out) so i cntl-c'd it. I am not sure that this would have worked anyways because i had replaced the temp. sensor with the new one provided by Switchdoc in the replacement program. I am unsure how to check it now.
sudo python testAM2315.py
>>>>>>>>>>>>>>>>>>><<<<<<<<<<< TCA9545 I2C Mux Not Present >>>>>>>>>>>>>>>>>>><<<<<<<<<<< ./SDL_Pi_AM2315/AM2315.py:36: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. GPIO.setup(self.powerpin, GPIO.OUT) ^CTraceback (most recent call last): File "testAM2315.py", line 51, in <module> outsideHumidity, outsideTemperature, crc_check = am2315.read_humidity_temperature_crc() File "./SDL_Pi_AM2315/AM2315.py", line 246, in read_humidity_temperature_crc self._read_data() File "./SDL_Pi_AM2315/AM2315.py", line 193, in _read_data self.powerCycleAM2315() File "./SDL_Pi_AM2315/AM2315.py", line 56, in powerCycleAM2315 time.sleep(10.50) KeyboardInterrupt
onto the next test. This one worked fine. after running a bit i exited, seemed normal to me.
sudo python testAS3935.py
AS3935 detected at I2C port 0x02 Waiting for lightning - or at least something that looks like it Noise level too high - adjusting Noise level too high - adjusting
Onto the dust....seems to be working just fine.
sudo pigpiod sudo python testDust.py
Concentration Error
Air Quality Measurements for PM2.5: 2503 particles/0.01ft^3 3 ugm^3 Current AQI (not 24 hour avg): 16
^CTraceback (most recent call last): File "testDust.py", line 53, in <module> time.sleep(5) KeyboardInterrupt
Onto sunlight...this erred immediately...
sudo python testTSL2591.py
>>>>>>>>>>>>>>>>>>><<<<<<<<<<< TCA9545 I2C Mux Not Present >>>>>>>>>>>>>>>>>>><<<<<<<<<<< Traceback (most recent call last): File "testTSL2591.py", line 51, in <module> tsl = TSL2591.Tsl2591() # initialize File "./TSL2591/TSL2591.py", line 73, in __init__ self.set_timing(self.integration_time) File "./TSL2591/TSL2591.py", line 78, in set_timing self.enable() File "./TSL2591/TSL2591.py", line 146, in enable ENABLE_POWERON | ENABLE_AEN | ENABLE_AIEN IOError: [Errno 121] Remote I/O error
wind vane and rain bucket looks like there are issues....
sudo python testWeatherRack.py
>>>>>>>>>>>>>>>>>>><<<<<<<<<<< TCA9545 I2C Mux Not Present >>>>>>>>>>>>>>>>>>><<<<<<<<<<< Error accessing 0x48: Check your I2C address Error accessing 0x48: Check your I2C address Type Error ---------------------------------------- ----------------- SDL_Pi_WeatherRack Library WeatherRack Weather Sensors ----------------- Rain Total= 0.00 in Wind Speed= 0.00 MPH max Ever Wind Speed= 0.00 MPH MPH wind_gust= 0.00 MPH max Ever Gust wind_gust= 0.00 MPH Error accessing 0x48: Check your I2C address Error accessing 0x48: Check your I2C address Traceback (most recent call last): File "testWeatherRack.py", line 125, in <module> print "Wind Direction=\t\t\t %0.2f Degrees" % weatherStation.current_wind_direction() File "SDL_Pi_WeatherRack/SDL_Pi_WeatherRack.py", line 243, in current_wind_direction value = self.ads1015.readADCSingleEnded(1, self.gain, self.sps) # AIN1 wired to wind vane on WeatherPiArduino File "SDL_Adafruit_ADS1x15/SDL_Adafruit_ADS1x15.py", line 278, in readADCSingleEnded return ( ((result[0] << 8) | (result[1] & 0xFF)) >> 4 )*pga/2048.0 TypeError: 'int' object has no attribute '__getitem__'
and finally the whole thing....
sudo python SkyWeather.py
>>>>>>>>>>>>>>>>>>><<<<<<<<<<< TCA9545 I2C Mux Not Present >>>>>>>>>>>>>>>>>>><<<<<<<<<<< ('Pi Camera Revision', u'ov5647') Error accessing 0x48: Check your I2C address Error accessing 0x48: Check your I2C address Type Error Traceback (most recent call last): File "SkyWeather.py", line 432, in <module> import readLoRa File "/home/pi/SDL_Pi_SkyWeather/readLoRa.py", line 25, in <module> if(config.SolarMAX_Type == "LEAD"): AttributeError: 'module' object has no attribute 'SolarMAX_Type'
I have absolutely no clue what to do. it seems like at least a couple things work, but most of it has errors....
As for the reply:
what does that mean? I am not using Solarmax, and when i go into the conflocal.py i see nothing about it. I assume if not used nothing needs to be updated? if not then why is there that error?
Hopefully some of this is helpful lol.
|
|
|
Post by SDL on Mar 19, 2020 13:49:23 GMT -8
Go into your conflocal.py file and add in the following lines:
# SolarMAX_Type = "LEAD" for SolarMAX Lead Acid # SolarMAX_Type = "LIPO" for SolarMAX LiPo SolarMAX_Type = "" after the line:
Dual_MAX_WXLink = False
BP
|
|
|
Post by enekuda on Mar 20, 2020 10:37:11 GMT -8
OK got ya, so after i do that I restarted the PI, and now it gets to this and just sits there. >>>>>>>>>>>>>>>>>>><<<<<<<<<<< TCA9545 I2C Mux Not Present >>>>>>>>>>>>>>>>>>><<<<<<<<<<< ('Pi Camera Revision', u'ov5647') Error accessing 0x48: Check your I2C address Error accessing 0x48: Check your I2C address Type Error ('after bme680', True) as3935 start I/O error(121): Remote I/O error I/O error(121): Remote I/O error after SHT30
I let it sit for quite a while then Ctrl-C'd out and all this popped up.
>>>>>>>>>>>>>>>>>>><<<<<<<<<<< TCA9545 I2C Mux Not Present >>>>>>>>>>>>>>>>>>><<<<<<<<<<< ('Pi Camera Revision', u'ov5647') Error accessing 0x48: Check your I2C address Error accessing 0x48: Check your I2C address Type Error I/O error(121): Remote I/O error ('after bme680', False) as3935 start I/O error(121): Remote I/O error I/O error(121): Remote I/O error after SHT30 ^C SkyWeather Weather Station Version 055 - SwitchDoc Labs
Program Started at:2020-03-20 13:36:10
---------------------- I2C Mux - TCA9545: Not Present BME680: Not Present BMP280: Not Present SkyCam: Present DS3231: Not Present HDC1080: Not Present SHT30: Not Present AM2315: Not Present ADS1015: Not Present ADS1115: Not Present AS3935: Not Present OLED: Not Present SunAirPlus/SunControl: Not Present SolarMAX: Not Present SI1145 Sun Sensor: Not Present TSL2591 Sun Sensor: Not Present DustSensor: Present WXLink: Not Present Traceback (most recent call last): File "SkyWeather.py", line 1721, in <module> print returnStatusLine("Dual SolarMAX/WXLink",config.Dual_MAX_WXLink) AttributeError: 'module' object has no attribute 'Dual_MAX_WXLink' currentTime=117 DEBOUNCE-count=1145
|
|
|
Post by SDL on Mar 20, 2020 14:19:15 GMT -8
You definitely have some wiring errors. The software isn't picking up the SHT30. This leads to an irritating problem that I have got to fix in the next version! After not finding the SHT30 the software looks for the AM2315, which is where it sits for a LONG time. My fault. Replace line 763: if (config.SHT30_Present == False): # don't check for AM2315 if you find SHT30
With: if (False): This stops the AM2315 check. That will get you through to the next set of problems! But the #1 problem you have is that you aren't seeing the I2C Mux. Could you post a picture of the wiring between the I2C Mux and the Raspberry Pi Pi2Grover problem? That's where the real problem seems to be. Did you replace the PiWeather board? Remind me of the sequence. BP
|
|
|
Post by enekuda on Mar 23, 2020 12:13:51 GMT -8
When i get home (assuming my roof isnt too wet today) Ill snap a photo of the wiring. from my view vs the assembly PDF i cant see any issues, but ive stared at it for what seems like hours now so maybe im overlooking something.
After altering that code line it does stop the hanging issue...but yea more issue sit seams lol
sudo python SkyWeather.py
>>>>>>>>>>>>>>>>>>><<<<<<<<<<< TCA9545 I2C Mux Not Present >>>>>>>>>>>>>>>>>>><<<<<<<<<<< ('Pi Camera Revision', u'ov5647') Error accessing 0x48: Check your I2C address Error accessing 0x48: Check your I2C address Type Error ('after bme680', True) as3935 start I/O error(121): Remote I/O error I/O error(121): Remote I/O error after SHT30
SkyWeather Weather Station Version 055 - SwitchDoc Labs
Program Started at:2020-03-23 15:02:44
---------------------- I2C Mux - TCA9545: Not Present BME680: Present BMP280: Not Present SkyCam: Present DS3231: Not Present HDC1080: Not Present SHT30: Not Present AM2315: Not Present ADS1015: Not Present ADS1115: Not Present AS3935: Not Present OLED: Not Present SunAirPlus/SunControl: Not Present SolarMAX: Not Present SI1145 Sun Sensor: Not Present TSL2591 Sun Sensor: Not Present DustSensor: Present WXLink: Not Present Traceback (most recent call last): File "SkyWeather.py", line 1721, in <module> print returnStatusLine("Dual SolarMAX/WXLink",config.Dual_MAX_WXLink) AttributeError: 'module' object has no attribute 'Dual_MAX_WXLink' Segmentation fault
What i have done so far is as such....i actually found an old thread from when i got the replacement SHT30, so that refreshed my memory of the whole thing so far, its been a cold winter i haven't been able to get back to this project.
from the beginning......
After getting the kit, I put the whole thing together, booted, configured, and it was working flawlessly for at least a month or two, maybe longer.
At some point i had an issue with the temperature and humidity sensor not reading properly on and off, asked about it and got the SHT30 replacement.
After i unplugged the old sensor to ship it off, and while it was in shipping the Skyweather worked fine, but just without reading for temp or humidity. Everything else worked. Every time i unplugged and replaced parts i had powered down the Pi. There was a single time where when opened my case i forgot to power it down and the sunlight sensor got unplugged while everything was on, but that was after i got the replacement SHT30 installed, as detailed next.
When the new one came in i plugged it in and nothing worked. At that point it was getting too cold out and i got too busy to trouble shoot.
Fast forward a few months now and I am here.
I got the new PiWeather Board as recommended and installed that. and that brings us to this thread really.
|
|
|
Post by enekuda on Mar 24, 2020 18:04:16 GMT -8
OK! SO i opened up the box, I double checked my wiring, everything looked good, but i also unplugged and re-plugged every wire to make sure maybe when i was swapping stuff i didn't pull a wire out by mistake.....that might have been the IC2MUX issue! because when i did that that at least doesn't error now!! should have checked to make sure allt eh wires were tight first lol
well here is a photo of the box before i started pulling in and out wires, but after i had dismounted everything lol. hopefully its understandable.
So now when i start up i get this:
sudo python SkyWeather.py
(1333.9968000000001, 591, 161) () ('Pi Camera Revision', u'ov5647') Error accessing 0x48: Check your I2C address Error accessing 0x48: Check your I2C address Type Error I/O error(121): Remote I/O error ('after bme680', False) as3935 start as3935 present at 0x02 after SHT30
SkyWeather Weather Station Version 055 - SwitchDoc Labs
Program Started at:2020-03-24 19:00:31
---------------------- I2C Mux - TCA9545: Present BME680: Not Present BMP280: Not Present SkyCam: Present DS3231: Not Present HDC1080: Not Present SHT30: Not Present AM2315: Not Present ADS1015: Not Present ADS1115: Not Present AS3935: Present OLED: Not Present SunAirPlus/SunControl: Not Present SolarMAX: Not Present SI1145 Sun Sensor: Not Present TSL2591 Sun Sensor: Present DustSensor: Present WXLink: Not Present Traceback (most recent call last): File "SkyWeather.py", line 1721, in <module> print returnStatusLine("Dual SolarMAX/WXLink",config.Dual_MAX_WXLink) AttributeError: 'module' object has no attribute 'Dual_MAX_WXLink'
now, there still seems to be errors as the program halts, but i dont know what tests to run at this point to diagnose?
|
|
|
Post by Powderjockey on Mar 26, 2020 9:38:55 GMT -8
OK! SO i opened up the box, I double checked my wiring, everything looked good, but i also unplugged and re-plugged every wire to make sure maybe when i was swapping stuff i didn't pull a wire out by mistake.....that might have been the IC2MUX issue! because when i did that that at least doesn't error now!! should have checked to make sure allt eh wires were tight first lol
well here is a photo of the box before i started pulling in and out wires, but after i had dismounted everything lol. hopefully its understandable.
So now when i start up i get this:
sudo python SkyWeather.py
(1333.9968000000001, 591, 161) () ('Pi Camera Revision', u'ov5647') Error accessing 0x48: Check your I2C address Error accessing 0x48: Check your I2C address Type Error I/O error(121): Remote I/O error ('after bme680', False) as3935 start as3935 present at 0x02 after SHT30
SkyWeather Weather Station Version 055 - SwitchDoc Labs
Program Started at:2020-03-24 19:00:31
---------------------- I2C Mux - TCA9545: Present BME680: Not Present BMP280: Not Present SkyCam: Present DS3231: Not Present HDC1080: Not Present SHT30: Not Present AM2315: Not Present ADS1015: Not Present ADS1115: Not Present AS3935: Present OLED: Not Present SunAirPlus/SunControl: Not Present SolarMAX: Not Present SI1145 Sun Sensor: Not Present TSL2591 Sun Sensor: Present DustSensor: Present WXLink: Not Present Traceback (most recent call last): File "SkyWeather.py", line 1721, in <module> print returnStatusLine("Dual SolarMAX/WXLink",config.Dual_MAX_WXLink) AttributeError: 'module' object has no attribute 'Dual_MAX_WXLink'
now, there still seems to be errors as the program halts, but i dont know what tests to run at this point to diagnose?
I like your enclosure.
|
|
|
Post by SDL on Mar 26, 2020 17:03:41 GMT -8
You need to modify your conflocal.py. My guess is you upgraded from a very old version of SKyWeather. Make sure you look in your conflocal.py file and make sure the following is in there:
SolarMAX_Present = False Dual_MAX_WXLink = False # SolarMAX_Type = "LEAD" for SolarMAX Lead Acid # SolarMAX_Type = "LIPO" for SolarMAX LiPo SolarMAX_Type = ""
BP
|
|
|
Post by enekuda on Mar 31, 2020 10:33:18 GMT -8
Thanks! tons of room, has a little flap for getting to just the PI if i ever need to. and it was pretty cheap! threw some silicon in the joints to slightly waterproof (its already under a 2' overhang so it shouldn't be that rainy anyways) and its good to go
|
|
|
Post by enekuda on Mar 31, 2020 11:54:43 GMT -8
You need to modify your conflocal.py. My guess is you upgraded from a very old version of SKyWeather. Make sure you look in your conflocal.py file and make sure the following is in there: SolarMAX_Present = False Dual_MAX_WXLink = False # SolarMAX_Type = "LEAD" for SolarMAX Lead Acid # SolarMAX_Type = "LIPO" for SolarMAX LiPo SolarMAX_Type = ""
BP I have, this is what that section looks like currently:
# LED configuration (on use on a Raspberry Pi 3B+)
runLEDs = False
SolarMAX_Present = False Dual_MAX_WXlink = False
# SolarMAX_Type = "LEAD" for SolarMAX Lead Acid # SolarMAX_Type = "LIPO" for SolarMAX LiPo SolarMAX_Type = ""
# WeatherSTEM configuration
|
|