diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix index 1a7f9d47e187..acfcf038f20e 100644 --- a/pkgs/servers/home-assistant/custom-components/default.nix +++ b/pkgs/servers/home-assistant/custom-components/default.nix @@ -38,9 +38,15 @@ sensi = callPackage ./sensi {}; + smartir = callPackage ./smartir {}; + smartthinq-sensors = callPackage ./smartthinq-sensors {}; waste_collection_schedule = callPackage ./waste_collection_schedule {}; + xiaomi_gateway3 = callPackage ./xiaomi_gateway3 {}; + + xiaomi_miot = callPackage ./xiaomi_miot {}; + yassi = callPackage ./yassi {}; } diff --git a/pkgs/servers/home-assistant/custom-components/smartir/default.nix b/pkgs/servers/home-assistant/custom-components/smartir/default.nix new file mode 100644 index 000000000000..5dc9eb2473d7 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/smartir/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, aiofiles +, broadlink +}: + +buildHomeAssistantComponent rec { + owner = "smartHomeHub"; + domain = "smartir"; + version = "1.17.9"; + + src = fetchFromGitHub { + owner = "smartHomeHub"; + repo = "SmartIR"; + rev = version; + hash = "sha256-E6TM761cuaeQzlbjA+oZ+wt5HTJAfkF2J3i4P1Wbuic="; + }; + + propagatedBuildInputs = [ + aiofiles + broadlink + ]; + + dontBuild = true; + + postInstall = '' + cp -r codes $out/custom_components/smartir/ + ''; + + meta = with lib; { + changelog = "https://github.com/smartHomeHub/SmartIR/releases/tag/v${version}"; + description = "Integration for Home Assistant to control climate, TV and fan devices via IR/RF controllers (Broadlink, Xiaomi, MQTT, LOOKin, ESPHome)"; + homepage = "https://github.com/smartHomeHub/SmartIR"; + maintainers = with maintainers; [ azuwis ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix b/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix new file mode 100644 index 000000000000..fd453e0d321c --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, zigpy +}: + +buildHomeAssistantComponent rec { + owner = "AlexxIT"; + domain = "xiaomi_gateway3"; + version = "4.0.3"; + + src = fetchFromGitHub { + owner = "AlexxIT"; + repo = "XiaomiGateway3"; + rev = "v${version}"; + hash = "sha256-YGaVQaz3A0yM8AIC02CvMKWMJ3tW3OADYgKY8ViIt5U="; + }; + + propagatedBuildInputs = [ + zigpy + ]; + + dontBuild = true; + + meta = with lib; { + changelog = "https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v{version}"; + description = "Home Assistant custom component for control Xiaomi Multimode Gateway (aka Gateway 3), Xiaomi Multimode Gateway 2, Aqara Hub E1 on default firmwares over LAN"; + homepage = "https://github.com/AlexxIT/XiaomiGateway3"; + maintainers = with maintainers; [ azuwis ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix b/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix new file mode 100644 index 000000000000..0c64655d76df --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, hap-python +, micloud +, pyqrcode +, python-miio +}: + +buildHomeAssistantComponent rec { + owner = "al-one"; + domain = "xiaomi_miot"; + version = "0.7.17"; + + src = fetchFromGitHub { + owner = "al-one"; + repo = "hass-xiaomi-miot"; + rev = "v${version}"; + hash = "sha256-IpL4e2mKCdtNu8NtI+xpx4FPW/uj1M5Rk6DswXmSJBk="; + }; + + propagatedBuildInputs = [ + hap-python + micloud + pyqrcode + python-miio + ]; + + dontBuild = true; + + meta = with lib; { + changelog = "https://github.com/al-one/hass-xiaomi-miot/releases/tag/${version}"; + description = "Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices."; + homepage = "https://github.com/al-one/hass-xiaomi-miot"; + maintainers = with maintainers; [ azuwis ]; + license = licenses.asl20; + }; +}