Řešení problémů
Když něco nefunguje, postupujte po vrstvách odspodu nahoru — od napájení přes sběrnici a sériový port až po aplikace. Každá kapitola končí stavem, který musí platit, než má smysl pokračovat na další vrstvu.
graph LR
A[1. Napájení] --> B[2. Sběrnice RS-485]
B --> C[3. Linux — sériový port]
C --> D[4. Majordomus Control]
D --> E[5. MQTT]
E --> F[6. Home Assistant]
1. Napájení
Co zkontrolovat:
- Svítí/žije jednotka? RoomSensor po připojení napájení rozsvítí displej. BoxIO má LED indikaci.
- Změřte multimetrem napětí přímo na svorkách jednotky (ne u zdroje) — na dlouhém UTP kabelu vzniká úbytek. Napětí musí být v pracovním rozsahu jednotky (RoomSensor 7–27 V, RoomIO 6–30 V, BoxIO 10–30 V).
- Zkontrolujte polaritu — vodiče 12V a GND.
- Pokud je napětí u zdroje v pořádku, ale na jednotce ne: zkrat na lince, nebo příliš tenký/dlouhý kabel. Převodník RS485 2 USB má vratnou pojistku — při zkratu odpojí napájení linky a po odstranění zkratu se sama obnoví.
✅ Dál pokračujte, až má každá jednotka na svorkách napětí v pracovním rozsahu.
2. Sběrnice RS-485 a převodník
Převodník RS485 2 USB má indikační LED pro TX a RX — to je nejrychlejší diagnostika sběrnice:
| TX | RX | Význam |
|---|---|---|
| bliká | bliká | Vše v pořádku — master se ptá, jednotky odpovídají |
| bliká | nesvítí | Dotazy odchází, ale nikdo neodpovídá → problém na lince nebo v jednotkách |
| nesvítí | nesvítí | Majordomus Control nekomunikuje → pokračujte kapitolou 3 a 4 |
Když TX bliká a RX ne:
- Prohozené vodiče A a B — nejčastější chyba. Zkuste je na převodníku prohodit.
- Zkontrolujte průchodnost vodičů A a B po celé délce linky (jednotky jsou zapojené průběžně — přerušení uprostřed odpojí všechny další).
- Zkontrolujte zakončovací odpor — na převodníku se aktivuje jumperem.
- Zkuste jednotku připojit napřímo krátkým kabelem na stole — oddělíte tak problém kabeláže od problému jednotky.
- Neodpovídá jen jedna jednotka? Může mít špatné/duplicitní
id— viz Autodetect v kapitole 4.
✅ Dál pokračujte, až blikají obě LED.
3. Linux — sériový port
Vidí systém převodník?
ls /dev/ttyUSB*
Měl by se zobrazit /dev/ttyUSB0 (případně další). Pokud ne:
# je převodník vidět na USB? (čip FTDI FT230X)
lsusb | grep -i ftdi
# co se stalo po připojení kabelu?
sudo dmesg | tail -20
lsusbpřevodník nevidí → problém s USB kabelem (zkuste jiný — některé USB-C kabely jsou jen napájecí), portem nebo převodníkem.lsusbho vidí, ale/dev/ttyUSB0neexistuje → na desktopových distribucích port často zabírá službabrltty(podpora braillských řádků). Odinstalujte ji:sudo apt remove brlttya převodník znovu připojte.
Máte práva k portu? Uživatel musí být ve skupině dialout:
groups # je tam "dialout"?
sudo usermod -a -G dialout $USER # přidání; poté se odhlaste a přihlaste
Nesahá na port něco jiného? Port může držet jen jedna aplikace současně:
sudo fuser -v /dev/ttyUSB0
Více převodníků
Čísla ttyUSB0, ttyUSB1... se přidělují podle pořadí připojení a po restartu se mohou prohodit. Pokud máte více linek, ověřte, který port patří které lince (odpojte/připojte převodník a sledujte dmesg).
✅ Dál pokračujte, až existuje /dev/ttyUSB0 a jste ve skupině dialout.
4. Majordomus Control (port 8899)
Otevřete webové rozhraní http://<IP_ADRESA>:8899.
Stránka se nenačte?
# běží služba?
sudo systemctl status majordomus
# poslouchá na portu?
ss -tlnp | grep 8899
Projděte log služby: journalctl -u majordomus -e. Typická chyba je špatný název sériového portu v konfiguraci nebo port obsazený jinou aplikací.
Stránka běží — zkontrolujte zařízení:
- V sekci Devices je u každého zařízení stav online / offline.
- Zařízení offline? Zkontrolujte, že souhlasí id zařízení (rozlišuje velikost písmen), typ a sériový port (linka), na kterém je připojené.
Autodetect — nechte zařízení najít automaticky
V sekci konfigurace klikněte na 🔍 Autodetect. Majordomus Control projde všechny sériové porty, osloví zařízení na sběrnici a nabídne nalezenou konfiguraci (porty, id a typy zařízení) k uložení. Je to nejrychlejší způsob, jak zjistit, „co na lince opravdu je".
- Zařízení se objevuje a mizí (střídá online/offline)? Podezření na duplicitní id dvou jednotek nebo rušení na dlouhé lince (zkontrolujte zakončovací odpor a kvalitu kabelu).
✅ Dál pokračujte, až jsou všechna zařízení online.
5. MQTT
Běží broker a chodí do něj data?
sudo systemctl status mosquitto
# sledování všech témat Majordomu
mosquitto_sub -h localhost -t "majordomus/#" -v
- Zprávy chodí → MQTT vrstva je v pořádku, pokračujte kapitolou 6.
- Nic nechodí → zkontrolujte v Majordomus Control sekci MQTT Broker: adresu (
tcp://localhost:1883), uživatelské jméno a heslo. Chybu připojení uvidíte v logu (journalctl -u majordomus -e). - Connection refused → broker neběží, poslouchá jen na jiné adrese, nebo blokuje anonymní přístup (viz
/etc/mosquitto/mosquitto.conf).
Test ovládání — zapněte výstup ručně:
mosquitto_pub -h localhost -t "majordomus/<zařízení>/cmd/do0" -m "1"
✅ Dál pokračujte, až v mosquitto_sub vidíte proud zpráv.
6. Home Assistant
Zařízení se v HA neobjevují?
- V Majordomus Control musí být povolená Home Assistant Integration (u doplňku volba
ha_discovery: true). - Home Assistant musí být připojený ke stejnému brokeru — Nastavení → Zařízení a služby → MQTT.
- Discovery prefix musí souhlasit (
homeassistant/na obou stranách). - Ověřte, že discovery zprávy odchází:
mosquitto_sub -h localhost -t "homeassistant/#" -v— po restartu Majordomus Control se musí zobrazitconfigzprávy.
Entity existují, ale jsou „nedostupné" (unavailable)?
- Zařízení je offline na RS-485 (téma
state/online=offline) → vraťte se ke kapitole 4. - Hodnota
NaNu konkrétního senzoru = senzor není osazen/připojen — to je v pořádku.
Rychlá tabulka nejčastějších problémů
| Příznak | Nejčastější příčina | Řešení |
|---|---|---|
| Jednotka nejeví známky života | Úbytek napětí na kabelu, přehozená polarita | Změřit napětí na svorkách jednotky |
| TX bliká, RX ne | Prohozené vodiče A/B | Prohodit A a B |
Chybí /dev/ttyUSB0 |
Nabíjecí USB kabel, brltty |
Vyměnit kabel, sudo apt remove brltty |
| „Permission denied" na portu | Uživatel není v dialout |
sudo usermod -a -G dialout $USER + přihlásit znovu |
| Zařízení offline v aplikaci | Špatné id / typ / port v konfiguraci | Spustit Autodetect |
| Zařízení střídá online/offline | Duplicitní id, rušení na lince | newId5050, zakončovací odpor, kabeláž |
| Žádná data v MQTT | Špatná adresa/přihlášení k brokeru | Zkontrolovat sekci MQTT Broker + log |
| Zařízení nejsou v HA | Vypnuté discovery, jiný broker | Zapnout HA integraci, ověřit MQTT integraci v HA |