|
Post by mauriceatkinson on Feb 22, 2023 2:23:36 GMT -8
My AQI system let the rain inside and although system was transmitting data all the AQI readings were zero.
I replaced the HM3301 sensor and now I can feel its vibration but still the aqi readings are all zero.
I changed out the grove board but still the aqi readings are zero.
I changed out the solarmax and all the cables in the sensor but still the aqi readings are zero.
This is what I believe this the AQI sensor being seen by rtl_433 so I believe it is sending data.
time : 2023-02-22 18:44:14
model : RadioHead ASK Data len : 46 To : 255 From : 255
Id : 0
Flags : 0 Payload : 106, 0, 0, 0, 1, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 190, 159, 64, 37, 6, 129, 64, 154, 153, 49, 66, 204, 204, 184, 65, 144, 194, 245, 62, 0, 0, 0, 128, 18
Integrity : CRC
Running the testDustHM3301.py I get the following error, I have reseated the cables, rebooted, connected the pi with a 5v usb cable but still the same.
pi@skyweather2:~/SDL_Pi_Skyweather2 $ sudo python3 testDustHM3301.py
./SkyWeather2.JSON File exists
b''
Traceback (most recent call last):
File "testDustHM3301.py", line 50, in <module>
myData = DustSensor.get_data()
File "/home/pi/SDL_Pi_Skyweather2/DustSensor.py", line 146, in get_data
myData = hm3301.get_data()
File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 84, in get_data
self.parse_data(data)
File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 73, in parse_data
self.PM_1_0_conctrt_std = data[4]<<8 | data[5]
IndexError: list index out of range
All the hardware and cables are no longer the same ones that got wet, does anybody have any ideas as to why my aqi readings are still zero?
|
|
|
Post by SDL on Feb 24, 2023 14:40:12 GMT -8
Can you send me a picture of how you have the HM3301 hooked up to the Raspberry Pi (through a Pi2Grover I assume).
Sounds like a wiring error.
BP
|
|
|
Post by mauriceatkinson on Feb 27, 2023 1:27:28 GMT -8
|
|
|
Post by SDL on Mar 2, 2023 17:33:53 GMT -8
I don't see a Raspberry Pi in that picture.
File "testDustHM3301.py", line 50, in <module>
myData = DustSensor.get_data()
File "/home/pi/SDL_Pi_Skyweather2/DustSensor.py", line 146, in get_data
myData = hm3301.get_data()
File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 84, in get_data
self.parse_data(data)
File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 73, in parse_data
self.PM_1_0_conctrt_std = data[4]<<8 | data[5]
IndexError: list index out of range
|
|
|
Post by mauriceatkinson on Mar 2, 2023 21:13:21 GMT -8
sorry but I am confused about the lack of Rasp Pi in picture.
My rasp pi running skyweather2 software is in my garage and I cannot see why it needs to be in the picture, am I missing something?
|
|
|
Post by SDL on Mar 4, 2023 9:41:22 GMT -8
The pi test software only tests an HM3301 connected directly to the Pi.
Now I understand your issue in context.. Hook up your computer to the USB input on the SunAirPlus3 board and let's post what you see on the serial port. 115200 baud.
That should tell us what is going on and help us out.
BP
|
|
|
Post by mauriceatkinson on Mar 5, 2023 16:58:56 GMT -8
see below the output you wanted.
Watchdog1 Reset - Patted the Dog
>>>>>>>>>><<<<<<<<< WeatherSense ThunderBoard >>>>>>>>>><<<<<<<<< Software Version:1 Unit ID:1 max message length=60 chipNoiseFloor=0 AS3935 init failed!!! AS3935 Not Present Manuf ID: 0x5449 wakeState=4 ############### MessageCount=0 STATUS - WeatherSenseProtocol:16 WakeState=0 wakeCount=0 Current Interrupt Source: 0x0 Last Interrupt Source: 0x0 Last Interrupt Meaning: Lightning Last Distance: 0 Interrupt Count: 0 Lightning Count:0 Lightning Timestamp:0 Battery Voltage: 4.20 V Battery Current: -114.80 mA Solar Panel Voltage: 0.86 V Solar Current: 0.00 mA Load Voltage: 4.91 V Load Current: 72.90 mA Currentmillis() = 4256 AuxA State:2 2 ############### ----------Sending packets---------- ----------After Sending packet---------- 00 00 00 00 01 10 01 00 00 00 00 00 00 00 00 00 00 00 00 1B 2F 9D 40 67 66 86 40 99 99 E5 C2 CC CC 91 42 D2 22 5B 3F 00 00 00 80 12 ----------After Wait Sending packet---------- freeMemory()=668 bufferlength=44 ----------Packet Sent. Sleeping Now---------- Watchdog1 Reset - Patted the Dog timeBeforeSleep=9996 Awake now: timeAfterSleep=40199 SleepTime = 30203 Millis Time: 40.20 2wakeState=2 Watchdog1 Reset - Patted the Dog wakeState=2 ############### MessageCount=1 STATUS - WeatherSenseProtocol:16 WakeState=0 wakeCount=1 Current Interrupt Source: 0x0 Last Interrupt Source: 0x0 Last Interrupt Meaning: Lightning Last Distance: 0 Interrupt Count: 0 Lightning Count:0 Lightning Timestamp:0 Battery Voltage: 4.20 V Battery Current: -118.00 mA Solar Panel Voltage: 0.90 V Solar Current: 0.00 mA Load Voltage: 4.91 V Load Current: 91.20 mA Currentmillis() = 40442 AuxA State:2 2 ############### No Packet sent Watchdog1 Reset - Patted the Dog timeBeforeSleep=40647 Watchdog1 Reset - Patted the Dog
>>>>>>>>>><<<<<<<<< WeatherSense ThunderBoard >>>>>>>>>><<<<<<<<< Software Version:1 Unit ID:1 max message length=60 chipNoiseFloor=0 AS3935 init failed!!! AS3935 Not Present Manuf ID: 0x5449 wakeState=4 ############### MessageCount=0 STATUS - WeatherSenseProtocol:16 WakeState=0 wakeCount=0 Current Interrupt Source: 0x0 Last Interrupt Source: 0x0 Last Interrupt Meaning: Lightning Last Distance: 0 Interrupt Count: 0 Lightning Count:0 Lightning Timestamp:0 Battery Voltage: 4.20 V Battery Current: -118.80 mA Solar Panel Voltage: 0.90 V Solar Current: 0.00 mA Load Voltage: 4.91 V Load Current: 87.00 mA Currentmillis() = 4256 AuxA State:2 2 ############### ----------Sending packets---------- ----------After Sending packet---------- 00 00 00 00 01 10 01 00 00 00 00 00 00 00 00 00 00 00 00 1B 2F 9D 40 67 66 86 40 9A 99 ED C2 FF FF AD 42 8C 6C 67 3F 00 00 00 80 12 ----------After Wait Sending packet---------- freeMemory()=668 bufferlength=44 ----------Packet Sent. Sleeping Now---------- Watchdog1 Reset - Patted the Dog timeBeforeSleep=9996
|
|
|
Post by SDL on Mar 11, 2023 9:02:44 GMT -8
|
|
|
Post by mauriceatkinson on Mar 30, 2023 7:53:35 GMT -8
I am still having issues getting the aqi board to work
this is the usb serial output after I flashed the board
HM3301 Present [len=14] <LF>wakeState=4 [len=12] <LF>Turn On HM3301 [len=15] <LF>HM3301 Present [len=15] <LF> <20230330163858.169 RX> [len=1] <LF> [len=1] <LF>HM3301 NO_ERROR [len=16] <LF> [len=1] <LF> [len=1] <LF>HM3301 NO_ERROR [len=16] <LF>Turn Off HM3301 [len=16] <LF>############### [len=16] <LF>MessageCount=0 [len=15] <LF>STATUS - WeatherSenseProtocol:15 [len=33] <LF>PM1.0 Standard (ug/m3)=5 [len=25] <LF>PM2.5 Standard (ug/m3)=7 [len=25] <LF>PM10 Standard (ug/m3)=7 [len=24] <LF>PM1.0 Atmospheric (ug/m3)=5 [len=28] <LF>PM2.5 Atmospheric (ug/m3)=7 [len=28] <LF>PM10 Atmospheric (ug/m3)=7 [len=27] <LF>EPA AQI=29 [len=11] <LF> Battery Voltage: 4.16 V [len=26] <LF> Battery Current: -812.00 mA [len=35] <LF> Solar Panel Voltage: 1.13 V [len=31] <LF> Solar Current: 0.00 mA [len=25] <LF> Load Voltage: 4.93 V [len=23] <LF> Load Current: 2.40 mA [len=29] <LF> Currentmillis() = 34455 [len=25] <LF> AuxA State:3 3 [len=17] <LF>############### [len=16] <LF>----------Sending packets---------- [len=36] <LF>----------After Sending packet---------- [len=41] <LF> 00 00 00 00 01 0F 01 05 00 07 00 07 00 05 00 07 00 07 00 1D 00 2E B2 9D 40 B9 1E 85 40 FF FF 4A C4 99 99 19 40 4E 62 90 3F 00 00 00 80 33 [len=139] <LF>----------After Wait Sending packet---------- [len=46] <LF>freeMemory()=640 [len=17] <LF>bufferlength=46 [len=16] <LF>----------Packet Sent. Sleeping Now---------- [len=47] <LF>timeBeforeSleep=35207 [len=22] <LF>nextSleepLength=900000 [len=23] <LF>
However when I run the testDustHM3301.py I get the following error:
pi@skyweather:~/SDL_Pi_Skyweather2 $ sudo python3 testDustHM3301.py ./SkyWeather2.JSON File exists Starting pigpio daemon b'' Traceback (most recent call last): File "testDustHM3301.py", line 50, in <module> myData = DustSensor.get_data() File "/home/pi/SDL_Pi_Skyweather2/DustSensor.py", line 146, in get_data myData = hm3301.get_data() File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 84, in get_data self.parse_data(data) File "./SDL_Pi_HM3301/SDL_Pi_HM3301.py", line 73, in parse_data self.PM_1_0_conctrt_std = data[4]<<8 | data[5] IndexError: list index out of range When I run rtl_433 test I see the board transmitting:
time : 2023-03-30 16:48:23
model : SwitchDoc Labs AQI Data len : 46 Message ID: 0 Device ID : 1
Protocol Version: 1 Software Version: 3 WeatherSense Type: 15 PM1.0 Standard(ug/m): 5
PM2.5 Standard(ug/m): 7 PM10 Standard(ug/m): 7 PM1.0 Atmospheric(ug/m): 5 PM2.5 Atmospheric(ug/m): 7
PM10 Atmospheric(ug/m): 7 AQI EPA : 29 Load Voltage: 4.912 Battery Voltage: 4.144
Battery Current: -668.000 Load Current: 90.900 Solar Panel Voltage: 1.128 Solar Panel Current: -0.000
Aux A : 3 Integrity : CRC
When I run SkyWeather2.py I see no data from the aqi board.
It would appear that the board is working and trasnmitting but Skyweather is not recognising this. Any ideas to the solution?
|
|
|
Post by SDL on Mar 30, 2023 12:19:56 GMT -8
Ok, your AQI sensor is working. I need to a little checking on why it isn't going into the database.
You do not have a sensor connected to the Pi correct?
pi@skyweather:~/SDL_Pi_Skyweather2 $ sudo python3 testDustHM3301.py
is ONLY for an AQI unit plugged into the Pi.
BP
|
|
|
Post by mauriceatkinson on Mar 30, 2023 22:53:07 GMT -8
ahh ok I didnt know that. But yes the AQI sensor is not plugged into the PI.
|
|
|
Post by mauriceatkinson on Apr 1, 2023 5:21:54 GMT -8
A bit bizarre but I changed the batteries in my skyweather station and then the AQI readings started to come through and been seen in the skyweather and mqtt logs. I find this correlation hard to fathom out. Is there any reason for this??
|
|
|
Post by SDL on Apr 1, 2023 12:13:18 GMT -8
I have no idea why it just started working. Maybe because you rebooted?
BP
|
|