diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/home-assistant')
21 files changed, 504 insertions, 123 deletions
diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix index ebed5dab1989..186956baa9ff 100644 --- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix +++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix @@ -1,8 +1,8 @@ -# Generated by parse-requirements.py +# Generated by update-component-packages.py # Do not edit! { - version = "2024.3.3"; + version = "2024.4.4"; components = { "3_day_blinds" = ps: with ps; [ ]; @@ -97,7 +97,8 @@ airtouch4pyapi ]; "airtouch5" = ps: with ps; [ - ]; # missing inputs: airtouch5py + airtouch5py + ]; "airvisual" = ps: with ps; [ pyairvisual ]; @@ -162,7 +163,8 @@ sqlalchemy ]; "analytics_insights" = ps: with ps; [ - ]; # missing inputs: python-homeassistant-analytics + python-homeassistant-analytics + ]; "android_ip_webcam" = ps: with ps; [ pydroid-ipcam ]; @@ -283,7 +285,6 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "aseko_pool_live" = ps: with ps; [ @@ -362,7 +363,6 @@ aiohttp-fast-url-dispatcher aiohttp-zlib-ng axis - janus paho-mqtt ]; "azure_devops" = ps: with ps; [ @@ -572,7 +572,8 @@ "brel_home" = ps: with ps; [ ]; "bring" = ps: with ps; [ - ]; # missing inputs: bring-api + bring-api + ]; "broadlink" = ps: with ps; [ broadlink ]; @@ -856,7 +857,6 @@ home-assistant-frontend home-assistant-intents ifaddr - janus mutagen numpy pillow @@ -951,7 +951,7 @@ "digital_loggers" = ps: with ps; [ ]; "digital_ocean" = ps: with ps; [ - digital-ocean + python-digitalocean ]; "directv" = ps: with ps; [ directv @@ -1056,7 +1056,6 @@ aiohttp-fast-url-dispatcher aiohttp-zlib-ng dropmqttapi - janus paho-mqtt ]; "dsmr" = ps: with ps; [ @@ -1066,7 +1065,6 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "dte_energy_bridge" = ps: with ps; [ @@ -1096,7 +1094,6 @@ dynalite-panel fnv-hash-fast home-assistant-frontend - janus pillow psutil-home-assistant sqlalchemy @@ -1183,6 +1180,9 @@ pypca ]; "elvia" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1386,11 +1386,13 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus ]; "filesize" = ps: with ps; [ ]; "filter" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1560,7 +1562,6 @@ aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend - janus pillow psutil-home-assistant sqlalchemy @@ -1574,13 +1575,15 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt python-fullykiosk ]; "futurenow" = ps: with ps; [ pyfnip ]; + "fyta" = ps: with ps; [ + fyta-cli + ]; "garadget" = ps: with ps; [ ]; "garages_amsterdam" = ps: with ps; [ @@ -1633,6 +1636,9 @@ "generic_hygrostat" = ps: with ps; [ ]; "generic_thermostat" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1917,6 +1923,9 @@ sqlalchemy ]; "history_stats" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1956,7 +1965,6 @@ aiohttp-zlib-ng bellows fnv-hash-fast - janus pillow psutil-home-assistant pyserial @@ -1978,7 +1986,6 @@ aiohttp-zlib-ng bellows fnv-hash-fast - janus pillow psutil-home-assistant pyserial @@ -2000,7 +2007,6 @@ aiohttp-zlib-ng bellows fnv-hash-fast - janus pillow psutil-home-assistant pyserial @@ -2022,7 +2028,6 @@ aiohttp-zlib-ng bellows fnv-hash-fast - janus pillow psutil-home-assistant pyserial @@ -2355,7 +2360,6 @@ fnv-hash-fast home-assistant-frontend insteon-frontend-home-assistant - janus pillow psutil-home-assistant pyinsteon @@ -2526,6 +2530,9 @@ pykira ]; "kitchen_sink" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -2542,7 +2549,6 @@ aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend - janus knx-frontend pillow psutil-home-assistant @@ -2583,7 +2589,34 @@ "lacrosse_view" = ps: with ps; [ ]; # missing inputs: lacrosse-view "lamarzocco" = ps: with ps; [ + aioesphomeapi + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + fnv-hash-fast + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr lmcloud + mutagen + psutil-home-assistant + pyserial + pyudev + sqlalchemy + webrtc-noise-gain + zeroconf ]; "lametric" = ps: with ps; [ aiohttp-cors @@ -2798,7 +2831,6 @@ aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend - janus pillow psutil-home-assistant sqlalchemy @@ -2839,6 +2871,10 @@ webrtc-noise-gain ]; "lovelace" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + pillow ]; "luci" = ps: with ps; [ openwrt-luci-rpc @@ -2887,7 +2923,6 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "map" = ps: with ps; [ @@ -2896,7 +2931,6 @@ aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend - janus pillow psutil-home-assistant sqlalchemy @@ -3205,6 +3239,35 @@ psutil-home-assistant sqlalchemy ]; + "motionblinds_ble" = ps: with ps; [ + aioesphomeapi + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + fnv-hash-fast + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + psutil-home-assistant + pyserial + pyudev + sqlalchemy + webrtc-noise-gain + zeroconf + ]; # missing inputs: motionblindsble "motioneye" = ps: with ps; [ aiohttp-cors aiohttp-fast-url-dispatcher @@ -3212,7 +3275,8 @@ motioneye-client ]; "motionmount" = ps: with ps; [ - ]; # missing inputs: python-MotionMount + python-motionmount + ]; "mpd" = ps: with ps; [ mpd2 ]; @@ -3220,35 +3284,30 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "mqtt_eventstream" = ps: with ps; [ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "mqtt_json" = ps: with ps; [ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "mqtt_room" = ps: with ps; [ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "mqtt_statestream" = ps: with ps; [ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "msteams" = ps: with ps; [ @@ -3269,7 +3328,6 @@ aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend - janus pillow psutil-home-assistant sqlalchemy @@ -3280,7 +3338,6 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt pymysensors ]; @@ -3467,7 +3524,7 @@ "number" = ps: with ps; [ ]; "nut" = ps: with ps; [ - pynut2 + aionut ]; "nutrichef" = ps: with ps; [ ]; @@ -3494,6 +3551,13 @@ "ohmconnect" = ps: with ps; [ defusedxml ]; + "ollama" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + hassil + home-assistant-intents + ]; # missing inputs: ollama-hass "ombi" = ps: with ps; [ pyombi ]; @@ -3504,10 +3568,7 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - fnv-hash-fast pillow - psutil-home-assistant - sqlalchemy ]; "oncue" = ps: with ps; [ aiooncue @@ -3542,9 +3603,6 @@ ]; "openalpr_cloud" = ps: with ps; [ ]; - "opencv" = ps: with ps; [ - numpy - ]; # missing inputs: opencv-python-headless "openerz" = ps: with ps; [ openerz-api ]; @@ -3581,6 +3639,9 @@ pyopnsense ]; "opower" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast opower psutil-home-assistant @@ -3636,7 +3697,6 @@ bellows fnv-hash-fast ifaddr - janus pillow psutil-home-assistant pyroute2 @@ -3675,7 +3735,6 @@ hass-nabucasa hassil home-assistant-intents - janus mutagen paho-mqtt psutil-home-assistant @@ -3703,7 +3762,6 @@ aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend - janus pillow psutil-home-assistant sqlalchemy @@ -3714,7 +3772,6 @@ aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend - janus pillow psutil-home-assistant sqlalchemy @@ -3786,6 +3843,9 @@ webrtc-noise-gain ]; "plant" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4085,6 +4145,9 @@ aiorecollect ]; "recorder" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4099,7 +4162,6 @@ hassil home-assistant-frontend home-assistant-intents - janus mutagen pillow psutil-home-assistant @@ -4193,7 +4255,8 @@ rokuecp ]; "romy" = ps: with ps; [ - ]; # missing inputs: romy + romy + ]; "roomba" = ps: with ps; [ roombapy ]; @@ -4388,6 +4451,9 @@ zeroconf ]; "sensor" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4501,6 +4567,7 @@ dbus-fast fnv-hash-fast habluetooth + ifaddr psutil-home-assistant pyserial pyudev @@ -4617,6 +4684,8 @@ ]; "smtp" = ps: with ps; [ ]; + "smud" = ps: with ps; [ + ]; "snapcast" = ps: with ps; [ snapcast ]; @@ -4624,7 +4693,6 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - janus paho-mqtt ]; "snmp" = ps: with ps; [ @@ -4765,6 +4833,9 @@ xmltodict ]; "statistics" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4913,6 +4984,7 @@ psutil-home-assistant sqlalchemy systembridgeconnector + systembridgemodels zeroconf ]; "system_health" = ps: with ps; [ @@ -4952,7 +5024,6 @@ aiohttp-fast-url-dispatcher aiohttp-zlib-ng hatasmota - janus paho-mqtt ]; "tautulli" = ps: with ps; [ @@ -4976,16 +5047,14 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - pysocks python-telegram-bot - ]; + ]; # missing inputs: python-telegram-bot.optional-dependencies.socks "telegram_bot" = ps: with ps; [ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng - pysocks python-telegram-bot - ]; + ]; # missing inputs: python-telegram-bot.optional-dependencies.socks "tellduslive" = ps: with ps; [ tellduslive ]; @@ -5104,6 +5173,9 @@ "threshold" = ps: with ps; [ ]; "tibber" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pytibber @@ -5803,7 +5875,6 @@ aiohttp-zlib-ng bellows fnv-hash-fast - janus pillow psutil-home-assistant pyserial @@ -5874,6 +5945,7 @@ "airthings" "airthings_ble" "airtouch4" + "airtouch5" "airvisual" "airvisual_pro" "airzone" @@ -5887,6 +5959,7 @@ "ambiclimate" "ambient_station" "analytics" + "analytics_insights" "android_ip_webcam" "androidtv" "androidtv_remote" @@ -5936,6 +6009,7 @@ "bond" "bosch_shc" "braviatv" + "bring" "broadlink" "brother" "brottsplatskartan" @@ -5998,6 +6072,7 @@ "dnsip" "doorbird" "dormakaba_dkey" + "downloader" "dremel_3d_printer" "drop_connect" "dsmr" @@ -6078,6 +6153,7 @@ "frontend" "frontier_silicon" "fully_kiosk" + "fyta" "garages_amsterdam" "gardena_bluetooth" "gdacs" @@ -6146,6 +6222,7 @@ "homematic" "homematicip_cloud" "homewizard" + "homeworks" "honeywell" "html5" "http" @@ -6247,6 +6324,7 @@ "mailgun" "manual" "manual_mqtt" + "map" "matrix" "matter" "maxcube" @@ -6281,6 +6359,7 @@ "mopeka" "motion_blinds" "motioneye" + "motionmount" "mqtt" "mqtt_eventstream" "mqtt_json" @@ -6424,8 +6503,10 @@ "rmvtransport" "roborock" "roku" + "romy" "roomba" "roon" + "rova" "rpi_power" "rss_feed_template" "rtsp_to_webrtc" @@ -6537,8 +6618,6 @@ "tcp" "technove" "tedee" - "telegram" - "telegram_bot" "tellduslive" "temper" "template" diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix index d61d1850e13b..5557e11761df 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix @@ -3,13 +3,13 @@ buildHomeAssistantComponent rec { owner = "KartoffelToby"; domain = "better_thermostat"; - version = "1.5.0-beta7"; + version = "1.5.0"; src = fetchFromGitHub { owner = "KartoffelToby"; repo = "better_thermostat"; rev = "refs/tags/${version}"; - hash = "sha256-bJURpeBgoxXGR7C9MY/gmNY7OFvBxrJKz2cA61b5hNo="; + hash = "sha256-noo96Uks+MHtTbwIoU5gnekp/IwMry0U18X4I1qe4LQ="; }; meta = with lib; { diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/default.nix index ad63a4bdc0b6..acfcf038f20e 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-components/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/default.nix @@ -20,8 +20,14 @@ homematicip_local = callPackage ./homematicip_local { }; + indego = callPackage ./indego { }; + + local_luftdaten = callPackage ./local_luftdaten { }; + localtuya = callPackage ./localtuya {}; + midea-air-appliances-lan = callPackage ./midea-air-appliances-lan {}; + miele = callPackage ./miele {}; moonraker = callPackage ./moonraker {}; @@ -32,5 +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/nixpkgs/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix index 26b9f85e1d79..f6dcd994719b 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "danielperna84"; domain = "homematicip_local"; - version = "1.58.0"; + version = "1.60.1"; src = fetchFromGitHub { owner = "danielperna84"; repo = "custom_homematic"; rev = "refs/tags/${version}"; - hash = "sha256-ianM29eF2MN2THS3CTg4tBkd+8pV/m1fg8VvMDhhadg="; + hash = "sha256-EJj9zmDdJ+T7yrANmRJuLRCSwvGLy2CkIBsO9H3LIs4="; }; dependencies = [ diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/indego/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/indego/default.nix new file mode 100644 index 000000000000..657d8b80a862 --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/indego/default.nix @@ -0,0 +1,30 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + pyindego, +}: + +buildHomeAssistantComponent rec { + owner = "jm-73"; + domain = "indego"; + version = "5.5.0"; + + src = fetchFromGitHub { + owner = "jm-73"; + repo = "Indego"; + rev = "refs/tags/${version}"; + hash = "sha256-ur6KOqU6KAseABL0ibpGJ6109wSSZq9HWSVbMIrRSqc="; + }; + + dependencies = [ pyindego ]; + + meta = with lib; { + description = "Bosch Indego lawn mower component"; + changelog = "https://github.com/jm-73/Indego/releases/tag/${version}"; + homepage = "https://github.com/jm-73/Indego"; + # https://github.com/jm-73/pyIndego/issues/125 + license = licenses.unfree; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/local_luftdaten/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/local_luftdaten/default.nix new file mode 100644 index 000000000000..10a75e14ab70 --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/local_luftdaten/default.nix @@ -0,0 +1,25 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +}: + +buildHomeAssistantComponent rec { + owner = "lichtteil"; + domain = "local_luftdaten"; + version = "2.3.1"; + + src = fetchFromGitHub { + owner = "lichtteil"; + repo = "local_luftdaten"; + rev = version; + hash = "sha256-68clZgS7Qo62srcZWD3Un9BnNSwQUBr4Z5oBMTC9m8o="; + }; + + meta = with lib; { + changelog = "https://github.com/lichtteil/local_luftdaten/releases/tag/${version}"; + description = "Custom component for Home Assistant that integrates your (own) local Luftdaten sensor (air quality/particle sensor) without using the cloud"; + homepage = "https://github.com/lichtteil/local_luftdaten"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/midea-air-appliances-lan/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/midea-air-appliances-lan/default.nix new file mode 100644 index 000000000000..f533b84fd832 --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/midea-air-appliances-lan/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, midea-beautiful-air +}: + +buildHomeAssistantComponent rec { + owner = "nbogojevic"; + domain = "midea_dehumidifier_lan"; + version = "0.9.4"; + + src = fetchFromGitHub { + inherit owner; + repo = "homeassistant-midea-air-appliances-lan"; + rev = "v${version}"; + hash = "sha256-Fl8qwsW9NdjnYdu7IGQDelXTLqNx5ioUoxkhv+p5L0I="; + }; + + propagatedBuildInputs = [ midea-beautiful-air ]; + + meta = with lib; { + description = "Home Assistant custom component adding support for controlling Midea air conditioners and dehumidifiers on local network"; + homepage = "https://github.com/nbogojevic/homeassistant-midea-air-appliances-lan"; + changelog = "https://github.com/nbogojevic/homeassistant-midea-air-appliances-lan/releases/tag/v${version}"; + maintainers = with maintainers; [ k900 ]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/miele/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/miele/default.nix index 71624f674b4d..3ebdc6283c03 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-components/miele/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/miele/default.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "astrandb"; domain = "miele"; - version = "0.1.19"; + version = "2024.3.0"; src = fetchFromGitHub { inherit owner; repo = domain; rev = "refs/tags/v${version}"; - hash = "sha256-od7DV10/rkIw9eFMsTRw4bMmhQo9BAmw2rCbKKySeIk="; + hash = "sha256-J9n4PFcd87L301B2YktrLcxp5Vu1HwDeCYnrMEJ0+TA="; }; propagatedBuildInputs = [ diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/moonraker/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/moonraker/default.nix index 660847ddd2e3..efe0654d01cb 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-components/moonraker/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/moonraker/default.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "marcolivierarsenault"; domain = "moonraker"; - version = "1.1.1"; + version = "1.2.0"; src = fetchFromGitHub { owner = "marcolivierarsenault"; repo = "moonraker-home-assistant"; rev = "refs/tags/${version}"; - hash = "sha256-jxMi4hmSVBU9ztoHxFINoJo8klirfo6j7gWty7FXFkQ="; + hash = "sha256-oFHV9+5byWCOUxUhOvGHNilCZaoOp2xxb33nF8+CYjE="; }; propagatedBuildInputs = [ diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/smartir/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/smartir/default.nix new file mode 100644 index 000000000000..5dc9eb2473d7 --- /dev/null +++ b/nixpkgs/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/nixpkgs/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/default.nix new file mode 100644 index 000000000000..3ebb482939dc --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, charset-normalizer +, pycountry +, xmltodict +}: + +buildHomeAssistantComponent rec { + owner = "ollo69"; + domain = "smartthinq_sensors"; + version = "0.39.0"; + + src = fetchFromGitHub { + inherit owner; + repo = "ha-smartthinq-sensors"; + rev = "v${version}"; + hash = "sha256-mt5/XHDAUeoMUA1jWdCNXTUgZBQkqabL5Y4MxwxcweY="; + }; + + propagatedBuildInputs = [ + charset-normalizer + pycountry + xmltodict + ]; + + meta = with lib; { + description = "Home Assistant custom integration for SmartThinQ LG devices configurable with Lovelace User Interface"; + homepage = "https://github.com/ollo69/ha-smartthinq-sensors"; + changelog = "https://github.com/ollo69/ha-smartthinq-sensors/releases/tag/v${version}"; + maintainers = with maintainers; [ k900 ]; + license = licenses.asl20; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix new file mode 100644 index 000000000000..fd453e0d321c --- /dev/null +++ b/nixpkgs/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/nixpkgs/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix new file mode 100644 index 000000000000..0c64655d76df --- /dev/null +++ b/nixpkgs/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; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/yassi/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/yassi/default.nix new file mode 100644 index 000000000000..266d926b086b --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/yassi/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, pysmartthings +}: + +buildHomeAssistantComponent rec { + owner = "samuelspagl"; + domain = "samsung_soundbar"; + version = "0.4.0b2"; + + src = fetchFromGitHub { + inherit owner; + repo = "ha_samsung_soundbar"; + rev = version; + hash = "sha256-htAUCQe8mpk+GFwxXkPVnWS0m3mZd2hUt+f4qES+W4U="; + }; + + propagatedBuildInputs = [ pysmartthings ]; + + meta = with lib; { + description = "A HomeAssistant integration for Samsung Soundbars"; + homepage = "https://ha-samsung-soundbar.vercel.app/"; + changelog = "https://github.com/samuelspagl/ha_samsung_soundbar/releases/tag/${version}"; + maintainers = with maintainers; [ k900 ]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix index ad89a24b6603..4b529d6e4016 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix @@ -5,16 +5,16 @@ buildNpmPackage rec { pname = "mushroom"; - version = "3.5.2"; + version = "3.5.4"; src = fetchFromGitHub { owner = "piitaya"; repo = "lovelace-mushroom"; rev = "v${version}"; - hash = "sha256-mVodC7IEk1Y9ppMdDRXK/8cxQkW+uaC2RzQFnMwNvTQ="; + hash = "sha256-ppEXgVrB7C5ZrNmYyXdrnQMbTNU5rTGherNlimMqImM="; }; - npmDepsHash = "sha256-g8A8zm7GyASOpuoxuOYGcyUVa6RBc9LGoYLqcFcT64c="; + npmDepsHash = "sha256-4B295Wc4tj+Rhse4521sCGNv/WMrNImxZwtTFkFp14c="; installPhase = '' runHook preInstall diff --git a/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix index 797b2ecae5f6..0f90061ad61f 100644 --- a/nixpkgs/pkgs/servers/home-assistant/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/default.nix @@ -39,6 +39,15 @@ let }; }); + aioautomower = super.aioautomower.overridePythonAttrs (oldAttrs: rec { + version = "2024.3.4"; + src = fetchFromGitHub { + inherit (oldAttrs.src) owner repo; + rev = "refs/tags/${version}"; + hash = "sha256-dk8HfIiQOKq7Ky+vYa3wKmTS78gTw6J0yyQT2Folpp0="; + }; + }); + aioelectricitymaps = super.aioelectricitymaps.overridePythonAttrs (oldAttrs: rec { version = "0.4.0"; src = fetchFromGitHub { @@ -134,19 +143,6 @@ let ]; }); - bluecurrent-api = super.bluecurrent-api.overridePythonAttrs (oldAttrs: rec { - version = "1.0.6"; - src = fetchPypi { - pname = "bluecurrent-api"; - inherit version; - hash = "sha256-XHVdtkiG0ff/OY8g+W5iur7OAyhhk1UGA+XUfB2L8/o="; - }; - build-system = oldAttrs.build-system ++ (with self; [ - pythonRelaxDepsHook - ]); - pythonRemoveDeps = [ "asyncio" ]; - }); - debugpy = super.debugpy.overridePythonAttrs (oldAttrs: { # tests are deadlocking too often # https://github.com/NixOS/nixpkgs/issues/262000 @@ -235,6 +231,15 @@ let }; }); + jaraco-functools = super.jaraco-functools.overridePythonAttrs (oldAttrs: rec { + version = "3.9.0"; + src = fetchPypi { + pname = "jaraco.functools"; + inherit version; + hash = "sha256-ixN7D+rMF/70us7gTAEcnobyNBCZyHCh0S0743sypjg="; + }; + }); + lmcloud = super.lmcloud.overridePythonAttrs (oldAttrs: rec { version = "0.4.35"; src = fetchFromGitHub { @@ -257,7 +262,7 @@ let }; nativeBuildInputs = with self; [ - cython_3 + cython setuptools libxml2.dev libxslt.dev @@ -383,6 +388,13 @@ let rev = "refs/tags/${version}"; hash = "sha256-vi5f4V0nPb9K3nwdmwMDoNE85Or6haOWjMY4d/2Fj2s="; }; + dependencies = with self; [ + aiohttp + async-timeout + gql + python-dateutil + websockets + ]; }); pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec { @@ -424,26 +436,6 @@ let }; }); - pywaze = super.pywaze.overridePythonAttrs (oldAttrs: rec { - version = "0.5.1"; - src = fetchFromGitHub { - owner = "eifinger"; - repo = "pywaze"; - rev = "refs/tags/v${version}"; - hash = "sha256-r7ROEdgHdjXkveVUbuALHtwCX4IO0lwx9Zo3u6R9I58="; - }; - }); - - sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { - version = "2.0.27"; - src = fetchFromGitHub { - owner = "sqlalchemy"; - repo = "sqlalchemy"; - rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}"; - hash = "sha256-6R+A7rVq1olRXj1wMolHhEq418bpr5rsmH8RjxajmmQ="; - }; - }); - tesla-powerwall = super.tesla-powerwall.overridePythonAttrs (oldAttrs: rec { version = "0.5.1"; src = fetchFromGitHub { @@ -540,8 +532,8 @@ let # Ensure that we are using a consistent package set extraBuildInputs = extraPackages python.pkgs; - # Don't forget to run parse-requirements.py after updating - hassVersion = "2024.3.3"; + # Don't forget to run update-component-packages.py after updating + hassVersion = "2024.4.4"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -559,13 +551,13 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-EutnNqENt1MTmbMe9vtSM+bM5PzvjsfMhpkwXdxWoeI="; + hash = "sha256-bZcrFtaO0S22M6Wt2otK8rCg+NhpXr+/yRFxi02QJJI="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-9i8snvozDKgvcEQfk9KTYfqHxQbDBluvArXYVVnNvnA="; + hash = "sha256-NyIBFpDstX1MEoLS9p7GXl/+V6xB2hklNf2LmNLUMQk="; }; nativeBuildInputs = with python.pkgs; [ @@ -574,6 +566,7 @@ in python.pkgs.buildPythonApplication rec { ]; pythonRelaxDeps = [ + "aiohttp" "attrs" "bcrypt" "ciso8601" @@ -581,6 +574,7 @@ in python.pkgs.buildPythonApplication rec { "hass-nabucasa" "httpx" "orjson" + "pillow" "pyopenssl" "typing-extensions" "urllib3" @@ -625,6 +619,7 @@ in python.pkgs.buildPythonApplication rec { certifi ciso8601 cryptography + fnv-hash-fast hass-nabucasa httpx home-assistant-bluetooth @@ -633,12 +628,15 @@ in python.pkgs.buildPythonApplication rec { lru-dict orjson packaging + pillow pip + psutil-home-assistant pyopenssl pyjwt python-slugify pyyaml requests + sqlalchemy typing-extensions ulid-transform urllib3 @@ -738,6 +736,10 @@ in python.pkgs.buildPythonApplication rec { package = home-assistant; command = "hass --version"; }; + withoutCheckDeps = home-assistant.overridePythonAttrs { + pname = "home-assistant-without-check-deps"; + doCheck = false; + }; }; }; diff --git a/nixpkgs/pkgs/servers/home-assistant/frontend.nix b/nixpkgs/pkgs/servers/home-assistant/frontend.nix index ec699e83164a..afa2c53ca3f7 100644 --- a/nixpkgs/pkgs/servers/home-assistant/frontend.nix +++ b/nixpkgs/pkgs/servers/home-assistant/frontend.nix @@ -4,7 +4,7 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20240307.0"; + version = "20240404.2"; format = "wheel"; src = fetchPypi { @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-Wy5TzJ6+Dbkk51TMt9zGIfjI7gMrT4mK0IIRnl4byVE="; + hash = "sha256-xCpQHzfXXt9aOWWVGYtt9NYws//ZPjI/owXBQafb31k="; }; # there is nothing to strip in this package diff --git a/nixpkgs/pkgs/servers/home-assistant/intents.nix b/nixpkgs/pkgs/servers/home-assistant/intents.nix index d0c77694413c..744adc8b4973 100644 --- a/nixpkgs/pkgs/servers/home-assistant/intents.nix +++ b/nixpkgs/pkgs/servers/home-assistant/intents.nix @@ -1,36 +1,67 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub , pythonOlder # build-system , setuptools + +# codegen +, hassil +, python +, pyyaml +, voluptuous +, regex +, jinja2 + +# tests +, pytest-xdist +, pytestCheckHook }: buildPythonPackage rec { pname = "home-assistant-intents"; - version = "2024.3.12"; - format = "pyproject"; + version = "2024.4.3"; + pyproject = true; disabled = pythonOlder "3.9"; - src = fetchPypi { - inherit pname version; - hash = "sha256-9oMn5ogHcuopAnXgATu9xlBBBMeWJ9RT5C//xJ5FOBI="; + src = fetchFromGitHub { + owner = "home-assistant"; + repo = "intents-package"; + rev = "refs/tags/${version}"; + hash = "sha256-hcstD1qkngZAl/jKLez+4qDs/ZIandkVkY2jrvZqph8="; + fetchSubmodules = true; }; postPatch = '' - substituteInPlace pyproject.toml --replace-fail \ - 'requires = ["setuptools~=62.3", "wheel~=0.37.1"]' \ - 'requires = ["setuptools"]' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools~=62.3" "setuptools" \ + --replace-fail "wheel~=0.37.1" "wheel" ''; - nativeBuildInputs = [ + build-system = [ setuptools + + # build-time codegen; https://github.com/home-assistant/intents/blob/main/requirements.txt#L1-L5 + hassil + pyyaml + voluptuous + regex + jinja2 ]; - # sdist does not ship tests - doCheck = false; + postInstall = '' + # https://github.com/home-assistant/intents-package/blob/main/script/package#L23-L24 + PACKAGE_DIR=$out/${python.sitePackages}/home_assistant_intents + ${python.pythonOnBuildForHost.interpreter} script/merged_output.py $PACKAGE_DIR/data + ${python.pythonOnBuildForHost.interpreter} script/write_languages.py $PACKAGE_DIR/data > $PACKAGE_DIR/languages.py + ''; + + nativeCheckInputs = [ + pytest-xdist + pytestCheckHook + ]; pytestFlagsArray = [ "intents/tests" diff --git a/nixpkgs/pkgs/servers/home-assistant/stubs.nix b/nixpkgs/pkgs/servers/home-assistant/stubs.nix index cefdc1f8746a..d31cf8104dbe 100644 --- a/nixpkgs/pkgs/servers/home-assistant/stubs.nix +++ b/nixpkgs/pkgs/servers/home-assistant/stubs.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2024.3.3"; + version = "2024.4.4"; format = "pyproject"; disabled = python.version != home-assistant.python.version; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; rev = "refs/tags/${version}"; - hash = "sha256-Qc+pwG87R57wGyCujMQ6qygDOhRh/FoDf1HTRZS3M6s="; + hash = "sha256-BPmHorcyO6a7Ag7FQogkZYh2x3GoMRKiFh+9aSkjE7M="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py b/nixpkgs/pkgs/servers/home-assistant/update-component-packages.py index 4a54f351ac49..10288f5e6d64 100755 --- a/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py +++ b/nixpkgs/pkgs/servers/home-assistant/update-component-packages.py @@ -1,5 +1,5 @@ #! /usr/bin/env nix-shell -#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ packaging rich ])" -p nodePackages.pyright ruff isort +#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ packaging rich ])" -p pyright ruff isort # # This script downloads Home Assistant's source tarball. # Inside the homeassistant/components directory, each integration has an associated manifest.json, @@ -268,7 +268,7 @@ def main() -> None: build_inputs[component] = (attr_paths, extra_attrs, missing_reqs) with open(os.path.dirname(sys.argv[0]) + "/component-packages.nix", "w") as f: - f.write("# Generated by parse-requirements.py\n") + f.write("# Generated by update-component-packages.py\n") f.write("# Do not edit!\n\n") f.write("{\n") f.write(f' version = "{version}";\n') diff --git a/nixpkgs/pkgs/servers/home-assistant/update.py b/nixpkgs/pkgs/servers/home-assistant/update.py index c0c3cfdef993..70eb77ce9a1c 100755 --- a/nixpkgs/pkgs/servers/home-assistant/update.py +++ b/nixpkgs/pkgs/servers/home-assistant/update.py @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -I nixpkgs=channel:nixpkgs-unstable -i python3 -p "python3.withPackages (ps: with ps; [ aiohttp packaging ])" -p git nurl nodePackages.pyright ruff isort +#!nix-shell -I nixpkgs=channel:nixpkgs-unstable -i python3 -p "python3.withPackages (ps: with ps; [ aiohttp packaging ])" -p git nurl pyright ruff isort import asyncio import json @@ -222,7 +222,7 @@ class HomeAssistant: async def update_components(self): await run_async([ - f"{ROOT}/pkgs/servers/home-assistant/parse-requirements.py" + f"{ROOT}/pkgs/servers/home-assistant/update-component-packages.py" ]) |