@@ -33,6 +33,7 @@ async function senseLogin(email, password){
3333 //Save it
3434 log ( 'Got new username/password from hub. Initializing connection.' )
3535 mySense = await sense ( { email : email , password : password , verbose : false } ) //Set up Sense API object and authenticate
36+ log ( 'Login successful!' ) ;
3637 setupWebsocketEvents ( ) ;
3738 senseEmail = email ;
3839 sensePassword = password ;
@@ -62,24 +63,24 @@ const updateSenseDevices = async () => {
6263 }
6364
6465 for ( let device of devices ) {
65- if ( device . tags . DeviceListAllowed == 'true' ) {
66- let isGuess = device . data ? .tags ?. NameUserGuess === 'true' ? true : false ;
67- let devName = isGuess ? device . name . trim ( ) + ' (?)' : device . name . trim ( ) ;
68-
69- //If already exists, only refresh the name
70- if ( deviceList [ device . id ] ) {
71- deviceList [ device . id ] . name = devName ;
72- }
73- else {
74- log ( `Found ${ devName } ` ) ;
75- deviceList [ device . id ] = {
76- id : device . id ,
77- name : devName ,
78- state : "off" ,
79- usage : 0
80- } ;
81- }
82- }
66+ if ( device . tags . DeviceListAllowed == 'true' || device . id === 'solar ') {
67+ let isGuess = device . tags ?. NameUserGuess === 'true' ? true : false ;
68+ let devName = isGuess ? device . name . trim ( ) + ' (?)' : device . name . trim ( ) ;
69+
70+ //If already exists, only refresh the name
71+ if ( deviceList [ device . id ] ) {
72+ deviceList [ device . id ] . name = devName ;
73+ }
74+ else {
75+ log ( `Found ${ devName } ` ) ;
76+ deviceList [ device . id ] = {
77+ id : device . id ,
78+ name : devName ,
79+ state : "off" ,
80+ usage : 0
81+ } ;
82+ }
83+ }
8384 }
8485
8586 deviceList [ totalDeviceId ] = {
@@ -89,7 +90,7 @@ const updateSenseDevices = async () => {
8990 usage : 0
9091 } ;
9192 } catch ( error ) {
92- log ( `Device list error: ${ error . message } ` )
93+ log ( `Device list error: ${ error . message } \n ${ error . stack } ` )
9394 }
9495}
9596
@@ -108,7 +109,7 @@ app.post('/senseDevices', async (req, res) => {
108109 //Schedule the device refresh
109110 if ( ! deviceListRefreshInterval ) {
110111 log ( `Scheduling device refresh` )
111- await updateSenseDevices ( ) ;
112+ updateSenseDevices ( ) ;
112113 deviceListRefreshInterval = setInterval ( ( ) => {
113114 updateSenseDevices ( ) ;
114115 } , 1000 * 60 * 5 ) ;
@@ -117,7 +118,10 @@ app.post('/senseDevices', async (req, res) => {
117118 //Schedule the device refresh
118119 if ( ! websocketRefreshInterval ) {
119120 log ( `Scheduling websocket refresh` )
120- mySense . openStream ( ) ;
121+ setTimeout ( ( ) => {
122+ mySense . openStream ( ) ;
123+ } , 5000 ) ;
124+
121125 websocketRefreshInterval = setInterval ( ( ) => {
122126 mySense . openStream ( ) ;
123127 } , 1000 * 60 ) ;
@@ -174,6 +178,7 @@ app.post('/senseDevices', async (req, res) => {
174178 for ( let dev of data . payload . devices ) {
175179 if ( ! deviceList [ dev . id ] ) {
176180 log ( `Device missing: ${ dev . id } ` ) ;
181+ continue ;
177182 }
178183
179184 //Don't go below 1 watt
@@ -190,7 +195,7 @@ app.post('/senseDevices', async (req, res) => {
190195
191196 return 0 ;
192197 } catch ( error ) {
193- log ( `Data processing error: ${ error . message } ` , 1 ) ;
198+ log ( `Data processing error: ${ error . message } \n ${ error . stack } ` , 1 ) ;
194199 }
195200 } ) ;
196201
0 commit comments