Wifi Thermostat question

Hey All,
Revived my Nodered as I have a requirement that this could assist. I just installed a VisionPro 8000 WIFI Thermostat. I would like to trend the room temperature and found the following Node
node-red-contrib-tcc-honeywell

Trying to figure out how to;

  1. confirm the API is working ?
  2. Try and pull all the data
  3. Just pull the room temperature

To start I just used an injection and debug node.
If someone is really interested in testing I could share my login information. I have plans to deploy in Nunavut.
Jeff

Can you connect to the thermostat?

Yes, I can see it on https://www.mytotalconnectcomfort.com/ and on the app

Anyone ??

Can I do this with a "GET" command ? The webpage is HTTPS.

Just looking for a bit of direction / guidance.

Thanks

You speak of a "honeywell" node, then you state some website and ask about http.

What are you looking for ? Do you have the honeywell node installed?

To start I just used an injection and debug node.

Did it work ?

Comment at the honeywell node:

Interface for Honeywell Legacy Thermostats Node for Node-Red. Pulls data from the Honeywell TCC (Total Connect Comfort) API, which appears to be mostly undocumented now.

Doesn't sound promising.

Yes, I have the Honeywell Node installed, I've inputted my login, password and device ID. I'm will to share my credentials privately if someone is willing to assist. Nothing seems to happen (no output in the debug node).

Plan B was to try and grab it from the web page. I'm a bit over my head but this would really impress my employer adn team I work with.
Thanks

Hi Jeff,
In the code of that node-red-contrib-tcc-honeywell node, you can see here that it does a series of http requests after each other to get the job done:

var tccLogin = function(node, callback) {
	tccRequest(node, hdrs.getDefaults(node), 'TCC Login first GET', ConnectSuccess, function(node) {
		tccRequest(node, hdrs.postDefaults(node), 'TCC Login POST', PostSuccess, function(node) {
			tccRequest(node, hdrs.getDefaults(node), 'TCC Login second GET', ConnectSuccess, function(node) {
				callback(node);
			});
		});
	});
};

And for each of those requests you can find in this file how the request is made. For example the above getDetails call:

module.exports.getDefaults = function(node) {
	return {
		method: "GET",
		url: "https://mytotalconnectcomfort.com/portal/",
		timeout: 15000,
		strictSSL: false,
		jar: node.jar,
		headers: {
			"Content-Type": "application/x-www-form-urlencoded",
			"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
			"Accept-Encoding": "sdch",
			"Host": "mytotalconnectcomfort.com",
			"DNT": "1",
			"Origin": "https://mytotalconnectcomfort.com/portal",
			"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36"
		}
	}
};

So for this one, it executes a GET to that url and applies those http header variables. I assume you can do something similar with the http-request node if you don't want to use that node?

But to me it seems that is better to try to contact the author of that node. He has already figured out how it works ...

Good luck with it!
Bart

Thanks Bart,

Can't seem to figure out how to contact the Author.

You can create a new issue at this link, and explain your problem. But I see that the guy hasn't been active since july on Github, so hopefully he will respond soon ...

Ok, I am sharing my flow and will change password when operational. I'm getting close :). If I click the inject node twice I do get a connection and object. I'm trying to figure out how to isolate
payload.latestData.uiData.DispTemperature

and figure out the two click issue

*** Resolved***