GEMakers / gea-plugin-dishwasher

Dishwasher plugin for the GEA SDK
GNU General Public License v2.0
13 stars 6 forks source link

Reminders don't go away #16

Open Hixie opened 8 years ago

Hixie commented 8 years ago

My dishwasher (a GE GDF570SGFWW) one day started returning 0x01 (bit 0 set, Clean Filter).

I cleaned both filters, but the reminder didn't go away.

I'm not sure what to do now to clear the reminder.

Hixie commented 8 years ago

FWIW, I power-cycled the dishwasher to test if I was handling the resetCount correctly (thanks to @palisaide for explaining that one in #11), and that apparently reset the reminder bit. I don't want to have to reboot the dishwasher every time I clean the filters, though...

johnnysako commented 8 years ago

@Hixie Which version of software do you have running in your control? This was a feature we had started to specify out but I don't recall fully implementing.

It is best to clean the filters once/month or after a more intensive set of runs (ie Thanksgiving dinner).

Hixie commented 8 years ago

@johnnysako How do I find out what version I'm using?

Pity about the reminders not being fully implemented, that would have been really useful. :-)

Hixie commented 8 years ago

(The filter reminder came back as soon as we started the next cycle.)

johnnysako commented 8 years ago

Sorry for the late response. The software version is not available via an ERD. Do you have access to normal commands?

Hixie commented 8 years ago

Sorry, I'm not sure what you mean by ERD or normal commands. My setup is that I have a Green Bean plugged into a dishwasher and a raspberry pi, and on the raspberry pi I run node.js programs that use the gea-plugin-dishwasher SDK. I can run any JavaScript code using the SDK that you'd like me to run.

johnnysako commented 8 years ago

This is partly my ignorance of the SDK... I know the embedded code, but not necessarily the SDK side. I found this example code: https://github.com/GEMakers/gea2/blob/master/examples/gea2-spammer.js

If you send a cmd of 0x01 with no data it should return the software version.

Hixie commented 8 years ago

I get a 404 for that URL so I'm guessing that's a private repo.

I tried running this example: https://github.com/GEMakers/gea-sdk/blob/master/examples/display-info.js

I got the following error message, which I don't understand:

/home/ianh/node_modules/gea-adapter-usb/node_modules/node-hid/nodehid.js:28
        this._raw = new (Function.prototype.bind.apply(binding.HID,
                    ^

Error: cannot open device with path 0001:0004:00
    at Error (native)
    at new HID (/home/ianh/node_modules/gea-adapter-usb/node_modules/node-hid/nodehid.js:28:14)
    at Object.exports.bind (/home/ianh/node_modules/gea-adapter-usb/index.js:168:22)
    at configuration.bind (/home/ianh/node_modules/gea-sdk/src/main.js:26:17)
    at configuration.bind (/home/ianh/node_modules/gea-sdk/src/main.js:33:13)
    at configuration.bind (/home/ianh/node_modules/gea-sdk/src/main.js:33:13)
    at Object.configuration.bind (/home/ianh/node_modules/gea-sdk/src/main.js:33:13)
    at Object.<anonymous> (/home/ianh/dishwasher/display-info.js:29:5)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

However I discovered that a dishwasher as per the dishwasher plugin SDK is actually just an appliance in the sense of the gea-sdk, so I can ask for the version number via the dishwasher.version API. If I do that, I get version 1.0.7.10.7.10 from address 0x40, and version 1.0.6.16.6.16 from address 0x44. The UI board is the one at address 0x40, the machine control board is the one at 0x44 (based on the operatingMode reported for each, see issue #4).

I later confirmed using code similar to the code shown here: https://github.com/GEMakers/gea-sdk#appliancesendcommand-data-callback ...that the version returned from command 0x01 matches the versions described above.

Does that help?

johnnysako commented 8 years ago

@Hixie sorry for the delay in getting back to you. That does help and I was able to get the source for v7.10 on the UI and v6.16 on the MC. In reviewing it, I only saw the algorithms for Rinse Aid (I don't believe your model includes the HW for this) and Sanitization. The firmware does not seem to be writing to the Clean Filter bit.

Hixie commented 8 years ago

Weird, I'm definitely seeing the bit set. Right now I have both the rinse aid bit set and the clean filter bit set. I haven't been able to figure out what unsets or sets the flags. It seems somewhat random.

Hixie commented 8 years ago

(See also https://github.com/GEMakers/gea-plugin-dishwasher/issues/17)