keptenkurk / bs440 Goto Github PK
View Code? Open in Web Editor NEWPython code to talk to Medisana BS440 bluetooth enabled bathroom scale
License: MIT License
Python code to talk to Medisana BS440 bluetooth enabled bathroom scale
License: MIT License
Announcement by Google they will update their Google Fit API's. To be investigated and changed before april 2021:
We are writing to let you know about the key improvements to Google Fit APIs as well as an updated Developer & User Data policy. These changes are part of our ongoing efforts to enhance the security and privacy of Google Fit data for users and developers.
We’re reaching out to you because our records indicate that you’ve used the Google Fit APIs.
What do I need to know?
We’ve updated Google Fit’s Developer & User Data policy, aligned with this policy, we’re making the following changes to the Fit APIs:Separating scopes for read and write access
Adding separate scopes for heart rate
Adding separate scopes for sleep and a new sleep stage data type
Increasing clarity around sessions access versus data access
Strengthening the review system for apps using Google Fit, and updating the classification of all Google Fit API scopes for Write access to ‘sensitive’, and all scopes for Read access to ‘restricted.’
Timeline for these changes and their enforcement:
Starting October 19, 2020, you can begin making changes to your apps and services, based on the policy and API changes. Please note that for your existing apps/services, you have until policy enforcement begins to go through OAuth verification for current scopes, or for additional relevant scopes listed above (heart rate and sleep).
By April 27, 2021, the policy will become enforceable and all app changes must be completed and rolled out.
You will be contacted by our Trust and Safety team at least a month in advance of your review and, at that time, they will share more details on the enhanced verification process
This issue serves as a reminder.
Hello I am aware it's not a probelm with you current version, but i'm trying to get the data from the bs440.
The Problem is i do only get the userinformation which is characteristic "8a82" the other ones("8a21" and "8a22") i do not get any data from , also i do not get a 0x25 before the 0x84 from my user data it would be nice if you have any idea why this could be.
I looked at the code and you wrote "the scale will emit 30 Indications on 0x1b and 0x1e each" i dont get that where do i read these?
Edit: an example of the data i get:
84 53 07 80 01 14 B8 E0 03 00 00 00 00 00 00 00 00 00 00 00
Knowing that the ESP32 supports both Bluetooth and WiFi this could be a great low power device to interface between the scale and the home network.
The ESP32 is capable of running micropython and, by sheer coincidence [not!], i do own a Pycom LoPy. But for this purpose cheaper ESP32 boards are available which can be flashed with micropython. From the docs it looks like the Bluetooth BLE development has reached a state where is becomes usable for our purpose.
Well then, stop chatting and get on with it!
Is it possible to read the battery level from the device. The Bluetooth standard suggests it should have one (tnx @DjZU) https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.battery_service.xml
If there is already running a python instance kill and start over.
when testing you maybe start sudo python BS440.py again, so 2 instances are running.
I tried to get the BS440google
plugin working, and while I had quite some work getting it to start (making it a Plugin
), it errored out when trying to push the data to google fit. Anyone still maintaining this plugin?
Shouldn't line 161:
AddGoogleFat(googleClient, bodata[0]['fat'], googleauthfile)
be
AddGoogleFat(googleClient, bodydata[0]['fat'], googleauthfile)
still fighting to get the API authenticated. Now writing some basic test to avoid having to step up & down the scale for the rest of the evening ;-)
This output has a problem in converting the unix timestamp from the hex input.Note the "L" in the timestamp, This should not happen.
Mon, 08 Feb 2016 07:29:10 INFO receive_notification Received notification on handle=0x1b, value=0x1d5c1700fe2810feff571600ff010900000000
Mon, 08 Feb 2016 07:29:10 INFO processIndication {'timestamp': 4294840360L, 'valid': True, 'type': 'weight', 'weight': 59.8, 'person': 1}
This is another example:
Mon, 08 Feb 2016 07:29:14 INFO receive_notification Received notification on handle=0x1e, value=0x6f0fc6caff01a20701f12df21cf117f0000000
Mon, 08 Feb 2016 07:29:14 INFO processIndication {'timestamp': 4291479055L, 'fat': 25.7, 'person': 1, 'valid': True, 'tbw': 55.7, 'muscle': 28.4, 'type': 'body', 'kcal': 1954, 'bone': 2.3}
Is it planned to have the project available as PyPI package?
I noticed that once every few weeks the application crashes. Added console logging which reveals it's a problem with sending the mail.
2018-03-17 09:30:04,540 INFO <module> Done receiving data from scale
Traceback (most recent call last):
File "BS440.py", line 318, in <module>
plugin.execute(config, persondata, weightdatasorted, bodydatasorted)
File "plugins/BS440mail.py", line 185, in execute
s = smtplib.SMTP(SmtpServer)
File "/usr/lib/python2.7/smtplib.py", line 256, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.7/smtplib.py", line 316, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python2.7/smtplib.py", line 291, in _get_socket
return socket.create_connection((host, port), timeout)
File "/usr/lib/python2.7/socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known
In my setup the Pi is close to the scale and on WiFi. I Assume the problem is when it's trying to send mail but the network is not available at that time. gaierror points to being unable to resolve the name of the email server.
Maybe a solution would be to test network availability before going ahead...
Hi keptenkurk,
first, thank you for your great documented work.
I would like to connect my BS445 to a Raspberry Pi 3.
I think I've configured and installed everything.
I can connect via gattool:
pi@raspberrypi:~ $ sudo gatttool -t random -b C1:D9:F8:90:29:1C -I
[C1:D9:F8:90:29:1C][LE]> connect
Attempting to connect to C1:D9:F8:90:29:1C
Connection successful
[C1:D9:F8:90:29:1C][LE]>
[C1:D9:F8:90:29:1C][LE]> exit
When I monitor the log file while i'am running the python script, I get the following warning and nothing else happens.
Wed, 11 Oct 2017 16:40:14 INFO scan Starting BLE scan
Wed, 11 Oct 2017 16:40:24 INFO scan Discovered 70:56:81:E9:85:FA (None)
Wed, 11 Oct 2017 16:40:24 INFO scan Discovered 10:96:24:74:61:A2 (None)
Wed, 11 Oct 2017 16:40:24 INFO scan Discovered C1:D9:F8:90:29:1C (0131971C2990F8D9C1)
Wed, 11 Oct 2017 16:40:24 INFO scan Found 3 BLE devices
Wed, 11 Oct 2017 16:40:24 INFO connect Connecting to C1:D9:F8:90:29:1C with timeout=8
Wed, 11 Oct 2017 16:40:25 DEBUG get_handle Looking up handle for characteristic 00008a22-0000-1000-8000-00805f9b34fb
Wed, 11 Oct 2017 16:40:26 DEBUG _save_charecteristic_callback Found characteristic 00002a04-0000-1000-8000-00805f9b34fb, value handle: 0x7
Wed, 11 Oct 2017 16:40:26 DEBUG _save_charecteristic_callback Found characteristic 00008a82-0000-1000-8000-00805f9b34fb, value handle: 0x25
Wed, 11 Oct 2017 16:40:27 WARNING get_handle No characteristic found matching 00008a22-0000-1000-8000-00805f9b34fb
Traceback (most recent call last):
File "BS440.py", line 263, in <module>
handle_body = device.get_handle(Char_body)
File "/usr/local/lib/python2.7/dist-packages/pygatt/device.py", line 208, in get_handle
raise exceptions.BLEError(message)
pygatt.exceptions.BLEError: No characteristic found matching 00008a22-0000-1000-8000-00805f9b34fb
Can you help me to find the right characteristic?
Thank you,
Julian
Typo!
https://github.com/keptenkurk/BS440/blob/master/plugins/_BS440domoticz.py#L75
self should not be there....
Should we remove the BS440
prefix in the plugin names now?
Hi there, I was wondering if you this would be compatible with the BS414? I have this one currently and can't even connect with bluetooth yet, so before investing a lot more time to get this going I was wondering if it at all would work with this library. (to prevent wasting time I'd rather ask now instead of find out later)
If unknown well..we'll know eventually, haha :D
when this fantastic script is running as an service, monit can monitoring it,
plus it's restartable etc.
I have tried to modify:
https://www.domoticz.com/wiki/Presence_detection_(Bluetooth_4.0_Low_energy_Beacon)
But don't get it work?
How do you run it automaticly after boot?
Maybe an option or enhancement for the possibility to log-rotate would be fine.
When debugging over some time/days it would be fine to create each day a new logfile to prevent high size logfiles.
python -> logging.handlers.RotatingFileHandler
Hi there!
I've been trying to connect the medisana scale and I keep getting "timeouts" while testing the Bluetooth connecting. I was hoping you might be able to give more insight into debugging this as I am currently at a loss.
I've installed Bluez by compiling the latest binaries: bluez-5.54
I'm using it on an RPI zero W.
I can find the Bluetooth mac address but connecting to it will eventually timeout and return a Error: connect error: Connection refused (111)
.
You've stated that this probably would be because of not running in LE mode but it is. If I try to connect to it with LE off it will disconnect immediately.
Do you have any pointers or do you know how to debug this? Any help would be greatly appreciated.
Bedankt!
With a growing number of applications for the script it would be nice to have some kind of plugin structure where users can select their favorite way(s) to use the scale's data just by selecting/designing the apropriate plugin. Others won't be bothered by dependencies they won't be using anyway.
Any thoughts are welcome!
I am using Python 3.7 and get the error ModuleNotFoundError: No module named 'ConfigParser' whats the problem? The module is installed.
Add required packages to readme
Is it enough to install by:
sudo pip install --upgrade google-api-python-client
Rotate logfiles as they tend to become pretty big over time.
(from http://www.domoticz.com/forum/viewtopic.php?f=38&t=11305)
Sometimes no mail arrives and the application crashes in background
Note to self:
Pygatt got some updates recently adressing hcitool lescan. This commit could possible avoid the adapter reset in
found = False
while not found:
try:
found = adapter.filtered_scan(devname)
# wait for scale to wake up and connect to it
except pygatt.exceptions.BLEError:
adapter.reset()
return```
as the filtered_scan in fact runs hcitool lescan in background. Would reduce the number of errors in the log.
I have a BS444, IAN 331519, LOT R200218622.
I can find it with hcitool lescan
If I keep it on, I can connect to it with gattool.
However, BS440 times out while trying to connect to it.
Hardware: Pi 3B, internal BT interface.
Relevant log:
Fri, 09 Oct 2020 13:47:16 INFO scan Starting BLE scan
Fri, 09 Oct 2020 13:47:26 INFO scan Discovered A4:C1:38:CD:8A:6A (0131986A8ACD38C1A4)
Fri, 09 Oct 2020 13:47:26 INFO scan Discovered 65:09:D2:D1:66:34 (None)
Fri, 09 Oct 2020 13:47:26 INFO scan Discovered name of 65:09:D2:D1:66:34 as Living_room_TV
Fri, 09 Oct 2020 13:47:26 INFO scan Found 2 BLE devices
Fri, 09 Oct 2020 13:47:26 INFO connect Connecting to A4:C1:38:CD:8A:6A with timeout=8
Fri, 09 Oct 2020 13:47:34 ERROR connect Timed out connecting to A4:C1:38:CD:8A:6A after 8 seconds.
Fri, 09 Oct 2020 13:47:34 INFO connect Connecting to A4:C1:38:CD:8A:6A with timeout=8
Fri, 09 Oct 2020 13:47:42 ERROR connect Timed out connecting to A4:C1:38:CD:8A:6A after 8 seconds.
Fri, 09 Oct 2020 13:47:42 INFO connect Connecting to A4:C1:38:CD:8A:6A with timeout=8
In order to generate the token auth_google.py needs to be run by
python auth_google.py [GOOGLE CLIENT ID] [GOOGLE CLIENT SECRET] https://www.googleapis.com/auth/fitness.body.write
is it possible to perform this step on a Rpi without browser?
I tried the code on a ubuntu (16.10).
As soon as I lauch the python script, the bluetooth adapter goes dead and I can't reinit it exept if I reboot.. When lauch the script here are the log messages:
Fri, 10 Feb 2017 22:35:01 INFO run Running...
Fri, 10 Feb 2017 22:35:01 ERROR scan Unexpected error when scanning
Fri, 10 Feb 2017 22:35:01 INFO scan Starting BLE scan
Fri, 10 Feb 2017 22:35:01 ERROR scan Unexpected error when scanning
Fri, 10 Feb 2017 22:35:01 INFO scan Starting BLE scan
Fri, 10 Feb 2017 22:35:01 ERROR scan Unexpected error when scanning
Fri, 10 Feb 2017 22:35:12 INFO scan Starting BLE scan
Fri, 10 Feb 2017 22:35:12 ERROR scan No BLE adapter found
Fri, 10 Feb 2017 22:35:22 INFO scan Starting BLE scan
Fri, 10 Feb 2017 22:35:22 ERROR scan No BLE adapter found
Any idea what can I do?
thanks
Update weight value to Domoticz virtual sensor to enable graphing. Setting should be optional. Make emailing optional as well if only Domoticz updating is selected as output
format='%(asctime)s %(levelname)-8s [%(funcName)]s %(message)s' does not work. Remove the [ ] and find other way to separate the modulename in the log line.
log is showing:
UpdateDomoticz Updating Domoticz for user Remco at index 1106 with weight 72.7
but domoticz device isn't updating (mail works).
So I checked ini settings. in the ini i used the internal ip with port 192.168.0.150:8080
also 127.0.0.1:8080
I use form authentication and excluded username and password for internal uses.
I tested also with basic authentication in domoticz, same result
my devices:
1106 Virtual 61 4 Weegschaal Remco Weight BWR102 75.0 kg
1105 Virtual 60 4 Weegschaal Annika Weight BWR102 75.0 kg
my config in ini:
[Person2]
username: Remco
useremail: [email protected]
domoticz_idx: 1106
in bs440domoticz.py
url = 'http://%s/json.htm?type=command¶m=udevice&hid=13&' \
'did=%s&dunit=4&dtype=93&dsubtype=1&nvalue=0&svalue=%s' % (
hid 13 correspond with my virtual hardware id
BMI is calculated in the scale based on the user properties and weight. The result is not transferred over BT. So BS440 should calculate it.
BMI = Weight / (Length*Length)
Healthy value = 18,5 ~ 25
This morning i received an e-mail where last weighing would be identical to the one before:
Logging shows that these duplicate values were actually retrieved from the scale:
Thu, 31 Mar 2016 07:23:56 INFO processIndication {'gender': 'male', 'age': XX, 'person': 2, 'valid': True, 'activity': 'normal', 'size': YYY}
Thu, 31 Mar 2016 07:23:56 INFO char_write_handle Sent cmd=char-write-req 0x23 026cb4fc56
Thu, 31 Mar 2016 07:23:56 INFO <module> Waiting for notifications for another 30 seconds
Thu, 31 Mar 2016 07:23:56 INFO receive_notification Received notification on handle=0x1b, value=0x1d321e00fe5eb4fc56881200ff020900000000
Thu, 31 Mar 2016 07:23:56 INFO processIndication {'timestamp': 1459401822, 'valid': True, 'weight': 77.3, 'person': 2}
Thu, 31 Mar 2016 07:23:56 INFO receive_notification Received notification on handle=0x1e, value=0x6f5eb4fc5602300ab5f082f26df11df0000000
Thu, 31 Mar 2016 07:23:56 INFO processIndication {'timestamp': 1459401822, 'tbw': 64.2, 'person': 2, 'valid': True, 'fat': 18.1, 'muscle': 36.5, 'kcal': 2608, 'bone': 2.9}
Thu, 31 Mar 2016 07:23:56 INFO receive_notification Received notification on handle=0x1b, value=0x1d321e00fe5eb4fc56881200ff020900000000
Thu, 31 Mar 2016 07:23:56 INFO processIndication {'timestamp': 1459401822, 'valid': True, 'weight': 77.3, 'person': 2}
Thu, 31 Mar 2016 07:23:56 INFO receive_notification Received notification on handle=0x1e, value=0x6f5eb4fc5602300ab5f082f26df11df0000000
Thu, 31 Mar 2016 07:23:56 INFO processIndication {'timestamp': 1459401822, 'tbw': 64.2, 'person': 2, 'valid': True, 'fat': 18.1, 'muscle': 36.5, 'kcal': 2608, 'bone': 2.9}
Thu, 31 Mar 2016 07:23:57 INFO receive_notification Received notification on handle=0x1b, value=0x1d141e00fe4c5ffb561d1300ff020900000000
Thu, 31 Mar 2016 07:23:57 INFO processIndication {'timestamp': 1459314508, 'valid': True, 'weight': 77.0, 'person': 2}
Thu, 31 Mar 2016 07:23:57 INFO receive_notification Received notification on handle=0x1e, value=0x6f4c5ffb56022a0ab4f083f26ef11df0000000
Thu, 31 Mar 2016 07:23:57 INFO processIndication {'timestamp': 1459314508, 'tbw': 64.3, 'person': 2, 'valid': True, 'fat': 18.0, 'muscle': 36.6, 'kcal': 2602, 'bone': 2.9}
Thu, 31 Mar 2016 07:23:57 INFO receive_notification Received notification on handle=0x1b, value=0x1de21d00fe8211fa56581300ff020900000000
Thu, 31 Mar 2016 07:23:57 INFO processIndication {'timestamp': 1459229058, 'valid': True, 'weight': 76.5, 'person': 2}
Thu, 31 Mar 2016 07:23:57 INFO receive_notification Received notification on handle=0x1e, value=0x6f8211fa56021f0ab2f084f26ff11df0000000
Need to run received data through a filter to delete values with duplicate timestamp. Would be interesting to see if this "double" data is stored in memory and will ultimately shift out of it.
As well move the sorting to BS440.py instead of repeating it in mail and domoticz.
Hi,
unfortunately, it doesn't seem as if I can use this project, since home-assistant is python3, and also this here isn't really built as a library.
So this is more of an FYI and a bit of an apology ;) .
https://github.com/bimbar/bluepy_devices
Best Wishes
Markus
Hi everone,
first of all really great work thank you for this.
everytime i us BS440.py with mail plugin i get following log:
Wed, 24 Jan 2018 10:28:11 INFO scan Discovered E8:2A:55:47:FA:F2 (013197F2FA47552AE8)
Wed, 24 Jan 2018 10:28:11 INFO scan Found 6 BLE devices
Wed, 24 Jan 2018 10:28:11 INFO connect Connecting to E8:2A:55:47:FA:F2 with timeout=8
Wed, 24 Jan 2018 10:28:19 ERROR connect Timed out connecting to E8:2A:55:47:FA:F2 after 8 seconds.
Wed, 24 Jan 2018 10:28:19 INFO connect Connecting to E8:2A:55:47:FA:F2 with timeout=8
Wed, 24 Jan 2018 10:28:19 DEBUG get_handle Looking up handle for characteristic 00008a22-0000-1000-8000-00805f9b34fb
Wed, 24 Jan 2018 10:28:21 DEBUG _save_charecteristic_callback Found characteristic 00002a04-0000-1000-8000-00805f9b34fb, value handle: 0x7
Wed, 24 Jan 2018 10:28:21 DEBUG _save_charecteristic_callback Found characteristic 00008a82-0000-1000-8000-00805f9b34fb, value handle: 0x25
Wed, 24 Jan 2018 10:28:22 WARNING get_handle No characteristic found matching 00008a22-0000-1000-8000-00805f9b34fb
If needed i would upload btsnooping log.
thank you
Hi,
I am trying to sync my data to google fit but i get this erro
Tue, 03 Nov 2020 11:45:00 DEBUG method URL being requested: PATCH https://fitness.googleapis.com/fitness/v1/users/me/dataSources/raw%3Acom.google.weight%[removed]%3Aunknown%3Aunknown%3A10000001/datasets/[removed]?alt=json
Tue, 03 Nov 2020 11:45:00 ERROR execute Unable to update Google Fit: Error sending data.
Tue, 03 Nov 2020 11:45:00 INFO execute Finished plugin: BS440google
as this error is a bit generic I am unsure what is wrong.
It is probably something with the API I think.
I can see fails in the API dashboard I can see that there are connections made but the api calls have an error.
I can not see what the error is
also:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/googleapiclient/discovery_cache/init.py", line 44, in autodetect
from . import file_cache
File "/usr/local/lib/python2.7/dist-packages/googleapiclient/discovery_cache/file_cache.py", line 41, in
"file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth"
ImportError: file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth
Tue, 03 Nov 2020 13:21:05 DEBUG _retrieve_discovery_doc URL being requested: GET https://www.googleapis.com/discovery/v1/apis/fitness/v1/rest
Tue, 03 Nov 2020 13:21:06 INFO GetGoogleClient Google client created
Tue, 03 Nov 2020 13:21:06 INFO AddGoogle Created a new dataset: 1604406066096899072-1604406066096914176
Tue, 03 Nov 2020 13:21:06 DEBUG method URL being requested: GET https://fitness.googleapis.com/fitness/v1/users/me/dataSources/raw%3Acom.google.weight%3A200408753893%3Aunknown%3Aunknown%3A10000001?alt=json
Tue, 03 Nov 2020 13:21:06 INFO new_request Refreshing due to a 401 (attempt 1/2)
Tue, 03 Nov 2020 13:21:06 INFO _do_refresh_request Refreshing access_token
Tue, 03 Nov 2020 13:21:06 INFO AddGoogle Data Source ID: raw:com.google.weight:200408753893:unknown:unknown:10000001
Tue, 03 Nov 2020 13:21:06 DEBUG method URL being requested: PATCH https://fitness.googleapis.com/fitness/v1/users/me/dataSources/raw%3Acom.google.weight%3A200408753893%3Aunknown%3Aunknown%3A10000001/datasets/1604406066096899072-1604406066096914176?alt=json
Hello i know it's not about the BS440/BS430 or BS444 which work with this projekt, but i tried it with some oder scales from different companys and most of them seem to work with the same characteristics so i thought it could be possible to get the data from them too but i do not get the measurement data.
I believe thats because they need some kind of authentication (like the 0x23,0x02 before the time stamp for the medisana scales or maybe something more complicated)
Do you have any info on that or a tipp on how to tackle this problem?
Edit: The scales i tested so far are: Philips weight measurement, ADE BA 1400/1600 and ADE BE 1512
These have the same characteristics
Philips weight measurement, ADE BA 1400/1600 have an additional one my guess would be heart rate
Fully working Javacode can be found here with many protocol details: https://github.com/oliexdev/openScale/blob/dce3e512b099ebd613c23620738e7abb8194d782/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothBeurerSanitas.java
Can you give me a hint what would be neede to modify your script to work with a BF 700?
Thank you so much for any help!
In debug log add the effective Domoticz url called (and maybe response too?)
@DjZU Although data is updated, csv created, user-plot-31.html is updated i keep getting an old test picture i generated before clearing the csv to populate it with real scale data.
Like render_template does not run...
Can't figure out where to look, any clue?
Hi
I was looking at your node-red option, would it be possible for you to share the csv file or just some lines that are created ?
An occasion has been observed where no data was received. BS440mail was called without proper data.
With no scale connected, polling will slow down gradually from 5 seconds to 5 minutes after 8 hours runtime
I managed to create a "Weight" graph of data recorded in Google Fit web app. Is the Fat % also visible in the web app (if so: how?) or does this require the android app?
Commit 2505fb7 changed the way plugins are configured. Change BS440test accordingly.
Hey,
I wonder if there is any knowledge or attempt to provide support for more scales, such as e.g. the BS444 (http://www.medisana.de/exklusive-angebote/BS-444-ViFit-MX3-Koerperanalysewaage-Aktivitaets-Tracker-B-Ware2.html) or the Sanitas SBF 70 devices (http://www.sanitas-online.de/web/en/products/weight/scales/SBF-70-Bluetooth%C2%AE---Glas-Diagnosewaage)
I've tried to record and make sense of the data sent by a SBF 70 device, however was not too successful in making sense of it...
IN BS440domoticz.py
unit Hardwareid and unit are hardcoded. can this be placed in the ini?
the same for google auth disable/enable.
when not using google, bs440 will import bs440google always, even when not using.
When testing previous commits it appears that the Domoticz url does not contain the username/password from the ini file to authenticate.
I recently bought a BS410, only to later discover there is a community for the BS440. I got through the steps hoping to succeed, but got stuk with this error message:
Mon, 26 Jun 2017 20:27:07 INFO scan Discovered F4:B8:5E:C7:3A:7E (0203B F4B85EC73A7E)
Mon, 26 Jun 2017 20:27:07 INFO scan Discovered 9C:20:7B:BB:89:32 (None)
Mon, 26 Jun 2017 20:27:07 INFO scan Found 2 BLE devices
Mon, 26 Jun 2017 20:27:07 INFO connect Connecting to F4:B8:5E:C7:3A:7E with timeout=5
Mon, 26 Jun 2017 20:27:12 ERROR connect Timed out connecting to F4:B8:5E:C7:3A:7E after 5 seconds.
It did discover the scale at some point, however, so I'm hopeful there is something I can do :-)
I'm tried using the bluez package through pi's apt-get
(version 5.23-2+rpi2
) and through manual compilation (version 5.45
). The latter one does no longer have hciconfig
nor gatttool
apparently, so the python code fails ...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.