# \[TUTORIAL\] How to install Telldus Live local control

**URL:** <https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591>\
**Category:** Tutorials\
**Tags:** homey-pro\
**Created:** [December 11, 2023, 10:18pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591 "2023-12-11T22:18:42Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Johanneso](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johanneso/32/70273_2.png) [@Johanneso](https://community.homey.app/u/Johanneso)\
**Post date:** [December 11, 2023, 10:18pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/1 "2023-12-11T22:18:42Z")

</div>

The excellent Telldus Live app by Bjørnar Amli can access and control Telldus systems via their online API. However, that’s been… spotty at best of late, and luckily it also allows for local control if you have a compatible Telldus unit like the Telldus ZNET lite v2. We just need to generate an access token.  
Here’s what you need to do. I’m using a macOS system.

1. In your router’s interface, check the IP address of the ZNET v2, and consider using a fixed IP for the unit since we’ll be configuring the IP address in the Telldus Live app.
2. Go to [Download | Node.js](https://nodejs.org/en/download) to download the current macOS version, just click the Apple symbol.
3. Open the downloaded pkg file and install Node.js with your admin account on the computer.
4. Open a Terminal (just click the Spotlight icon and search for “Terminal”), type "the following:

```auto
sudo npm install npm --global

```

Enter your password and press enter. Now NPM (Node Package Manager) will be installed.  
5. After NPM is installed, enter this command to install Telldus-local-auth:

```auto
sudo npm i -g telldus-local-auth

```

1. We’re getting close. Now, enter this command to use Telldus-local-auth, and replace with, you know, the IP address of the ZNET v2:

```auto
telldus-local-auth IP.OF.YOUR.DEVICE HomeyLocal

```

1. A webpage should open in a browser. Log in with your username and password to Telldus Live!, select “One year” and “Auto renew access”, and click on “Authorize”.
2. Go back to the terminal, and you will see the access token in white letters with black background. Select it in the Terminal and copy it as you would anywhere else on a Mac.
3. On your Homey Pro, install the Telldus Live app, go to Add new device and select the Telldus Live App. Choose the Telldus Local device here and next, press Connect.  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/5/35357c2252a0c26fbaa4c7168e9ae982090aecce.png)
4. Enter the IP address of the ZNET v2, and paste the Access token you generated in the terminal.  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/4/74219a74340a9a8d2ded5117f598cf2211e2e761.png)
5. You should now have a Telldus Local device. However, you can’t really do anything with it. No, what you need to do next is add your actual devices. Click on Add device in Homey again, choose the Telldus Live app and this time, choose a Telldus Bulb, Telldus Sensor or Telldus Switch. Click Connect.
6. Select the Devices you want to add and click Continue. Now, enjoy your locally controlled Telldus devices 🙂

All cred here goes to @balmli for his excellent app and his instructions. I just wanted to flesh them out a bit after I tried this myself.

---

<div class="post-metadata">

**Author:** ![Paxman](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/paxman/32/128050_2.png) [@Paxman](https://community.homey.app/u/Paxman)\
**Post date:** [December 14, 2023, 6:00pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/2 "2023-12-14T18:00:50Z")

</div>

Thank you for laying this out for us idiots! 😄

However…I get stuck at step 6.

Everything went well (I think) up to that step. I copied your string and replaced the “IP OF YOUR DEVICE” with my ZNET 2 (fixed) IP and get “zsh: no such file or directory:” in Terminal.

What have I done wrong? 🫣

EDIT: Disregard the error. I didn’t know that I should remove the brackets around “IP OF YOUR DEVICE”…as I said…idiot. 😆

Now I have the Tells Live Local! I would never have managed to do this on my own, so thank you again Johanneso!

---

<div class="post-metadata">

**Author:** ![Johanneso](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johanneso/32/70273_2.png) [@Johanneso](https://community.homey.app/u/Johanneso)\
**Post date:** [December 14, 2023, 8:49pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/3 "2023-12-14T20:49:03Z")

</div>

Great to hear that it helped someone! I’ll clarify the need to remove the brackets 🙂

---

<div class="post-metadata">

**Author:** ![PeeGee](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peegee/32/81084_2.png) [@PeeGee](https://community.homey.app/u/PeeGee)\
**Post date:** [April 28, 2024, 4:47pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/4 "2024-04-28T16:47:48Z")

</div>

Thanks for a great guide!

I’m using Telldus Live on my Homey Pro today but I think the refresh rate of the sensors are a bit to long, sometimes it can be a couple of hours between refreshes.

So I’m thinking of trying to run in locally instead and have followed the guide in this thread but 'm getting an error at point 7 when the broswer is getting triggered:

## 404 Not Found

The path ‘/tellduslive/authorize’ was not found.

Traceback (most recent call last): File “/usr/lib/python2.7/site-packages/cherrypy/\_cprequest.py”, line 670, in respond File “/usr/lib/python2.7/site-packages/cherrypy/lib/encoding.py”, line 217, in **call** File “/usr/lib/python2.7/site-packages/cherrypy/\_cpdispatch.py”, line 61, in **call** File “/usr/lib/python2.7/site-packages/web/base/Server.py”, line 230, in **call** File “/usr/lib/python2.7/site-packages/web/base/Server.py”, line 202, in handle NotFound: (404, “The path ‘/tellduslive/authorize’ was not found.”)

Powered by [CherryPy 3.7.0](http://www.cherrypy.org/)

Anyone else having the same problem?  
What can I do to get around this error?

I have tried to run the URL in Chrome, Safari and Firefox with the same results.

Thanks guys!

---

<div class="post-metadata">

**Author:** ![Sabe](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sabe/32/49393_2.png) [@Sabe](https://community.homey.app/u/Sabe)\
**Post date:** [June 17, 2024, 8:14am UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/5 "2024-06-17T08:14:52Z")

</div>

Time to do a yearly new connection and i got the same problem.

Have you solved it?

---

<div class="post-metadata">

**Author:** ![Sabe](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sabe/32/49393_2.png) [@Sabe](https://community.homey.app/u/Sabe)\
**Post date:** [June 17, 2024, 11:31am UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/6 "2024-06-17T11:31:16Z")

</div>

I got this information from telldus and it worked.

If you are experiencing issues with local control not working, it may be due to browser-specific settings. While our login page supports secure (HTTPS) connections, the local login does not necessitate this secure protocol, potentially causing discrepancies in functionality.

**Follow these steps to resolve the issue:**

- **Adjust Browser Settings:**
- Open your browser settings.
- Enable support for HTTP mode to allow local login.
- **Clear Cache and Cookies:**
- If adjusting the browser settings does not resolve the issue:
- Clear your browser’s cache and cookies.
- Modify the login URL from HTTPS to HTTP when logging in with your IP address.

**Browser Compatibility:**

- Local control has been tested and works correctly on Mozilla Firefox and Apple Safari.
- Please note: Google Chrome does not currently support HTTP mode, which may lead to issues with local control.

---

<div class="post-metadata">

**Author:** ![Grete](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/grete/32/113771_2.png) [@Grete](https://community.homey.app/u/Grete)\
**Post date:** [August 25, 2024, 1:30pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/7 "2024-08-25T13:30:50Z")

</div>

I’m already stuck on post 4… 😳 I installed the program v.20.17.0 for Windows 10 running 64, then opened Terminal (cmd) but when I type

> sudo npm install npm --global

I only get the response

> ’ sudo’ is not recognized as an internal or external command, operable program or batch file

Then I read that you shouldn’t use sudo together with npm, because it can cause a lot of trouble - I don’t know, but it sounded convincing … - and then I read something about npm being included in node.js. But I actually don’t know what I’m talking about - help…  
What do I do now? 🤔

---

<div class="post-metadata">

**Author:** ![Antohagg](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/antohagg/32/48013_2.png) [@Antohagg](https://community.homey.app/u/Antohagg)\
**Post date:** [December 5, 2024, 2:46pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/8 "2024-12-05T14:46:53Z")

</div>

Do you know if there is a way to refresh the token or is it just to generate a New from scratch every year?

---

<div class="post-metadata">

**Author:** ![Sabe](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sabe/32/49393_2.png) [@Sabe](https://community.homey.app/u/Sabe)\
**Post date:** [December 5, 2024, 3:08pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/9 "2024-12-05T15:08:27Z")

</div>

What i know its a new for every year

---

<div class="post-metadata">

**Author:** ![Johanneso](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johanneso/32/70273_2.png) [@Johanneso](https://community.homey.app/u/Johanneso)\
**Post date:** [December 16, 2024, 11:10pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/10 "2024-12-16T23:10:42Z")

</div>

I just had to renew my token and had some issues with the browser not finding the code needed after logging in. Luckily it was resolved by using Chrome rather than Safari this time.  
I also seemed to need to remove the old Telldus Local master device, then add the new one with this year’s authorisation. That made the actual 433 MHz device start working again.

---

<div class="post-metadata">

**Author:** ![Johanneso](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/johanneso/32/70273_2.png) [@Johanneso](https://community.homey.app/u/Johanneso)\
**Post date:** [December 16, 2024, 11:14pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/11 "2024-12-16T23:14:56Z")

</div>

Hi @Grete , I think you might be trying to use macOS commands on windows - the guide is written for macOS which I’m using, sorry. That said, I think it could still be useful for you since I think the Node.js application “Telldus-local-auth” will work whether it’s on mac or windows or anything else as long as it’s running Node.js.  
I would guess to try to install Node.js and Node Packet Manager, then in NPM install tells-local-auth.  
After that, I hope the rest of the guide applies.

---

<div class="post-metadata">

**Author:** ![geronimodkj](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/geronimodkj/32/79161_2.png) [@geronimodkj](https://community.homey.app/u/geronimodkj)\
**Post date:** [September 23, 2025, 8:21pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/12 "2025-09-23T20:21:14Z")

</div>

I had my local telldus stop work. I only needed to repeat this step (as I’m on the same computer as last year)

telldus-local-auth IP.OF.YOUR.DEVICE HomeyLocal

Then removed telldus local and added a new one. Worked like a charm directly.

---

<div class="post-metadata">

**Author:** ![Antohagg](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/antohagg/32/48013_2.png) [@Antohagg](https://community.homey.app/u/Antohagg)\
**Post date:** [January 4, 2026, 6:50pm UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/13 "2026-01-04T18:50:11Z")

</div>

If anyone is interested, this way also works. You can then also refresh the token before it expires.

> **[Authentication — Telldus TellStick v1.3.0-59-g457160d
 documentation](https://tellstick-server.readthedocs.io/en/latest/api/authentication.html)**

---

<div class="post-metadata">

**Author:** ![Ny\_medlem](https://avatars.discourse-cdn.com/v4/letter/n/839c29/32.png) [@Ny\_medlem](https://community.homey.app/u/Ny_medlem)\
**Post date:** [September 2, 2026, 8:50am UTC](https://community.homey.app/t/tutorial-how-to-install-telldus-live-local-control/97591/14 "2026-09-02T08:50:34Z")

</div>

Hi,  
I summarized a quick guide for first-time users, or for anyone who needs to redo this every year and might have forgotten how:

### Step 1: Software Installation & Setup

1. **Install Node.js:**

2. **Open Command Prompt:**

3. **Update npm:**

4. **Install Telldus Local Auth:**

### Step 2: Generate Authentication Token

1. Run the authorization command (replace `<IP DEVICE OF YOUR DEVICE>` with your device’s actual IP address):

2. Copy the authorization link from the command prompt.

### Step 3: Authorize Access

1. Install and open the **Pale Moon** web browser.
2. Open a **New Private Window**.
3. Paste the generated authorization URL from Step 2 into the address bar.
4. Log in to your Telldus account.
5. Select **“One year”** and check **“Auto renew access”** , then click **Authorize**.

### Step 4: Homey Configuration

1. **Remove Old Device:** If you already have an older Telldus Local device set up in Homey, remove/delete it first.
2. **Install App:** Install the **Telldus Local** app on your Homey.
3. **Add Device:** Add a new Telldus Local device in Homey and enter your IP address and the generated token.

**Done!**
