Uses internet-connectable temperature sensors to provide cooling/heating assist for small buildings, as well as weather data

Overview

ambient-hvac

Uses internet-connectable temperature sensors to provide cooling/heating assist for houses and other small buildings, as well as weather data display.

OVERVIEW

This system uses Ambient Weather and Arduino Leonardo hardware and software support to implement air-exchange cooling and heating assist, though it is mostly effective for cooling. Mostly written in PHP, it serves information display panels over the web, supporting metric, kelvin, and freedom weather units.

The basic HVAC functionality lives on the "Stations" display. Using pairs of temperature sensors, this display monitors temperatures inside and outside near air-exchange opportunities, such as windows or possibly vents, and display appropriate actions the user should take at any given time for optimal cooling, or, in theory, heating. In my case, this mostly consists of opening and closing windows and turning on and off the air-exchange vent on our primary HVAC system, but it is not in any way limited to that.

It has support for "winter," "summer," and "smoke" modes, along with a "disable" mode. These affect the recommendations the software makes. In the latter case, turning them off entirely.

In essense, this is smart window management. But at least in my case, the differences between actual temperatures and expected temperatures were between surprising and shocking, and - combined with other efforts - enough to dramatically reduce our cooling bills while improving comfort, despite a record hot summer.

The weather station display functionality lives on the "Overview" page, and is mostly self-explanitory. It allows access to your system's data from anywhere, even from extremely simple/primitive browsers, such as an original iPhone or iPad Mini. We are now using two obsolete tablets as system display/control panels. This is in contrast to the official ambientweather website, which cannot be viewed on these antique browsers at all.

The physical window/door sensor status display lives on the "Zones" page, and is similarly self-explanitory, and will work on similarly primative browsers. I will make obsolete hardware useful again by creating applications that support them.

Modes and windows/vents which cannot be automatically sensed can be changed on the "Modes" page, and in some cases, on the "Stations" page.

CURRENT STATE

Version 0.3 Alpha. This should not be seen as a simple installation package; it's not, at least not yet. It should be seen as base code which can be used to implement a similar solution specific to your location. I don't even consider this feature-complete, though all implemented functionality works as it should and most of it (everything except data cacheing) has some months of testing.

SYSTEM REQUIREMENTS

To use all functionality, you will need:

  • Ambient Weather IPOBSERVER internet connectivity relay, to send data to the ambientweather servers
  • Your own application and API keys from ambientweather to fetch your data back from the servers in JSON format; these are free
  • Up to eight WS31E indoor/outdoor temperature humidity sensors (or any similar IPOBSERVER-compatible unit)
  • Any IPOBSERVER-compatible weather station (I use the WS-2902-ARRAY)
  • One additional "indoor" temperature/humidity sensor, paried with the weather station (I use model WH32B)
  • Any web host supporting a reasonably recent version of PHP

To use window/vent status detection, you will need:

  • One Arduino Leonardo, connected to appropriate magnetic switch sensors on its digital lines
  • Physical access to your web server's serial port, for communication with the Arduino

Eventually I hope to add at least some degree of vent automation, which will add a requirement for some sort of Raspberry Pi devices with switching capability.

INSTALLATION

It's not that ugly, but it's not exactly a script either.

Copy all the .php files into an accessible directory on your webserver with typical permissions. Two additional files - tempWeatherDataCache and tempWindows - must be writeable by the web server itself, and in the same directory. Put the css file into a subdirectory called "css" (or you could not, and edit the code to look for it in the same directory as everything else, that's okay too). The .ino file is for the arduino leonardo, so it can report physical vent/window status.

That's not so bad, right?

If you want to have automatic window/vent status sensing, you will also need to acquire and connect an Arduino Leonardo-compatable board, load the (fortunately very simple) code to drive it onto the board, then connect it to your window/door/vent sensors via the digital sense pins and also to a USB port on your webserver, where it will act as a serial device.

Okay that got kinda ugly. But you can skip that part and set vent/window status manually, through the web UI, with single clicks. Also, no separate arduino-sensing software has to live on the web server, it's all built into the core codebase.

CONFIGURATION

This... yeah, this is the very ugly part.

For Version 0.3, if you're not comfortable editing source code, you probably shouldn't do this.

You'll need to edit the PHP code to define your own application and API keys. You'll then need to define your own sensor pair locations also by editing source code. I hope to fix that soon, sorry. Finally, the Overview page assumes a three-level building, sorting sensors appropriately to my house. At the moment, that's also only editable by editing actual code. Sorry, and again, I hope to get to that soon.

SUPPORT

I'll be surprised if anyone needs or wants any, but hey, you never know, right? That's why I'm putting it up. It made a big difference for us last summer. It won't help everywhere - like, places where you need cooling literally 24x7 - but if you're somewhere with air-exchange cooling possibilities, it'll work a treat.

You might also like...
Melek Berita Backend is a service for crawling data from various websites and processing the data to be used for news data needs.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

The swiss army knife for Magento developers, sysadmins and devops. The tool provides a huge set of well tested command line commands which save hours of work time. All commands are extendable by a module API.

netz98 magerun CLI tools for Magento 2 The n98 magerun cli tools provides some handy tools to work with Magento from command line. Build Status Latest

Allow players to see how well they are doing while pvping with the help of a combo counter

Combo-Counter Allow players to see how well they are doing while pvping with the help of a combo counter Settngs / Config #set to false if you dont wa

Shows you the current diocese that you're in, as well as the bishop.

Use config.php to create variables $dbuser and $dbpass for the database connection. Run `php -f ./coa/newcheck.php` to update database information fr

SPAM Registration Stopper is a Q2A plugin that prevents highly probable SPAM user registrations based on well-known SPAM checking services and other techniques

SPAM Registration Stopper [by Gabriel Zanetti] Description SPAM Registration Stopper is a Question2Answer plugin that prevents highly probable SPAM us

StickWithIt is an online food ordering website created using PHP. You can view and purchase various items as well as remove items from the cart.

StickWithIt (App Name) StickWithIt is an online food ordering website created using PHP. The database used here is MYSQL database. The tool used here

A PHP library that can be used manually as well as a CLI script that you can just run on your file

Run phpcs on files and only report new warnings/errors compared to the previous version. This is both a PHP library that can be used manually as well

This is a well customized library for MYSQLi and PHP.

prepared This is a well customized library for MYSQLi and PHP. Helps you in writing your procedural PHP with just few lines of codes. This library hav

This Kirby V3 Plugin brings snippets and blueprints together in one place. It includes useful tools that completely changing the way you work with Kirby: Fast and well organized.
This Kirby V3 Plugin brings snippets and blueprints together in one place. It includes useful tools that completely changing the way you work with Kirby: Fast and well organized.

Kirby Components Overview Do you love to make awesome projects with Kirby CMS? Do you also find it difficult to switch between snippets and blueprints

Owner
https://xkcd.com/1205/
null
A script to retrieve data from a Netatmo weather station and display it in a Mac menu bar.

weathermenu A script to retrieve data from a Netatmo weather station and display it in a Mac menu bar. Intended for use with SwiftBar. Configuration N

Dan Moren 4 Nov 4, 2021
Get the system resources in PHP, as memory, number of CPU'S, Temperature of CPU or GPU, Operating System, Hard Disk usage, .... Works in Windows & Linux

system-resources. A class to get the hardware resources We can get CPU load, CPU/GPU temperature, free/used memory & Hard disk. Written in PHP It is a

Rafael Martin Soto 10 Oct 15, 2022
Miniature project for the prediction of land surface brightness temperature / intensity

Project Inferno DEMO VIDEO proj_inferno.mp4 Project Inferno is a miniature project designed to simply predict the brightness temperature / Intensity o

null 2 Jun 2, 2022
This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

PHP-introduction This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

Tyler Jacques 1 Jan 6, 2022
Patches that prevent malicious Minecraft plugins from saturating host internet resources for DDoS.

Minecraft Host DoS Botnet Patches Patches that prevent malicious Minecraft plugins from saturating host internet resources for DDoS. In recent events,

Riley Nevins 4 Jul 16, 2022
İnternet Vergi Dairesi Sorgualamaları

?? İnternet Vergi Dairesi Sorgulamaları Bu kütüphane, PHP aracılığıyla İnteraktif Vergi Dairesi Üzerinden Earsiv Fatura Sorgulama, Borç Sorgualama işl

ibrahim can 9 Dec 20, 2022
Community-created, unofficial PHP SDK for the Skynet Decentralized Internet Network. siasky.net

Skynet PHP SDK This SDK is a community-created, unofficial SDK in PHP for the Skynet Decentralized Internet Network. It is taken as primarily a port f

Derrick Hammer 4 Dec 26, 2022
Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Martti Malmi 17 Dec 15, 2022
A small marshalling library used to encode/decode data from classes

A small marshalling library used to encode/decode data from classes

Matthew Jordan 9 Sep 22, 2022