baronbrew / TILTpi

Baron Brew Equipment Official Tilt app for Raspberry Pi
62 stars 18 forks source link

Cloud logging broken: undefined flow.get('cloudURL') #32

Open memcpy-rand-rand-rand opened 2 years ago

memcpy-rand-rand-rand commented 2 years ago

Trying to figure out why my tiltpi is no longer logging to Brewfather. The toast pops up saying logging request sent, but there is no subsequent toast or information and the request is never received by Brewfather.

Dived in to attempt a little Node Red debugging (using node.warn)

After that it looks like the flow.get('cloudURL') starts to succeed.

It looks like there's a logic bug buried in the node graph/code which causes this value to be undefined somehow and cause subsequent logging failures.

Happy to provide any logs etc.

noahbaron commented 2 years ago

Hi,

Thanks for letting me know about this error you're seeing. If there's an error even after restarting there must something odd that gets saved into the settings files that are reloaded when the system boots up. To view these files you can go to http://tiltpi.local:1880/data/global.json or http://tiltpi.local:1880/data/.json to get per Tilt settings or global settings that are saved. It would be great if you could send a copy of one of these. Here's an example of a red Tilt Pro that I have and accessed the information via http://tiltpi.local:1880/data/RED.json

{"uuid":"a495bb10c5b14b44b5121370f02d74de","major":78.4,"minor":10639,"tx_power":-59,"rssi":-46,"mac":"d6:0f:1c:ed:38:83","Color":"RED","displayColor":["RED"],"IDbyMAC":false,"Beer":["Test Data Access",true],"actualSGPoints":"","unCalSGPoints":"","actualTempPoints":"","unCalTempPoints":"","timeStamp":1631059881668,"formatteddate":"9/7/2021, 17:11:21","Timepoint":44446.71622300926,"fermunits":"","SG":1.0639,"hd":true,"Temp":78.4,"tempunits":"°F","doclongurl":"","defaultcloudURL":["https://script.google.com/macros/s/AKfycbwNXh6rEWoULd0vxWxDylG_PJwQwe0dn5hdtSkuC4k3D9AXBSA/exec",true],"logCloudDataCheck":true,"localloggingInterval":15,"loggingInterval":15,"minRSSI":-105,"alphaSG":null,"alphaTemp":null,"numberSamples":null,"smoothSwitch":false}

here's an example of what happens when you turn off default cloud URL and use a custom URL. I'm thinking that the customcloudURL key value pair should probably exist regardless of whether a custom cloud URL exists.

{"uuid":"a495bb10c5b14b44b5121370f02d74de","major":78.4,"minor":10638,"tx_power":0,"rssi":-54,"mac":"d6:0f:1c:ed:38:83","Color":"RED","displayColor":["RED"],"IDbyMAC":false,"Beer":["Test Data Access",true],"actualSGPoints":"","unCalSGPoints":"","actualTempPoints":"","unCalTempPoints":"","timeStamp":1631060019381,"formatteddate":"9/7/2021, 17:13:39","Timepoint":44446.717816909724,"fermunits":"","SG":1.0638,"hd":true,"Temp":78.4,"tempunits":"°F","doclongurl":"","customcloudURL":"http://some_custom_url.com/data","defaultcloudURL":["https://script.google.com/macros/s/AKfycbwNXh6rEWoULd0vxWxDylG_PJwQwe0dn5hdtSkuC4k3D9AXBSA/exec",false],"logCloudDataCheck":true,"localloggingInterval":15,"loggingInterval":15,"minRSSI":-105,"alphaSG":null,"alphaTemp":null,"numberSamples":null,"smoothSwitch":false}

On Mon, Sep 6, 2021 at 10:32 AM memcpy-rand-rand-rand < @.***> wrote:

Trying to figure out why my tiltpi is no longer logging to Brewfather. The toast pops up saying logging request sent, but there is no subsequent toast or information and the request is never received by Brewfather.

  • tiltpi can reach the internet.
  • brewfather endpoint working correctly (tested using tilt app on phone)
  • have had a couple of prior brews work fine on the system
  • tiltpi rebooted a couple of times

Dived in to attempt a little Node Red debugging (using node.warn)

  • In Setup Cloud Post node, the flow.get('cloudURL') was returning undefined.
  • Re-setting the Cloud URL had no effect
  • In trying to debug further, I added a warn to the Custom CloudURL node to tell me the value of msg.payload. Not actually the thing I was trying to look at, so I had to flip the switch "Use Default Cloud URL for All" to show anything. "msg.payload" was initially "true" when entering the function; which I guess matches the "on" value for the setting. set it back to off, "msg.payload" back to "false" as expected.

After that it looks like the flow.get('cloudURL') starts to succeed.

It looks like there's a logic bug buried in the node graph/code which causes this value to be undefined somehow and cause subsequent logging failures.

Happy to provide any logs etc.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/baronbrew/TILTpi/issues/32, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQ3FBO2ULYH26G62OGMGC3UAT3KNANCNFSM5DQ22U6Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

memcpy-rand-rand-rand commented 2 years ago

Hey Noah,

Thanks for the tips. I’ll take a look as soon as I get some time. It’s working fine now, so whatever was in a bad state is fixed. I’ll see if I can force a repro when this batch is complete.

Fwiw, the pi had been “up” for a few weeks and had reported on another batch using the same tilt colour (I only have one) previously. The tilt was then removed, so it wouldn’t have got any new data for a few weeks. I then did another batch, dropped it in the fermenter in range of the pi and it started picking up the bt beacon ok. But for some reason had lost connection to the internet – even though I could reach it just fine on my LAN. Took a router and pi reboot to get it talking to the internet again.

That’s when I noticed the cloud reporting was busted.

Thinking about what else I did... I changed the name of the beer. I rebooted the pi itself a couple of times ahead of rebooting the router as well. I think I clicked to update the flow iirc.

Cheers, Will.

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows

From: Noah @.> Sent: 08 September 2021 01:22 To: @.> Cc: @.>; @.> Subject: Re: [baronbrew/TILTpi] Cloud logging broken: undefined flow.get('cloudURL') (#32)

Hi,

Thanks for letting me know about this error you're seeing. If there's an error even after restarting there must something odd that gets saved into the settings files that are reloaded when the system boots up. To view these files you can go to http://tiltpi.local:1880/data/global.json or http://tiltpi.local:1880/data/.json to get per Tilt settings or global settings that are saved. It would be great if you could send a copy of one of these. Here's an example of a red Tilt Pro that I have and accessed the information via http://tiltpi.local:1880/data/RED.json

{"uuid":"a495bb10c5b14b44b5121370f02d74de","major":78.4,"minor":10639,"tx_power":-59,"rssi":-46,"mac":"d6:0f:1c:ed:38:83","Color":"RED","displayColor":["RED"],"IDbyMAC":false,"Beer":["Test Data Access",true],"actualSGPoints":"","unCalSGPoints":"","actualTempPoints":"","unCalTempPoints":"","timeStamp":1631059881668,"formatteddate":"9/7/2021, 17:11:21","Timepoint":44446.71622300926,"fermunits":"","SG":1.0639,"hd":true,"Temp":78.4,"tempunits":"°F","doclongurl":"","defaultcloudURL":["https://script.google.com/macros/s/AKfycbwNXh6rEWoULd0vxWxDylG_PJwQwe0dn5hdtSkuC4k3D9AXBSA/exec",true],"logCloudDataCheck":true,"localloggingInterval":15,"loggingInterval":15,"minRSSI":-105,"alphaSG":null,"alphaTemp":null,"numberSamples":null,"smoothSwitch":false}

here's an example of what happens when you turn off default cloud URL and use a custom URL. I'm thinking that the customcloudURL key value pair should probably exist regardless of whether a custom cloud URL exists.

{"uuid":"a495bb10c5b14b44b5121370f02d74de","major":78.4,"minor":10638,"tx_power":0,"rssi":-54,"mac":"d6:0f:1c:ed:38:83","Color":"RED","displayColor":["RED"],"IDbyMAC":false,"Beer":["Test Data Access",true],"actualSGPoints":"","unCalSGPoints":"","actualTempPoints":"","unCalTempPoints":"","timeStamp":1631060019381,"formatteddate":"9/7/2021, 17:13:39","Timepoint":44446.717816909724,"fermunits":"","SG":1.0638,"hd":true,"Temp":78.4,"tempunits":"°F","doclongurl":"","customcloudURL":"http://some_custom_url.com/data","defaultcloudURL":["https://script.google.com/macros/s/AKfycbwNXh6rEWoULd0vxWxDylG_PJwQwe0dn5hdtSkuC4k3D9AXBSA/exec",false],"logCloudDataCheck":true,"localloggingInterval":15,"loggingInterval":15,"minRSSI":-105,"alphaSG":null,"alphaTemp":null,"numberSamples":null,"smoothSwitch":false}

On Mon, Sep 6, 2021 at 10:32 AM memcpy-rand-rand-rand < @.***> wrote:

Trying to figure out why my tiltpi is no longer logging to Brewfather. The toast pops up saying logging request sent, but there is no subsequent toast or information and the request is never received by Brewfather.

  • tiltpi can reach the internet.
  • brewfather endpoint working correctly (tested using tilt app on phone)
  • have had a couple of prior brews work fine on the system
  • tiltpi rebooted a couple of times

Dived in to attempt a little Node Red debugging (using node.warn)

  • In Setup Cloud Post node, the flow.get('cloudURL') was returning undefined.
  • Re-setting the Cloud URL had no effect
  • In trying to debug further, I added a warn to the Custom CloudURL node to tell me the value of msg.payload. Not actually the thing I was trying to look at, so I had to flip the switch "Use Default Cloud URL for All" to show anything. "msg.payload" was initially "true" when entering the function; which I guess matches the "on" value for the setting. set it back to off, "msg.payload" back to "false" as expected.

After that it looks like the flow.get('cloudURL') starts to succeed.

It looks like there's a logic bug buried in the node graph/code which causes this value to be undefined somehow and cause subsequent logging failures.

Happy to provide any logs etc.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/baronbrew/TILTpi/issues/32, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQ3FBO2ULYH26G62OGMGC3UAT3KNANCNFSM5DQ22U6Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fbaronbrew%2FTILTpi%2Fissues%2F32%23issuecomment-914723380&data=04%7C01%7C%7C088ff516f5f1490ce7c508d9725eb8a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637666573412746931%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=i28oeNHXG9Vbcp6KCoG0LXZOU1GlZclJzMPi3KhoHw8%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVQIEMP3A3GVIQODZUQCNWTUA2UDXANCNFSM5DQ22U6Q&data=04%7C01%7C%7C088ff516f5f1490ce7c508d9725eb8a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637666573412756886%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=DvT%2FVDwpOEK54hrvPdj7UqAUABToh5MWjIQ2xhI4aDI%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7C%7C088ff516f5f1490ce7c508d9725eb8a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637666573412756886%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3LK%2FLV31jQPg%2BsquWGdmo4zHqAwtgMpqP%2FIvITCVEPw%3D&reserved=0 or Androidhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7C%7C088ff516f5f1490ce7c508d9725eb8a6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637666573412766840%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=YUNvR2swAtmQVCkG%2BjJxzNBR1Q%2FXBlGP2XODFae7qg0%3D&reserved=0.