Git Product home page Git Product logo

bloom-contrib's Introduction

bloom-contrib Slack Status

Attention: This repository is deprecated and not maintained!

Bloom

Bloom was a SaaS that allowed companies to become climate leaders, from calculating their climate impact to communicating about their climate efforts. It connected to as many data sources as possible to assess your carbon footprint and find mitigation opportunities.

Tomorrow is hiring!

Tomorrow, the organisation behind Bloom builds tech to empower organisations and individuals to understand and reduce their carbon footprint.

We're often hiring great people to join our team in Copenhagen. Head over to our jobs page if you want to help out!

Structure of this repository

  • ./co2eq: carbon models
  • ./integrations: contains all integrations
  • ./integrations/img: contains all integration logos
  • ./playground: source code of the playground for integrations
  • ./definitions.js: constant definitions

bloom-contrib's People

Contributors

ant19997x avatar aonepathan avatar ayakoaohara avatar batbyr avatar baywet avatar bokub avatar corradio avatar dafrie avatar dashuber avatar dependabot[bot] avatar felixdq avatar honsq90 avatar johanna-eriksson avatar kongkille avatar liamgarrison avatar madsnedergaard avatar magalii avatar martincollignon avatar ovbm avatar patyiscoding avatar pierresegonne avatar qkniep avatar raviriley avatar saurabhdaware avatar skovhus avatar snarfed avatar steren avatar tgy avatar tmrow-bot avatar willtonkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bloom-contrib's Issues

Danish Smart Meters using energinet.dk

I talked to energinet, as we need an OAuth2 solution. It seems to be planned for Q3 2019 unfortunately. Upvote this issue if you believe it's important.

Tesla Cockpit

Live data only

Unfortunately we can only get live data. We need to setup a proxy that scrapes data.
Useful library: https://github.com/hjespers/teslams

Auth

http://docs.timdorr.apiary.io/#reference/authentication/tokens/get-an-access-token
Requires getting a username / password from the user and passing it through the https://owner-api.teslamotors.com/oauth/token endpoint. Uses OAuth.

Charge state

http://docs.timdorr.apiary.io/#reference/vehicles/state-and-settings/charge-state
https://owner-api.teslamotors.com/api/1/vehicles/vehicle_id/data_request/charge_state
Look for the charge_power key

{
  "response": {
    "charging_state": "Complete",  // "Charging", ??
    "charge_to_max_range": false,  // current std/max-range setting
    "max_range_charge_counter": 0,
    "fast_charger_present": false, // connected to Supercharger?
    "battery_range": 239.02,       // rated miles
    "est_battery_range": 155.79,   // range estimated from recent driving
    "ideal_battery_range": 275.09, // ideal miles
    "battery_level": 91,           // integer charge percentage
    "battery_current": -0.6,       // current flowing into battery
    "charge_starting_range": null,
    "charge_starting_soc": null,
    "charger_voltage": 0,          // only has value while charging
    "charger_pilot_current": 40,   // max current allowed by charger & adapter
    "charger_actual_current": 0,   // current actually being drawn
    "charger_power": 0,            // kW (rounded down) of charger
    "time_to_full_charge": null,   // valid only while charging
    "charge_rate": -1.0,           // float mi/hr charging or -1 if not charging
    "charge_port_door_open": true
  }
}

Add digital usage

All services, apps and devices we use are using a lot of energy. Whether the evening entertainment (device consumption + service consumption), the job (devices, e-mails), utility services like cloud storage and other services, all these have a carbon footprint.

Amongst others, Greenpeace published a study on the tech industry and their energy sources. Each service consumes, but depending on which energy source is powering the data centers (Netflix still using 30% of coal and 24% of gas), the impact can be high.

The individual carbon footprint of daily usage may be hard to compute to add into the app. Some research may be needed to look for studies etc.

Add daily commute

Add the option to add a daily commute which is X times a day (select to choose the numbers of days) with a certain type of transport.

This gives a better UX to the user to avoid him entering recurring activities every day.

Nissan Leaf

🇬🇧Transport for London Oyster/Contactless records

For people with accounts: https://contactless.tfl.gov.uk/

Oyster card data appears be accessible going back only 2 months. In June 2018 I exported a CSV and it looked like the following - but I can't give you links to scrape, or test anymore - people who use Oyster cards might be able to help!

Date,Start Time,End Time,Journey/Action,Charge,Credit,Balance,Note
06-Jun-2018,12:03,12:38,"London Bridge [National Rail] to Gatwick Airport",8.30,,0.75,""
06-Jun-2018,12:02,,"Topped up,  ",,5.00,9.05,""

Contactless data flow looks like:

Date,Time,Journey,Charge (GBP),Capped,Notes
04/06/2018,14:12,"Bus Journey, Route 29",-1.50,N,
04/06/2018,21:29,"Bus Journey, Route 10",-1.50,N,
05/06/2018,19:34 - 19:52,Oxford Circus to Kentish Town,-2.40,N,
05/06/2018,21:32,"Bus Journey, Route 214",-1.50,N,
06/06/2018,09:32,"Bus Journey, Route 214",-1.50,N,

Some internal data dictionaries and parsing would be needed to order trips by mode and distance, but seems doable, at least to a first approximation. Rail journeys require tapping-out so start and end are available. Bus journeys are tap-on only.

Add a diet plan

Add an option to add a diet plan. This is similar to issue #27 to improve the user's UX on the app. The user can then add meals manually when things fall off his dietary plan (eating more meat than usual, etc).

Options like Organic, Meat X times a week, Fish X times a week, vegetarian, vegan, No dairy/lactose, No gluten

Nissan Leaf connector

No live api apparently.
Carwings is the telematics system installed in the Leaf.

Forum might be interesting:
http://www.mynissanleaf.com/viewforum.php?f=31

Libraries

Python

https://github.com/jdhorne/pycarwings2
Can't find the charging power. Some more info here: https://github.com/jdhorne/pycarwings2/blob/master/pycarwings2/responses.py#L506

The API is a bit of a mess - for instance it reports battery in blobs (out of 12) and percent, but the percentage value it returns is simply the number of blobs converted to percent - it only moves in (approx) 8.3% steps. It also reports the capacity remaining in 4 (iirc) different places.

Node

Seems old: https://github.com/crtr0/carwingsjs

🇩🇪 Deutsche Bahn

DB provides start and endpoint of travel. We'd have to compute the duration or distance ourselves.

🇩🇰Integration with Ørsted

WHY
Ørsted is the biggest electricity provider in Denmark, with over 1mm customers in Denmark

HOW
You can access usage data on the web , iOS, Android

For login information, please PM me if you intend to develop the integration

🇨🇦 Ontario Presto transit card

In my experience, few abstractions survive contact with real-world data 😄 So here is some sample data from Canada that you might find useful, even if you don't implement it.

Presto is a fare card that can be used in much of Ontario, Canada. Total potentially covered daily ridership is around ~1.7M Toronto + 340k Ottawa + ~150k Mississauga + ~100k Brampton + ~80k York Region = on the order of 2.5 million trips daily. Currently few of them are done with Presto, but it's supposed to be increasing, and I think all of them are now possible with Presto.

We can get a CSV export. Some points about the data:

  • we get time of tap, transit agency operating the vehicle or station tapped, location of the tap, and fare amount paid
  • tap-outs are not required on much of the network
  • Toronto (the biggest ridership area) has many tap-less transfers that allows riders to switch from e.g. subway to bus without passing a fare gate and thus generating data history
  • there's usual wonkiness like location of tap being wrong or null

Given the data, here’s what seems possible to me:

  • Calculating the minimum number of trips taken (only counting trips that had a fare charged)
  • Calculating the minimum number of trips involving the subway (only counting entering subways without tap-less transfers - these are mostly downtown Toronto)
  • Estimating, with fairly high probability, a least one of modes of transport (bus, streetcar, subway, train) involved in a trip
  • Estimating, with better than chance probability but not close to perfect, the number of logical “trips” taken and some of the modes involved

I've posted some commented CSV samples at https://piorkowski.ca/rev/2018/12/transit-usage-from-presto/

And if you're interested, I'll be glad to help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.