NodeJS implementation of MyEnergi API for controlling Zappi, Eddi and other MyEnergi products
This node.js module is used for communicating with myenergi API. It enables you to communicate, retrieve data and control some of the myeneri products like Zappi and Eddi.
Zappi is a smart EV charger that is able to charge your EV using solar enegy or other renewable energy sources which saves energy and money. Eddi is a power diverter that controls up to two heating sources. It works in the same way as Zappi by diverting generated renewable enegy directly to the heating source and potentially draw the rest of the energy from the grid.
In order to use this module you have to own a myenergi hub. This will have to be registered to the myenergi My Account. The hubs serial is used for the username and the password is the password you created when registering the product on myenergi My Account.
npm package https://www.npmjs.com/package/myenergi-api
npm install myenergi-api
Here you find all methods needed to communicate with your myenergi hub. You will have to create one instance per hub if you have more than one.
const myenergi = new MyEnergi("1234567", "!3uper3ecretPassw0rd");
Return status of all myenergi devices connected to the hub. Zappi, Eddi and Harvi
const statusAll = await myenergi.getStatusAll();
console.log(statusAll);
Return status of all Zappi devices connected to the hub.
const zappiAll: Zappi[] = await myenergi.getStatusZappiAll();
console.log(zappiAll);
Return status of a Zappi device with the provided serial number.
const sno = '1234567';
const statusZappi: Zappi = await myenergi.getStatusZappi(sno);
console.log(statusZappi);
Set the current charge mode for the specified Zappi device. You can also use this function to stop charging. See Charge Mode in the documentation below for more details.
const sno = '1234567';
const chargeMode = ZappiChargeMode.EcoPlus;
const result = await myenergi.setZappiChargeMode(sno, chargeMode);
console.log(result);
Set minimum green level to decide how much grid power zappi uses to keep the 1.4kW minimum charge rate going. See MGL in the documentation below for more details.
const result = await myenergi.setZappiGreenLevel(sno, 75);
console.log(result);
In ECO and ECO+ you can use the boosts to top up your battery quickly. There are three different boosts available. See Boost Mode in the documentation below for more details.
const result = await myenergi.setZappiBoostMode(sno, ZappiBoostMode.Smart, 22, '0615');
console.log(result);
Gets the boost charge times schedule. Returns the times as list of 4 available slots.
const result = await myenergi.getZappiBoostTimes(sno);
console.log(result);
Sets the boost time schedule.
The arguments are:
- Serial number of zappi device
- The slot number (obtained by calling getZappiBoostTimes and likely to be 11-14)
- Start hour (0-23)
- Start minutes (must be 0, 15, 30 or 45)
- Duration hours (0-9)
- Duration minutes (must be 0, 15, 30 or 45)
- Day enablements (always starts with zero and the following seven digits are Monday-Sunday))
const result = await myenergi.setZappiBoostTime(sno, 11, 23, 45, 2, 30, '01111111');
console.log(result);
Return status of all Harvi devices connected to the hub.
const result = await myenergi.getStatusHarviAll();
console.log(result);
Return status of a Harvi device with the provided serial number.
const sno = '1234567';
const result = await myenergi.getStatusHarvi(sno);
console.log(result);
Return status of all Eddi devices connected to the hub.
const result = await myenergi.getStatusEddiAll();
console.log(result);
Return status of a Eddi device with the provided serial number.
const sno = '1234567';
const result = await myenergi.getStatusEddi(sno);
console.log(result);
zappi has four charge modes to help you charge your EV
Mode | Description |
---|---|
FAST | Charge your EV as fast as possible – this is just like a dumb charger. As soon as your EV is plugged it it will start charging and draw as much power as it can |
ECO | In this mode, zappi will try to control the power going to your EV to match any surplus generation. However, as the EV charging standard says that the minimum charge rate is 1.4kW. If your surplus generation goes below this then the car will continue charging, taking extra power from the grid as needed to get to the 1.4kW minimum charge rateIf you want to charge your car quickly (for instance to top up the battery with cheap overnight electricity) then use one of the boosts to charge it at full power |
ECO+ | Like ECO, zappi will control the power going to your EV to match the surplus generation. However, if the surplus power goes below 1.4kW then zappi will pause the charge so you are not taking power from the grid. (*** See MGL below ***) If you want to charge your car quickly (for instance to top up the battery with cheap overnight electricity) then use one of the boosts to charge it at full power |
STOP | In STOP mode zappi will not charge your car Boosts are also blocked. |
In ECO and ECO+ you can use the boosts to top up your battery quickly. There are three different boosts available
Mode | Description |
---|---|
Manual | Charge your EV straight away with a set amount of energy (kWh) Use the slider in the app or touch on the boost power number to set an exact charge energy |
Smart | With Smart Boost you tell zappi how much energy you want to add to your battery and the target time. Zappi will start a quick charge at full power to test the charge speed but then goes back to the normal operation for ECO and ECO+, matching the charge rate to your spare generation. A boost at full power will then take place to top up your battery to the target value by the time set. With Smart Boost your charge will be as green as possible whilst making sure your battery has the desired energy added to it |
Scheduled | With Scheduled Boost you can set up to four time periods when the zappi will charge your EV at full power. This is useful for charging your car when electricity is cheap, but we would recommend you use the “My Flexible Tariff” settings in the myenergi online account (myaccount.myenergi.com) so these are set for you automatically. |
Minimum Green Level allows you to decide how much grid power zappi uses to keep the 1.4kW minimum charge rate going. The feature only works in ECO+ and was introduced for those people who want to squeeze as much of their surplus generation into the EV battery.
With MGL set to 100% all the power going to your EV will come from the local generation. If you have less than 1.4kW of local surplus generation available then zappi will pause the charge. Of course this means that you could be exporting some surplus generation to the grid…
With MGL set to 50% then zappi will take up to 700W from the grid to keep the charge going
If you want to make sure that all your surplus generation is used to charge your EV, then try setting MGL to 1%