All Projects → conoro → Yunmai Data Extract

conoro / Yunmai Data Extract

Licence: mit
Extract your data from the Yunmai weighing scales cloud API so you can use it elsewhere

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Yunmai Data Extract

Googleplay Api
Google Play Unofficial Python API
Stars: ✭ 278 (+1223.81%)
Mutual labels:  api, google
Figma To Google Slides
Convert Figma frames into a Google Slides presentation 🍭
Stars: ✭ 385 (+1733.33%)
Mutual labels:  api, google
Google Chart
Google Charts API web components
Stars: ✭ 284 (+1252.38%)
Mutual labels:  api, google
Realtime object detection
Plug and Play Real-Time Object Detection App with Tensorflow and OpenCV. No Bugs No Worries. Enjoy!
Stars: ✭ 260 (+1138.1%)
Mutual labels:  api, google
Googledictionaryapi
Google does not provide Google Dictionary API so I created one.
Stars: ✭ 528 (+2414.29%)
Mutual labels:  api, google
Flutter Ui Nice
More than 130+ pages in this beautiful app and more than 45 developers has contributed to it.
Stars: ✭ 3,092 (+14623.81%)
Mutual labels:  api, google
Twilio Java
A Java library for communicating with the Twilio REST API and generating TwiML.
Stars: ✭ 371 (+1666.67%)
Mutual labels:  api, phone
Usaspending Api
Server application to serve U.S. federal spending data via a RESTful API
Stars: ✭ 166 (+690.48%)
Mutual labels:  api, etl
Koop
🔮 Transform, query, and download geospatial data on the web.
Stars: ✭ 505 (+2304.76%)
Mutual labels:  api, etl
Java Speech Api
The J.A.R.V.I.S. Speech API is designed to be simple and efficient, using the speech engines created by Google to provide functionality for parts of the API. Essentially, it is an API written in Java, including a recognizer, synthesizer, and a microphone capture utility. The project uses Google services for the synthesizer and recognizer. While this requires an Internet connection, it provides a complete, modern, and fully functional speech API in Java.
Stars: ✭ 490 (+2233.33%)
Mutual labels:  api, google
Googleanalyticsr
Use the Google Analytics API from R
Stars: ✭ 213 (+914.29%)
Mutual labels:  api, google
Mtrans
Multi-source Translation
Stars: ✭ 711 (+3285.71%)
Mutual labels:  api, google
Php Google Translate Free
PHP class to use the Google Translator API for free.
Stars: ✭ 182 (+766.67%)
Mutual labels:  api, google
Soup
☎️ Original open source call flooder using Twilio's API.
Stars: ✭ 267 (+1171.43%)
Mutual labels:  api, phone
Youtubeshop
Youtube autolike and autosubs script
Stars: ✭ 177 (+742.86%)
Mutual labels:  api, google
Google Translate
翻译工具 支持网页翻译和文本翻译
Stars: ✭ 356 (+1595.24%)
Mutual labels:  api, google
Googleauthr
Google API Client Library for R. Easy authentication and help to build Google API R libraries with OAuth2. Shiny compatible.
Stars: ✭ 150 (+614.29%)
Mutual labels:  api, google
Google Translate
🈯 A Node.JS library to consume Google Translate API for free.
Stars: ✭ 152 (+623.81%)
Mutual labels:  api, google
Mobly
E2E test framework for tests with complex environment requirements.
Stars: ✭ 424 (+1919.05%)
Mutual labels:  google, phone
Twilio Csharp
Twilio C#/.NET Helper Library for .NET Framework 3.5+ and supported .NET Core versions
Stars: ✭ 541 (+2476.19%)
Mutual labels:  api, phone

Intro

NOTE: Code currently (September 2019) working again

The Yunmai weighing scales is an impressive inexpensive smart scales with Bluetooth. I bought mine from GearBest. If you install their app on your phone, it will connect to the scales and save all of your data, each time you weigh yourself.

Whilst it isn't obvious, Yunmai is also saving all of your data to their Cloud. Unfortunately they have no webapp for accessing this data and no way for you to dump it out either.

This App will access that data on their API and save it in various formats locally and optionally on Google Sheets for you to re-use elsewhere.

LICENSE: MIT

Setting it up for yourself (Android only for the moment)

git clone https://github.com/conoro/yunmai-data-extract
cd yunmai-data-extract
npm install
  • rename conf-sample.toml to conf.toml

  • Install and run a packet sniffing App like Packet Capture by Grey Shirts on your Android phone

  • Start capturing data for the Yunmai App inside Packet Capture

  • Start the Yunmai App on the phone and interact with some of the data menus

  • Go back to Packet Capture and stop the data capture

  • Tap into each of the packets and find requests that access http://intdata.iyunmai.com

  • Edit conf.toml and use the info from the requests as follows:

userId = userId variable from requests
code = code variable from requests
token = token variable from requests
  • To get your scales weight data you can now run the main app at any time with
node index.js
  • It will currently generate an Excel-compatible CSV file and a LevelDB database for you.

  • You don't have to run it every day, just whenever you want a data dump from the Yunmai

  • If you want to save to Google Sheets, do the following:

    • Enable the GSheets API in the Google API Console
    • Create a new set of Credentials of type Oauth Client ID
    • Select Web Application as the App type
    • Fill out the name field
    • Skip the Authorized JavaScript origins
    • Enter http://127.0.0.1:3000 as the Authorized redirect URIs
    • Click "Create"
    • Save the secrets file you get as client_secret.json in the yunmai-data-extract directory
    • Create a Google Sheet and a Tab in that Sheet and then edit conf.toml to set:
    • useGSheets = true
    • gSheetsId = "Get it from the part of the url after /d/ in the Google Sheet you want to use"
    • gSheetsTabId = "Get the Tab ID of the Sheet from the gid in url of the Google Sheet you want to use"
  • If you choose to save to Google Sheets then the first time you run it, you'll have to follow the authorisation flow presented. It's self-explanatory and you won't have to do it again.

  • If you ever have auth issues with GSheets, just delete ~/.credentials/yunmai-data-extract-gsheets.json and re-run

  • You can add your own columns to Google Sheets and they'll be preserved (e.g. daily notes). But manually added rows will be overwritten.

  • Date format is proper European. Americans can edit the code to suit themselves ;-)

  • If the Yunmai code/token ever expires (you'll see errors when you run index.js) then you can easily get new ones by re-running Packet Capture

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].