johnlemonse / homebridge-telldus

36 stars 22 forks source link

Unhandled Error Detected : Error: Accessories must be created with a non-empty displayName. #24

Closed tvillingett closed 7 years ago

tvillingett commented 7 years ago

When a temperature sensor is detected the first time it gets an empty name. It will then crash the start of the homebridge-telldus. Workaround is to put a name on all sensors (and switches as well, if any are empty)

mifi commented 7 years ago

What do you mean by detected the firs time?

tvillingett commented 7 years ago

When you have a supported sensor near the telldus net, it will automatically "install it" in the list of sensors here: http://live.telldus.com/sensor/index

tvillingett commented 7 years ago

another workaround, if the sensor is your neighbours for example, is to hide it, to avoid it in the list at all.

mifi commented 7 years ago

There is a check for null in the code, but I guess the problem is that it's something else (either not undefined or empty string). I added a check for those too in my fork.

Try npm install -g git+https://github.com/mifi/homebridge-telldus.git

tvillingett commented 7 years ago

Here is the sensors: {"sensor":[{"id":"9043818","name":null,"lastUpdated":1477767411,"ignored":0,"client":"130828","clientName":"Torodd1","online":"1","editable":1,"battery":254,"keepHistory":0,"protocol":"fineoffset","model":"temperaturehumidity","sensorId":"135"},{"id":"9044149","name":"Garage inne","lastUpdated":1478118807,"ignored":0,"client":"130828","clientName":"Torodd1","online":"1","editable":1,"battery":254,"keepHistory":0,"protocol":"fineoffset","model":"temperaturehumidity","sensorId":"231"},{"id":"7315923","name":"Sovrum","lastUpdated":1478118863,"ignored":0,"client":"130828","clientName":"Torodd1","online":"1","editable":1,"battery":254,"keepHistory":0,"protocol":"fineoffset","model":"temperaturehumidity","sensorId":"151"},{"id":"7877912","name":"Utetemp norrsida","lastUpdated":1478118860,"ignored":0,"client":"130828","clientName":"Torodd1","online":"1","editable":1,"battery":253,"keepHistory":0,"protocol":"oregon","model":"EA4C","sensorId":"130"},{"id":"8908872","name":"H\u00f6nshus inne","lastUpdated":1478118842,"ignored":0,"client":"213641","clientName":"H\u00f6nshuset","online":"1","editable":1,"battery":254,"keepHistory":0,"protocol":"fineoffset","model":"temperaturehumidity","sensorId":"135"}]}

name is null on the 9043818 sensor so now it works! It says in the debuglog: [TelldusLive] Filtered out 1 sensor due to empty name.

Thanks!

mifi commented 7 years ago

So my fork solved your problem? Then I will pull it into master

tvillingett commented 7 years ago

Maybe not yet. I'm not sure if it is related to this fork, but I have had problems that all Telldus accessories is moved to "default room" instead of in their allocated rooms. Not immediately, but after a while.

mifi commented 7 years ago

I think that can happen after a crash or if the accessories get momentarily removed from the list sent to HomeKit. Happened to me too earlier. Workaround for me is to use another "username" in homebridge/config.json when testing

tvillingett commented 7 years ago

ok, I know similar thing happened for me a long time a go also, when testing - so probably not anything related...

tvillingett commented 7 years ago

Yes, the fork works for me, so pull it into the master.

mifi commented 7 years ago

It solves the crash when new sensors are detected without a name?

tvillingett commented 7 years ago

Yes, that's right!