All Projects → zachowj → xfinity-data-usage

zachowj / xfinity-data-usage

Licence: MIT license
Fetch Xfinity data usage and serve it via an HTTP endpoint, publish it to MQTT or post it to an URL.

Programming Languages

typescript
32286 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to xfinity-data-usage

GPUUtilization
measure GPU hardware utilization on iOS Devices
Stars: ✭ 102 (+325%)
Mutual labels:  usage
go-interfaces
This repos has lots of Go interface usage and best practice examples
Stars: ✭ 112 (+366.67%)
Mutual labels:  usage
sf
Simple Bash framework which provides argument parsing, usage output and text formatting variables
Stars: ✭ 16 (-33.33%)
Mutual labels:  usage
incubator-flagon-useralejs
Apache Flagon UserALE.js is a comprehensive, thin-client behavioral logging tool
Stars: ✭ 21 (-12.5%)
Mutual labels:  usage
redis-inventory
CLI tool to see redis memory usage by keys in hierarchical way. Think of disk inventory but for redis.
Stars: ✭ 163 (+579.17%)
Mutual labels:  usage
diskusage
FANTASTIC SPEED utility to find out top largest folders/files on the disk.
Stars: ✭ 64 (+166.67%)
Mutual labels:  usage
connect-usage
Report on RStudio Connect Usage
Stars: ✭ 24 (+0%)
Mutual labels:  usage
Mimir
📱 A simple & efficient iOS logging framework for high usage apps
Stars: ✭ 13 (-45.83%)
Mutual labels:  usage
xfinity-usage
Home Assistant custom component for retrieving Xfinity data usage
Stars: ✭ 48 (+100%)
Mutual labels:  xfinity

Release Version Docker Pulls License

BuyMeCoffee

Xfinity Data Usage

Fetch Xfinity data usage and serve it via an HTTP endpoint, publish it to MQTT or post it to an URL.

Getting Started

Configuaration

config.yml located in the /config directory

xfinity

Xfinity Account credentials are required.

Option Description
username required Username for Xfinity
password required Password for Xfinity
interval The interval at which to update usage data. Defaults to 60 minutes.
pageTimeout Number of seconds until request times out. Defaults to 30 seconds

http (optional)

Enable HTTP endpoints for most recent data. Defaults to port 7878.

Raw data at http://ipaddress:7878

Home Assistant rest sensor at http://ipaddress:7878/homeassistant

post (optional)

Enable posting of data after an update to the provided URL.

Option Description
url required URL where to post usage data to

mqtt (optional)

Option Description
host required Address of MQTT server
port Port of MQTT server defaults to 1883
username Username for MQTT server
password Password for MQTT server
topic required Topic to publish usage data to if Home Assistant is not set
homeassistant When set will publish to auto-discovery topics
homeassistant.prefix Auto discovery prefix topic. Defaults to homeassistant

imap (optional)

When defined will attempt to reset your Xfinity password when necessary.

Option Description
host required Address of IMAP server server
port Port of IMAP server defaults to 993
auth.user required Username for IMAP server
auth.pass required Password for IMAP server

Complete config

xfinity:
  username: USERNAME
  password: PASSWORD
  interval: 60

http:

post:
  url: http://localhost:1880/xfinity

mqtt:
  host: localhost
  port: 1883
  username: USERNAME
  password: PASSWORD
  topic: xfinity
  homeassistant:
    prefix: "homeassistant"

imap:
  host: "imap.gmail.com"
  auth:
    user: "[email protected]"
    pass: "longpasscode"

docker-compose

version: '3.7'

services:
  xfinity:
    image: zachowj/xfinity-data-usage:latest
    container_name: xfinity
    restart: unless-stopped
    ports:
      - 7878:7878
    volumes:
      - config:/config
    environment:
      TZ: America/Los_Angeles
      LOGGING_LEVEL: info

Volumes

  • /config - Directory for the config file

Logging

The logging level can be changed by adding the environment variable LOGGING_LEVEL. Default level is info.

Valid log levels: error, warn, info, verbose, debug, silly

Find Us

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

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].