30 open-source projects similar to evcc-io/evcc, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Evcc alternative.
Home Assistant is a local home automation platform and server that acts as an IoT device orchestrator. It integrates diverse smart home hardware by wrapping third-party APIs into a standardized logic layer and stores all system state and historical statistics on local hardware to eliminate cloud dependencies. The system functions as a Matter IoT controller and an MQTT home automation bridge, allowing for local interoperability between different manufacturers. It features a state-based entity model and an internal event bus that decouple physical device logic from system automation. The platf
This project is an open-source software development kit and framework for implementing the Matter smart home standard. It provides a universal IPv6-based application layer and a cluster-based data model to ensure interoperability between diverse smart home devices and controllers. The system is distinguished by its multi-transport network abstraction, which maps Bluetooth LE, Thread, and Wi-Fi implementations to a common layer. It includes specialized tooling for secure device commissioning via QR codes and NFC, as well as a comprehensive over-the-air firmware update system for distributing s
Tasmota is a universal firmware platform for ESP8266 and ESP32 microcontrollers, designed to provide local control and management of smart home hardware. It functions as an event-driven automation controller that replaces proprietary factory firmware, allowing users to manage relays, sensors, and lighting systems without relying on external cloud services. The system is built on a modular driver architecture that enables dynamic hardware configuration and peripheral support through a web-based management interface. The platform distinguishes itself through a template-driven hardware mapping s
TeslaMate is a self-hosted vehicle data logger that records telemetry, charging sessions, and driving history from Tesla vehicles for private analysis. It consists of a data logger, a PostgreSQL relational data store, and a visual telemetry dashboard for analyzing battery health, energy consumption, and driving efficiency. The system features an MQTT telemetry bridge that streams real-time vehicle states and coordinates to external home automation platforms. It also utilizes geofencing to identify and name custom physical locations based on vehicle coordinates. The platform covers a broad ra
Home Assistant is a centralized home automation platform designed to orchestrate diverse internet-connected devices and services. It functions as a local-first control system that normalizes heterogeneous hardware protocols into a unified set of entities, attributes, and services. The core architecture relies on an event-driven state bus and a modular integration model, allowing the system to manage state changes and communicate across decoupled components through standardized interfaces. The platform distinguishes itself through a highly flexible, declarative configuration framework that all
Domoticz is a home automation platform and multi-protocol IoT orchestrator designed for controlling smart home devices and automating routines. It functions as an event-driven automation engine and a centralized system for managing connected sensors and hardware across Linux, Windows, and Raspberry Pi. The system acts as a Zigbee and Z-Wave controller and an MQTT IoT gateway, bridging disparate hardware ecosystems through a flexible plugin system. This allows for the unification of various communication standards into a single management interface. The platform covers broad capabilities incl
MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and exchange data via the MQTT protocol. It provides a broker interface for publishing and subscribing to topics, and includes a command-line interface for interacting with brokers without writing code. The library supports multiple network layers, including TCP, TLS, and WebSockets, and allows for custom WebSocket construction and transport injection to handle specific headers or subprotocols. It implements bandwidth reduction through topic aliasing, which replaces repetitive topic str
AI-on-the-edge-device is an edge AI meter digitizer and computer vision image processor designed to convert images of analog and digital utility meters into numeric values. It functions as an IoT gateway that runs neural network inference locally on hardware to monitor water, power, and gas readings. The system is distinguished by its ability to handle both analog pointers and digital digits through custom-trained neural networks. It includes specialized tools for image alignment, region-of-interest extraction, and hardware-level lighting control to minimize glare on glass surfaces. To mainta
blinker-js is an IoT device communication framework and Node.js library designed to manage bidirectional data exchange between embedded hardware and remote servers or local networks. It functions as an MQTT hardware integration tool that links single-board computers to IoT clouds for remote management and control. The project provides a virtual device widget manager to synchronize hardware state with cloud-based user interface components. This system allows for the mapping of remote UI identifiers to internal software logic, enabling remote IoT control through virtual buttons and input fields
KubeEdge is a distributed edge computing framework that extends Kubernetes to manage containerized workloads and hardware devices at the edge. It functions as a Kubernetes edge orchestration system, allowing the deployment and management of applications across distributed edge nodes using native Kubernetes APIs and workflows. The project distinguishes itself through a specialized focus on IoT integration and node autonomy. It employs digital-twin state modeling to represent physical hardware devices as virtual objects, utilizing an MQTT-based messaging bus for communication with heterogeneous
This library is an MQTT client implementation designed for resource-constrained embedded systems, specifically targeting ESP8266 microcontrollers. It provides a framework for establishing persistent network connections to exchange data with remote messaging brokers, enabling reliable communication for IoT devices. The library distinguishes itself through its ability to maintain simultaneous connections to multiple independent messaging brokers, facilitating complex data routing across distributed environments. It utilizes a state-machine approach to manage connection lifecycles, including aut
This project is a Java messaging software development kit designed to facilitate real-time data exchange between applications and message brokers. It functions as an MQTT client library, providing the necessary tools to implement publish-and-subscribe messaging patterns within distributed systems and internet-connected device environments. The library distinguishes itself through its focus on resilient network connectivity and reliable message delivery. It manages persistent connections through internal state machines that handle automatic reconnection and keep-alive heartbeats, ensuring stab
Camera.ui is a self-hosted network video recorder that provides a centralized dashboard for managing live surveillance feeds, continuous video recording, and automated security monitoring. It functions as an integrated platform that combines video stream management with an artificial intelligence engine to identify objects and events directly on local hardware. The system distinguishes itself through its event-driven architecture, which utilizes a messaging broker to decouple hardware state updates from automation logic. This allows for deep integration with smart home ecosystems, enabling us
Valetudo is a custom firmware project for robot vacuums that enables local-only control, removing dependencies on cloud servers and protecting user privacy. It replaces proprietary vendor binaries with open source software to ensure that data, including floor plans and images, is not uploaded to external clouds. The project distinguishes itself by providing a rooted firmware installation process that prevents forced vendor updates. It implements a standardized control interface across different hardware brands and utilizes an MQTT-based message bus to facilitate integration with open source a
This is a smart parking management system designed to automate vehicle identification, space reservations, and gate control through the integration of camera hardware and cloud services. It provides a comprehensive framework for managing parking operations, including a Spring Boot backend, a Vue JS administrative dashboard, and native mobile applications for users to locate and book spaces. The system is distinguished by its hardware integration capabilities, which include automated vehicle identification via cameras, remote device control, and manual override interfaces to maintain operation
This project is a Microsoft Teams Linux client that functions as a native desktop wrapper for the web-based communication service. It uses an Electron-based shell to provide system integration and window management for the application on Linux platforms. The client distinguishes itself through a multi-account session manager that uses session partitioning and isolated data directories to allow concurrent access to multiple profiles and tenants. It further integrates with home automation via an MQTT bridge, publishing presence and call status to a message broker and receiving remote commands t
Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and traces across distributed infrastructure. It functions as a modular engine that decouples data ingestion from processing and transmission, utilizing a component-based architecture to connect diverse sources to multiple destinations. The project distinguishes itself through a focus on reliability and flow control. It implements backpressure-aware data movement to prevent data loss during traffic spikes and utilizes disk-backed event buffering to ensure durability during network
libimobiledevice is a communication library designed to interact with iOS devices using native protocols instead of proprietary software. It provides a set of tools for device management, including firmware recovery, filesystem access, and the creation of native backups and restores. The project implements a property list parser to read and write data across binary, XML, and JSON formats. It enables low-level hardware control, such as triggering recovery modes, modifying system settings, and managing device activation and provisioning via official servers. The library covers several function
Scrypted is a video integration platform that connects IP cameras and NVRs into smart home ecosystems such as HomeKit, Google Home, Alexa, and Home Assistant. It functions as both an NVR software for recording and playing back continuous video footage, and an object detection engine that analyzes live camera feeds to identify motion, people, vehicles, and other objects. The platform distinguishes itself through its ability to transcode and forward live camera streams to multiple smart home platforms simultaneously, enabling unified viewing and control across all connected devices. It includes
This project is a community-curated directory of open-source software designed for deployment in private server environments and home labs. It serves as a comprehensive resource for discovering independent, self-hosted alternatives to mainstream cloud services, enabling users to maintain full data ownership and control over their digital infrastructure. The directory is structured through a hierarchical taxonomy that organizes a vast collection of applications into logical categories, ranging from media management and data analytics to private communication and team productivity tools. It dis
Mosquitto is a message broker that implements the MQTT protocol to route messages between connected devices and applications. It functions as a central hub for event-driven communication, supporting message exchange over both raw TCP and WebSockets. The software provides a persistent messaging infrastructure by writing message queues and client subscription states to disk, ensuring data recovery following service interruptions. The broker distinguishes itself through its support for distributed system synchronization, allowing for the federation of multiple remote brokers to share data across
This project provides custom bootloaders and firmware specifically for Xiaomi camera hardware. These modifications unlock restricted system access and enable the execution of unofficial software on the embedded devices. The software implements event-driven motion scripting, which allows the device to automatically trigger external shell scripts when the hardware sensors detect movement in the camera's field of view. It also includes tools for connecting camera feeds and controls to third-party smart home platforms and surveillance management systems. The project covers the deployment of modi
fwupd is a system service for discovering, downloading, and installing hardware firmware updates on Linux. It functions as a firmware distribution client and a hardware device discovery tool that matches system devices against vendor metadata to identify compatible updates. It also serves as a platform security manager to evaluate host security attributes and apply BIOS settings. The project includes a dedicated manager for UEFI firmware capsules, generating and managing binaries that the system processes during the boot sequence. It provides security frameworks to filter updates using versio
This is a Ruby email library providing a comprehensive toolset for composing, parsing, and sending emails. It includes an SMTP client for delivering outgoing messages and a MIME parser for decomposing complex multipart email structures. The project features an IMAP and POP3 mail fetcher for synchronizing messages from remote servers, alongside a specialized framework for testing email logic through mock delivery methods and matchers. The library covers a broad range of email operations, including the generation of nested multipart messages, the management of attachments, and the translation
AsyncAPI is a machine-readable specification standard for defining and documenting event-driven interfaces and asynchronous message-based architectures. It provides a unified framework for modeling the structure of distributed systems, including the definition of servers, channels, messages, and operations. The specification distinguishes itself by utilizing a protocol-agnostic design layer, which separates core interface definitions from transport-specific configurations. This allows developers to maintain a single source of truth while accommodating the unique requirements of diverse messag
HP-Socket is a networking library for building scalable TCP, UDP, and HTTP servers and clients with event-driven I/O and SSL encryption. It provides a high-performance TCP server framework, an HTTP request handler that parses incoming requests and generates responses, and a UDP communication library for low-latency data transfer, all with optional SSL encryption for secure communication. The library is built on a completion-port-based I/O architecture that uses Windows I/O Completion Ports for scalable asynchronous socket operations. It features a connection-pooled agent architecture for mana
OpenMQTTGateway is a multi-protocol IoT gateway and hardware interface designed for ESP32 and ESP8266 devices. It serves as a bridge that converts Bluetooth Low Energy, Radio Frequency, and Infrared signals into standardized MQTT messages for use in home automation systems. The project provides specific bridging capabilities for 433MHz, 315MHz, and 868MHz radio signals, as well as LoRa and Infrared commands. It includes a Bluetooth presence detector that monitors device advertisements to track the proximity and location of people or objects. The system handles IoT sensor aggregation through
CouchPotatoServer is an automated movie downloader and media collection manager. It functions as a background service that monitors watchlists and automatically acquires new movie releases via BitTorrent or Usenet. The project acts as a plugin-based orchestrator that coordinates file discovery and download requests across different binary protocols. It employs an event-driven pipeline to manage the full lifecycle of a media file, from initial discovery on indexers to final placement in local storage. The system manages home media libraries through relational database tracking and pattern-bas
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
OpenRGB is a centralized software suite for controlling colors and lighting effects across various brands of RGB hardware. It functions as a cross-platform controller and hardware control system that provides a unified interface for managing lighting profiles and effects. The project features an extensible plugin framework and a dedicated plugin interface that allow for the addition of new hardware support and integration features. It includes a network gateway that exposes an API for third-party applications to send lighting commands to connected devices. The system supports multi-computer