Giter Site home page Giter Site logo

netdaemon's Introduction

NetDaemon - Write your automations in C# for Home Assistant

CI build Coverage Status Sonar Quality Gate

Welcome to the NetDaemon project. This is the application daemon that allows you to write your home automations in C# for Home Assistant. This repo contains the third generation of NetDaemon, V3. It is currently in beta. If you need the V2 version, please see NetDaemon V2 repo

Please see https://netdaemon.xyz for detailed instructions how to get started using NetDaemon.

The NetDaemon v3 is pretty stable but is still in development so expect things to change.

About V3

NetDaemon runtime version 3 is built from scratch. The reason is to make the product better for both users and contributors by redesigning it using C# modern design.

What has changed from V2?

Breaking changes

  • We now no longer support apps using the old base class NetDaemonRxApp. HassModel is the only supported model moving forward.
  • We changed the way configuration works. Configuration from yaml is now injected using IAppConfig<MyConfigClass<. See the template v3 branch for examples how to use it.
  • Some public interfaces like INetDaemonis no longer used.
  • Different namespaces are used, like NetDaemon.AppModeland NetDaemon.Runtime. Please see the template v3 branch.
  • We now use input_booleans instead of switchfor handling app state. If you are not using the service callbacks you will now no longer have to use the integration to handle app states persistent. They also have different names now when in Development.
  • The text to speech queued feature is now an extension.
  • Using a .csprojas target for the runtime is no longer supported. You need to deploy the compiled binaries and point to those.

What did we improve

  • Overall design is now easier for contributors to contribute to the product. This is very important for long-term lifetime of NetDaemon.
  • Built to extend, the interfaces are minimal and default extensions are provided.
  • Docker images has been improved to use a base image. Better separation between different type hosts (docker, add-on) etc.

Versioning

The V3 uses CalVer versioning and is always the current version. Looking for V2 versions and updates, please use version 22.1.x.

Issues

If you have issues or suggestions of improvements, please add an issue

Discuss the NetDaemon

Please join the Discord server to get support or if you want to contribute and help others.

Install NetDaemon

https://netdaemon.xyz/docs/v3/started/installation

Example apps

Please check out the apps being developed for netdaemon3. Since documentation is still lacking behind it will be best looking at real code ๐Ÿ˜Š. To check out the new HassModel examples, please checkout the descriptions what user has adopted it below.

User Description
@helto4real Tomas netdaemon3 apps running in production

netdaemon's People

Contributors

333fred avatar asanjabi avatar asherw avatar barsonax avatar beehivejava avatar dependabot-preview[bot] avatar dependabot[bot] avatar eugeneniemand avatar frankbakkernl avatar helto4real avatar horizon0156 avatar jpgdev avatar jtolar avatar jvert avatar kmgallahan avatar ludeeus avatar makp0 avatar mrlux avatar mutzl avatar parkerman92 avatar partemimperium avatar peter-vanpoucke avatar phillipsawyer avatar pluskal avatar royto avatar rumbu13 avatar skotl avatar spelech avatar suddenelfilio avatar thomasculotta 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.