Hi All,
I am currently using a temperature module for our yachts that I think could really expand the Vera capabilities. [url=http://www.controlbyweb.com/temperature/downloads.html#temperature]http://www.controlbyweb.com/temperature/downloads.html#temperature[/url]
The module runs $135 US dollars for a 4 channel temperature module or $230 US dollars for an eight channel one that can replace your thermostat, or over ride your thermostat, 1/10 degree accuracy, give 2 relay controls, give you a nice web access thermostat, and much more.
Look at the photos I have posted and you will get the idea. For many of us, we need more than what a standard thermostat is capable of doing…EG monitor more points, switch high voltage heat pumps, etc… The module will output an XML file so a plugin would be pretty easy (I am guessing!). The module has the ability to act as a thermostat so the interface with Vera would be minimal in resources.
If enough people are interested I would like to tackle the interface.
Goals for me are:
---- more accuracy in temperature tracking (.1 degree)
---- flexible to handle different and nonstandard HVAC applications
@guessed…would the XML output listed below be easier for Vera than a modbus query? Queries would only be needed once a minute at the most…(or any other users that have tackled add on’s)
Food for thought
Regards
Tim Alls
AllSeas Yachts
XML:
3.2 XML Operation
Custom computer applications may be created to monitor and control the temperature module without using a web
browser. Monitoring the temperatures and the relays is done by sending a request to port 80 (or port specified in
setup) for the XML page. Control of the relay is done by sending GET requests to the same page on port 80 (or port
specified in setup). This can be demonstrated by entering commands into the URL line of a web browser.
Request the current state: http://192.168.1.2/state.xml
This will return the following XML page.:
Yes, it was designed to be used as a thermostat if you choose…it has a lot of options not found on other thermostats.http://www.controlbyweb.com/x300/X-300_Manual-v.1.2.pdf
You have alarms that send emails, more control over variance, better prediction settings…read the manual if you are interested.They have different modules to choose from but this is the one that I think could give Vera users more options.
Regards
Tim alls
AllSeas Yachts
@TimAlls,
Given the output you’ve indicated, it would be integratable for “updates”, I’d have to read the fuller spec to see what manipulations can really be done. Given it’s kinda industrial, I’m sure it’s do-able.
The problem isn’t really the protocol (modBus vs XML-over-HTTP), but more about the speed at which stuff is expected to be ingested, and the frequency of [tt]luup.call_timer[/tt] calls when Polling is required. 1 minute polling shouldn’t be bad, but I’d wonder how long it would be before people attempted to poll “more often”.
If you’re going to have a bunch of these, along with other items that are polling (Brultech, Ping, etc, etc), it’s probably best to run UI5. UI5 has some much needed fixes, in the polling space, that’ll cause not to crash like UI4 does.
[quote=“TimAlls, post:1, topic:170446”]…
@guessed…would the XML output listed below be easier for Vera than a modbus query? Queries would only be needed once a minute at the most…(or any other users that have tackled add on’s)
XML:
3.2 XML Operation
Custom computer applications may be created to monitor and control the temperature module without using a web
browser. Monitoring the temperatures and the relays is done by sending a request to port 80 (or port specified in
setup) for the XML page. Control of the relay is done by sending GET requests to the same page on port 80 (or port
specified in setup). This can be demonstrated by entering commands into the URL line of a web browser.
Request the current state: http://192.168.1.2/state.xml
This will return the following XML page.:
[quote=“guessed, post:6, topic:170446”]The problem isn’t really the protocol (modBus vs XML-over-HTTP), but more about the speed at which stuff is expected to be ingested, and the frequency of [tt]luup.call_timer[/tt] calls when Polling is required. 1 minute polling shouldn’t be bad, but I’d wonder how long it would be before people attempted to poll “more often”.
If you’re going to have a bunch of these, along with other items that are polling (Brultech, Ping, etc, etc), it’s probably best to run UI5. UI5 has some much needed fixes, in the polling space, that’ll cause not to crash like UI4 does.[/quote]
Thanks @Guessed
Without a doubt someone will want more but for most… once a minute is perfect for temperature logging…even that creates too much data.
I would like to give it a shot and see how it works. Is there a similar plugin that I could strip and rebuild to query the XML output that I posted? Or should I just start from scratch…this is new to me programming wise so any suggestions would be helpful!
Regards
Tim
I’d start with the basics, mostly just “reading” the temperature values that this device exposes (per your XML above). Over time, that code could be evolved to do more of the Thermostat like functions (control) and you’ll get a good understanding along the way.
I’m sure there are more than a few people here that’ll help out with bits of information. I’ve seen a few “starter” Thermostat implementations referenced, but don’t recall anyone posting sample code (it’s a hole, in the “examples” for MiOS)
Anyhow, to get started, probably easiest to hack up the Google Weather plugin. That code already has the pieces to do periodic sampling, over HTTP and has basic routines to extract content from the XML (like the temperature values you display).
@Guessed,
Thanks…I looked over the plugins this morning and started stripping down the Google weather plug in…looks like I am on the right path. I will keep you posted and try not to flood you with too many dumb questions! ;D I like your idea…first just monitor the temperatures and go from there.
Speaking of dumb questions…can I paste code for reading the module into the luup tab of a timer scene for testing the communication code? Seems like that might allow for quick debugging.
Regards
Tim
Generally speaking, it’s simpler to just build out the plugin. Make small changes to it, testing along the way to ensure it’s still working. Log liberally (at first), and look at the logs under [tt]/var/log/cmh/LuaUPnP.log[/tt]. You may find that some parts of the plugin are executable in the “test” UI, but it’s just simpler to get the whole job done outside of any UI… life is too short 8)
Apart from viewing the resulting control, I don’t do any of this through the UI. I have scripts that do the uploads from my Mac, etc, but you can do the same by editing directly on Vera if you’re comfortable with using [tt]vi[/tt] as your editor.
Again, small changes, and incrementally test. Big changes will definitely get you into trouble.
[quote=“guessed, post:10, topic:170446”]Generally speaking, it’s simpler to just build out the plugin. Make small changes to it, testing along the way to ensure it’s still working. Log liberally (at first), and look at the logs under [tt]/var/log/cmh/LuaUPnP.log[/tt]. You may find that some parts of the plugin are executable in the “test” UI, but it’s just simpler to get the whole job done outside of any UI… life is too short 8)
Apart from viewing the resulting control, I don’t do any of this through the UI. I have scripts that do the uploads from my Mac, etc, but you can do the same by editing directly on Vera if you’re comfortable with using [tt]vi[/tt] as your editor.
Again, small changes, and incrementally test. Big changes will definitely get you into trouble.[/quote]
Agree with guessed. Small changes and testing is the way to go. It might take more time, but it is far easier to troubleshoot a smaller porting of the code and single functionality.
Thanks for the help.
I have started a new thread under plug ins to continue with an attempt to establish a communication Plug In for this module and perhaps other ModBus type of modules:
[url=http://forum.micasaverde.com/index.php/topic,9418.0.html]http://forum.micasaverde.com/index.php/topic,9418.0.html[/url]
Regards
Tim Alls
AllSeas Yachts
The device seems to support some kind of eventing, see section 3.4 in the manual (email notification only?).
Ideally, you would be able to configure the device to send a network notification if there is a user-configurable change in the temperature - that way, you would completely get rid of the need to poll the device.
Maybe you could place a feature request for that at Xytronix …
[quote=“Ap15e, post:13, topic:170446”]The device seems to support some kind of eventing, see section 3.4 in the manual (email notification only?).
Ideally, you would be able to configure the device to send a network notification if there is a user-configurable change in the temperature - that way, you would completely get rid of the need to poll the device.
Maybe you could place a feature request for that at Xytronix …[/quote]
You are correct…events can be used for Emails or to trigger relays. I can’t figure any way to make it send a message to Vera without trying something fancy…
The polling is only once a minute and since it is all binary it is lighting fast! That is one nice thing about Modbus. I see this for logging temperatures and other things that won’t kill you too have them updated once a minute. The device will have a scripting file that makes it run as a super thermostat…ha
We are monitoring the temperature of 12 rooms and turning the chilled water loop system on and off as the demand becomes needed. That is something that most thermostats can’t do.
I am getting closer to being done with the code…right now it is running in a scene under timer control and it functions perfect!
Regards
Tim
Just a quick update for those looking to do multiple temperature monitoring…take a look at the screen shot. This is for the x-300 unit with eight channels of temperature, 3 relay outputs, thermostat mode, basic scripting,…Nice little unit. I have more to do on the plugin but I am making progress.
Just a note on installing the temperature senders…each sender needs three wires and all eight can be daisy chained together. Unused telephone wire might work to allow multiple room monitoring without having to tag in a bunch of wires…food for thought.
I have a basic Modbus Reader as well which will start adding to the number of interfaces we can use with the Vera.
More to Come…
Regards
Tim Alls
AllSeas Yachts
Just a quick update…
I have finished my first phase…I can now read all eight channels of temperature and read and write to all three relays.
The next phase of my project is to create Thermostat plugins.
The Thermostat plugins will use the standard D_HVAC_ZoneThermostat1.xml as a display but will have some interesting features:
Under the advanced tab I will be adding a couple of new variables…One to map the incoming temperature to an existing "TemperatureSensor"device and one to map the output to a standard “BinarySwitch” device.
When used with the x-300 or similar you will be able to select the source of the temperature sensor and then map the output to one of the relays. This will be useful for NONCRITICAL temperature control…EG as a temperature over ride unit that disables an existing thermostat when the temperature is within a certain range. In my case I will be turning a chilled water loop system on and off as multiple zones call for demand.
This may not be of interest to most users but who knows…maybe someone else can make use of it! ;D
Regards
Tim Alls
AllSeas Yachts
Here is the PC program that will compliment the X-300…an eight channel temperature logger.
Let me know if there is any interest in the PC side and I will compile and post it.
Regards
Tim Alls
AllSeas Yachts
Best Home Automation shopping experience. Shop at Ezlo!