<feed xmlns='http://www.w3.org/2005/Atom'>
<title>weather-station, branch master</title>
<subtitle>A small weather monitoring station setup</subtitle>
<id>https://git.yuv.al/weather-station/atom/?h=master</id>
<link rel='self' href='https://git.yuv.al/weather-station/atom/?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/'/>
<updated>2026-03-17T11:01:26Z</updated>
<entry>
<title>Fix journald logging: use python -u for unbuffered stdout</title>
<updated>2026-03-17T11:01:26Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2026-03-17T11:01:26Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=61cf431e9e8866d5038c553c6e4e5594c5c6d003'/>
<id>urn:sha1:61cf431e9e8866d5038c553c6e4e5594c5c6d003</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix systemd unit: use /usr/bin/python (has paho-mqtt on 3.14)</title>
<updated>2026-03-17T10:59:49Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2026-03-17T10:59:49Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=2b4313e6415fdd3e777721417cd4a492ceb6593c'/>
<id>urn:sha1:2b4313e6415fdd3e777721417cd4a492ceb6593c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add systemd unit for running weather-board on boot</title>
<updated>2026-03-17T10:56:44Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2026-03-17T10:56:44Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=193048e1e40ab0820c4525c439efaafcaa2d2e6e'/>
<id>urn:sha1:193048e1e40ab0820c4525c439efaafcaa2d2e6e</id>
<content type='text'>
Install with:
  sudo cp weather-board.service /etc/systemd/system/
  sudo systemctl daemon-reload
  sudo systemctl enable --now weather-board
</content>
</entry>
<entry>
<title>Add MQTT Home Assistant script with auto-discovery</title>
<updated>2026-03-17T10:53:22Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2026-03-17T10:53:22Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=e97d3ae12b04745e785311d9125261557ac21fd3'/>
<id>urn:sha1:e97d3ae12b04745e785311d9125261557ac21fd3</id>
<content type='text'>
Reads BME280 (temperature, humidity, pressure) and SI1132 (UV index,
visible light, IR) and publishes to MQTT with HA discovery. All six
sensors appear under a single 'Weather Board' device in the Office room.

MQTT broker: 192.168.1.135:1883 (co2meter/co2meter)
Publishes a shared JSON state topic every 10 seconds.
Discovery configs are retained so HA picks them up on restart.
</content>
</entry>
<entry>
<title>Fix 5 bugs in BME280.py verified against Bosch BME280_SensorAPI and Adafruit references</title>
<updated>2026-03-17T10:49:42Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2026-03-17T10:49:42Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=3a3d6ed1adc009cc6efee8e0b416137a8d17bb89'/>
<id>urn:sha1:3a3d6ed1adc009cc6efee8e0b416137a8d17bb89</id>
<content type='text'>
1. get_power_mode() missing parentheses in set_oversamp_pressure and
   set_oversamp_temperature — compared method object instead of calling it,
   so sleep-mode check never worked correctly.

2. set_oversamp_humidity else branch wrote ctrl_hum_reg into CTRL_MEAS
   register instead of ctrl_meas_reg (per datasheet §5.4.3, humidity
   settings require a subsequent write to ctrl_meas with the correct value).

3. dig_H6 stored as unsigned byte — should be int8_t per Bosch
   bme280_defs.h and Adafruit_BME280.h.

4. dig_H4/H5 sign extension wrong — used to_s16() on 12-bit signed values.
   Now sign-extends from MSB byte first (to_s8) then combines with LSB
   nibble, matching Bosch parse_humidity_calib_data() and Adafruit
   readCoefficients().

5. Humidity compensation formula was missing var5 multiplication factor
   vs Bosch compensate_humidity() (BME280_DOUBLE_ENABLE path). Rewritten
   with Bosch variable names for easy cross-referencing.
</content>
</entry>
<entry>
<title>Update README.md</title>
<updated>2019-08-11T09:50:48Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2019-08-11T09:50:48Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=2e79de0ad5024f6c0e53f1c10ce795c05cfb5416'/>
<id>urn:sha1:2e79de0ad5024f6c0e53f1c10ce795c05cfb5416</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update README.md</title>
<updated>2019-08-11T09:16:02Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2019-08-11T09:16:02Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=8718f49d48686fbca761883547090bb045951955'/>
<id>urn:sha1:8718f49d48686fbca761883547090bb045951955</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add README</title>
<updated>2019-08-11T06:36:21Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2019-08-11T06:36:21Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=5e09e939c8b32ea11d4cfad3fe75a03ee2f9d413'/>
<id>urn:sha1:5e09e939c8b32ea11d4cfad3fe75a03ee2f9d413</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Initial files</title>
<updated>2019-08-11T06:35:18Z</updated>
<author>
<name>Yuval Adam</name>
<email>_@yuv.al</email>
</author>
<published>2019-08-11T06:35:18Z</published>
<link rel='alternate' type='text/html' href='https://git.yuv.al/weather-station/commit/?id=fac8f54cd87771912dee8556597bee1d1269ea62'/>
<id>urn:sha1:fac8f54cd87771912dee8556597bee1d1269ea62</id>
<content type='text'>
</content>
</entry>
</feed>
