BS440 is a Python code that listens for information from a Medisana BS410/BS430/BS440/BS444 or compatible bluetooth bathroom scale (BSA45 allegedly supported, but manual adjustments needed / not yet correctly implemented in code). When received via Bluetooth LE, it passes the information (weight, fat, bone mass, etc) over to all activated plugins for further processing.
Currently supported plugins / data processors:
Raspberry Pi 1 B+
Raspberry Pi Zero W
Raspberry Pi 3 B+
Before using this app, rename BS440.example.ini
to BS440.ini
and personalize your settings.
This file contains the general parameters for communicating with the scale (Bluetooth LE
MAC address) and which plugins to use.
For the script to start automatically at system startup (to monitor the scale all the time) the script has to be started as a service.
Open the service-file bs440.service
located under <...>/BS440/dist/init/linux-systemd/bs440.service
and edit/verify the WorkingDirectory
(the absolute path where the script's files are stored), the
python directory (usually /usr/bin/python
) as well as the name of the script (default BS440.py
).
Copy the service-file (for generic linux with SystemD support) from
<...>/BS440/dist/init/linux-systemd/bs440.service
to /etc/systemd/system
:
cp <...>/BS440/dist/init/linux-systemd/bs440.service /etc/systemd/system/
Tell SystemD to detect new service files:
systemctl daemon-reload
Start the service now:
systemctl start bs440
Set the service to start at boot:
systemctl enable bs440
Recent log entries of the new bs440 service can be shown via journalctl -l -f -u bs440
or via journalctl --file /var/log/journal/<yourmachineID>/<youruserID>.journal
if you want
to go back longer in time.
Logs of the script are available under /var/log/syslog
.
If the service runs without any problem if started manually (systemctl start bs440
) but not
as a service during startup, check /var/log/syslog
for errors. E.g. when activating the mqtt-plugin,
other services have to be started first. This can be achieved by setting After=multi-user.target
in the file bs440.service
.
Currenly these plugins are available:
Plugins are found in the plugin folder and named BS440pluginname.py. Each plugin uses
its private .ini file named BS440pluginname.ini
To enable a plugin, add it to the plugins
key in BS440.ini
.
Directions on how to install prerequisites, configure and use a specific plugin is found in the Wiki
BS440mail
Maintainer: Keptenkurk
Last 3 results are mailed to the user mail adress as configured in BS440mail.ini
BS440csv
Maintainer: DjZU
Data is added to a local CSV file. Data is presented by running plotBS440.py which
starts a webserver and serves graphs to the user.
You can use any web server to serve a static site based on the csv
files. You can find a
working example using the Caddy webserver in dist/caddy/.
BS440mqtt
Maintainer: jinnerbichler
Send collected data via MQTT (e.g. to Home Assistant)
BS440influxdb
Maintainer: qistoph
Store collected data in InlfuxDB (e.g. for Grafana)
Domoticz
Maintainer: Tristan79 - Status: Testing
Configure the Domoticz and user details in BS440domoticz.ini. When data is received, the sensors will be automatically generated. That easy!
The optional option _hardwarename is the name of the dummy hardware to you can use, if you leave it empty or commented it out, it uses Medisana as default.
After a first run BS440domoticz.ini is updated. In which you can override the ids to use (if necessary). Note that the weight sensors are identified by ID and Unit while the other sensors are identified by idx in BS440domoticz.ini.
BS440google
maintainer: managementboy / Keptenkurk
BS440google updates weight and fat parameters in Google fit (http://fit.google.com) For creating an account and authentication file please see the Wiki for this repository.(https://github.com/keptenkurk/BS440/wiki/How-to-use-Google-Fit)
BS440runalizel
maintainer: jovandeginste This plugin stores data to local Runalyze database. Runalyze is a performance analyzer for atlethes which goes far beyond the performance trackers like runkeeper and runtastic.
This software is built out of personal interest and not related to Medisana AG in any way.