johnlemonse / homebridge-telldus

36 stars 22 forks source link

Switches connected to Telldus Live through TelldusCenter do not work #1

Closed pkempe closed 7 years ago

pkempe commented 8 years ago

I have a couple of self-learning Nexa switches that I connect to Telldus live using a Tellstick Duo. The switches appear all right in Telldus Live. When starting homebridge, I get the log message

'Device "Fönsterlampa" is defined with unsupported model type "unknown", please contact developer or add it yourself and make a pull request.'

Using TelldusCenter 2.1.2 on Mac OS X Yosemite.

johnlemonse commented 8 years ago

I've seen this issue before but never been able reproduce it myself since I don't have any of those devices. However I've tried my best to reproduce it and make it as simple as possible for you to solve.

There is a branch called "unknown-model-support" which I would like you to try. It will be used for updates until it works.

Please follow these instructions to remove the old version and install the branch:

$ sudo npm remove -g homebridge-telldus $ sudo npm install -g git+https://github.com/jchnlemon/homebridge-telldus.git#unknown-model-support

Hopefully you should see something like this:

homebridge-telldus@0.0.3 /usr/local/lib/node_modules/homebridge-telldus └── telldus-live@0.2.1 (underscore@1.5.1, oauth@0.9.14)

Next step is to start homebridge (should result in the same issue that you saw earlier)

$ homebridge *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi. *** WARNING *** Please fix your application to use the native API of Avahi! ... ... Loaded plugin: homebridge-telldus Registering platform 'homebridge-telldus.Telldus' --- Loaded config.json with 0 accessories and 1 platforms. --- Loading 1 platforms... [Telldus Live] Initializing Telldus platform... [Telldus Live] Loading devices... Loading 0 accessories... [Telldus Live] Logged in with user: your@email.com [Telldus Live] Found 1 devices. [Telldus Live] Device "Test" could not be mapped to homebridge-telldus. Device information: {"device":{"id":"968078","name":"Test","state":"2","statevalue":null,"methods":"4","type":"device","client":"132686","protocol":"arctech","model":"selflearning-bell:nexa","online":"1","editable":1,"parameter":[{"name":"house","value":"46421036"},{"name":"unit","value":"1"}],"status":"off"},"name":"Test","id":"968078","model":"selflearning-bell","manufacturer":"nexa"}

Now to the solution that might work. I've added support for a field called "unknown_accessories" : [ ] in config.json, add that to you config-file. The purpose for this field is to define these "unknown" devices to map against a HomeKit service such as lightbulb, doorbell etc... Each device should be defined with id(found in the printed logs on start) and model (see supported models below). For this example (with the printed info above) we should have something like this:

{ "platform": "Telldus", "name": "Telldus Liv!e", "public_key": "telldus public key", "private_key": "telldus private key", "token": "telldus token", "token_secret": "telldus token secret", "unknown_accessories": [ { "id": 968078, "model": "unknown-dimmer" } ] }

Supported models

This should be more flexible, but haven't had time to implement it so that it would be easy to define services with out having to use code.

Please try this and come back to me if it works or not :)! (If it does not work please add the logs).

pkempe commented 8 years ago

Following your instructions below does indeed make it work! The devices appear in the HomeKit app I use, and I can control them as expected. Cheers!

20 nov. 2015 kl. 01:43 skrev John Lemón notifications@github.com:

I've seen this issue before but never been able reproduce it myself since I don't have any of those devices. However I've tried my best to reproduce it and make it as simple as possible for you to solve.

There is a branch called "unknown-model-support" which I would like you to try. It will be used for updates until it works.

Please follow these instructions to remove the old version and install the branch:

$ sudo npm remove -g homebridge-telldus $ sudo npm install -g git+https://github.com/jchnlemon/homebridge-telldus.git#unknown-model-support

Hopefully you should see something like this:

homebridge-telldus@0.0.3 /usr/local/lib/node_modules/homebridge-telldus └── telldus-live@0.2.1 (underscore@1.5.1, oauth@0.9.14)

Next step is to start homebridge (should result in the same issue that you saw earlier)

$ homebridge * WARNING * The program 'node' uses the Apple Bonjour compatibility layer of Avahi. * WARNING * Please fix your application to use the native API of Avahi! ... ... Loaded plugin: homebridge-telldus

Registering platform 'homebridge-telldus.Telldus'

Loaded config.json with 0 accessories and 1 platforms.

Loading 1 platforms... [Telldus Live] Initializing Telldus platform... [Telldus Live] Loading devices... Loading 0 accessories... [Telldus Live] Logged in with user: your@email.com [Telldus Live] Found 1 devices. [Telldus Live] Device "Test" could not be mapped to homebridge-telldus. Device information: {"device":{"id":"968078","name":"Test","state":"2","statevalue":null,"methods":"4","type":"device","client":"132686","protocol":"arctech","model":"selflearning-bell:nexa","online":"1","editable":1,"parameter":[{"name":"house","value":"46421036"},{"name":"unit","value":"1"}],"status":"off"},"name":"Test","id":"968078","model":"selflearning-bell","manufacturer":"nexa"}

Now to the solution that might work. I've added support for a field called "unknown_accessories" : [ ] in config.json, add that to you config-file. The purpose for this field is to define these "unknown" devices to map against a HomeKit service such as lightbulb, doorbell etc... Each device should be defined with id(found in the printed logs on start) and model (see supported models below). For this example (with the printed info above) we should have something like this:

{ "platform": "Telldus", "name": "Telldus Liv!e", "public_key": "telldus public key", "private_key": "telldus private key", "token": "telldus token", "token_secret": "telldus token secret", "unknown_accessories": [ { "id": 968078, "model": "unknown-dimmer" } ] }

Supported models

This should be more flexible, but haven't had time to implement it so that it would be easy to define services with out having to use code.

unknown-switch - on and off unknown-dimmer ´on and off, brightness Please try this and come back to me if it works or not :)! (If it does not work please add the logs).

— Reply to this email directly or view it on GitHub.

johnlemonse commented 8 years ago

Great! I'll try to make a better version of this later. It would be awesome if you could test it when it is ready.

pkempe commented 8 years ago

Sure, just let me know when to do it!

22 nov 2015 kl. 10:41 skrev John Lemón notifications@github.com:

Great! I'll try to make a better version of this later. It would be awesome if you could test it when it is ready.

— Reply to this email directly or view it on GitHub https://github.com/jchnlemon/homebridge-telldus/issues/1#issuecomment-158740317.

tvillingett commented 8 years ago

This works fine for me, it only worked with the dimmer unit on the main branch, but with this all units worked.

tvillingett commented 8 years ago

Now I have updated my setup with a Telldus Znet Lite, and the two units I have added to that one is not working: Motorvärmare2 is a Fibaro Zwave device with power consumption, a FGWPF-102 The other is a normal 433.92MHz device, but mapped to the Znet lite device. I use both that and my old Telldus net, on the same location.

[Telldus Liv!e] Device "Motorvärmare2" could not be mapped to homebridge-telldus. Device information:
{"device":{"id":"1050875","name":"Motorvärmare2","state":"2","statevalue":null,"methods":"3","type":"device","client":"184080","protocol":null,"model":null,"online":"1","editable":1,"parameter":[],"status":"off"},"name":"Motorvärmare2","id":"1050875","model":"unknown","manufacturer":"unknown"}
[Telldus Liv!e] Device "Lysrör garage" could not be mapped to homebridge-telldus. Device information:
{"device":{"id":"1051218","name":"Lysrör garage","state":"2","statevalue":null,"methods":"3","type":"device","client":"184080","protocol":null,"model":null,"online":"1","editable":1,"parameter":[],"status":"off"},"name":"Lysrör garage","id":"1051218","model":"unknown","manufacturer":"unknown"}

It would be great if the power consumption could be taken care of from that switch. It is reported as a power value under sensors, and also together with the switch in the telldus live page now.

gustafnilklint commented 8 years ago

When is this issue going to be resolved "for real" or is this workaround the final solution? I can confirm that it works if you manually add all the switches to the configuration. But this is not dynamic to changes in the telldus setup.. it is cumbersome to manually update the config..

johnlemonse commented 7 years ago

As of now it will be in a separate branch since I haven't figured out a better solution and I'm not very happy with the current one. I will give this project some time end of September/beginning of October and if I can't figure out a better solution, then I will merge this solution. Unfortunately I think it is hard to make it more dynamic.

SpareHook commented 7 years ago

Does this mean that The unknown-model-support approach is The only Way to get this to work at The moment?

johnlemonse commented 7 years ago

Yes

SpareHook commented 7 years ago

Ive tried the above but all devices registers but they are all marked as "no answer" in homekit. When I push any of the devices anyway I get something like "bool changed to 1" or "bool changed to 2"

Nothing else happens.

SpareHook commented 7 years ago

I installed eve on my phone and via eve everything seems to work. But not via homekit app "home"

If I try to change anything like switching a dimmer on via Home (even if it says no response) I get "[Dimmer] Updated state int : 1".

But if I try sending a on command via Eve I get: "[Dimmer] Executing command int : 1"

And it works.

So does this mean that the fault is within how home handles recive and transive commands?

gustafnilklint commented 7 years ago

@SpareHook I have the exact same issue with the "Home"-app. It works with siri and other homeKit apps.. Very Annoying! But olavHaugen claims to have fixed this issue in his fork of this repository: https://github.com/olavhaugen/homebridge-telldus/commit/360e8117f3e7afd955bf0c08a286af084d5f4dd2

olavhaugen commented 7 years ago

Removing the characteristic "get" handler solved it for me, but it was based more on trial and error than anything. A more solid solution would be better.

My fork repository (master branch) also have commits fixing some issues I had with dimming through the Home app. The code now works well with scenarios, but switching on a dimmer through the home app does not work. It had to be disabled in order to make the dimming work.

Well, this works for me, as I'm just using Scenarios, and not turning lights on or off manually. However, I was reluctant to create a pull request from my "experiments", as it still contains bugs.

mifi commented 7 years ago

Big pull request #11 has been merged now, so in master everything should be working now. I'm using this code with unknown dimmers and switches and its working fine.

npm install -g git+https://github.com/jchnlemon/homebridge-telldus.git (NB requires node v4 now)

metalic112 commented 7 years ago

Hi! I use this unsupported branch and it's been working great except getting "no answer" in the Home app (everything else including Siri works). I have my config configured as instructed above with the ID and type of unknown device. Love to get this going if possible.

Updating to the new master, I get the following error: [Sat Oct 15 2016 15:05:16 GMT+0200 (CEST)] [Tells Live!] Found 16 devices in telldus live. [Sat Oct 15 2016 15:05:19 GMT+0200 (CEST)] [Tells Live!] Cannot read property 'split' of null Unhandled rejection TypeError: Cannot read property 'split' of null at Object.TelldusDevice (/usr/local/lib/node_modules/homebridge-telldus/index.js:76:35) at /usr/local/lib/node_modules/homebridge-telldus/index.js:124:46 at Array.map (native) at /usr/local/lib/node_modules/homebridge-telldus/index.js:124:32 at tryCatcher (/usr/local/lib/node_modules/homebridge-telldus/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/homebridge-telldus/node_modules/bluebird/js/release/promise.js:510:31) at Promise._settlePromise (/usr/local/lib/node_modules/homebridge-telldus/node_modules/bluebird/js/release/promise.js:567:18) at Promise._settlePromise0 (/usr/local/lib/node_modules/homebridge-telldus/node_modules/bluebird/js/release/promise.js:612:10) at Promise._settlePromises (/usr/local/lib/node_modules/homebridge-telldus/node_modules/bluebird/js/release/promise.js:691:18) at Async._drainQueue (/usr/local/lib/node_modules/homebridge-telldus/node_modules/bluebird/js/release/async.js:138:16) at Async._drainQueues (/usr/local/lib/node_modules/homebridge-telldus/node_modules/bluebird/js/release/async.js:148:10) at Immediate.Async.drainQueues [as _onImmediate] (/usr/local/lib/node_modules/homebridge-telldus/node_modules/bluebird/js/release/async.js:17:14) at processImmediate [as _immediateCallback] (timers.js:368:17)

mifi commented 7 years ago

Hi. Can you install homebridge from my fork: npm install -g git+https://github.com/mifi/homebridge-telldus.git

And then start homebridge with this environment variable like so: DEBUG=homebridge-telldus homebridge And share the log output here (especially the getDeviceInfo responses)

gustafnilklint commented 7 years ago

If I remember correct, you need to change your config file. The devices used to be specified as "unknown-dimmer" and "unknown-switch". You need to change those into "selflearning-switch" "code-switch" etc.

mifi commented 7 years ago

That's correct @gustafnilklint. For example: "unknown_accessories": [ { "id": 1234, "model": "selflearning-switch", "manufacturer": "Nexa" } Valid models are currently: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity

However I don't think using the wrong model names should cause that error.

metalic112 commented 7 years ago

So I ran with your fork mifi and now everything works fine. The home app is also showing the different lights. I'm attaching the complete log. Is there any difference in running your fork vs the master one?

homebridge-telldus getSensors response +0ms [ { id: '2412590', name: 'badrum', lastUpdated: 1476561001, ignored: 0, client: '138140', clientName: 'Hemma1', online: '1', editable: 0, battery: 254, keepHistory: 0, protocol: 'fineoffset', model: 'temperaturehumidity', sensorId: '167' }, { id: '3884268', name: 'inomhus', lastUpdated: 1476560938, ignored: 0, client: '138140', clientName: 'Hemma1', online: '1', editable: 0, battery: 254, keepHistory: 0, protocol: 'fineoffset', model: 'temperature', sensorId: '151' }, { id: '3884271', name: 'utomhus', lastUpdated: 1476561375, ignored: 0, client: '138140', clientName: 'Hemma1', online: '1', editable: 0, battery: 254, keepHistory: 0, protocol: 'fineoffset', model: 'temperature', sensorId: '152' } ] [Sat Oct 15 2016 21:57:32 GMT+0200 (CEST)] [Tells Live!] Found 3 sensors in telldus live. [Sat Oct 15 2016 21:57:32 GMT+0200 (CEST)] [Tells Live!] Filtered out 0 sensor due to empty name. homebridge-telldus getDevices response +339ms [ { id: '679361', clientDeviceId: '7', name: 'Alla lampor', state: 2, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'off' }, { id: '815481', clientDeviceId: '12', name: 'Element', state: 1, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' }, { id: '683515', clientDeviceId: '9', name: 'Fönster', state: 16, statevalue: '128', methods: 19, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'dim' }, { id: '1206549', clientDeviceId: '13', name: 'Fönster-Avpå', state: 1, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' }, { id: '679360', clientDeviceId: '6', name: 'Garderob', state: 2, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'off' }, { id: '1210732', clientDeviceId: '16', name: 'Garderob nedre', state: 1, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' }, { id: '815480', clientDeviceId: '11', name: 'Kök', state: 1, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' }, { id: '815443', clientDeviceId: '10', name: 'Nattlampa', state: 1, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' }, { id: '679356', clientDeviceId: '2', name: 'Soffa', state: 2, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'off' }, { id: '1210735', clientDeviceId: '17', name: 'T1', state: 2, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'off' }, { id: '679362', clientDeviceId: '8', name: 'Taklampa', state: 1, statevalue: '178', methods: 19, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' }, { id: '679355', clientDeviceId: '1', name: 'Taklampa Hall', state: 2, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'off' }, { id: '1206550', clientDeviceId: '14', name: 'Taklampa-Avpå', state: 1, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' }, { id: '679359', clientDeviceId: '5', name: 'Tv', state: 2, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'off' }, { id: '1210730', clientDeviceId: '15', name: 'Vardagsbord', state: 1, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' }, { id: '679358', clientDeviceId: '4', name: 'Vitrin', state: 1, statevalue: '0', methods: 3, type: 'device', client: '138140', clientName: 'Hemma1', online: '1', editable: 0, ignored: 0, status: 'on' } ] [Sat Oct 15 2016 21:57:33 GMT+0200 (CEST)] [Tells Live!] Found 16 devices in telldus live. homebridge-telldus getDeviceInfo response +3s { id: '679361', name: 'Alla lampor', state: '2', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'off' } homebridge-telldus getDeviceInfo response +20ms { id: '815481', name: 'Element', state: '1', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +16ms { id: '683515', name: 'Fönster', state: '16', statevalue: '128', methods: '19', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'dim' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-dimmer homebridge-telldus getDeviceInfo response +16ms { id: '1206549', name: 'Fönster-Avpå', state: '1', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +15ms { id: '679360', name: 'Garderob', state: '2', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'off' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +16ms { id: '1210732', name: 'Garderob nedre', state: '1', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +16ms { id: '815480', name: 'Kök', state: '1', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +18ms { id: '815443', name: 'Nattlampa', state: '1', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +17ms { id: '679356', name: 'Soffa', state: '2', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'off' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +17ms { id: '1210735', name: 'T1', state: '2', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'off' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +17ms { id: '679362', name: 'Taklampa', state: '1', statevalue: '178', methods: '19', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-dimmer homebridge-telldus getDeviceInfo response +18ms { id: '679355', name: 'Taklampa Hall', state: '2', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'off' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +17ms { id: '1206550', name: 'Taklampa-Avpå', state: '1', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:35 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +16ms { id: '679359', name: 'Tv', state: '2', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'off' } [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +18ms { id: '1210730', name: 'Vardagsbord', state: '1', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch homebridge-telldus getDeviceInfo response +17ms { id: '679358', name: 'Vitrin', state: '1', statevalue: '0', methods: '3', type: 'device', client: '138140', protocol: null, model: null, online: '1', editable: 0, parameter: [], status: 'on' } [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Unknown accessory match found selflearning-switch [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'badrum'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] [badrum] Your device (model temperaturehumidity, id 2412590) is not auto detected from telldus live. Please add the following to your config, under telldus platform (replace MODEL with a valid type, and optionally set manufacturer): "unknown_accessories": [{ "id": 2412590, "model": "MODEL", "manufacturer": "unknown" }] Valid models are: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'inomhus'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] [inomhus] Your device (model temperature, id 3884268) is not auto detected from telldus live. Please add the following to your config, under telldus platform (replace MODEL with a valid type, and optionally set manufacturer): "unknown_accessories": [{ "id": 3884268, "model": "MODEL", "manufacturer": "unknown" }] Valid models are: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'utomhus'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] [utomhus] Your device (model temperature, id 3884271) is not auto detected from telldus live. Please add the following to your config, under telldus platform (replace MODEL with a valid type, and optionally set manufacturer): "unknown_accessories": [{ "id": 3884271, "model": "MODEL", "manufacturer": "unknown" }] Valid models are: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Alla lampor'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] [Alla lampor] Your device (model null, id 679361) is not auto detected from telldus live. Please add the following to your config, under telldus platform (replace MODEL with a valid type, and optionally set manufacturer): "unknown_accessories": [{ "id": 679361, "model": "MODEL", "manufacturer": "unknown" }] Valid models are: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Element'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Fönster'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Fönster-Avpå'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Garderob'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Garderob nedre'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Kök'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Nattlampa'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Soffa'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'T1'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Taklampa'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Taklampa Hall'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Taklampa-Avpå'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Tv'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Vardagsbord'... [Sat Oct 15 2016 21:57:36 GMT+0200 (CEST)] [Tells Live!] Initializing platform accessory 'Vitrin'...

mifi commented 7 years ago

Yes. In my fork, in addition to adding optional debug output, I added a fix for model=null from the telldus api, which is the problem in your case. In my case model field from telldus api shows "n/a", dunno why it's different. So now it will no longer crash with model=null. I updated the fork now so it should auto detect sensors too. (temperature and temperaturehumidity, so you don't need them in your unknown_accessories) I made a pull request #19

metalic112 commented 7 years ago

Wow great support! Thanks! I'll run with your fork in the meanwhile.

napthemax commented 7 years ago

Your fork works great without "unknown_accessories" except for Oregon Scientific temperature/humidity sensor THGN132N. It reports being a '1A2D'

This is my result: [Veranda] Your device (model 1A2D, id xxxxxxx) is not auto detected from telldus live ...

I understand that 1A2D is not of the "valid models" so I'm just asking if you know if it is possible to set it up properly?

mifi commented 7 years ago

Have you tried added your accessory to unknown_accessories with model: "temperaturehumidity" ?

napthemax commented 7 years ago

This in config.json:

"unknown_accessories": [
                        {
                        "id": "4878760",
                        "model": "temperaturehumidity",
                        "manufacturer": "Oregon"
                        }
                        ],

Still gets (I had this before your fork. Didn't work then either ...) :

[Veranda] Your device (model 1A2D, id 4878760) is not auto detected from telldus live. Please add the following to your config, under telldus platform (replace MODEL with a valid type, and optionally set manufacturer): "unknown_accessories": [{ "id": 4878760, "model": "MODEL", "manufacturer": "unknown" }] Valid models are: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity

matsekberg commented 7 years ago

I have the same problem. Sensors not working. Get this in the log:

Oct 23 12:07:10 rpi1 homebridge[1476]: [2016-10-23 12:07:10] [Telldus Liv!e] [Hallen] Your device (model temperaturehumidity, id 2256277) is not auto detected from telldus live. Please add the following to your config, under telldus platform (replace MODEL with a valid type, and optionally set manufacturer): Oct 23 12:07:10 rpi1 homebridge[1476]: "unknown_accessories": [{ "id": 2256277, "model": "MODEL", "manufacturer": "unknown" }] Oct 23 12:07:10 rpi1 homebridge[1476]: Valid models are: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity Oct 23 12:07:10 rpi1 homebridge[1476]: [2016-10-23 12:07:10] [Telldus Liv!e] Initializing platform accessory 'Krypgrund'... Oct 23 12:07:10 rpi1 homebridge[1476]: [2016-10-23 12:07:10] [Telldus Liv!e] [Krypgrund] Your device (model temperaturehumidity, id 2212899) is not auto detected from telldus live. Please add the following to your config, under telldus platform (replace MODEL with a valid type, and optionally set manufacturer): Oct 23 12:07:10 rpi1 homebridge[1476]: "unknown_accessories": [{ "id": 2212899, "model": "MODEL", "manufacturer": "unknown" }] Oct 23 12:07:10 rpi1 homebridge[1476]: Valid models are: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity Oct 23 12:07:10 rpi1 homebridge[1476]: [2016-10-23 12:07:10] [Telldus Liv!e] Initializing platform accessory 'Ölkyl'... Oct 23 12:07:10 rpi1 homebridge[1476]: [2016-10-23 12:07:10] [Telldus Liv!e] [Ölkyl] Your device (model temperaturehumidity, id 2318971) is not auto detected from telldus live. Please add the following to your config, under telldus platform (replace MODEL with a valid type, and optionally set manufacturer): Oct 23 12:07:10 rpi1 homebridge[1476]: "unknown_accessories": [{ "id": 2318971, "model": "MODEL", "manufacturer": "unknown" }] Oct 23 12:07:10 rpi1 homebridge[1476]: Valid models are: selflearning-switch, codeswitch, selflearning-dimmer, temperature, EA4C, temperaturehumidity

And I havre this in config.json:

"unknown_accessories": [ { "id": 2318971, "model": "temperature", "manufacturer": "ClasO1" }, { "id": 2212899, "model": "temperaturehumidity", "manufacturer": "ClasO2" }, { "id": 2256277, "model": "temperaturehumidity", "manufacturer": "ClasO3" } ],

Latest node.js, 0.0.4 homebridge-telldus, 0.4.5 homebridge.

UPDATE:

It works with: npm install -g git+https://github.com/jchnlemon/homebridge-telldus.git

Update 2:

It works without any config in config.json !!

napthemax commented 7 years ago

UPDATE: It works with: npm install -g git+https://github.com/jchnlemon/homebridge-telldus.git

Update 2: It works without any config in config.json !!

For EA4C (guess that's fineoffset protocol), all works for me too with the mifi fork. 1A2D, Oregon protocol does not. Not with mifi, nor with jchnlemon. Unfortunately.

mifi commented 7 years ago

Please post telldus api response (see comment above about DEBUG env variable)

napthemax commented 7 years ago

DEBUG file attached. I now have everything working except the '1A2D' Oregon sensors with your 'mifi' fork.

Did try a workaround found on Telldus (http://forum.telldus.com/viewtopic.php?f=1&t=6129&start=30#p34172) but my index.js looks different from the one referenced, so I'm keeping my hopes on you ;-)

HomebridgeDEBUG.pdf

mifi commented 7 years ago

I added the definition for the 1A2D sensor in the code on my fork now, so it should work now if you do a reinstall.

As for why it's not working when you were defining the 1A2D sensors as temperaturehumidity in unknown_devices, that I cannot explain. Did you add ALL the unknown 1A2D's like this?

"unknown_accessories": [ { "id": 8588095, "model": "temperaturehumidity", "manufacturer": "unknown" }, { "id": 2545592, "model": "temperaturehumidity", "manufacturer": "unknown" }, { "id": 4878760, "model": "temperaturehumidity", "manufacturer": "unknown" }, { "id": 3311973, "model": "temperaturehumidity", "manufacturer": "unknown" }, { "id": 8617635, "model": "temperaturehumidity", "manufacturer": "unknown" } ]

napthemax commented 7 years ago

Yes, I had all of them in the "unknown_accessories" when I started looking into this (at least with an older version of homebridge-telldus).

But anyway, with your latest update all '1A2D' sensors works like a charm in homebridge! Many thanks! Just bring your updated code into the master, and I guess more users will enjoy having Oregon sensors '1A2D' working.

mifi commented 7 years ago

Great. I have a pending pull request which now also includes the 1A2D, but someone needs to merge it. Maybe someone could give me admin access to this project. I'd be happy to maintain it. If not I could instead publish my fork to npm under another name. We should also close this issue when the pull request is merged and a new version is published.

napthemax commented 7 years ago

Perfect. Now we only need a way to implement Telldus Live->homebridge-telldus with multiple homes. I have a summer house and but those sensors and switches appears where I run the server, i.e. at home. They appear (see sensors and switches with a dot before the name in my DEBUG above), but I would like to sort them under another home in HomeKit). If you also find a solution to that, I'll buy you a coffee ;-)

johnlemonse commented 7 years ago

@mifi I've added you as an admin to this project. Awesome if you could help out since I don't have that much time.

mifi commented 7 years ago

Thanks, will you also add me to npm (user mifi) so I can publish new versions or do you want to have responsibility for that? @napthemax I'm not sure how multiple homes work in HomeKit, so I'm not sure how this would be solved.

napthemax commented 7 years ago

I'm not sure how multiple homes work in HomeKit, so I'm not sure how this would be solved.

Don't know either, but in Telldus Live they are defined as "places" in the web interface. In homebridge-telldus, all devices in all places comes in one list ("predefined room"?) instead of sorted by place. I'll search the Telldus Wiki for information and let you know. I can't see that setting up another bridge would solve the problem either, the only way would be to create another Tells Live account and move one place to that account, loosing any Pro functionality.

[Maybe this discussion should be in a new development thread instead of the (non related) issue we are writing in now]

mifi commented 7 years ago

Indeed, feel free to make a new issue. I'm closing this.