Use different groups in the nora config node with the same token. It allows you to have up to 3 connections to the same user profile. There's no change in deployment...
@Flixm there is no otficial support for blinds. There already is an issue on github about this.
Any way to find the token from google profile? I have a raspberry pi in another city, with no access to it online, which uses the token I originally generated.
You don't need the exact same token. Just login and copy a new one. The difference between them is the salt.
Thanks for your work Andrei. It works quite well!
In the beginning of this ( massive) thread you mentioned something about setting it up as a subscription based service. Is that still the case ?
Cheers.
No, it's free.
Then please buy a beer from my donation and enjoy it! Thanks again.
Great! That worked!
At first I tried with a new token, without setting any group, and I had the user already connected error. But setting the group made it connect alright!
Thanks a lot!
The backend service is now open source on github. Feel free to contribute
Thank you for everything! Donated 10ā¬
What does the 'Speaker' node do? I can't see it documented anywhere.
Not even in https://developers.google.com/actions/smarthome/guides/
Paul
It seems there's a list of unofficial devices: https://github.com/andrei-tatar/nora-service/issues/1
Speaker supports on/off and volume traits. I didn't write yet the documentation in the nora-node as it's just in testing.
Have you looked at ngrok or pagekite? I've used ngrok but it's kind of expensive at $10/month.
@christl You don't need tunneling with NORA. That's the whole point.
Hey! I am surprised how easy the setup was!
But I keep getting an exception when my Google Home sends a command to the NORA devices:
TypeError: device.setState is not a function
at _loop_1 (/data/node_modules/node-red-contrib-nora/build/nora-connection.js:48:24)
I run Node-RED inside a Docker container on a RPi3B+
Node-RED version: v0.19.5
Node.js version: v6.11.0
Linux 4.14.79-v7+ arm LE
Maybe I missed something since I have not really an idea of Docker and only little knowledge about Linux...
Greetz, Robert
Installed node-red directly on the RPi and i works!
Thanks for your great work!
EDIT: ok... still the same problem. I can read device states but not set anything. The whole node-red stops working and restarts....
That's a weird bug. Right before setState
there's a check if the device is found. Can you try installing the lastest node.js
, node-red
and node-red-contrib-nora
? (You didn't mention the node-red-contrib-nora version you are using).
I'm using version 0.0.23 of node-red-contrib-nora
, and every thing else is up to date as well.
Yeah, i saw in the .js file what is happening there, but I don't know how to attach a debugger, to see what's stored in the found device.
You could just console.log
the objects. Does it work in some other environment (on your laptop or something else)?
And where and how can I console.log
them? I have no idea about development with node.js
I tried it on my laptop and the same error occurres. Maybe it is not working since i use Google Home in German? May the German Actions API be different or not up to date?
EDIT: Okay, now i understand I can add consol.log
right inside your .js file
The object device
is -1
.
The passed id
matches the one below.
The object devices
contains:
[NoraDevice { id: '3f7e8703.c86ea8', config: { type: 'light', brightnessControl: false, colorControl: false, name: 'Licht', roomHint: 'Wohnzimmer', state: [Object] }, connection: NoraConnection { socket: [Socket], 'destroy$': [Subject], 'deviceEvents$': [Subject], 'devices$': [AnonymousSubject], connected: [BehaviorSubject], errors: [Subject], 'connected$': [Observable], 'errors$': [Observable] }, _stateChanged: Subject { _isScalar: false, observers: [Array], closed: false, isStopped: false, hasError: false, thrownError: null }, _activateScene: Subject { _isScalar: false, observers: [], closed: false, isStopped: false, hasError: false, thrownError: null }, 'state$': Observable { _isScalar: false, source: [Subject] }, 'activateScene$': Observable { _isScalar: false, source: [Subject] }, 'errors$': Observable { _isScalar: false, source: [Observable], operator: [MapOperator] } }]
Hope this helps!