Please add systemd support #196

Closed
opened 2021-02-10 04:16:06 +01:00 by Tatsh · 19 comments

Example service file:

[Unit]
Description=Home Assistant server
After=network-online.target

[Service]
ExecStart=/usr/bin/hass --skip-pip -c /var/lib/homeassistant --log-no-color --log-rotate-days 7 --log-file /var/log/homeassistant/main.log
User=homeassistant
Group=homeassistant

[Install]
WantedBy=multi-user.target

Use systemd_dounit in the ebuild (systemd eclass) to install it.

Example service file: ``` [Unit] Description=Home Assistant server After=network-online.target [Service] ExecStart=/usr/bin/hass --skip-pip -c /var/lib/homeassistant --log-no-color --log-rotate-days 7 --log-file /var/log/homeassistant/main.log User=homeassistant Group=homeassistant [Install] WantedBy=multi-user.target ``` Use `systemd_dounit` in the ebuild (`systemd` eclass) to install it.
onkelbeh added the
Enhancement
label 2021-02-14 10:30:32 +01:00
Owner

Hi,

we do not use systemd on our systems, I do not have any experience.
Can you please send a patched Ebuild?

\B.

Hi, we do not use systemd on our systems, I do not have any experience. Can you please send a patched Ebuild? \B.
Author

Yes. Will do soon.

Yes. Will do soon.
Owner

That's cool, thanks.
Cannot merge, I'll have to put in into the build scripts.
There are some new versions pending anyway.

Please stay tuned :-)

That's cool, thanks. Cannot merge, I'll have to put in into the build scripts. There are some new versions pending anyway. Please stay tuned :-)
Author

That's fine. Close this issue and the PR when you don't need them anymore. I'll stay tuned.

That's fine. Close this issue and the PR when you don't need them anymore. I'll stay tuned.
Owner

Hi,

just added homeassistant-2021.2.0.ebuild,
corrected a typo at line 429 of the Ebuild.

Sorry, I do not have a box with systemd, so could you please check?
If it's OK for you, I will run the rest of the pending versions.

Greets
\B.

Hi, just added homeassistant-2021.2.0.ebuild, corrected a typo at line 429 of the Ebuild. Sorry, I do not have a box with systemd, so could you please check? If it's OK for you, I will run the rest of the pending versions. Greets \B.
Author

I had to make this change to make it not conflict when upgrading (don't know if this is correct):

diff --git a/dev-python/httpx/httpx-0.16.1.ebuild b/dev-python/httpx/httpx-0.16.1.ebuild
index 1c04a494..3b63f5d1 100644
--- a/dev-python/httpx/httpx-0.16.1.ebuild
+++ b/dev-python/httpx/httpx-0.16.1.ebuild
@@ -20,7 +20,7 @@ RDEPEND="dev-python/certifi[${PYTHON_USEDEP}]
        dev-python/idna[${PYTHON_USEDEP}]
        >=dev-python/rfc3986-1.3[${PYTHON_USEDEP}]
        dev-python/sniffio[${PYTHON_USEDEP}]
-       ~dev-python/httpcore-0.12.0[${PYTHON_USEDEP}]"
+       >=dev-python/httpcore-0.12.0[${PYTHON_USEDEP}]"
 BDEPEND="
        dev-python/setuptools[${PYTHON_USEDEP}]
        test? (

httpcore-0.12.3 is pulled in by homeassistant, but httpx wanted ~dev-python/httpcore-0.12.0. I was under the impression that ~ meant the first two numbers have to match but the last part can be anything.

I had to make this change to make it not conflict when upgrading (don't know if this is correct): ```diff diff --git a/dev-python/httpx/httpx-0.16.1.ebuild b/dev-python/httpx/httpx-0.16.1.ebuild index 1c04a494..3b63f5d1 100644 --- a/dev-python/httpx/httpx-0.16.1.ebuild +++ b/dev-python/httpx/httpx-0.16.1.ebuild @@ -20,7 +20,7 @@ RDEPEND="dev-python/certifi[${PYTHON_USEDEP}] dev-python/idna[${PYTHON_USEDEP}] >=dev-python/rfc3986-1.3[${PYTHON_USEDEP}] dev-python/sniffio[${PYTHON_USEDEP}] - ~dev-python/httpcore-0.12.0[${PYTHON_USEDEP}]" + >=dev-python/httpcore-0.12.0[${PYTHON_USEDEP}]" BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] test? ( ``` httpcore-0.12.3 is pulled in by homeassistant, but httpx wanted `~dev-python/httpcore-0.12.0`. I was under the impression that `~` meant the first two numbers have to match but the last part can be anything.
Author

Seems to be okay otherwise.

Seems to be okay otherwise.
Author

I still use the deprecated Z-Wave interface and now I get this error:

Setup failed for zwave: Unable to import component: No module named 'asyncio_mqtt'
13:42:35 – setup.py (ERROR) - message first occurred at 13:42:34 and shows up 2 times

There is no Portage package for this one. https://pypi.org/project/asyncio-mqtt/

I still use the deprecated Z-Wave interface and now I get this error: ``` Setup failed for zwave: Unable to import component: No module named 'asyncio_mqtt' 13:42:35 – setup.py (ERROR) - message first occurred at 13:42:34 and shows up 2 times ``` There is no Portage package for this one. https://pypi.org/project/asyncio-mqtt/
Owner

Let's first upgrade to the current version.

Let's first upgrade to the current version.
Owner

Yep, you are right, httpx's setup.py wants httpcore==0.12.*, my ~ is definitely wrong, just changed this with fb330d5fca for now.

Some other constraints with esphome. Will add a patched version soon.

Yep, you are right, httpx's setup.py wants `httpcore==0.12.*`, my ~ is definitely wrong, just changed this with https://git.edevau.net/onkelbeh/HomeAssistantRepository/commit/fb330d5fca562f744c82f77c30eca40b69e212ae for now. Some other constraints with esphome. Will add a patched version soon.
Owner

Yeah, and Z-Wave fun:

Yeah, and Z-Wave fun:
Author

I made a quick ebuild for asyncio_mqtt and this makes Z-Wave work.

dev-python/asyncio_mqtt/asyncio_mqtt-0.8.0.ebuild

# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python3_8 )
inherit distutils-r1

DESCRIPTION="MQTT client with idiomatic asyncio interface"
HOMEPAGE="https://github.com/sbtinstruments/asyncio-mqtt"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"

RDEPEND="dev-python/paho-mqtt"
I made a quick ebuild for asyncio_mqtt and this makes Z-Wave work. dev-python/asyncio_mqtt/asyncio_mqtt-0.8.0.ebuild ```shell # Copyright 2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_8 ) inherit distutils-r1 DESCRIPTION="MQTT client with idiomatic asyncio interface" HOMEPAGE="https://github.com/sbtinstruments/asyncio-mqtt" SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~x86" RDEPEND="dev-python/paho-mqtt" ```
Author
https://github.com/Tatsh/tatsh-overlay/tree/master/dev-python/asyncio_mqtt
Author

I am also getting this error on startup (which makes default_config fail), due to a misuse of the ctypes.util.find_library() function.

Logger: homeassistant.setup
Source: components/dhcp/__init__.py:10
First occurred: 1:56:53 (1 occurrences)
Last logged: 1:56:53

Setup failed for dhcp: unknown error
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/homeassistant/setup.py", line 166, in _async_setup_component
    component = integration.get_component()
  File "/usr/lib/python3.8/site-packages/homeassistant/loader.py", line 467, in get_component
    cache[self.domain] = importlib.import_module(self.pkg_path)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/lib/python3.8/site-packages/homeassistant/components/dhcp/__init__.py", line 10, in <module>
    from scapy.arch.common import compile_filter
  File "/usr/lib/python3.8/site-packages/scapy/arch/__init__.py", line 27, in <module>
    from scapy.arch.bpf.core import get_if_raw_addr
  File "/usr/lib/python3.8/site-packages/scapy/arch/bpf/core.py", line 30, in <module>
    LIBC = cdll.LoadLibrary(find_library("libc"))
  File "/usr/lib/python3.8/ctypes/util.py", line 330, in find_library
    _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name))
  File "/usr/lib/python3.8/ctypes/util.py", line 147, in _findLib_gcc
    if not _is_elf(file):
  File "/usr/lib/python3.8/ctypes/util.py", line 99, in _is_elf
    with open(filename, 'br') as thefile:
FileNotFoundError: [Errno 2] No such file or directory: b'liblibc.a'

In the Scapy code, the call to find_library() should be find_library('c') not find_library('libc'). The lib prefix is assumed (at least on Linux). The documentation says so. Editing this file to look for "c" fixes the issue.

(ins)>>> ctypes.util.find_library('c')
'libc.so.6'
>>> ctypes.util.find_library('libc')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.8/ctypes/util.py", line 330, in find_library
    _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name))
  File "/usr/lib/python3.8/ctypes/util.py", line 147, in _findLib_gcc
    if not _is_elf(file):
  File "/usr/lib/python3.8/ctypes/util.py", line 99, in _is_elf
    with open(filename, 'br') as thefile:
FileNotFoundError: [Errno 2] No such file or directory: b'liblibc.a'

Any reason not to use the Scapy in Portage? It is the same version. net-analyzer/scapy

Now we know it should be patched, but I would prefer to see the package from here to be at least in the same category. I always mask overlay packages and unmask them individually as described here: https://wiki.gentoo.org/wiki/Ebuild_repository#Masking_installed_but_unsafe_ebuild_repositories

I am also getting this error on startup (which makes default_config fail), due to a misuse of the ctypes.util.find_library() function. ``` Logger: homeassistant.setup Source: components/dhcp/__init__.py:10 First occurred: 1:56:53 (1 occurrences) Last logged: 1:56:53 Setup failed for dhcp: unknown error Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/homeassistant/setup.py", line 166, in _async_setup_component component = integration.get_component() File "/usr/lib/python3.8/site-packages/homeassistant/loader.py", line 467, in get_component cache[self.domain] = importlib.import_module(self.pkg_path) File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/usr/lib/python3.8/site-packages/homeassistant/components/dhcp/__init__.py", line 10, in <module> from scapy.arch.common import compile_filter File "/usr/lib/python3.8/site-packages/scapy/arch/__init__.py", line 27, in <module> from scapy.arch.bpf.core import get_if_raw_addr File "/usr/lib/python3.8/site-packages/scapy/arch/bpf/core.py", line 30, in <module> LIBC = cdll.LoadLibrary(find_library("libc")) File "/usr/lib/python3.8/ctypes/util.py", line 330, in find_library _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name)) File "/usr/lib/python3.8/ctypes/util.py", line 147, in _findLib_gcc if not _is_elf(file): File "/usr/lib/python3.8/ctypes/util.py", line 99, in _is_elf with open(filename, 'br') as thefile: FileNotFoundError: [Errno 2] No such file or directory: b'liblibc.a' ``` In the Scapy code, the call to `find_library()` should be `find_library('c')` not `find_library('libc')`. The lib prefix is assumed (at least on Linux). The documentation says so. Editing this file to look for "c" fixes the issue. ``` (ins)>>> ctypes.util.find_library('c') 'libc.so.6' >>> ctypes.util.find_library('libc') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.8/ctypes/util.py", line 330, in find_library _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name)) File "/usr/lib/python3.8/ctypes/util.py", line 147, in _findLib_gcc if not _is_elf(file): File "/usr/lib/python3.8/ctypes/util.py", line 99, in _is_elf with open(filename, 'br') as thefile: FileNotFoundError: [Errno 2] No such file or directory: b'liblibc.a' ``` Any reason not to use the Scapy in Portage? It is the same version. `net-analyzer/scapy` Now we know it should be patched, but I would prefer to see the package from here to be at least in the same category. I always mask overlay packages and unmask them individually as described here: https://wiki.gentoo.org/wiki/Ebuild_repository#Masking_installed_but_unsafe_ebuild_repositories
Owner

Here, HA installed a copy of asyncio_mqtt in deps.

  1. Cannot find from where asyncio_mqtt is pulled in. Just added the Ebuild.
  2. Some other new mysterious (and unnecessary) imports to clear up (PlexAPI-4.3.1, plexauth-0.0.6, plexwebsocket-0.0.12)
  3. Scapy replaced with net-analyzer/scapy (sorry for the dupe, did not expect to find it in the main repo). But did not test it yet.
  4. Currently fighting with yarn & the zwave-js. Does not look easy, currently, don't have much *.js experience.

Can't do much tomorrow, a bigger VPN migration.

Here, HA installed a copy of asyncio_mqtt in deps. 1) Cannot find from where asyncio_mqtt is pulled in. [Just added the Ebuild](https://git.edevau.net/onkelbeh/HomeAssistantRepository/commit/667c09184a18c79378e41d35774dcdea8a55e840). 2) Some other new mysterious (and unnecessary) imports to clear up (PlexAPI-4.3.1, plexauth-0.0.6, plexwebsocket-0.0.12) 3) Scapy [replaced](https://git.edevau.net/onkelbeh/HomeAssistantRepository/commit/35ddf8f5142b533dc1275b83f09d07f7818fcd4f) with net-analyzer/scapy (sorry for the dupe, did not expect to find it in the main repo). But did not test it yet. 3) Currently fighting with yarn & the zwave-js. Does not look easy, currently, don't have much *.js experience. Can't do much tomorrow, a bigger VPN migration.
Author

I can help with Node stuff.

I can help with Node stuff.
Author

Also I can send a patch to Gentoo to add a patch to the Scapy ebuild regarding the find_library() misuse. Upstream has fixed the issue. 46fa40fde4

Also I can send a patch to Gentoo to add a patch to the Scapy ebuild regarding the `find_library()` misuse. Upstream has fixed the issue. https://github.com/secdev/scapy/commit/46fa40fde4049ad7770481f8806c59640df24059
Owner

Oh, are you running it on Python 3.9?

Z-Wave-JS seems unavoidable now, would be nice if we have an Ebuild for the Z-Wave JS Server stuff.

I started trying to build it manually, but currently very short on time, and the old stack is still running... My wife would kill me if she sits in the dark behind closed shutters :-)

Oh, are you running it on Python 3.9? Z-Wave-JS seems unavoidable now, would be nice if we have an Ebuild for the Z-Wave JS Server stuff. I started trying to build it manually, but currently very short on time, and the old stack is still running... My wife would kill me if she sits in the dark behind closed shutters :-)
Author

Oh, are you running it on Python 3.9?

No. Still on 3.8.

Z-Wave-JS seems unavoidable now, would be nice if we have an Ebuild for the Z-Wave JS Server stuff.

The documentation about it is very annoying in how it promotes everything (e.g. non-free, or Docker) except a homebrew solution.

> Oh, are you running it on Python 3.9? No. Still on 3.8. > Z-Wave-JS seems unavoidable now, would be nice if we have an Ebuild for the Z-Wave JS Server stuff. The documentation about it is very annoying in how it promotes everything (e.g. non-free, or Docker) except a homebrew solution.
Tatsh closed this issue 2021-03-02 07:51:32 +01:00
Sign in to join this conversation.
No Label
Bug
Bump/Update
Cleanup
Dupe
Enhancement
File Collision
Forked
help wanted
Integration: accuweather
Integration: acmeda
Integration: acomax
Integration: adax
Integration: adguard
Integration: aemet
Integration: aep_ohio
Integration: aep_texas
Integration: airq
Integration: airthings
Integration: airthings_ble
Integration: airtouch5
Integration: airzone
Integration: airzone_cloud
Integration: amazon_polly
Integration: amberelectric
Integration: ambient_station
Integration: analytics_insights
Integration: anel_pwrctrl
Integration: aosmith
Integration: apache_kafka
Integration: apcupsd
Integration: appalachianpower
Integration: apprise
Integration: aprilaire
Integration: aranet
Integration: aseko_pool_live
Integration: asuswrt
Integration: august
Integration: aws
Integration: axis
Integration: backup
Integration: bang_olufsen
Integration: blebox
Integration: blink
Integration: bluetooth
Integration: blue_current
Integration: bmw_connected_drive
Integration: bosch_shc
Integration: bring
Integration: brother
Integration: brottsplatskartan
Integration: bsblan
Integration: bthome
Integration: caldav
Integration: cast
Integration: ccm15
Integration: cloud
Integration: cloudflare
Integration: co2signal
Integration: coautilities
Integration: comelit
Integration: conversation
Integration: debugpy
Integration: deconz
Integration: deluge
Integration: denonavr
Integration: devialet
Integration: devolo_home_control
Integration: dhcp
Integration: discord
Integration: discovergy
Integration: dlna_dmr
Integration: dlna_dms
Integration: doods
Integration: drop_connect
Integration: dsmr
Integration: duotecno
Integration: duquesne_light
Integration: dwd_weather_warnings
Integration: easyenergy
Integration: ecobee
Integration: ecoforest
Integration: ecovacs
Integration: ecowitt
Integration: elgato
Integration: elvia
Integration: energyzero
Integration: enigma2
Integration: enphase_envoy
Integration: epion
Integration: esphome
Integration: evohome
Integration: ffmpeg
Integration: fjaraskupan
Integration: flexit_bacnet
Integration: flipr
Integration: forecast_solar
Integration: foscam
Integration: fritzbox
Integration: fronius
Integration: frontend
Integration: fujitsu_anywair
Integration: fyta
Integration: garages_amsterdam
Integration: gardena_bluetooth
Integration: gdacs
Integration: generic
Integration: geonetnz_quakes
Integration: geonetnz_volcano
Integration: geo_json_events
Integration: geo_rss_events
Integration: gios
Integration: glances
Integration: goodwe
Integration: google
Integration: google_assistant_sdk
Integration: google_generative_ai_conversation
Integration: govee_ble
Integration: govee_light_local
Integration: hive
Integration: hko
Integration: holiday
Integration: homekit_controller
Integration: homematicip_cloud
Integration: homewizard
Integration: honeywell
Integration: hp_ilo
Integration: html5
Integration: http
Integration: hue
Integration: hunterdouglas_powerview
Integration: husqvarna_automower
Integration: huum
Integration: hydrawise
Integration: iammeter
Integration: ibeacon
Integration: idasen_desk
Integration: ign_sismologia
Integration: image_upload
Integration: indianamichiganpower
Integration: insteon
Integration: ipp
Integration: islamic_prayer_times
Integration: justnimbus
Integration: jvc_projector
Integration: kef
Integration: kentuckypower
Integration: keymitt_ble
Integration: knx
Integration: kostal_plenticore
Integration: krispol
Integration: lamarzocco
Integration: ld2410_ble
Integration: leaone
Integration: led_ble
Integration: life360
Integration: lifx
Integration: linear_garage_door
Integration: litejet
Integration: litterrobot
Integration: local_calendar
Integration: local_todo
Integration: loqed
Integration: luci
Integration: lupusec
Integration: lutron
Integration: lutron_caseta
Integration: madeco
Integration: mastodon
Integration: matrix
Integration: matter
Integration: media_extractor
Integration: melcloud
Integration: met
Integration: meteoclimatic
Integration: meteo_france
Integration: metoffice
Integration: microbees
Integration: mill
Integration: minecraft_server
Integration: modbus
Integration: mopeka
Integration: motionblinds_ble
Integration: motionmount
Integration: motion_blinds
Integration: myuplink
Integration: nam
Integration: neato
Integration: netatmo
Integration: nexia
Integration: nextbus
Integration: nextcloud
Integration: nextdns
Integration: nibe_heatpump
Integration: nmap_tracker
Integration: nobo_hub
Integration: norway_air
Integration: notion
Integration: nsw_rural_fire_service_feed
Integration: nuki
Integration: numato
Integration: nut
Integration: nws
Integration: ollama
Integration: oncue
Integration: ondilo_ico
Integration: openai_conversation
Integration: openerz
Integration: open_meteo
Integration: opower
Integration: orvibo
Integration: osoenergy
Integration: otbr
Integration: ourgroceries
Integration: overkiz
Integration: p1_monitor
Integration: pegel_online
Integration: permobil
Integration: plex
Integration: plugwise
Integration: powerwall
Integration: private_ble_device
Integration: proxy
Integration: prusalink
Integration: psoklahoma
Integration: pure_energie
Integration: pvoutput
Integration: qingping
Integration: qld_bushfire
Integration: qrcode
Integration: rabbitair
Integration: rachio
Integration: radio_browser
Integration: rainbird
Integration: rainforest_raven
Integration: rainmachine
Integration: rdw
Integration: recorder
Integration: refoss
Integration: renault
Integration: renson
Integration: reolink
Integration: rflink
Integration: rfxtrx
Integration: ridwell
Integration: ring
Integration: risco
Integration: roborock
Integration: roku
Integration: romy
Integration: roomba
Integration: roon
Integration: route53
Integration: rova
Integration: samsam
Integration: samsungtv
Integration: schlage
Integration: scl
Integration: screenlogic
Integration: sensibo
Integration: sensorpush
Integration: sentry
Integration: seven_segments
Integration: sfr_box
Integration: shelly
Integration: sighthound
Integration: signal_messenger
Integration: simplisafe
Integration: sleepiq
Integration: slimproto
Integration: smarttub
Integration: smud
Integration: snmp
Integration: songpal
Integration: sonos
Integration: sql
Integration: squeezebox
Integration: ssdp
Integration: subaru
Integration: suez_water
Integration: sunweg
Integration: surepetcare
Integration: swepco
Integration: swiss_public_transport
Integration: switchbot
Integration: switchbot_cloud
Integration: switcher_kis
Integration: system_bridge
Integration: tado
Integration: tailwind
Integration: tankerkoenig
Integration: tasmota
Integration: technove
Integration: tedee
Integration: telegram_bot
Integration: temper
Integration: tensorflow
Integration: teslemetry
Integration: tessie
Integration: thermobeacon
Integration: thermopro
Integration: thread
Integration: tile
Integration: tolo
Integration: tplink
Integration: tplink_omada
Integration: tplink_tapo
Integration: traccar
Integration: traccar_server
Integration: trafikverket_camera
Integration: trafikverket_ferry
Integration: trafikverket_train
Integration: trafikverket_weatherstation
Integration: transmission
Integration: tuya
Integration: twentemilieu
Integration: unifi
Integration: unifiprotect
Integration: unifi_direct
Integration: upnp
Integration: usgs_earthquakes_feed
Integration: utility_meter
Integration: v2c
Integration: vallox
Integration: valve
Integration: velbus
Integration: velux
Integration: vicare
Integration: vilfo
Integration: vodafone_station
Integration: vulcan
Integration: wallbox
Integration: waqi
Integration: waze_travel_time
Integration: weatherflow_cloud
Integration: weatherkit
Integration: webmin
Integration: webostv
Integration: wemo
Integration: whirlpool
Integration: withings
Integration: wolflink
Integration: workday
Integration: wyoming
Integration: xiaomi_ble
Integration: yalexs_ble
Integration: yeelight
Integration: yolink
Integration: zamg
Integration: zeroconf
Integration: zha
Integration: zhong_hong
Integration: zondergas
Integration: zoneminder
Integration: zwave_js
invalid
New Integration
Python 3.10
Python 3.11
question
requirement
Requirement vanished
slot-conflict
Source Incomplete
SrcDir ${S} mismatch
TopLevelViolation
Update required
virtual
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: onkelbeh/HomeAssistantRepository#196
No description provided.