HomePod Mini Temperature/Humidity Sensor to HA

What I have done is set up an “personal” automation in the Shortcuts app which runs the shortcut to post the temperature to HA when a certain Focus mode is turned on. The Focus mode is enabled when the Home Assistant app is opened.

Thanks so much for this shortcut! I figured out how to use it with my 2 homepod minis.

Did you set up a method for automating it yet?

Can confirm that this works!!

1 Like

How fast does the temperature update? Wondering if it can be used as a near realtime temp sensor for the heater in my kids room.

It updates every 5 mins

This is really great work from you and contributors, I may try this over the holidays since I have a few HomePods coming over Christmas.

However I will hold off on calling this a full solution for the hopes that something a little easier is figured out that doesn’t include the risk on editing HA core config_entries.

I get 400: Bad request.
Any pointers of what I’m doing wrong?

It looks like your Value to Send isn’t set correctly.

I never got this to work, I think the shortcut doesnt really “install” correctly.
I had to manually remove and add the same components for it to trigger.

Might take another shot at this later on.

just integrated this with 4 HomePods Mini unter Home Assistant 2023.12.13 with your example Config. Works like a charm, thanks for the tutorial and details

Alternative / workaround:

2 Likes

I finally got it to work, but some how they drop down to zero ALOT.
So graphs looks abit odd.

Screen Shot 2024-01-09 at 19.44.32 PM

Strange, mine has been rock solid. I only have one HomePod however.

Hi @gcamp ,

Thank you so much for this tutorial,
Python Homekit is running well, i have my homePod device ID with the discover command.

I have one question. In order to run the KeychainTool, you said that we need an Developper account, i have a free one; is that why I have that error?

Fetching [email protected]:pvieito/FoundationKit.git
warning: 'foundationkit': skipping cache due to an error: Failed to clone repository [email protected]:pvieito/FoundationKit.git:
    Cloning into bare repository '/Users/XXX/Library/Caches/org.swift.swiftpm/repositories/FoundationKit-339fcdc0'...
    [email protected]: Permission denied (publickey).

If the answer is true, can I use the and of someone else? juste for cloning de repository.

Thanks. I can’t wait for success!

You’ll need to setup ssh auth for Github. Adding a new SSH key to your GitHub account - GitHub Docs

Oops,
It is working better now!
I succeeded in obtaining everything we need.
I added that entry to core.config_entries :


      {
        "entry_id": "zb2e836e713fb05116ca5ce0f4dcdd92",
        "version": 1,
        "minor_version": 1,
        "domain": "homekit_controller",
        "title": "HomePod mini",
        "data": {
          "AccessoryPairingID": "D7:BD:0D:3D:02:74",
          "AccessoryLTPK": "6f0219b550e0b30b9beafa9fbd679f592ccd0e77c2bd821a299732e35f443898",
          "iOSPairingId": "4951F4CE-A8C2-4F1C-A0E5-03400E81789C",
          "iOSDeviceLTSK": "79966b92ba1297e25f27b58348082682f51ecbf352ce9f1485159370fc0af644",
          "iOSDeviceLTPK": "952c6e7b5dd7cb1e135319e06b0e95418a87ef17067591c034b08f8dfaaa5d50",
          "AccessoryIP": "192.168.1.2",
          "AccessoryPort": 53033,
          "Connection": "IP",
          "AccessoryIPs": [
            "192.168.1.2",
            "fd0a:d2f7:6833:b24a:2:fd77:5cb6:b41d",
            "2001:861:3f09:2ee0:cf9:661d:d2c8:341b"
          ]
        },
        "options": {},
        "pref_disable_new_entities": false,
        "pref_disable_polling": false,
        "source": "zeroconf",
        "unique_id": "d7:bd:0d:3d:02:74",
        "disabled_by": null
      },

But the entity shows “configuration failed”

There is some logs :

2024-01-25 19:05:04.282 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry HomePod mini Salon for homekit_controller
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 406, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/__init__.py", line 44, in async_setup_entry
    await conn.async_setup()
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 283, in async_setup
    await self.pairing.async_populate_accessories_state(
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ip/pairing.py", line 416, in async_populate_accessories_state
    await self.list_accessories_and_characteristics()
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ip/pairing.py", line 179, in list_accessories_and_characteristics
    await self._ensure_connected()
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ip/pairing.py", line 142, in _ensure_connected
    await connection.ensure_connection()
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ip/connection.py", line 337, in ensure_connection
    await asyncio.shield(self._connector)
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/utils.py", line 40, in _handle_task_result
    task.result()
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ip/connection.py", line 639, in _reconnect
    return await self._connect_once()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ip/connection.py", line 747, in _connect_once
    request, expected = state_machine.send(response)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Thanks in advance for your help.
Nico

Is there an instruction for a non-technical user to get this running?

3 Likes

@gcamp @Nycco I am trying to install my HomePod mini directly. Any idea how to resolve the following errors? I am using my friend’s developer account. He made me as admin and signed my developer id for me.

CODESIGNKIT_DEFAULT_IDENTITY="Apple Development: name (xxxx)" swift run KeychainTool -g com.apple.hap.pairing
Building for debugging...
[1/1] Write swift-version--58304C5D6DBC2206.txt
Build complete! (0.08s)
[>] Signing executable at “/Users/danielng/projects/KeychainKit/.build/arm64-apple-macosx/debug/KeychainTool” with entitlements “/Users/danielng/projects/KeychainKit/KeychainTool/KeychainTool.entitlements” (force: true)…
/Users/danielng/projects/KeychainKit/.build/arm64-apple-macosx/debug/KeychainTool: replacing existing signature
Warning: unable to build chain to self-signed root for signer "Apple Development: name (xxxxxx)"
/Users/danielng/projects/KeychainKit/.build/arm64-apple-macosx/debug/KeychainTool: errSecInternalComponen

Seems to be a code sining issue that’s not really related to the problem of this thread. Seems some users had success on fixing this issue here

Thank you so much for the thread! I finally managed to resolve it and add my HomePod mini into my HA! For anyone interested, I have to add a Apple cert. into my keychain
Excerpt from the thread

Download the latest cert through link below, and double click to add to keychain
https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer
1 Like