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 gets registered multiple times with differently-acting objects #6

Open
Hixie opened this issue Apr 26, 2016 · 4 comments
Open

Comments

@Hixie
Copy link

Hixie commented Apr 26, 2016

require('events').EventEmitter.prototype._maxListeners = 0;
const greenBean = require("green-bean");
greenBean.connect("dishwasher", function(dw) {
   console.log('hello ' + dw);
});

...leads to the following output:

hello [object Object]
hello [object Object]

If I compare the two values, they are not the same. The second one gives different values, too. For example, the first object, if I read cycleCounts, gives me positive non-zero values for startedCount and completedCount (72 and 60), and resetCount is 17. The second one returns 0, 0, and 28. If, on startup, I subscribe to every field, then the first one tells me about cycleStatus, operatingMode, disabledFeatures, reminders, rates, doorCount, userConfiguration, error, and cycleCounts, but the second tells me about only cycleStatus, operatingMode, disabledFeatures, reminders, rates, and doorCount, nothing else.

I only have one dishwasher plugged in (a GE GDF570SGFWW).

@johnnysako
Copy link

@Hixie your model Dishwasher does have 2 control boards. I suspect both are connecting. One is a machine control only and will likely return odd data for some values. As I mentioned in #4, the Operating Mode can be used to determine which object is the Machine Control and which is the User Interface (generally speaking you want the UI).

@Hixie
Copy link
Author

Hixie commented Jul 7, 2016

Interesting. What does the machine control board expose?

Hixie added a commit to Hixie/dishwasher that referenced this issue Jul 7, 2016
Operating mode 11 is actually "machine control only" mode, not an invalid connection.
(Thanks to @johnnysako in GEMakers/gea-plugin-dishwasher#6 and GEMakers/gea-plugin-dishwasher#4)

Convert fill and drain rates to SI units.
(Thanks to @palisaide in GEMakers/gea-plugin-dishwasher#10)

resetCount is actually the count of power cycles. Also added support
for tracking uptime and boot times in the log.
(Thanks to @palisaide in GEMakers/gea-plugin-dishwasher#11)

Slight correction and clarifications to personality information.
(Thanks to @palisaide in GEMakers/gea-plugin-dishwasher#12)

Added text for error codes 0, 96, and 97.
(Thanks to @johnnysako in GEMakers/gea-plugin-dishwasher#3)

Sample output (piping the logs from the last month into the dart
script, and then letting the proxy connect to it to show live data):

```
GE GDF570SGFWW dishwasher model
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
╔═══════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ Personality: machine-control-driven UI board (specified by factory-configured bootloader parametric). ║
║ Fill rate: 52.6ml/s. Drain rate: 129.5ml/s.                                                           ║
║ Dry drain state: 0 failed dry drains (maximum 1).                                                     ║
║ Continuous cycle mode: cycle 0, 0 remaining cycles. 0m between cycles.                                ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════════╝

┌────┤ Low power • rebooted ├────────────────────────────────┐
│ AutoSense  Rinse Aid Enabled                               │
│ Cycle count: 43 cycles completed out of 53 cycles started. │
│ Power cycle events: 11.                 Uptime: 1h 59m 9s. │
│ Door open/close count: 291.          Sensors: ▁▇▁▁▁▁▁█▁▁▁▁ │
└────────────────┤ 2016-07-06 19:50:53.709 ├─────────────────┘

Event log (most recent first):
     30: Booted at: 2016-07-06 17:51:44.342
     29: Cycle started at: 2016-07-05 21:23:00.000. Temperature: 23.9°C .. 61.7°C; final: 61.1°C. Turbidity: 45.0 NTU .. 2225.0 NTU. Duration: 1h 50m.
     28: Cycle started at: 2016-07-04 00:22:00.000. Temperature: 23.9°C .. 63.3°C; final: 62.8°C. Turbidity: 40.0 NTU .. 1681.0 NTU. Duration: 1h 50m.
     27: Cycle started at: 2016-07-03 14:20:00.000. Temperature: 23.3°C .. 61.7°C; final: 61.1°C. Turbidity: 32.0 NTU .. 2733.0 NTU. Duration: 2h 1m.
     26: Cycle started at: 2016-06-30 18:53:00.000. Temperature: 23.3°C .. 60.0°C; final: 60.0°C. Turbidity: 40.0 NTU .. 1790.0 NTU. Duration: 2h 18m.
     25: Cycle started at: 2016-06-28 10:51:00.000. Temperature: 23.3°C .. 63.3°C; final: 63.3°C. Turbidity: 41.0 NTU .. 1237.0 NTU. Duration: 1h 53m.
     24: Cycle started at: 2016-06-27 14:24:00.000. Duration: 0m.
     23: Cycle started at: 2016-06-27 14:24:00.000. Temperature: 23.3°C .. 62.8°C; final: 62.8°C. Turbidity: 34.0 NTU .. 934.0 NTU. Duration: 1h 54m.
     22: Cycle started at: 2016-06-26 17:58:00.000. Temperature: 23.3°C .. 61.1°C; final: 61.1°C. Turbidity: 37.0 NTU .. 1950.0 NTU. Duration: 1h 50m.
     21: Cycle started at: 2016-06-23 12:56:00.000. Temperature: 22.8°C .. 62.2°C; final: 61.7°C. Turbidity: 51.0 NTU .. 3039.0 NTU. Duration: 2h 14m.
     20: Cycle started at: 2016-06-22 19:29:00.000. Temperature: 23.3°C .. 61.1°C; final: 60.6°C. Turbidity: 84.0 NTU .. 3316.0 NTU. Duration: 2h 14m.
     19: Cycle started at: 2016-06-20 20:46:00.000. Temperature: 23.3°C .. 68.3°C; final: 67.2°C. Turbidity: 29.0 NTU .. 2066.0 NTU. Duration: 2h 30m.
     18: Cycle started at: 2016-06-19 22:59:00.000. Temperature: 30.6°C .. 61.7°C; final: 61.1°C. Turbidity: 43.0 NTU .. 3294.0 NTU. Duration: 2h 14m.
     17: Cycle started at: 2016-06-19 19:46:00.000. Temperature: 23.3°C .. 60.0°C; final: 59.4°C. Turbidity: 63.0 NTU .. 949.0 NTU. Duration: 2h 18m.
     16: Cycle started at: 2016-06-17 15:48:00.000. Temperature: 22.8°C .. 60.0°C; final: 60.0°C. Turbidity: 70.0 NTU .. 1514.0 NTU. Duration: 2h 18m.
     15: Cycle started at: 2016-06-16 19:31:00.000. Temperature: 22.8°C .. 62.8°C; final: 62.2°C. Turbidity: 69.0 NTU .. 1134.0 NTU. Duration: 2h 21m.
     14: Cycle started at: 2016-06-15 16:36:00.000. Temperature: 22.8°C .. 62.2°C; final: 62.2°C. Turbidity: 54.0 NTU .. 849.0 NTU. Duration: 3h 25m.
     13: Cycle started at: 2016-06-14 18:35:00.000. Temperature: 23.3°C .. 61.7°C; final: 61.1°C. Turbidity: 66.0 NTU .. 936.0 NTU. Duration: 2h 46m.
     12: Cycle started at: 2016-06-12 14:09:00.000. Temperature: 23.3°C .. 59.4°C; final: 58.9°C. Turbidity: 63.0 NTU .. 3269.0 NTU. Duration: 2h 15m.
     11: Cycle started at: 2016-06-12 01:00:00.000. Duration: 0m.
     10: Cycle started at: 2016-06-12 00:34:00.000. Duration: 0m.
      9: Cycle started at: 2016-06-12 00:26:00.000. Duration: 0m.
      8: Cycle started at: 2016-06-12 00:17:00.000. Temperature: 25.0°C .. 25.6°C; final: 25.6°C. Turbidity: 149.0 NTU .. 1279.0 NTU. Duration: 2m.
      7: Cycle started at: 2016-06-12 00:12:00.000. Temperature: 23.9°C .. 25.0°C. Duration: 3m.
      6: Cycle started at: 2016-06-11 13:59:00.000. Temperature: 22.2°C .. 51.1°C; final: 51.1°C. Turbidity: 152.0 NTU .. 3485.0 NTU. Duration: 41m.
      5: Cycle started at: 2016-06-09 19:42:00.000. Temperature: 23.9°C .. 68.3°C; final: 68.3°C. Turbidity: 18.0 NTU .. 461.0 NTU. Duration: 3h 38m.
      4: Cycle started at: 2016-06-08 17:58:00.000. Temperature: 32.2°C .. 68.3°C; final: 66.7°C. Turbidity: 19.0 NTU .. 3101.0 NTU. Duration: 3h 34m.
      3: Cycle started at: 2016-06-08 13:36:00.000. Temperature: 23.3°C .. 67.8°C; final: 67.8°C. Turbidity: 18.0 NTU .. 1789.0 NTU. Duration: 3h 35m.
      2: Cycle started at: 2016-06-06 20:40:00.000. Temperature: 24.4°C .. 60.0°C; final: 59.4°C. Turbidity: 55.0 NTU .. 1322.0 NTU. Duration: 2h 18m.
      1: Cycle started at: 2016-06-05 19:28:00.000. Temperature: 23.3°C .. 60.0°C; final: 60.0°C. Turbidity: 29.0 NTU .. 626.0 NTU. Duration: 3h 22m.
```
@johnnysako
Copy link

Any information that it exposes is mirrored on the UI already (I haven't directly verified that though).

@Hixie
Copy link
Author

Hixie commented Jul 7, 2016

I've been ignoring the one that reports "11" for a while now, but in #4 I commented that apparently the "11" board has a different idea of the reset count in cycleCounts. Other than that, I don't see anything in the "11" board that's interesting. I'll continue ignoring it!

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

2 participants