Energy socket state
The energy socket has a state, which you can control with the EnergySocketState. It allows you to read and change three values:
- Whether the relay in the switch is on
- Whether the switch lock is active; this means that the socket cannot be turned off
- Brightness of the LED when the socket is on
Just like with the SystemConfiguration, you have to save with save() in order to update the data on the physical device. The example below shows how to change the power state.
package io.github.thijzert123.homewizard4j.example.v1;
import io.github.thijzert123.homewizard4j.v1.*;
import java.io.IOException;
public class ChangeAndPrintEnergySocketState {
public static void main(final String[] args) throws IOException {
final HomeWizardDiscoverer discoverer = new HomeWizardDiscoverer(1000);
// Loop every energy socket
for (final EnergySocket energySocket : discoverer.getEnergySockets()) {
// Get the state and update the data
final EnergySocketState state = energySocket.getEnergySocketState();
state.update();
// Print whether the power is on
System.out.println("Power on: " + state.getPowerOn());
state.setPowerOn(false);
state.save();
// Update and print whether the power is on
state.update(); // This isn't technically necessary, but it's good practise
System.out.println("Power on: " + state.getPowerOn());
}
}
}
If the socket was on before running this example, this would be the output:
Power on: Optional[true]
Power on: Optional[false]