XaiJu
beestat

beestat

patreon


beestat posts

On the way to sensor data!

First of all, I apologize for missing my scheduled post two weeks ago. I got busy at work and mostly just forgot about all this.

Second, and more importantly, I wanted to share a quick update on the most requested feature: sensor data.

A couple months ago I encountered a problem...I was running out of disk space. It's easy enough to add more (which I had done a few times), but the problem was getting worse. This has always been the reason why I wouldn't sync sensor data to beestat...

View Post

Rewriting the Aggregate Runtime Card

If you read the post from two weeks ago you might know that I'm reworking a good chunk of the backend to cut down on the massive amount of data I am accumulating.

Work on that front is going well, but there are a lot of side-effects. One of the bigger ones is that I have to query a new table for the Aggregate Runtime (now called Runtime Summary) data. The actual data is largely the same, so I c...

View Post

Data management

When I started beestat I had no real idea how much data storage I would need. I spun up a cheap server, added 50GB of storage and called it a day. I started to get worried when the database hit 30GB. Little did I know that just over a year later I would have over 200GB of data...almost all of it in a single table.

As far as databases are concerned, 200GB isn't really that much. I have a very si...

View Post

Where does all the money go?

Something that's very important to me when developing beestat is transparency. I have no super secret formula to protect and all this is made possible because I have some awesome users. So keeping with that, here's my monthly budget:

Income: $136
Digital Ocean - Logging Server: $5
Digital Ocean - Application Server: $5
Digital Ocean - 300GB Volume: $30
Smarty Streets: $7
DNSimple - DNS: $5
DNSimple - Domain: $3 ($40/year)

All that adds up to about $55/mo in costs...

View Post

Bugs bugs bugs

See those errors? Those are bad.

One of the things I try to focus a lot on with beestat is making the software robust. Every time someone encounters an error they are more and more likely to give up on the product and leave. Even though beestat is free, I still don't want to let people down and hate when I've caused them a problem. I want to have the best thermostat analytics app and having frustrated users is not the way to achieve that.

Additionally, every time there's an error ...

View Post

What's done and what's next...

A couple months ago I sent out an email announcing the new Home Comparisons feature and promising a bunch of new stuff. I thought it was time I reviewed that list and evaluated where everything stands.

Nest Support?
Due to new restrictions on the Nest API, I have postponed support for Nest indefinitely. This was unfortunate but will end up giving me more time to work on new fe...

View Post

A quick update!

I missed my last scheduled bi-weekly post and wanted to give everyone a brief update on where things are. Since my last release I have fallen back a bit and entered more of a maintenance mode. I've been fixing bugs as they are reported and making smaller changes here and there while making sure stuff continues to run.

I would like to have accomplished more, but Summer is a busy time for me and I have many obligations to my family and volunteer activities that come first. I've also been ...

View Post

Creating the beestat demo

Something that's always bothered me in the tech industry is that there are very few products with actual live demos. Sometimes you get some crappy version of one, but mostly you just get outdated screenshots, videos, or the frustrating "call for demo". This is not a trend I want to be part of so I finally took the time to put together a proper demo.

Here are the guidelines I set for myself:

1. No copy/pasting code. I did not want a normal application, then a separate copy/pasted v...

View Post

Beestat is now open source!

Main application: https://github.com/beestat/app
Other beestat repositories: https://github.com/beestat/ 

If you've followed beestat for a while you may be familiar with a bit of history on this topic. Originally I intended on keeping beestat closed-source simply because I didn't want to bother with supporting people who wanted to try and get...

View Post

Nest support postponed indefinitely

More info here: https://nest.com/whats-happening/

Nest support has always been something I've been interested in with beestat. The original plan was to start with ecobee, and then after I had done everything I wanted I would pivot and begin to work on other implementations.

As I geared up to begin finally diving into this, I was met with a number of roadblocks.

1. Nest wasn't allowing new developer acc...

View Post

Room sensor giveaway winner!

Randomly selected from all active patrons, the winner of ecobee room sensor two-pack is Ray M. I'll be reaching out to you to coordinate shipping. Congratulations!

Special thanks to everyone for your support. I love providing this service and your help makes this all possible. 

View Post

Get it on Google Play

That's right, beestat is now an app! I would love it if you would give it an install and leave a review! Even if you ultimately decide you don't need it, this activity will really help boost my search rankings.

Does the app do anything new or different than the website?
No, the app is essentially just a pointer to the website.

Is the app different than pinni...

View Post

Interested in early access to the beestat source code?

See here:  https://github.com/ziebelje/beestat-issues/issues/100 

Looking for a few users who would be willing to do an informal audit (of whatever level you are capable and willing) in exchange for early access to the beestat source code.

I am working on my own cleanup and internal audit right now. If you are interested, please comment on the GitHub issue linke...

View Post

Making sure beestat isn't broken (redux)

Original Post:  https://www.patreon.com/posts/23245016 

Back in December I talked about how I had built some graphs to display information from my logs that I could keep an eye on to make sure everything was working fine. Overall that process was working fine, but I wasn't quite happy with it for a number of reasons:

1. Logs were all stored on my application database server
2. Viewing the l...

View Post

Home Comparisons are live!

Well, technically they were live last Thursday, but anyways go check it out!

Patch Notes

View Post

Home Comparisons coming next week!

I was hoping to push the Home Comparisons update last week but some travel fatigue got the best of me. At this point the update is pretty stable but I'm not happy with the level of polish. I need one more week to get things to a place I'm happy with.

As I've done previously, I will try to push the update Friday evening to give me time to address any major issues prior to announcing on Tuesday 4/9.

Looking forward to getting this out there!

View Post

What is Gap-Fill?

Gap-Fill is an on-by-default just-now-named feature that has existed in beestat since day 1. A few people have noticed some discrepancies when comparing the Aggregate Runtime chart to their ecobee data, and this is why.

When beestat syncs your data with ecobee, sometimes things go missing. The best example of this is the data gaps from February of this year. The Aggregate Runtime chart does it's best to sum everything up, but bad data can muddy the waters.

To help alleviate that, ...

View Post

Welcome to Home Comparisons!

Home Comparisons are nearing feature-complete and I'm incredibly excited at what this is going to offer. When this update goes live, all beestat users will have access to some incredibly powerful tools that literally nobody else has.

Here's what you have to look forward to:

  • Auto-detection of heating/cooling types and the ability to override them if the auto-detect failed (95% accurate). Having accurate values here is important for doing comparisons correctly.
  • Date c...

    View Post

Home Comparisons - Early Access (Unstable)

Hello!

As part of my way of thanking those of you who go above and beyond with a $5/mo pledge, I provide early access to new features when I feel like they are just barely good enough and probably won't break everything.

As long as you have linked your Patreon account to beestat you will now have access to the new Home Comparisons tab. A few notes:

  • This is unstable. I test pretty carefully as I go but expect bugs.
  • Heat Score and Cool Score are simply not popul...

    View Post

Why things sometimes take a long time

Take a good look at this screenshot. How long do you think it would take to put that together? Maybe 15 minutes, tops...right?



Wrong!

Here's all the things that happened when I tried to build this:

1. Create the "pill" component. This gives me a reusable chunk of code that I can pass an icon, text, and a color to.

2. Realize that I also n...

View Post

Curves and bars and air filters

Aggregate Runtime - Curves?

Every now and then I pull  up my Aggregate Runtime chart and flip a switch just to have a little fun. That switch does this:

I've debated back and forth on how to display this data for a while, but I ultimately always end up sticking with the bars. Why? Mostly because it's easier to read. Take a look at the small aux runtime on January 20t...

View Post

Posting schedule update

As beestat grows and adds users I'm finding that the amount of feedback and bug reports are slowly increasing. These are good things, but I have limited time and if I'm responding to feedback I'm not developing beestat.

I love communicating with my users and that won't stop, but I'm going to adjust my schedule a bit to help me focus. Patreon updates will drop to twice a month and I'll be responding to feedback, etc in batches every few days rather than as they come up.

This should...

View Post

Upgrade complete; beestat is now version 1.22

Patch notes 

I had enough assorted changes that I decided to get these things sent live now as opposed to with 1.3. That way I can triage and fix bugs a little bit better in both releases.

Some of these changes have been live for some time but are simply being bundled with this release announcement.

Biggest changes since 1.21:

- Beestat API
- Bug fixes and small tweaks to Aggrega...

View Post

Handling errors a little bit better

Up until now the way I've handled errors was to simply let the application break, log the error, and do nothing. This wasn't really ideal, but errors have been pretty uncommon (according to my logs anyways) so it worked for now.

Given the ecobee server issues yesterday, I thought it was probably time to fix that. The first problem is that beestat completely dies when ecobee goes down. This is because the API call to my server that fetches your graph data is tightly coupled to the API ca...

View Post

Reworking temperature profile generation

After a couple weeks of planning (and maybe a little bit of stalling), I finally sat down last weekend and started writing the algorithm that generates all the scores I talked about when I built the GUI mockup. I've done this once, but it was quick & dirty and has some issues.

The new algorithm isn't conceptually much different than the old one. It simply needed to be rebuilt to be more ef...

View Post

Changes to setpoint

Just wanted to make a quick announcement that the setpoint series is changing from a shaded gray area to one or two dotted lines. I get numerous questions about this and I agree that it was never that intuitive.

This change makes this graph more consistent with other thermostat graphs in the wild and I hope makes it more clear.

If your system is in heat mode, you get a dotted orange line.

If your system is in cool mode, you get a dotted blue line.

If your system is in ...

View Post

Getting back into the groove with the beestat API

After a long holiday and some much-needed time off from work I've found it to be somewhat difficult to get back into the groove. To help with that, I've been picking up some small/easy/fun tasks to get my feet wet before really diving in. One of those was the beestat API, sparked by a request someone made on a Reddit post.

The backend of beestat is built on top of a generic API that I built years ago as a side-project. I already handled all of the hard stuff like security, users, a CRUD...

View Post

What an amazing two months!

First of all, thank you to everyone who has partnered with me to make beestat happen! November and December have been incredible in terms of new supporters:

November 2018 summary: + $14 in pledges, +9 patrons
December 2018 summary: + $18 in pledges, +10 patrons

My current support allows me to pay to host beestat with Digital Ocean at $20/month. My next goal is $50/month, which should give me plenty of funds to cover the costs of bringing in all of the...

View Post

Graph smoothing

One of the things that I think makes beestat great is the extreme amount of love and detail I put into every feature. It's easy to build a graph; it's hard to build a good one.

Here's a small example of that at work. The raw data from ecobee gives a data point every 5 minutes. If you slap this on a graph you get a very accurate, but sometimes hard to read view. Additionally, placing thousands of unnecessary data points makes performance much worse.

To tackle that, I simply display a roll...

View Post

Making sure beestat isn't broken

Part of running beestat is making sure that it's not broken. If the service is unreliable then interest will decline and people will stop using it. I monitor things a couple ways:

1. Server performance monitoring. My host (DIgital Ocean) will send me an alert if the server load is high or disk space is low.

2. Manual monitoring. This is simply me looking at the logs to make sure nothing crazy is happening.

The screenshot I shared is a glimpse of the new monitoring tools I've built ...

View Post