Giter Site home page Giter Site logo

ubhits / ad-autointernetrebooter Goto Github PK

View Code? Open in Web Editor NEW
14.0 1.0 3.0 74 KB

Automatically reboot your crappy internet if you have a zwave, zigbee, or bluetooth switch/socket powering your internet modem. Please :star: if you like this app :)

Home Page: https://www.youtube.com/c/ubhits

License: Apache License 2.0

Python 100.00%
appdaemon-apps appdaemon apps home-automation homeassistant hass internet router modem speedtest

ad-autointernetrebooter's Introduction

Auto 'Crappy Internet' Rebooter πŸš€

hacs_badge

Automatically reboot your internet 🌐 if you use a ZWave, Zigbee, or Bluetooth switch/socket for your internet modem. This app πŸ”ΊWILL NOT WORKπŸ”Ί with WiFi switches/sockets

Ever since we've set this up in our home, we've never had to worry about the internet. Infact, I've even forgotten where our modem is πŸ˜‰ ... Awesome!

Please ⭐ this repo if you like my work and also check out my other repos like

Also, if you want to see a walkthrough of my Home Assistant configuration, I have my video walkthrough on youtube below

Prerequisites

You need the πŸ’₯SpeedTest.netπŸ’₯ component configured in your configuration.yaml and ensure you "disable polling" using "system options" image

configuration.yaml

speedtestdotnet:
  manual: true
  monitored_conditions:
    - ping
    - download
    - upload

if you enable speech notifications, you will also need the Alexa Media Player or Sonos integration

Installation

Use HACS or download the auto_internet_rebooter.py from inside the apps directory to your local apps directory, and add the following configuration to enable the app.

Configuration (with Optional Speech Notifications)

internet_health_monitor:
  module: auto_internet_rebooter
  class: AutoInternetRebooter
  internet:
    download: sensor.speedtest_download
    upload: sensor.speedtest_upload
    ping: sensor.speedtest_ping
    switch: switch.garage_internet_switch
  thresholds:
    download_mbps: 50
    upload_mbps: 3.5
    ping_ms: 75
  schedule:
    - "04:00:00"
    - "16:00:00"
  debug: false
  # OPTIONAL SPEECH NOTIFICATIONS
  notify:
    alexa: media_player.upper_big_bedroom_alexa
    start_time: "08:00:00"
    end_time: "21:30:00"
  # OPTIONAL SPEECH NOTIFICATIONS
key optional type description
module False string The module name of the app
class False string The name of the Class
internet|download False speedtest.sensor SpeedTest Download Sensor
internet|upload False speedtest.sensor SpeedTest Upload Sensor
internet|ping False speedtest.sensor SpeedTest Ping Sensor
internet|switch False switch The switch/socket that powers your internet modem
thresholds|download_mbps False number Threshold download speed. The internet will reboot if your download speed falls below this number.
thresholds|upload_mbps False number Threshold upload speed. The internet will reboot if your upload speed falls below this number.
thresholds|ping_ms False number Threshold ping. The internet will reboot if your ping goes above this number.
schedule False list Define daily schedule when the speed test should run. This is in 24h format.
notify|alexa True media_player Speaker for Speech Notifications (Optional)
notify|start_time True time Only speak between start and end time. So that you don't get awoken when the test runs at 4 AM 😜. This is in 24h format
notify|end_time True time Every start has an end. This one too 😏
debug True bool if True, outputs messages to the AppDaemon Log

Thank you! πŸ™Œ

This app wouldn't be possible without the amazing work done by the developers and community at Home Assistant.

If you like my work and feel gracious, you can buy me a beer below ;)

Buy Me A Beer

License

Apache-2.0. By providing a contribution, you agree the contribution is licensed under Apache-2.0. This is required for Home Assistant contributions.

ad-autointernetrebooter's People

Contributors

ubhits avatar

Stargazers

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

Watchers

 avatar

ad-autointernetrebooter's Issues

Am I being thick? lol

Am I correct in saying that we just edit the file where it was installed e.g.:
\192.168.1.84\config\appdaemon\apps\ad-autointernetrebooter\apps

Remove the #'s and setup? So, would be as follows in my case:

Args:
internet_health_monitor:
module: auto_internet_rebooter
class: AutoInternetRebooter
internet:
download: sensor.speedtest_download
upload: sensor.speedtest_upload
ping: sensor.speedtest_ping
switch: switch.garage_internet_switch
thresholds:
download_mbps: 100.0
upload_mbps: 20.0
ping_ms: 50
schedule:
- "08:00:00"
- "20:00:00"
notify:
alexa: media_player.upper_big_bedroom_alexa
start_time: "08:00:00"
end_time: "20:00:00"
debug: false

Thanks for your help.

Configuration

When you say "and add the following configuration to enable the app" am I adding that to my configuration.yaml? If so, do I need to put something above the top line? Or do I need to indent the top line 2 spaces or something?

When I put it on configuration.yaml it gives me an error saying internet_health_monitor integration isn't found. Screenshot_20221128-142546_Home Assistant.jpg

Alexa to Google Home?

Hello I'm wondering how do I change from notify Alexa, so I can use my Google home device instead?
My google home device is media_player.google_home_hub

Why not wifi

Why does this not work with wifi switches. My modem is not my AP nor is it my DHCP server.

Update required

Hello! I've just discovered this module. But I'm having issues with the configuration. The 'configuration' should be placed in which file is the first question. The second observation is that appdaemon files were recently moved to a new area in the file structure. Does this stop this working as created?

Logger: homeassistant.setup
Source: setup.py:221
First occurred: 08:39:22 (1 occurrences)
Last logged: 08:39:22

Setup failed for 'internet_health_monitor': Integration not found.

Feature request: Add schedule restart

Hi, awesome project. Thank you for this and the others projects. I just want to know if you could add the ability to schedule a rest based on day an hour.

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.