Giter VIP home page Giter VIP logo

door-notifier's Introduction

door-notifier

License: MIT .NET CodeQL codecov

A simple service to poll my garage door sensor and send me a notification when I leave it open for too long

Configuration

Application can be configured via appsettings.json

{
  "Sensor": {
    // URI for the sensor endpoint.
    // Expects a text/plain response of either OPEN, CLOSED, or UNKNOWN
    "Uri": "http://192.168.1.111/garage-door-sensor"
  },
  "Notify": {
    // URI for NTFY notifier including topic.
    "Uri": "http://192.168.1.112/garage-door-sensor",
    // Security token for NTFY notifier with write access to topic.
    "Token": ""
  },
  "Worker": {
    // How long before notifying that the door is open.
    "After": "01:00:00",
    // How often to check the door state.
    "Interval": "00:01:00"
  },
  "Serilog": {
    "MinimumLevel": {
      "Default": "Warning",
      "Override": {
        "DoorNotifier": "Information"
      }
    },
    "WriteTo": [
      {
        "Name": "Console"
      }
    ]
  }
}

Building

Via Command line

dotnet build
dotnet run --project DoorNotifier

Via Docker

In addition to the command below review ./publish.sh for creating container with version tag.

docker compose build
docker compose up -d

door-notifier's People

Contributors

melgish avatar

Watchers

 avatar

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.