I've inserted the following three lines in the genLoopPackets definition in the Si1000.py driver right above the yield _packet line using the same indentation:
_packet['windchill'] = weewx.wxformulas.windchillC(_packet['outTemp'], _packet['windSpeed'])
_packet['dewpoint'] = weewx.wxformulas.dewpointC(_packet['outTemp'], _packet['outHumidity'])
_packet['heatindex'] = weewx.wxformulas.heatindexC(_packet['outTemp'], _packet['outHumidity'])
Weewx now calculates and reports the three measurements. Since there is currently no heat index or windchill (due to there being no heat or wind in Boise) I am unable to compare those values to my Davis console. However, the dewpoint reported by Weewx is 15.1 while my console shows 13. I'm going to let it run overnight and see what happens.
Also, as a disclaimer, I am a coding rookie, so the above code might be in a completely wrong place (or might be a completely wrong idea altogether). Please feel free to correct my errors, I'm trying to learn!
Bryce