if this.buttonAttr.value is empty mobile frontend wont work in scene_rasbee mobile frontend device
scobby opened this issue · 24 comments
When i have the scene_rasbee in one of my pages i have a critical exception in the browser frontend.
i think its due the value of "this.buttonAttr.value" is empty and the mobile frontend cant handle this.
if you need any further information, please contact me.
i will check it
Any news on this?
I have the same issue since I updated mobile-frontend to 0.9.16. As soon as I add a RaspBeeGroupScenes to one of my pages I get this:
error [pimatic-mobile-frontend]: Client error: Cannot read property 'value' of null
i've been very busy the last months. i'll see if i can find time for the plugin the next days.
damn it, runs last month smooth, now i have this problem again. Can you have a look at it?
Did i say that this bug break the complete frontend? this is a critical bug!
Additional Info:
tracekit.js:235 Uncaught TypeError: Cannot read property 'value' of null
at new ButtonsItem (index-items.js:656)
at Object.$create (scope.js:667)
at Object.fromJS (scope.js:10)
at Object.exports.fromJS (knockout.mapper.js:32)
at Object.fromJS (knockout.mapper.js:160)
at Object.fromJS (knockout.mapper.js:88)
at Object.exports.fromJS (knockout.mapper.js:32)
at Object.fromJS (knockout.mapper.js:212)
at Object.fromJS (knockout.mapper.js:88)
at Object.exports.fromJS (knockout.mapper.js:32)
| $create | @ | scope.js:667
| fromJS | @ | scope.js:10
| exports.fromJS | @ | knockout.mapper.js:32
| fromJS | @ | knockout.mapper.js:160
| fromJS | @ | knockout.mapper.js:88
| exports.fromJS | @ | knockout.mapper.js:32
| fromJS | @ | knockout.mapper.js:212
| fromJS | @ | knockout.mapper.js:88
| exports.fromJS | @ | knockout.mapper.js:32
| DevicePage | @ | scope.js:678
| $create | @ | scope.js:880
| fromJS | @ | scope.js:10
| exports.fromJS | @ | knockout.mapper.js:32
| fromJS | @ | knockout.mapper.js:160
| fromJS | @ | knockout.mapper.js:88
| exports.fromJS | @ | knockout.mapper.js:32
| fromJS | @ | knockout.mapper.js:212
| fromJS | @ | knockout.mapper.js:88
| exports.fromJS | @ | knockout.mapper.js:32
| Pimatic.updateFromJs | @ | scope.js:1036
| (anonymous) | @ | connection.js:106
| (anonymous) | @ | helper.js:164
| n.emit | @ | socket.io.js:2
| n.onevent | @ | socket.io.js:3
| n.onpacket | @ | socket.io.js:3
| (anonymous) | @ | socket.io.js:3
| n.emit | @ | socket.io.js:2
| n.ondecoded | @ | socket.io.js:1
| (anonymous) | @ | socket.io.js:3
| XMLHttpRequest.send (async) | |
| i.create | @ | socket.io.js:2
| i | @ | socket.io.js:2
| o.request | @ | socket.io.js:2
| o.doPoll | @ | socket.io.js:2
| n.poll | @ | socket.io.js:2
| n.onData | @ | socket.io.js:2
| (anonymous) | @ | socket.io.js:2
| n.emit | @ | socket.io.js:2
| i.onData | @ | socket.io.js:2
| i.onLoad | @ | socket.io.js:2
| hasXDR.r.onreadystatechange | @ | socket.io.js:2
this always happen when i add a RaspBeeGroupScenes Device to a page.
I looked into the problem. There are missing a few lines of code and thats causing the problem.
Can you update a file in the pimatic yourself? (cut and paste in raspbee.coffee)
If so, I can provide the lines to add
i already have your git repo running.
this comes when pimatic is initilizing, maybe it helps.
Both devices are the Scene devices and are available:
23:07:31.131 [pimatic-raspbee] Error: Light with ID: 57120 not found
23:07:31.131 [pimatic-raspbee]> at /home/pi/pimatic-app/node_modules/pimatic-raspbee/raspbee-connector.coffee:120:33
23:07:31.131 [pimatic-raspbee]> at tryCatcher (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/util.js:16:23)
23:07:31.131 [pimatic-raspbee]> at Promise._settlePromiseFromHandler (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/promise.js:547:31)
23:07:31.131 [pimatic-raspbee]> at Promise._settlePromise (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/promise.js:604:18)
23:07:31.131 [pimatic-raspbee]> at Promise._settlePromise0 (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/promise.js:649:10)
23:07:31.131 [pimatic-raspbee]> at Promise._settlePromises (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/promise.js:725:18)
23:07:31.131 [pimatic-raspbee]> at _drainQueueStep (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/async.js:93:12)
23:07:31.131 [pimatic-raspbee]> at _drainQueue (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/async.js:86:9)
23:07:31.131 [pimatic-raspbee]> at Async._drainQueues (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/async.js:102:5)
23:07:31.131 [pimatic-raspbee]> at Immediate.Async.drainQueues [as _onImmediate] (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/async.js:15:14)
23:07:31.131 [pimatic-raspbee]> at runCallback (timers.js:705:18)
23:07:31.131 [pimatic-raspbee]> at tryOnImmediate (timers.js:676:5)
23:07:31.131 [pimatic-raspbee]> at processImmediate (timers.js:658:5)
23:07:31.133 [pimatic-raspbee] Error: Light with ID: 63287 not found
23:07:31.133 [pimatic-raspbee]> at /home/pi/pimatic-app/node_modules/pimatic-raspbee/raspbee-connector.coffee:120:33
23:07:31.133 [pimatic-raspbee]> at tryCatcher (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/util.js:16:23)
23:07:31.133 [pimatic-raspbee]> at Promise._settlePromiseFromHandler (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/promise.js:547:31)
23:07:31.133 [pimatic-raspbee]> at Promise._settlePromise (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/promise.js:604:18)
23:07:31.133 [pimatic-raspbee]> at Promise._settlePromise0 (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/promise.js:649:10)
23:07:31.133 [pimatic-raspbee]> at Promise._settlePromises (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/promise.js:725:18)
23:07:31.133 [pimatic-raspbee]> at _drainQueueStep (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/async.js:93:12)
23:07:31.133 [pimatic-raspbee]> at _drainQueue (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/async.js:86:9)
23:07:31.133 [pimatic-raspbee]> at Async._drainQueues (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/async.js:102:5)
23:07:31.133 [pimatic-raspbee]> at Immediate.Async.drainQueues [as _onImmediate] (/home/pi/pimatic-app/node_modules/pimatic-raspbee/node_modules/bluebird/js/release/async.js:15:14)
23:07:31.133 [pimatic-raspbee]> at runCallback (timers.js:705:18)
23:07:31.133 [pimatic-raspbee]> at tryOnImmediate (timers.js:676:5)
23:07:31.133 [pimatic-raspbee]> at processImmediate (timers.js:658:5)
I updated the file raspbee.coffee in my fork. Replace the current raspbee.coffee with that file and restart pimatic.
Let me know if this helps
Great! that worked! thx a lot!
the second error is still there (Error: Light with ID: 57120 not found) but i think it doesnt have any impact.
Can we get all of your changes to the official repo from treban? that would be great for the addon. i think treban have only a little time currently.
I will check light tomorrow. I will make pull requests for the changes in the official repo.
Thx!
On the 'Light with ID: 57120/63287 not found' error. A few questions:
- you talk about 'Scene devices'. But for scenes these shouldn't be lights, they should be scenes made in Deconz
- are the scenes added via discovery without changing the id?
- are you using raspbee-cover devices?
Ok, and what is the device type, RaspBee????
It's that same device with the other problem: RaspBeeGroupScenes
What other RaspBee devices do you have?
The RaspBeeGroupScenes does not call the light status in line 120 in raspbee-connector (whats giving the error), so there must be other devices causing this issue.
And can you check in your config.json if these id's are leftovers from testing, etc
I have this devices with that id:
{
"class": "RaspBeeGroupScenes",
"name": "Scenes for Wohnzimmer",
"id": "scene_raspbee_gb95cf038eeabe29e248fa0f8b6f6c35263287_63287",
"deviceID": 63287,
"buttons": [
{
"id": 1,
"name": "Gemütlich",
"text": "Gemütlich"
},
{
"id": 2,
"name": "Fokus",
"text": "Fokus"
},
{
"id": 3,
"name": "Essen",
"text": "Essen"
},
{
"id": 4,
"name": "TV",
"text": "TV"
},
{
"id": 5,
"name": "Chillen",
"text": "Chillen"
},
{
"id": 6,
"name": "Alltag",
"text": "Alltag"
}
]
},
and found another (just searched not more, because thought only one deviceid is possible)
{
"class": "RaspBeeRGBCTGroup",
"name": "Wohnzimmer",
"id": "wohnzimmer",
"deviceID": 63287
},
I would remove the second one. I think you also have a second device with ID 57120. If so, remove that one also
Have this Problem again,
can we find a way to fix this? its really annoying.
Maybe a better logging here would help a little bit to fix this problem.
But that would only a be a workaround.
Do you need any more information?
lg scobby