nebulous / infinitude

Open control of Carrier/Bryant thermostats
MIT License
225 stars 50 forks source link

Refreshing Page Results in [error] Can't locate object method "spp" via package "Mojolicious::Controller" at ./infinitude line 419. #92

Closed scyto closed 4 years ago

scyto commented 4 years ago

Hi, haven't been around in a while. Thanks for doing the docker container - if you like i can make a multiarch tag and push to docker hub? Just managed to wrangle my touch into working on my network again (gawd they are pieces of crap and so fragile, seems you can't set static IP address and have weird incompatibility with win2k19 DHCP server!? Took me 5 hours to figure out :-(

Any hoo i noticed when i refresh the page i get this on the console: [error] Can't locate object method "spp" via package "Mojolicious::Controller" at ./infinitude line 419. Anything to worry about or can it be ignored?

PS whats the blue / red globe do - it seems to change color when i click it.

scyto commented 4 years ago

oh i am a moron, its because i don't have a serial board attached right?

418 } else {

419     $c->spp->log->debug("Websocket opened, but no serial device found")

420 }
nebulous commented 4 years ago

Sorry on my phone but that looks a lot like a typo and should be "app" not "spp"

On Apr 12, 2020, at 12:40 AM, scyto notifications@github.com wrote:

 oh i am a moron, its because i don't have a serial board attached right?

418 } else { 419 $c->spp->log->debug("Websocket opened, but no serial device found") 420 }

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

nebulous commented 4 years ago

yep. typo. fixed in 6b1257fb3bbf

nebulous commented 4 years ago

PS whats the blue / red globe do - it seems to change color when i click it.

The globe represents infinitude's connection status to the thermostat. It should be blue when operating properly, and clicking it forces a refresh from the thermostat.

The little arrow icons show serial activity if you have an rs485 interface connected. They'll be greyed out when not in use and blinking green when serial data is present

nebulous commented 4 years ago

gawd they are pieces of crap and so fragile, seems you can't set static IP address and have weird incompatibility with win2k19 DHCP server!? Took me 5 hours to figure out

also, I hear you. I have first generation touch for which I have to have a separate wifi router installed because it won't connect to any network other than old school 802.11b. Nothing else only b, which forces all other devices on the network to b speeds. 🙄

scyto commented 4 years ago

thank for the info on the globe

yeah i have same generation too, i have unifi networking and set up a dedicated AP for it that only does legacy b at the slowest data rates possible.

I suspect they made that dedicated router (mine is in a junk box somewhere) because they knew their wifi stack or chip was crap.

Do you know if the newer thermostats - the ones with the occupancy sensor a)work better on wifi b)offer anything new that is useful?

scyto commented 4 years ago

and darn, i made the edit on my own fork, hadn't got around to testing, there goes my opportunity to do a valid pull :-) lol

nebulous commented 4 years ago

yeah i have same generation too, i have unifi networking and set up a dedicated AP for it that only does legacy b at the slowest data rates possible.

I too have a unifi setup and did the same thing at first(after more time than I'd like to admit trying to diagnose the problem) but wanted the low speed network to be on a different channel

Do you know if the newer thermostats - the ones with the occupancy sensor a)work better on wifi b)offer anything new that is useful?

They have a different/slightly newer wifi chipset and a faster SoC(likely just because of vendor supply chain) - but no meaningful differences in functionality.

and darn, i made the edit on my own fork, hadn't got around to testing, there goes my opportunity to do a valid pull :-) lol

The only thing more hacked together than Carrier's code is infinitude's... there will be many more opportunities.

scyto commented 4 years ago

BTW for future info, it turned out the thermostat didn't like the DHCP offer packet being generated by my DHCP server so never sent a request packet.

One of two things i think might have fixed it: 1) disabling jumbo frame on one switch in the path that had it left on accidentally. 2) setting up the DHCP relay function in the controller software.

I have yet to revert these settings to prove it mind you.... i did lots of packet sniffing on the AP directly and found that IMO these original units can take upto 10 to 15 minutes to boot, acquire IP address and start sending packets to infinitude. During this time you cannot rely on the wifi setup and diags screens on the thermostat to tell the truth - many times it showed as disconnected on the thermostat yet it had associated and i could ping.

Based on this your last statement is certainly untrue. Infinitude is waaaay less hacked together than their code :-)

--edit-- i have a thesis the same changes will make some of my raspberry pi;s also work with dhcp properly...

nebulous commented 4 years ago

Interesting. I tried setting up an esp8266 as a 802.11b relay - which worked for everything else other than the thermostat. It actually did work and I could ping through it if I used a static ip, but dhcp didn't work for some non-obvious reason. I watched traffic and it sent a request, an offer was returned, then... nothing.

Unfortunately that wasn't the only weird aspect of the stat's ip stack. I got annoyed and just hooked it back up to an old router I had laying around.

bdf0506 commented 4 years ago

I mean, Carrier should be completely ashamed about how awful their technology is for their premier Inifinity line, the fact that it isn't an open API and that we have to make programs like this to interact with it in the first place. Their API has to be somewhat documented, since there are plugins to Alexa and I think Google home as well.

Anyways, I also have Unifi WiFi in my house, and my Carrier thermostat operates on 802.11g. It's the only 802.11g device that runs on my network, and I don't have a dedicated network for it, as I don't believe g suffers that same issue that b does by slowing down the entire network. But, I've never had any issues with the DHCP on it.

I have the second gen thermostat, model SYSTXCCITC01-B, software version 131626-02.00, hardware version v1.10, and the case shows a manufacture date of 8/17. 2017 is way too late to still be running 802.11g technology!!! They really should be ashamed of themselves, considering how expensive the unit is. I inherited a Carrier system when I moved into this house, i wouldn't buy another Carrier system simply for the fact that it doesn't interact nicely with home automation items.

scyto commented 4 years ago

@bdf0506 lucky bastard having the version that supports 802.11g - we are stuck on b unless we want to repurchase :-( ;-) :-)

Thanks for the info on the SYSTXCCITC01-B definitely sounds like it isn't worth changing to. The DHCP issue i think is specific to windows server DHCP servers, to be clear i don't see them doing anything they shouldn't it, i think it is how the client decides to respond to an offer containing the broadcast or unicast hint. basically a version specific linux bug i think

i think we all inherited carrier systems, and they have no shame BTW https://www.syracuse.com/business-news/2018/01/carrier_layoffs_trump_deal_jobs.html (i am talking about the carrier angle, ignore the trump angle) they took a deal to save jobs and then canned the jobs anyway.

swerb73 commented 4 years ago

I'm also running a SYSTXCCITC01-B with 5 zones and can confirm that although I don't have the wifi limitation the rest of them discussed here remain. infinitude has been a life saver for home automation goals...