New to Home Assistant did I made a mistake with my hardware?

About two years (maybe 3…), I purchased a Hubitat unit and connected some Led lights, nothing fancy, just for outdoors (turn on at night and off at day). It worked, but it was unable to maintain time when there was a power outage, and sometimes it worked, some days they did not come on or off. The developers in that forum said that the device was not actually able to sync or maintain time, which was very strange since it is the most basic function automation is supposed to be able to do (dates and times…).

I finally unplugged it after it lost some settings and not sure if I received a faulty unit, but my adventure was over quickly in less than a month since I wanted something more configurable and less buggy. I decided that eventually as I want something open source that I can potentially fix, and the community can create things around it.

I then installed OpenHab on a mini PC that is very under powered, Intel Atom and 2 GB ram but has Windows 10 running. It’s horribly slow but works for running a single thing. I used this before to watch Netflix and YouTube in Full HD, and it worked fine for that and casual browsing. It has Bluetooth, Wi-Fi, and is the smallest computer I ever had (fits in your hand). No fans, tiny power consumption.

I completely forgot it was installed and never ventured into it anymore since I decided I first wanted to get a proper setup with cameras and Zigbee devices. What is the point of HA if I have almost nothing to automated…

This month I decided to deploy a permanent solution and purchased several Zigbee devices, cameras, and other things like cables and stuff I will need around the house, including another PC to run BlueIris for cameras (this one more powered, i5 to stream at least 4-5 cameras), some irrigation automation (for a future project) and I purchased a Sonoff Dongle for Zigbee. I decided I will only use Zigbee and not Z-Wave.

Today, when I reset and cleaned all the windows’ installation on that old MiniPC for my surprise to make room just to run HA, I found out you can’t actually run Home Assistant directly on Windows. I realized this mistake after this was installed in a centralized location (no monitor, keyboard) since I can just remotely manage it with Windows Pro build in Remote Desktop. I know for a fact this system can run Linux since I had others before, but it’s messy (drivers) and losing the WinPro license is rather sad since that alone costs more than the computer.

Using virtualization in this garbage mini PC is out of the question since it hardly runs a browser properly. I have some ram sticks around, and I could increase its memory to 16 GB, but even then, that processor cannot run Hyper-V, or the Windows Linux subsystem or docker. I’m not even going to bother to try Virtualbox because I know already it’s going to be horribly slow. This MiniPC since they have no fan seems to work fine as long as you don’t max out the CPU all the time and they overheat. OpenHab and other services did run fine for months without issues in the background.

I wanted to avoid at all costs installing Home Assistant on the main PC I purchased as a mini server for the cameras, since it is located in another place which would be very far away from the devices. I intended to put the Zigbee Dongle on the MiniPC which is more in the central of the house on the second floor.

I read that most people install a MQTT broker and if memory serves me correct, this means it can run in a separate device from HA. And on the Zigbee Sonoff Dongle Amazon product page it says you can run it either on Home Assistant or using Zigbee2MQTT, this seems to require Mosquito.

Could this potentially work or I’m missing something? (sorry for the questions, new to everything here…)

Here is my idea:

  1. Run HA on the more powered system that will run the camera recording, probably Hyper-V (not ideal. I could then move this VM to another permanent system without losing all my configuration, I guess. I just don’t want to waste time having to reconfigure and reinstall everything in the future, since I read it’s a pain to sync all your Zigbee devices again once they are installed.

  2. This would run the Mosquito or MQTT server, I assume. Not sure, feel free to correct me.

  3. Install the Zigbee Dongle on the crappy Mini PC. (not even sure if it will work on Windows but I think so after reading the docs for Mosquito they have a window executable) and then connected all devices to that system that communicate on the same local network with HA.

Could this work, or I just need to forget the idea and get a new device to run the dongle together with Home Assistant?

I’m not even sure if this works, if it is ideal, in terms of latency. I don’t mind a device taking 2–3 seconds to respond, but if this not a normal setup or recommended, I would love to know that in advance. Note that I have never used HA, or Mosquito or any of those pieces of software. I don’t need help to install them or configure them, either. I’m fine with reading and playing with the documentation. I’m just some basic advice on what should run where and if this can, of course, be all interconnected to work together in a stable way or its better just to run everything locally for performance reasons.

I think I have somehow answered some of my own questions since I posted this.

  1. Installed HA in hyper-v on the more powerful machine that was supposed to record my cameras (I will probably have to buy one just for HA in the future, since my main idea was to have HA on its own dedicated system).

  2. I can now access HA from my local network after creating the proper hyper-v external switch and mapping HA to a fixed IP. Installed and entered HA for the first time. And of course punching the proper ports into the firewall.

  3. Not added anything except the mosquito broker which I found from the add-ons page.

  4. Installed the Zigbee dongle driver on the Mini under-powered crappy machine, and configured with the credentials to the system running HA with mosquitto after installing Zigbee2MQTT on the same system.

  5. I can connect fine now, this means Zigbee2MQTT and the dongle seems to be working on the Windows machine which hosts the dongle and remotely connecting and sending packages to the HA machine running hyper-v in another system.

Now that I think about it, hyper-v does not even support USB which means you most likely need a setup similar to this anyway because the dongle would not be able to do anything either way on the machine running HA.

Now, I have no idea if I should have installed mosquitto on the same system that runs the dongle and keep it out of HA or if it is preferred on the machine running HA. I guess only after playing around and testing I will know the answer. One of the benefits of running this way is that I can actually mess around with configurations and just revert the snapshot.

It really does not matter. I have Zigbee2MQTT, Mosquitto and HA on 3 different machines.

Thanks, I guess then it’s just a personal choice or preference on my side where to run it.

So in my case its now as the following:
PC 1 (Home Assistant+Mosquitto)

PC 2: Zigbee2MQTT + Zigbee Dongle.

Can someone tell me how do I pair a new Zigbee device for testing?

I did not changed anything in the config on Zigbee2MQTT so far except putting the account login for Home Assistant and its connected.

Since Zigbee2MQTT is not installed on the machine running Homeassistant should I still enabled here in the config:

homeassistant: true

The reason I ask is because I plugged a socket for testing next to the machine. This one:
https://www.zigbee2mqtt.io/devices/ZP-LZ-FR2U.html

Clicked the button for 10 seconds, its flashing. Now I have no idea if I need to add some extra settings in my zigbee2mqtt or Home Assistant or both to make them appear. I’m reading the docs and I can’t find anything specific.

Are devices to be discovered automatically (like in Hubitat) or do I need to force some check, button or add it manually? I tried setting that homeassistant true in the config.

On HomeAssistant in the MQTT settings if I use the wildcard # to listed to a topic it does seem to receive data but where or how should devices appear now in Home Assistant?

This is needed for auto discovery.

Thanks, it seems it’s working, the device was added, but I only noticed this with Home Assistant because I checked the logs. I actually expected a notification when a new device was detected.

Is this normal while adding devices with MQTT, or should I actually receive a notification in Home Assistant when a new device is detected/added?

The reason I ask this is that right after installing Home Assistant, it detected, for example, a Roku device automatically with a notification.

I am not sure if this is related but my Zigbee2MQTT config is more or less the default which has:
mqtt:
base_topic: zigbee2mqtt

Maybe this should be changed for home assistant notifications? I also read in the docs there were extra settings such as:

homeassistant:

Optional: Home Assistant discovery topic (default: shown below)

discovery_topic: ‘homeassistant’

Optional: Home Assistant status topic (default: shown below)

Note: in addition to the status_topic, ‘homeassistant/status’ will also be used

status_topic: ‘hass/status’

I did not set this on my configuration.yaml file on Zigbee2MQTT. Most guides and docs assume you are installing everything on the same Home Assistant device and tell you that you don’t need to add any config since it’s auto-detected, but this is not my case and I can’t find any specific guide when Zigbee2MQTT is running in a separate system than Home Assistant.

Still happy that this is actually working, but I guess the default configs are probably not ideal once I want to put things live.

This is not a big deal either way, I can still check the new devices manually. I decided to enable the web interface in Zigbee2MQTT to make things a bit easier in terms of what config is available.

I think everything is working great in my test this so far. The MiniPC can handle Zigbee2MQTT service and web interface. I don’t run anything else here. I also created a windows task schedule to start it at boot.

My light switch I tested is almost instantly when I execute the on/off on HA or Zigbee2MQTT interface. Pleased with the result this far.