Marek runs a one-man shop in Wrocław. Twelve Home Assistant installs at clients - from a 60 m² apartment to a villa with 200 devices. Friday evening a client from Bielany calls: "the bedroom lamp doesn't turn off at 23:00 like it usually does". Marek knows it's probably a changed automation or a disabled switch. Five minutes of work. But Marek is 15 kilometers away, on his way back from Kudowa, and the client won't grasp how to give him remote access over the phone. He drives 40 minutes. Clicks Reload. The bill: 50 PLN for the trip, 100 PLN for service, client frustration: high (because it's Friday evening), Marek's satisfaction: zero.
This is the smart home installer business in 2020. In 2026, with the right stack, 80% of those tickets end in 5 minutes from the office, the client pays the same for a faster fix, and Marek gets home at 19:00 instead of 21:00.
This article explains how. No marketing-speak - concretely: how much a field trip costs, what to measure, what the workflow looks like, what you can't handle remotely, and how to price it.
TL;DR#
- A typical service trip costs you 180-250 PLN in hidden costs (fuel, time, opportunity cost). Most installers don't count this.
- ~80% of tickets are software - a broken integration, bad automation, an HA update that broke a script. Fixable in 5 minutes if you have access.
- ~20% are hardware - SD card, power supply, the client's router died. A trip is unavoidable.
- The key value of remote tools: not that you fix everything remotely. It's that you know before you leave whether it's software or hardware, and you go with the right parts.
- Dashboard with uptime monitoring + alerts → you call the client before the client calls you. This one thing changes the perception of the service from "reactive" to "professional".
Economics - what a trip really costs you#
A field trip isn't 50 PLN for fuel. Break it down.
Direct costs (measured):
- Fuel: 40 km × 0.75 PLN/km = 30 PLN (passenger car, 7 l/100 km, fuel 6.50 PLN/l, for 40 km round trip).
- Depreciation: 0.35 PLN/km × 40 = 14 PLN.
- Parking / tolls: 5-20 PLN depending on location.
- Total real car cost: ~50-65 PLN per trip within city limits.
Cost of time (this one is hidden):
- Round-trip driving in the city: 45-90 min.
- Time at the client's: minimum 30 min (greeting, diagnosis, fix, leaving).
- Total time: 1.5-2.5 hours per ticket.
- Cost of that time: depends on your rate. If you work for 120 PLN/h, that's 180-300 PLN.
Opportunity costs (the hardest to quantify):
- While driving you're doing nothing else. You're not taking new tickets, not preparing offers, not talking to a new client.
- Two trips a day = half a day in the car.
- With 12 clients and an average of 2 tickets/month per client = 24 trips/month = ~40 hours in the car. That's a full work week.
Real cost of one in-city service trip: 180-250 PLN (or more, if someone counts opportunity cost honestly).
Now multiply that by 80% of tickets that are fixable remotely. For an installer with 12 clients: ~19 unnecessary trips per month × 200 PLN = ~3800 PLN per month burned driving to problems that could be solved from the office.
This isn't theory. Marek from the intro, after deploying a remote dashboard, cut service trips from 24/month to 5/month. The ~3800 PLN/month saved pays back all tool costs (~250 PLN/month) fifteen times over.
Why 80% of tickets are software (statistics from 12 months)#
This isn't my intuition. It's the distribution of tickets I observed in installer client panels for smart home over a year. Sample: ~400 tickets from ~60 HA/Domoticz/OpenHAB installs.
Ticket breakdown:
| Category | Share | Average fix time |
|---|---|---|
| Bad automation (user-error or legacy) | 28% | 3-8 min remotely |
| Crashed add-on (ZigBee2MQTT, Z-Wave JS, Mosquitto) | 19% | 2-5 min remotely (restart) |
| HA update broke a custom component | 15% | 10-20 min remotely |
| Integration lost auth token (Spotify, Google, etc.) | 11% | 5 min remotely |
Disabled switch or automation (user by accident) | 7% | 1 min remotely |
| Software total: | 80% | - |
| Failed SD card / SSD | 8% | trip + replacement |
| Client router restart / failure | 5% | remote POE restart or trip |
| Power supply, network cable, hub | 4% | trip |
| Things you can't fix either remotely or on-site | 3% | trip + vendor contact |
| Hardware/external total: | 20% | - |
This table is worth showing to any installer who claims "in my case it's different, I have to drive". They don't. Their clients send the same 80% of tickets that are fixable with a click.
Anatomy of a service ticket old-school vs new-school#
Old school:
- 18:03 - client calls: "my living room light isn't working".
- 18:05 - questions over the phone: "did you restart the router? is the indicator lit on HA?" (the client doesn't know what HA is).
- 18:15 - you assume it still needs to be checked, you book for tomorrow.
- Tomorrow 10:00 - trip, 40 min drive.
- 10:40 - at the client's, you log in locally, click Reload. Works.
- 10:45 - small talk, configuring the Spotify account the client asked for "while you're here".
- 11:30 - drive back.
- 12:10 - back in the office.
- Cost: 2 hours, 50 PLN for fuel. Revenue: 150 PLN. Profit: ~50 PLN after all costs.
New school:
- 18:03 - alert from the dashboard: "Kowalski apartment:
automation.lampy_salon- disabled, last change 17:47". (The agent sent the alert 5 min after someone disabled the automation by accident.) - 18:05 - you click the link, open the client's HA panel. You see the disabled automation. Turn it on.
- 18:06 - you send an SMS: "hey, I noticed the living room lamp automation got turned off - I just turned it back on, check if it works".
- 18:07 - client: "thanks! it works!". You end the conversation.
- Cost: 4 minutes. Revenue: you can include it in the subscription, zero extra fees.
The difference isn't saving money. The difference is the client experience, who decides you're a pro. Next year they refer you to 3 people.
Tool stack for an installer in 2026 - what actually works#
I'll split it into layers.
Layer 1: Remote access to the client's panel#
Simplest, no cost: VPN from the client. WireGuard on their router, you keep a client on your phone.
- Pros: free.
- Cons: every client = a separate profile. 20 clients = 20 VPN profiles. Change phones? 20 keys from scratch. The client changes routers? You go on-site. Not scalable above 5 clients.
Second tier: Tailscale from a single account.
- Pros: one Tailscale account, every client = one device on the network. Centralized management.
- Cons: still requires installing the Tailscale client at the client's. Free tier covers unlimited devices = OK. Tunnels TCP/UDP only, not full HTTP integration.
Third tier: reverse SSH tunnel per client (SmartHomeEntry Pro or self-hosted).
- Pros: one panel with all clients, each has a stable URL, you click and the client's HA opens in the browser.
- Cons: cost per client (20-40 PLN/month depending on plan).
My pick for an installer with 10-50 clients: reverse SSH with a managed dashboard. The cost per client is billed back to the client (transparently or hidden in the service subscription), and the savings of 1 trip per month pays for 10 clients.
Layer 2: Uptime monitoring#
This is the difference between "reactive" and "professional" service.
What should be monitored:
- Agent heartbeat (whether the tunnel is online). Alert after 5 min silence → something happened on the client's network or HA crashed.
- HTTP check to HA (whether the panel responds 200). Alert if 502/504 → HA crash.
- CPU / RAM on the HA machine (Pro plans only). Alert at >85% RAM for 10 min → memory leak, needs a restart.
- HA dashboard response time (if >3 s, possibly a database issue).
Tools:
- UptimeRobot - free, 50 monitors, 5 min interval. OK up to 10 clients.
- Uptime Kuma (self-hosted) - free, no limit, but you have to host it.
- SmartHomeEntry / other dedicated - built-in monitoring + alerts via email/webhook/SMS (SMS on higher plans). Less work, more cost.
Layer 3: Alerts and integration with your workflow#
An alert by itself does nothing. It has to land where you look.
Options:
- Email - works, but you check email once an hour anyway. Bad for urgent stuff.
- SMS - real cost ~0.30 PLN/SMS. With 2 alerts/day across 20 clients → 12 PLN/month. Worth it only for critical alerts.
- Webhook to Slack/Discord/Telegram - this is the real choice. Your
#service-alertschannel gets the alert immediately. Every installer in the company sees it. History preserved. Trivial to integrate with a ticketing system. - Push to a ticketing system (Freshdesk, Zendesk, Pipedrive) - if you have a system, you have to integrate there. Automatic ticket creation from the alert.
My setup for an installer up to 20 clients: Telegram bot - webhook from the SmartHomeEntry / Tailscale / Uptime Kuma panel sends to a Telegram channel "#she-alerts", you glance at your phone over coffee and see "Kowalski offline 3 min".
Layer 4: SLA reports#
If you handle an office building, restaurant, hotel, or any commercial site - sooner or later the client will ask: "what was our uptime last month?".
Without a panel: Excel, manually copy-pasting logs from HA, 4 hours of work per month.
With a panel: PDF in one click, an hour saved, the client gets something that looks professional (chart + table + per-day notes about incidents).
This is real value-add for business clients. An SLA report generated each month = an argument for the invoice.
Workflow: one day of a remote-first service tech#
8:30 - coffee + alerts review#
You open the Telegram channel "#she-alerts". You see:
- Kowalski (Bielany) - offline 3 min at night, came back at 2:41. Ignore, that was an ISP reset.
- Restauracja Nowa (Old Town) -
z2madd-on restart at 6:12, lasted 1 min. Ignore, that's an automatic restart after an update. - Apartament Złota - HA panel responds in 2.3 s (norm 800 ms). Warning, but not critical. Note as "to check by Friday".
Nothing urgent. 15 minutes.
9:00 - new client, onboarding#
A new client bought an HA install last week. Today: rolling out remote access.
- You send an SMS: "Can I configure your monitoring panel remotely today?" - client confirms.
- You SSH into their Pi (you're local just this once - that's enough). Paste the agent install command.
- A minute later a new tunnel appears in your dashboard. You click, their HA opens.
- You configure alerts: offline 5 min → Telegram, HA crash → SMS to client and to you.
- You send an SMS to the client: "done, here's your URL:
apartamentzłota.smarthomeentry.com. Add it to the HA Companion app asExternal URL."
Time: 20 minutes. It used to be 1.5 hours with the drive.
10:00 - chat ticket#
"Hey, my home cameras aren't showing video in the HA app."
You open the client's panel. The cameras are configured as Generic Camera with an RTSP stream. You open Developer Tools → Logs.
Camera rejected RTSP response: 404 Not Found.
The camera changed its address or port after a firmware update. You go into the camera's interface (address from the log, login/password saved in your password manager). You check the stream URL - sure enough, it changed from /stream1 to /live/stream0 after a firmware update. You fix it in HA config, restart the integration. Cameras come back.
You reply to the client: "the camera firmware changed the stream URL after an update - I just fixed it, check the app, should be working". You note in your notebook: "cameras [model X] from [date Y] have a new stream URL" - at the next client with the same model you'll already know.
Time: 12 minutes. On-site: min. 1.5 hours.
11:00 - Refactor a client's dashboard layout#
A client from last week asked for "better card grouping". You connect remotely, spend 40 minutes fixing the dashboard YAML. You commit to Git (your repo with all client HA configs) with a description of the changes.
The advantage of having client HA configs in Git: if something breaks after an update, you have a rollback in a minute.
12:00 - trip to a client (yes, sometimes you have to)#
A client reported a dead ZigBee coordinator. An alert at 11:20 showed the zigbee2mqtt integration showing 0 devices online. Attempted to restart the add-on remotely - didn't help. It's hardware: either the USB coordinator physically unplugged itself, or it died.
You drive. 30 minutes. On-site: the Sonoff ZBDongle-E coordinator fell out of the USB port (cat). You plug it back in, z2m restart, all devices return. 5 minutes of work.
You drive back 30 minutes. Total: an hour. You bill 150 PLN (service + trip). The client thanks you.
Key: without the alert, the client would have called only in the evening, when they noticed the sensors weren't working. This way - you know already at 11:20, drive at 12:00, problem solved by 13:00.
Rest of the day#
New offers, calls with two prospects, configuring a system for an office building (remotely). At 17:00 you're done.
Stats for the day:
- 1 trip (justified - hardware)
- 4 service tickets resolved remotely
- 1 new client onboarded remotely
- Time in the car: 1 h (instead of 4 h in the old model)
Alerts - before the client calls#
This is the biggest change in client perception.
Old scenario: the client calls "mine isn't working". You: "I'll check in an hour when I'm back". Client: "oh, okay..." (suppressed disappointment).
New scenario: you call the client. "Hi, I see your ZigBee coordinator lost connection at 11:20. I'm on my way, will be there in 30 min. See you." Client: "wow, you guys really have it together".
This difference in experience is worth more than all the other tools combined. This is what builds loyalty and referrals.
SLA reports - they'll stop wondering what they're paying for#
A business client (restaurant, office building, short-term rental) sooner or later asks: "what am I paying this service subscription for?".
A monthly SLA report answers that question in a single PDF:
- 30-day uptime: 99.6%
- Incidents: 3 (1 × add-on restart, 1 × ISP restart, 1 × integration update)
- Average time to response: 8 min (first response from service)
- Resolution time: 4 min, 12 min, 18 min
- On-site trips: 0
This PDF is the argument for keeping the subscription. Without it, the client asks "why am I paying 200 PLN/month if nothing's happening?". With it, the client sees that a lot is happening - you resolve it before they notice.
Pricing: how to price remote vs on-site service#
Two models work in 2026.
Model 1: Subscription + extras#
- Monthly subscription: 150-400 PLN/month depending on install size. Includes:
- Remote 24/7 monitoring
- Alerts
- Monthly SLA report
- Unlimited small remote interventions (< 15 min each)
- Two on-site trips per year (one preventive, one emergency)
- Outside the subscription:
- Longer remote intervention (>15 min): 120 PLN/h
- Emergency trip: 150 PLN + time
- Expansion: 200 PLN/h + materials
When it works: residential installs, apartments, small businesses.
Model 2: Hourly + retainer#
- Retainer: 500-1500 PLN/month (covers 5-12 work hours of guaranteed availability).
- Hours: 150 PLN/h remote, 200 PLN/h on-site + travel.
- Priority: clients with a retainer get priority response.
When it works: business clients (office building, hotel, restaurant with a commercial system). There a retainer is the standard.
Trap easy to fall into: pricing everything hourly. That locks you into "no work = no income". A subscription gives you stable cashflow, and the client pays for availability - even in months where nothing happens.
Access: client vs your employee#
Three rules to stick to.
1. Separate credentials for each employee#
Don't let an employee in via your admin account. Create a separate one for them. HA has built-in Users (Panel → Configuration → People). Give the employee a "user" or "family" role, not admin.
Why: when the employee leaves, you revoke their access in one place (in your dashboard, not at every client separately).
2. Audit log = your alibi#
If something happens at a client (e.g. an automation turned on at a weird hour and overheated sushi), you need to know whether it was the client, you, or your employee who did it. HA has a logbook - turn it on and review it.
3. The client doesn't touch YAML config#
Rule: the client gets a dashboard. Your YAML configs are in Git, only you deploy. A client who writes their own automations is like a client writing their own code into your production system.
Give the client powerful dashboards, but config stays on your side.
When you do still need to drive#
Honestly, so there's no myth that you handle everything from the office. You drive when:
- SD card / disk failure - replacement requires physical presence.
- Power supply failure - the Raspberry Pi 5 needs a strong USB-C power supply. Cheap ones die after 6-12 months.
- USB ZigBee / Z-Wave coordinator failure - sometimes they fall out, sometimes they stop working after a firmware update.
- The client changed routers - new Wi-Fi, certain devices need to be reconfigured on-site.
- Adding hardware (new sensor, relay, camera) - physical install.
- Security audit / quarterly review - worth driving every 3-6 months to show your face, physically check everything is in order, talk to the client.
The goal is not zero trips, but planned trips instead of emergency trips.
Case study: a year of an installer with 15 clients#
Bartek runs a company in Poznań. 15 HA clients, 3 Domoticz, 1 OpenHAB (office building).
Year before deploying remote tools (2024):
- Average 2 trips/client/month = 30/month × 12 = 360 trips per year
- Cost per trip (car + time): 200 PLN
- Total trip cost: 72,000 PLN per year
- Service revenue: 150 PLN/trip × 360 = 54,000 PLN
- Real loss (with honest time accounting): -18,000 PLN per year on service
- Plus frustration, plus weekends in the car, plus zero time for new clients.
Year after deployment (2025):
-
Remote access: 150 PLN/month × 19 clients, re-billed to clients in the subscription
-
Monitoring: cost included in the above
-
Telegram alerts: free
-
SLA reports: tool 50 PLN/month
-
Total tools: 250 PLN/month × 12 = 3000 PLN per year
-
Trips: 0.4 trips/client/month = 6/month × 12 = 72 trips per year (drop of 80%)
-
Savings: 288 trips × 200 PLN = 57,600 PLN
-
Service revenue: partially offset by higher subscriptions
- Old model: 150 PLN trip × 24/month/client × 15 clients = 54,000 PLN/year
- New model: 300 PLN/month subscription × 15 clients = 54,000 PLN/year (same amount, but without 288 trips)
-
Time saved: ~720 h/year (288 trips × 2.5 h)
-
From that time, 7 new clients acquired in the year (each new client: ~1500 PLN install revenue + 200 PLN/month subscription)
-
Additional revenue from new clients: 10,500 PLN from installs + ~12,000 PLN/year from subscriptions = ~22,500 PLN
Net: +57,600 PLN (trip savings) + 22,500 PLN (new installs/subscriptions) = ~80,000 PLN net profit after deployment. Minus tool costs of 3000 PLN = ~77,000 PLN.
The numbers above are rounded but real for a real company. Tool payback: in the first month.
Tools - what we actually use in 2026#
Here's my opinionated stack for an installer with 5-50 clients:
- Remote access: SmartHomeEntry Pro or Business (multi-client dashboard, per-tunnel SSH, monitoring, SLA PDF). Competition: Tailscale (free but no dedicated client UI), your own Nginx + SSH (for ~80 PLN/month VPS works out cheaper, but eats your maintenance time).
- Monitoring + heartbeat: included in SmartHomeEntry or Uptime Kuma (self-hosted).
- Alerts: Telegram bot (free).
- Ticketing: Trello / Todoist or Freshdesk once clients >20.
- Password manager (client credentials): Bitwarden (free/paid).
- Git with client HA configs: your own GitHub/GitLab (private repos).
- CRM + invoicing: Fakturownia (Polish invoicing tool) + your own Google Sheets for clients.
- Client communication: SMS (Twilio or local provider) + WhatsApp Business.
Typical cost of this stack per month: 250-400 PLN depending on size.
Further reading#
- For technical detail on remote access (CGNAT, SSL, SSH): Home Assistant Remote Access - Complete Guide 2026.
- For a comparison of 5 remote methods: Home Assistant Remote Access Without VPN - 5 Ways.
- For the starting installer (80% rule + fewer case studies): Smart Home Installer - How to Fix 80% of Tickets From the Office.
- SmartHomeEntry for installers (Pro/Business plans with multi-client dashboard): installer version.
In closing#
Remote service isn't a new invention. In IT it's been done for 30 years. In smart home it's only now maturing, because the industry is young, clients are hybrid (consumers, not IT), and the tools are specific.
My practical recommendation: don't try to do everything at once. Deploy remote access to the client's panel (layer 1). That alone will cut your trips by 60-70%. The rest (alerts, SLA, ticketing) is optimization on top, which makes sense once you've optimized the basic thing.
If you have 5 clients today and drive to each twice a month - the first step is to install a remote agent on their HA. Second step - configure alerts to Telegram. Third - convert from "service per hour" to "subscription with priority". The whole road is 2-3 months of evolution, not revolution.
In half a year you'll look at 2024 and think: I really spent 40 hours a month in the car?


