MeranoThree places, one routineNetwork and measurementGetting started and running it

Merano was the first — with nobody to look things up in

The first of the three installations. Two things came out of it that saved time later — one of them was a quotation mark.

On 9 August 2026 the first of the three instances came up: Home Assistant OS on a Raspberry Pi 5, in the flat in Merano.

This article is the beginning the blog skipped over for a long time. And it describes the installation that had the hardest time of it — because there was no sister installation to look things up in.

Everything that went wrong here went wrong for the first time.

Before the first integration came a measurement

The Home Assistant web interface runs on port 8123. Every guide says so; anyone who has ever touched it knows that.

Here it was not true.

8123   does not answer
  80   serves /api/ with 200

Where that came from was not clear at the time — the explanation turned up weeks later, in a file nobody had read that day. The same thing was later measured in Vienna and in Kapfenberg, with the same result.

That is why the connection script still tries both ports instead of knowing the right one.

The first number I measured in a new setup was the one everybody knows the answer to.

The SSH key, and the quotation mark

For everything the interface cannot do, you need file access. So: a key.

It was created, the server accepted it, and it still went nowhere. The log said both things one after the other:

Server accepts key
Permission denied

That combination looks like a server problem. It is not one.

Under PowerShell, ssh-keygen -N '""' sets the passphrase to two literal quotation marks. In Bash those two characters are syntax and disappear; in PowerShell they are content and end up inside the key. The server accepts the key correctly and then fails because nobody supplies the passphrase that, according to the guide, should not exist at all.

The counter-check is one line:

ssh-keygen -y -P "" -f ~/.ssh/<keyfile>

If the public key comes out, the passphrase really is empty. If an error comes out, it is not.

In Kapfenberg this did not happen again — not because I knew better, but because it happened here once and was written down.

The sentence that was born here

The project file of this instance has carried a principle since day one that the two later ones adopted word for word:

Measured, not assumed. Where an assumption was disproved by a later measurement, both appear in the documentation — in the order in which it happened.

The second half is the more important one, and it is not a stylistic flourish.

Roughly half the findings on this blog come out of the contradiction between an earlier assumption and a later measurement. Overwrite the assumption while correcting it and you keep a correct result and lose the finding.

What the first one did not have

The third installation was standing in one day. This one was not — and the difference is not practice but material.

Merano Kapfenberg
sister installation to consult none two
port number had to be measured was known
key trap stepped into here avoided here
radio channel from its own measurement from its own measurement

The last row is deliberate: the channel could not be carried over. In Merano the Wi-Fi sits on channel 11 and Zigbee belongs on 11; in Kapfenberg the Wi-Fi sits on 1 and Zigbee belongs on 20. The same recommendation would have done exactly the wrong thing in one of the two houses.

What transfers is the method, not the result.

What I’d suggest

  1. Measure what you are surest about first. The port number was in every guide and wrong in all three flats.
  2. Create SSH keys in the shell the command was written for — and verify the passphrase with a line of its own.
  3. Write down the assumption that turned out wrong, not only the correction.
  4. Carry over methods, not numbers. A measured number belongs to the house it was measured in.
  5. Expect the first installation to be the most expensive. That is not failure, it is the bill for the two that follow.

So what?

Three flats, three Raspberry Pis, three weeks:

09.08.2026   Merano       the first
28.08.2026   Vienna       the second
29.08.2026   Kapfenberg   the third

Of that first one, no automation survives in the form it had back then. What survives is a port number, a key that works because one here did not — and a sentence about assumptions that now sits in the project folder three times over.

The other two installations together cost less than this single one. That is the price of being first, and it is entirely acceptable as long as somebody is taking notes.