treban / pimatic-raspbee

This plugin provides a raspbee interface for pimatic.
GNU General Public License v2.0
5 stars 5 forks source link

if this.buttonAttr.value is empty mobile frontend wont work in scene_rasbee mobile frontend device #40

Open scobby opened 4 years ago

scobby commented 4 years ago

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.

treban commented 4 years ago

i will check it

manolitto commented 4 years ago

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

treban commented 4 years ago

i've been very busy the last months. i'll see if i can find time for the plugin the next days.

scobby commented 3 years ago

damn it, runs last month smooth, now i have this problem again. Can you have a look at it?

scobby commented 3 years ago

Did i say that this bug break the complete frontend? this is a critical bug!

scobby commented 3 years ago

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

scobby commented 3 years ago

this always happen when i add a RaspBeeGroupScenes Device to a page.

bertreb commented 3 years ago

I looked into the problem. There are missing a few lines of code and thats causing the problem.

bertreb commented 3 years ago

Can you update a file in the pimatic yourself? (cut and paste in raspbee.coffee) If so, I can provide the lines to add

scobby commented 3 years ago

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)

bertreb commented 3 years ago

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

scobby commented 3 years ago

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.

scobby commented 3 years ago

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.

bertreb commented 3 years ago

I will check light tomorrow. I will make pull requests for the changes in the official repo.

scobby commented 3 years ago

Thx!

bertreb commented 3 years ago

On the 'Light with ID: 57120/63287 not found' error. A few questions:

scobby commented 3 years ago

Yea, just added after discovery without modification to pimatic.

Von meinem Smartphone gesendet

Am 13.02.2021 um 09:55 schrieb Bert notifications@github.com:

 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? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

bertreb commented 3 years ago

Ok, and what is the device type, RaspBee????

scobby commented 3 years ago

It's that same device with the other problem: RaspBeeGroupScenes

bertreb commented 3 years ago

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

scobby commented 3 years ago

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 },

bertreb commented 3 years ago

I would remove the second one. I think you also have a second device with ID 57120. If so, remove that one also

scobby commented 3 years ago

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

scobby commented 3 years ago

Note: switched to official repo, maybe we should merge @bertreb changes to the official repo.