Everstra Hub — Setup guide
Connect Everstra Hub on your Axis camera to Home Assistant — securely, with MQTT over TLS, and across sites with Tailscale if you need it.
What you need · 1. Tailscale · 2. Broker with TLS · 3. Certificate in Hub · 4. Broker in Hub · 5. Security levels · Done · Troubleshooting
What you need
- Home Assistant with the Mosquitto broker add-on and the MQTT integration.
- The Tailscale VPN ACAP on the camera — only if the camera and Home Assistant are at different sites. On the same network you can skip step 1. A third-party project, not made by Everstra.
- Everstra Hub installed on the camera.
1. Tailscale (access across sites)
Tailscale puts the camera and your Home Assistant machine into one private network (a tailnet), without opening ports on your router.
- Install Tailscale on the Home Assistant machine (for example the Tailscale add-on) and sign in. Note its Tailscale address — it starts with
100.. - Install the Tailscale VPN ACAP on the camera and connect it with an auth key from the Tailscale admin console. It is a third-party community project, not made or supported by Everstra — its installation, updates and behaviour are the responsibility of its authors.
- In the ACAP's settings, note the HTTP proxy port (
HttpProxyPort, default8080). Hub uses that one — not the SOCKS5 port (1080).
Why a proxy at all? On the camera, Tailscale runs as an app and offers a proxy, not a network interface. Without the proxy, the camera has no route to a 100.x address and the connection simply times out.
2. MQTT broker with TLS
Open a terminal
- In your Home Assistant user profile, switch on Advanced mode — without it the terminal add-ons do not appear in the add-on store.
- In the add-on store, install and start Advanced SSH & Web Terminal (or the official Terminal & SSH).
- Open the add-on's web UI — a terminal on Home Assistant.
- Make sure OpenSSL is available:
apk add openssl
The add-on runs in a container that is rebuilt when it restarts, so a package added with apk is gone afterwards — run the command again if you need openssl later. The certificate files you create in /ssl/ are not affected; they stay.
Create a certificate
In that terminal, create a self-signed certificate. Replace 100.101.102.103 with the exact address Hub will connect to — the Tailscale address from step 1, or the LAN address if both are on the same network:
openssl req -x509 -newkey rsa:2048 -nodes -days 3650 \
-keyout /ssl/mqtt.key -out /ssl/mqtt.crt \
-subj "/CN=100.101.102.103" \
-addext "subjectAltName=IP:100.101.102.103"
This writes mqtt.key (the private key — it stays on Home Assistant) and mqtt.crt (the certificate — this is what Hub gets) into /ssl/ — no need to move anything afterwards.
ls /ssl showing mqtt.crt and mqtt.key.Configure the Mosquitto add-on
- In the Mosquitto broker add-on's configuration, set the certificate files (names are relative to
/ssl/):certfile: mqtt.crt keyfile: mqtt.key require_certificate: false - Make sure port
8883(MQTT over TLS) is enabled in the add-on's network settings, then restart the add-on. Its log should show a listener on port 8883. - Create a login for Hub: a dedicated Home Assistant user (Settings → People → Users), or an entry under
loginsin the add-on configuration.
3. Certificate in Hub
- Get
mqtt.crtonto your computer — through the Samba share add-on (folderssl), or runcat /ssl/mqtt.crtin the terminal and save everything from-----BEGIN CERTIFICATE-----to-----END CERTIFICATE-----as a text file namedmqtt.crt. - In Hub, open Connection → Certificate, choose the file under Broker certificate (PEM) and click Upload. Hub shows Certificate stored.
Upload mqtt.crt only. The key file mqtt.key never leaves Home Assistant.
4. Broker in Hub
On the same Connection page:
| Host | The address from the certificate — e.g. the Tailscale address of Home Assistant |
| Port | 8883 |
| Use TLS | on |
| User / Password | the login from step 2 |
| Verify the broker's certificate | on |
| Use proxy | on with Tailscale (HTTP proxy 127.0.0.1, port 8080); off on the same network |
Click Save. Hub connects right away — the Status card at the top shows the result.
5. The three security levels
Use TLS on, verify on, broker certificate uploaded. The connection is encrypted and Hub checks that it really talks to your broker. This is the setup in this guide.
Use TLS on, verify off. Encrypted, but Hub accepts any certificate — whoever can answer on that address is believed. Hub shows a warning. Upload the certificate and switch verification back on when you can.
Use TLS off, usually port 1883. Module status and the broker password travel in clear text. Only in a network you trust — or through Tailscale, which encrypts the path, though the broker still receives plain MQTT.
Done
Hub's Status card shows MQTT connected. In Home Assistant, under Settings → Devices & services → MQTT, a device Everstra (…) appears with the module and camera sensors. Which camera values Hub sends is chosen on Hub's Home Assistant tab.
Troubleshooting
- Status stays on "connecting", nothing in the log explains it
- The proxy port is the SOCKS5 port (
1080) instead of the HTTP proxy port (8080) — or the host is a Tailscale address and Use proxy is off. Hub cannot speak SOCKS5; that connection never completes. - "certificate verify failed"
- The address in the certificate does not match the Host in Hub — for example the certificate was made for the LAN address, but Hub connects through Tailscale. Create the certificate again with the address Hub actually uses (step 2) and upload the new
mqtt.crt. Also check that you uploadedmqtt.crtfrom the same broker. - TLS error or "connection refused" on port 8883
- The broker offers no TLS on 8883:
certfile/keyfileare not set, the files are not in/ssl/, or port 8883 is not enabled in the add-on. The Mosquitto add-on's log shows whether a listener on 8883 was opened. - "broker refused: bad username or password" or "not authorised"
- The login is missing or the password in Hub is wrong. Create the user from step 2 again, then enter the password in Hub once more and save.
Still stuck? Get in touch — contact details are in the imprint.
Was du brauchst · 1. Tailscale · 2. Broker mit TLS · 3. Zertifikat in Hub · 4. Broker in Hub · 5. Sicherheitsstufen · Fertig · Fehlersuche
Was du brauchst
- Home Assistant mit dem Add-on Mosquitto broker und der MQTT-Integration.
- Die Tailscale-VPN-ACAP auf der Kamera — nur, wenn Kamera und Home Assistant an verschiedenen Standorten stehen. Im selben Netz entfällt Schritt 1. Ein Projekt eines Drittanbieters, nicht von Everstra.
- Everstra Hub auf der Kamera installiert.
1. Tailscale (Zugriff über Standorte hinweg)
Tailscale bringt die Kamera und deinen Home-Assistant-Rechner in ein gemeinsames privates Netz (ein Tailnet), ohne Ports am Router zu öffnen.
- Tailscale auf dem Home-Assistant-Rechner installieren (zum Beispiel das Tailscale-Add-on) und anmelden. Die Tailscale-Adresse notieren — sie beginnt mit
100.. - Die ACAP Tailscale VPN auf der Kamera installieren und mit einem Auth-Key aus der Tailscale-Admin-Konsole verbinden. Sie ist ein Community-Projekt eines Drittanbieters, nicht von Everstra entwickelt oder betreut — für Installation, Updates und Verhalten sind ihre Autoren verantwortlich.
- In den Einstellungen der ACAP den HTTP-Proxy-Port notieren (
HttpProxyPort, Standard8080). Diesen nutzt Hub — nicht den SOCKS5-Port (1080).
Warum überhaupt ein Proxy? Auf der Kamera läuft Tailscale als App und bietet einen Proxy an, keine Netzwerkschnittstelle. Ohne Proxy hat die Kamera keinen Weg zu einer 100.x-Adresse, und die Verbindung läuft einfach in einen Timeout.
2. MQTT-Broker mit TLS
Terminal öffnen
- Im Home-Assistant-Benutzerprofil den Erweiterten Modus (Advanced mode) einschalten — ohne ihn erscheinen die Terminal-Add-ons nicht im Add-on-Store.
- Im Add-on-Store Advanced SSH & Web Terminal (oder das offizielle Terminal & SSH) installieren und starten.
- Die Web-Oberfläche des Add-ons öffnen — ein Terminal auf Home Assistant.
- OpenSSL bereitstellen:
apk add openssl
Das Add-on läuft in einem Container, der bei jedem Neustart neu aufgebaut wird; ein mit apk installiertes Paket ist danach wieder weg — den Befehl dann einfach erneut ausführen, falls openssl später noch gebraucht wird. Die erzeugten Zertifikatsdateien in /ssl/ betrifft das nicht; sie bleiben erhalten.
Zertifikat erzeugen
In diesem Terminal ein selbstsigniertes Zertifikat erzeugen. 100.101.102.103 durch genau die Adresse ersetzen, mit der Hub sich verbinden wird — die Tailscale-Adresse aus Schritt 1 oder die LAN-Adresse, wenn beide im selben Netz sind:
openssl req -x509 -newkey rsa:2048 -nodes -days 3650 \
-keyout /ssl/mqtt.key -out /ssl/mqtt.crt \
-subj "/CN=100.101.102.103" \
-addext "subjectAltName=IP:100.101.102.103"
Das legt mqtt.key (den privaten Schlüssel — er bleibt auf Home Assistant) und mqtt.crt (das Zertifikat — das bekommt Hub) in /ssl/ ab — verschieben ist danach nicht nötig.
ls /ssl zeigt mqtt.crt und mqtt.key.Mosquitto-Add-on einrichten
- In der Konfiguration des Add-ons Mosquitto broker die Zertifikatsdateien eintragen (Namen relativ zu
/ssl/):certfile: mqtt.crt keyfile: mqtt.key require_certificate: false - Sicherstellen, dass Port
8883(MQTT über TLS) in den Netzwerk-Einstellungen des Add-ons aktiv ist, dann das Add-on neu starten. Im Log sollte ein Listener auf Port 8883 auftauchen. - Einen Login für Hub anlegen: einen eigenen Home-Assistant-Benutzer (Einstellungen → Personen → Benutzer) oder einen Eintrag unter
loginsin der Add-on-Konfiguration.
3. Zertifikat in Hub
mqtt.crtauf den eigenen Rechner holen — über das Samba-Share-Add-on (Ordnerssl), oder im Terminalcat /ssl/mqtt.crtausführen und alles von-----BEGIN CERTIFICATE-----bis-----END CERTIFICATE-----als Textdateimqtt.crtspeichern.- In Hub Connection → Certificate öffnen, die Datei unter Broker certificate (PEM) wählen und Upload klicken. Hub zeigt Certificate stored.
Nur mqtt.crt hochladen. Die Schlüsseldatei mqtt.key verlässt Home Assistant nie.
4. Broker in Hub eintragen
Auf derselben Seite Connection:
| Host | Die Adresse aus dem Zertifikat — z. B. die Tailscale-Adresse von Home Assistant |
| Port | 8883 |
| Use TLS | an |
| User / Password | der Login aus Schritt 2 |
| Verify the broker's certificate | an |
| Use proxy | an mit Tailscale (HTTP-Proxy 127.0.0.1, Port 8080); aus im selben Netz |
Save klicken. Hub verbindet sofort — die Status-Karte oben zeigt das Ergebnis.
5. Die drei Sicherheitsstufen
Use TLS an, Prüfung an, Broker-Zertifikat hochgeladen. Die Verbindung ist verschlüsselt, und Hub prüft, dass sie wirklich mit deinem Broker spricht. Das ist die Einrichtung dieser Anleitung.
Use TLS an, Prüfung aus. Verschlüsselt, aber Hub akzeptiert jedes Zertifikat — wer auf dieser Adresse antwortet, dem wird geglaubt. Hub zeigt eine Warnung. Sobald möglich Zertifikat hochladen und die Prüfung wieder einschalten.
Use TLS aus, meist Port 1883. Modulstatus und Broker-Passwort gehen im Klartext. Nur in einem Netz, dem du vertraust — oder über Tailscale, das den Weg verschlüsselt; beim Broker kommt trotzdem unverschlüsseltes MQTT an.
Fertig
Die Status-Karte in Hub zeigt MQTT connected. In Home Assistant erscheint unter Einstellungen → Geräte & Dienste → MQTT ein Gerät Everstra (…) mit den Modul- und Kamera-Sensoren. Welche Kamerawerte Hub sendet, wählst du im Tab Home Assistant von Hub.
Fehlersuche
- Status bleibt auf „connecting", das Log erklärt nichts
- Als Proxy-Port ist der SOCKS5-Port (
1080) eingetragen statt des HTTP-Proxy-Ports (8080) — oder der Host ist eine Tailscale-Adresse und Use proxy ist aus. Hub kann kein SOCKS5; so kommt die Verbindung nie zustande. - „certificate verify failed"
- Die Adresse im Zertifikat passt nicht zum Host in Hub — zum Beispiel wurde das Zertifikat für die LAN-Adresse erzeugt, Hub verbindet aber über Tailscale. Zertifikat mit der Adresse neu erzeugen, die Hub tatsächlich nutzt (Schritt 2), und das neue
mqtt.crthochladen. Außerdem prüfen, dassmqtt.crtvom selben Broker stammt. - TLS-Fehler oder „connection refused" auf Port 8883
- Der Broker bietet auf 8883 kein TLS an:
certfile/keyfilefehlen, die Dateien liegen nicht in/ssl/, oder Port 8883 ist im Add-on nicht aktiv. Das Log des Mosquitto-Add-ons zeigt, ob ein Listener auf 8883 geöffnet wurde. - „broker refused: bad username or password" oder „not authorised"
- Der Login fehlt oder das Passwort in Hub ist falsch. Den Benutzer aus Schritt 2 neu anlegen, das Passwort in Hub noch einmal eintragen und speichern.
Kommst du nicht weiter? Melde dich — die Kontaktdaten stehen im Impressum.