Code
import { ShellyDevice } from 'shelly-library'; // Annahme, dass eine Shelly-Bibliothek installiert ist
// Funktion zum Einschalten des Pools
async function turnOnPool() {
const em3Device = ShellyDevice('192.168.1.83'); // Shelly-Gerät mit dem EM3-Relais
const poolDevice = ShellyDevice('192.168.1.89'); // Shelly-Gerät mit dem Pool-Relais
await em3Device.connect();
await poolDevice.connect();
const em3Power = await em3Device.getCurrentPower();
const poolIsOff = !(await poolDevice.isOn());
if (em3Power < -550 && poolIsOff) {
await poolDevice.turnOn();
console.log('Pool eingeschaltet');
}
await em3Device.disconnect();
await poolDevice.disconnect();
}
// Funktion zum Ausschalten des Pools
async function turnOffPool() {
const em3Device = new ShellyDevice('192.168.1.83'); // Shelly-Gerät mit dem EM3-Relais
const poolDevice = new ShellyDevice('192.168.1.89'); // Shelly-Gerät mit dem Pool-Relais
await em3Device.connect();
await poolDevice.connect();
const em3Power = await em3Device.getCurrentPower();
const poolIsOn = await poolDevice.isOn();
if ((em3Power > 50 && em3PowerTimer > 5) || (em3Power > 500 && poolIsOn)) {
await poolDevice.turnOff();
console.log('Pool ausgeschaltet');
}
await em3Device.disconnect();
await poolDevice.disconnect();
}
// Funktion zum Überprüfen und Steuern des Pool-Relais basierend auf der Uhrzeit
function checkPoolSchedule() {
const poolDevice = new ShellyDevice('192.168.1.89'); // Shelly-Gerät mit dem Pool-Relais
const now = new Date();
const hours = now.getHours();
if (hours >= 9 && hours < 12) {
poolDevice.isOn().then((isOn) => {
if (!isOn) {
// Von 9:00 bis 12:00 Uhr eingeschaltet
poolDevice.turnOn().then(() => {
console.log('Pool eingeschaltet von 9:00 bis 12:00 Uhr');
});
}
});
} else if ((hours >= 13 && hours < 15) || (hours >= 1 && hours < 2)) {
poolDevice.isOn().then((isOn) => {
if (!isOn) {
// Von 13:00 bis 15:00 Uhr und am nächsten Tag von 1:00 bis 2:00 Uhr eingeschaltet
poolDevice.turnOn().then(() => {
console.log('Pool eingeschaltet von 13:00 bis 15:00 Uhr und am nächsten Tag von 1:00 bis 2:00 Uhr');
});
}
});
}
}
// Hauptfunktion zum Überprüfen und Steuern des Pool-Relais basierend auf den Bedingungen
Alles anzeigen