Comments (11)
I figured out the problem : the port used for communicating were being blocked by my Raspberry Pi firewall. :)
A few observations :
-
After I fixed the port issue, everything started to work fine. I could see the states changing in the flow tab. But after a few minutes of testing, the flows tab stop updating the ON/OFF status.
-
Sometimes, the google home app on my phone shows the device as "offline"/"not responding", but the device itself can be turned on/off using voice commands. Why is this ?
from node-red-contrib-smartnora.
A few more observations :
-
The switch NORA node outputs the payload twice occasionally. That is, when turning device the ON/OFF, the ON/OFF payload are pushed out 2 times occasionally.
-
Sometimes everything works perfectly. If I click from the UI (dashboard), my google home app also updates the state and vice versa. Other times, the behavior is as in observation 2 mentioned in previous comment.
from node-red-contrib-smartnora.
All the symptoms indicate that node-red looses connection to firebase (this is when the devices are marked as offline). Maybe your firewall settings...
Sometimes, the google home app on my phone shows the device as "offline"/"not responding", but the device itself can be turned on/off using voice commands. Why is this ?
Because local execution still works (meaning your google home devices are connected and can talk with your local node-red instance).
from node-red-contrib-smartnora.
All the symptoms indicate that node-red looses connection to firebase (this is when the devices are marked as offline). Maybe your firewall settings...
Sometimes, the google home app on my phone shows the device as "offline"/"not responding", but the device itself can be turned on/off using voice commands. Why is this ?
Because local execution still works (meaning your google home devices are connected and can talk with your local node-red instance).
Thank you for the input, and sorry for the delay in responding. :)
The connectivity was the problem. I was, in general, facing some random connectivity issues (packets being dropped by the EPON unit in my home). Everything seems to be working fine now.
Thanks once again. :)
from node-red-contrib-smartnora.
I am still getting the "Not Responding" problem occasionally. :( I don't have any network problems as of now, so I can't think of any reason for node-red to loose connection with firebase. Once I deploy the nodes once more, usually the problem goes away. In this state, voice commands still works : flows are triggered but my google assistant itself announces that the device is not available. And, the device is shown as "Not Responding" in the Home app. Any suggestions ?
And, IIRC, I have not seen the multiple trigger problem in quite a few days, but it seems to have started again. I get multiple triggers when turning the switch on/off via google. Is this expected ?
As per the FAQ, I have opened the following ports on my Raspberry Pi (default is to allow outgoing and drop incoming):
6988 - used to broadcast the discovery packet from Google Home
6987 - used to send commands from Google Home to Smart NORA
Are there any more ports that needs to be opened ?
from node-red-contrib-smartnora.
Do you have firewall rules on the outgoing traffic from node-red?
The online state is set to false
automatically by the database. Node-red stays connected to the database and it has a last will that tells the database to set online
to false
when the client is disconnected. Not sure how firebase detects if a connection is lost but I assume they use a periodic ping-pong
mechanism with a timeout. This entire logic and the reconnect part is abstracted away.
I can add more logs to show when the connection is made/lost, maybe it will help you debug.
Also the DB location is in Belgium.
from node-red-contrib-smartnora.
The firewall on my RPi4 is set to allow all outgoing traffic. For incoming messages I have explicitly added rules to accept traffic towards the ports I mentioned in my previous post (among others). Are there any more ports that needs to be opened ?
Regarding the state : who maintains the actual state of the switch? Is it maintained by the switch instance in node-red or in the DB (in Belgium)? Either way, its the sync to Google that is failing I suppose. Does this sync then happen between the Google framework and node-red directly or is the implementation such that this sync happens between google and smart nora DB in Belgium?
And about the logging part : Thank you for the offer and I'd gladly accept. :D How do we go about this though? Is there something I can do myself to enable more logs or add more logs?
from node-red-contrib-smartnora.
Are there any more ports that needs to be opened ?
Not as far as I know. :)
who maintains the actual state of the switch? Is it maintained by the switch instance in node-red or in the DB (in Belgium)
It's in both places. Each time a change happens in the local node, an update is pushed to the db. When you open the Google Home app, google sends a query intent to the cloud service and the state is resolved from the db.
And about the logging part : Thank you for the offer and I'd gladly accept. :D How do we go about this though? Is there something I can do myself to enable more logs or add more logs?
I'll create a new branch and send you the details but it will probably be in > 7 days. I'm out with personal stuff until then.
from node-red-contrib-smartnora.
It's in both places. Each time a change happens in the local node, an update is pushed to the db. When you open the Google Home app, google sends a query intent to the cloud service and the state is resolved from the db.
So, if we assume that my internet connection is working properly (:D), if Google is not able to get the device status, it has to be due to an issue in connectivity between Google and the DB ?
I'll create a new branch and send you the details but it will probably be in > 7 days. I'm out with personal stuff until then.
I am glad that you even offered to help. :P Anyhow, please do not do anything as of now. Let me monitor things for a few more days. We will keep this as a last resort. :)
from node-red-contrib-smartnora.
So, if we assume that my internet connection is working properly (:D), if Google is not able to get the device status, it has to be due to an issue in connectivity between Google and the DB ?
No, it must be an issue in the connectivity between your node-red and nora cloud service (actually the firebase realtime database - since this is what triggers the devices to be marked as offline). The connection between google and the db is more than 99.9% of the time up and running.
I am glad that you even offered to help. :P Anyhow, please do not do anything as of now. Let me monitor things for a few more days. We will keep this as a last resort. :)
Any news?
from node-red-contrib-smartnora.
I haven't seen the issue in quite some time. Will close the issue for the time being. Thanks for the support. :)
from node-red-contrib-smartnora.
Related Issues (20)
- Potential Hard Stop error in Noce-Red 3.1 HOT 7
- I have an issue while using NORA HOT 1
- I have an issue while using NORA HOT 3
- I have an issue while using NORA HOT 4
- I have an issue while using NORA HOT 3
- I have an issue while using NORA HOT 3
- Not able to connect smart nore with google home HOT 5
- I have an issue while using NORA HOT 8
- I have an issue while using NORA HOT 7
- I have an issue while using NORA HOT 3
- Can't link my SmartNora account to the devices in nodered HOT 19
- I have an issue while using NORA HOT 3
- I have an issue while using NORA HOT 1
- I have an issue while using NORA HOT 1
- All my SMART Nora devices keep showing up in offline status HOT 4
- I have an issue while using NORA HOT 3
- I have an issue while using NORA HOT 1
- Thermostat "on" mode not working. HOT 7
- Doorbell does not work HOT 5
- I have an issue while using NORA HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-red-contrib-smartnora.