Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dishwasher.cycleData0 .. dishwasher.cycleData4 very unclear #9

Open
Hixie opened this issue May 10, 2016 · 8 comments
Open

dishwasher.cycleData0 .. dishwasher.cycleData4 very unclear #9

Hixie opened this issue May 10, 2016 · 8 comments

Comments

@Hixie
Copy link

Hixie commented May 10, 2016

The documentation does not say what the dishwasher.cycleData0 to dishwasher.cycleData4 fields mean.

What data about what cycle is it?

What is a "cycle time"? What are its units?

What is a "cycle number"? Why do all 5 "cycleDataN" fields say "cycleNumber=0"?

Does this change when the dishwasher is running? (I should test it. I don't get any subscription notifications, but I also don't get any notifications for cycleState. I do for cycleStatus.)

@Hixie
Copy link
Author

Hixie commented May 13, 2016

I was watching the data as the dishwasher ran tonight, and I noticed that I got regular updates for cycleData0. At first, the min temp was 255, the max temp was 0, the final temp was 0, the min turbidity was 65535, the max was 0, and the duration was 0. The duration increased in real time. The turbidity and temperature min/max numbers soon seemed to track the minimum measured values for those metrics; the measured numbers do make sense in that context. I've no idea what cycleTime and cycleNumber might be though. Those were stuck at 10346 and 0 respectively the whole time.

@Hixie
Copy link
Author

Hixie commented May 16, 2016

Ok here's what I've determined so far:

  • cycleData0 .. 4 are a ringbuffer of the last 5 runs of the dishwasher.
  • cycleTime is the start time in minutes since the dishwasher epoch. Not sure when the epoch resets, in my case it was when the dishwasher was last serviced, more or less. It doesn't reset in a power cycle.
  • cycleDurationInMinutes is how many minutes the cycle has been running, or how long it ran if the cycle isn't active any more.
  • cycleCompleted is 0 if the cycle is complete, 1 otherwise.
  • cycleMinimumTemperatureInFahrenheit is the minimum temperature recorded since the cycle started, 0xFF if no data has been recorded yet.
  • cycleMaximumTemperatureInFahrenheit is the maximum temperature (in F) recorded since the cycle started, 0 if no data has been recorded yet.
  • cycleFinalCirculationTemperatureInFahrenheit seems to be the maximum temperature (in F) if the cycle completed, 0 if the cycle was not completed. (As far as I can tell this is redundant.)
  • cycleMinimumTurbidityInNTU is presumably the minimum turbidity recorded since the cycle started, 0xFFFF if no data has been recorded yet.
  • cycleMaximumTurbidityInMTU is presumably the corresponding max, 0 if no data recorded.

@Hixie
Copy link
Author

Hixie commented May 16, 2016

So actually, while cycleTime doesn't change for old entries after a powercycle, new entries don't seem to follow the same logic. I ran the dishwasher and got cycleTime=14099. Then I power cycled and about 9 hours later ran it again, and got cycleTime=12451. Now I'm confused again.

@johnnysako
Copy link

@Hixie you are correct in your analysis of the fields.

Hopefully I can clarify the cycleTime dropping as you observed. System time is only stored in non-volatile memory once per 24 hours. So any power cycle can drop the system time back by up to 23 hours and 59 minutes.

@Hixie
Copy link
Author

Hixie commented Sep 19, 2016

Cool, thanks. How about cycleNumber? Occasionally I see it go to 1, but I can't figure out what that means. Normally it's 0.

@johnnysako
Copy link

The cycleNumber is derived from the user selected cycle found in User Configuration

I wouldn't expect it to change if you are normally running the "AutoSense" cycle. You likely saw it go to 1 when you ran a "Heavy" cycle.

@Hixie
Copy link
Author

Hixie commented Oct 2, 2016

That doesn't seem right. I'm running heavy right now and it's still zero.

@0xbarrett
Copy link
Contributor

The dishwasher.cycleData0 ... dishwasher.cycleData4 objects appear to be defined incorrectly in this plugin. As it turns out, the cycleNumber field does not exist. This likely means that all of the fields after cycleTime are incorrect (offset by 1 byte). I'll put in a PR to fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants