Happy to report no bugs or errors presented themselves. The integration took a little while to initialize and then started up and ran flawlessly.
How often does it poll the Kohler cloud? Using the phone app I started a generator exercise and the integration didn’t update generator state, engine speed etc. for several minutes. The Oncue web app polls every 5 seconds so it refreshes constantly. Please consider making the polling interval shorter, or perhaps user-configurable. Perhaps a “last update time” or presence sensor could be added.
If you’re receptive to feature requests, I think these would be great to have:
In addition to Generator Voltage Average Line To Line and Generator Frequency (presumably measured immediately at the generator output) please consider adding sensors for Source1 Voltage Average Line To Line and Source1 Frequency. These reflect the utility grid and would be useful an many situation, to monitor grid quality and for example to trigger an action upon a brownout condition. Also potentially useful is Source2 Voltage Average Line To Line and Source2 Frequency. Presumably these are generator output measured at the ATS contactor. Although this seems to be redundant with Generator Voltage Average Line To Line and Generator Frequency already implemented in the integration, one can envision a scenario where they differ due to a hardware failure so having both could form the basis of a diagnostic script.
Please consider reporting status of the load control peripheral (“load shedding”). Peripheral parameters for “peripheralid”: “3” are states of the load shedding circuits (load shedding=TRUE/FALSE). It would be useful to monitor these sensors. For example a rule could be created where if one or more devices are in load shed status, adjust thermostat setpoints to decrease the need for load shedding to maintain occupant comfort.
Allowing the integration to start/stop generator exercise would be great. You could get rid of the Kohler app altogether.
https://api.kohler.com/krm/v1/devices/command?sessionkey=SESSIONKEY&device=SERIALNUMBER&service=doaction&value=startunloadedfullspeedexercise
https://api.kohler.com/krm/v1/devices/command?sessionkey=SESSIONKEY&device=SERIALNUMBER&service=doaction&value=startunloadedcycleexercise
https://api.kohler.com/krm/v1/devices/command?sessionkey=SESSIONKEY&device=SERIALNUMBER&service=doaction&value=startloadedfullspeedexercise
https://api.kohler.com/krm/v1/devices/command?sessionkey=SESSIONKEY&device=SERIALNUMBER&service=doaction&value=endexercise
Some other random stuff:
Get current/next exercise details
https://api.kohler.com/krm/v1/devices/exerciseinfo?sessionkey=SESSIONKEY&device=SERIALNUMBER
Get alert count
https://api.kohler.com/krm/v1/notifications/unviewedcount?sessionkey=SESSIONKEY
Get active alerts and event log
https://api.kohler.com/krm/v1/devices/devicedetails?sessionkey=SESSIONKEY&device=SERIALNUMBER¶meters=none&events=25&showperipheraldetails=false&eventoffset=0
Ideally soon the Energy dashboard will [hopefully] support a generator device in addition to grid and solar panel devices, so that all energy sources can be harmonized in one panel.
Thanks again for taking up this integration, it’s a great contribution.