NEWS
[gelöst] Farbwechsel bei verschiedenen Verbräuchen
-
Probier mal so:
! ````
// Im Keller nach der Waschmaschine und dem Trockner sehen
//
// Status der Waschmaschine und des Trockners führen
// Stati: 0 = aus/Standby, 1 = Maschine aus/fertig / 2 = Maschine läuft
//
// Angepasst für 2 Waschmaschinen
// Leistungsgrenzen im Konfig
! // Erstellen der Datenpunkte
createState("javascript.0.Keller.Waschmaschine1.State", 0, {"type": "number", "role": "state"});
createState("javascript.0.Keller.Waschmaschine1.Farbe", "white", {type: "string"});
createState("javascript.0.Keller.Waschmaschine1.OptinSayit", false, { name: 'Optin Waschmaschine 1 Sayit',
desc: 'Soll der Waschmaschinenstatus 1 gesprochen werden??', type: 'boolean', role: "state.enabled" });
! createState("javascript.0.Keller.Waschmaschine2.State", 0, {"type": "number", "role": "state"});
createState("javascript.0.Keller.Waschmaschine3.Farbe", "white", {type: "string"});
createState("javascript.0.Keller.Waschmaschine4.OptinSayit", false, { name: 'Optin Waschmaschine 2 Sayit',
desc: 'Soll der Waschmaschinenstatus 2 gesprochen werden??', type: 'boolean', role: "state.enabled" });
! createState("javascript.0.Keller.Trockner.State", 0, {"type": "number", "role": "state"});
createState("javascript.0.Keller.Trockner.Farbe", "white", {type: "string"});
createState("javascript.0.Keller.Trockner.OptinSayit", false, { name: 'Optin Trockner Sayit',
desc: 'Soll der Trocknerstatus gesprochen werden??', type: 'boolean', role: "state.enabled" });
! var WattWaschmaschine1 = "hm-rpc.0.XYZ7654321.2.POWER"/Waschmaschine Energy.POWER/;
var StateWaschmaschine1 = "javascript.0.Keller.Waschmaschine1.State";
var FarbeWaschmaschine1 = "javascript.0.Keller.Waschmaschine1.Farbe";
var OptinSayitW1 = "javascript.0.Keller.Waschmaschine1.OptinSayit";
! var WattWaschmaschine2 = "hm-rpc.0.XYZ7654321.2.POWER"/Waschmaschine Energy.POWER/;
var StateWaschmaschine2 = "javascript.0.Keller.Waschmaschine2.State";
var FarbeWaschmaschine2 = "javascript.0.Keller.Waschmaschine2.Farbe";
var OptinSayitW2 = "javascript.0.Keller.Waschmaschine2.OptinSayit";
! var WattTrockner = "hm-rpc.0.XYZ1234567.2.POWER"/Trockner Energy.POWER/;
var StateTrockner = "javascript.0.Keller.Trockner.State";
var FarbeTrockner = "javascript.0.Keller.Trockner.Farbe";
var OptinSayitT = "javascript.0.Keller.Trockner.OptinSayit";
! var SayitID = "sayit.1.tts.text";
var Pon = 200;
var Poff = 2;
var Pstby = 4;
! subscribe ({id: WattWaschmaschine1, change: "ne"}, checkState);
subscribe ({id: WattWaschmaschine2, change: "ne"}, checkState);
subscribe ({id: WattTrockner, change: "ne"}, checkState);
! function checkState() { // Abfrage ob Waschmaschine oder Tumbler laufen
// Waschmaschine 1
var StatusWaschmaschine1 = getState(StateWaschmaschine1).val;
var LeistungWaschmaschine1 = getState(WattWaschmaschine1).val;
if (StatusWaschmaschine1 < 2) { // Status Maschine aus
if (LeistungWaschmaschine1 > Pon) {
setState(StateWaschmaschine1, 2, true);
setState(FarbeWaschmaschine1, "red", true);
log('Script Keller-Geräte; Status: Waschmaschine 1 läuft. (' + LeistungWaschmaschine1 + "W)", "info");
} else if (LeistungWaschmaschine1 < Pstby) {
if (LeistungWaschmaschine1 < Poff) {
setState(StateWaschmaschine1, 0, true);
setState(FarbeWaschmaschine1, "blue", true);
log("Script Keller-Geräte; Status: Waschmaschine 1 ist ausgeschaltet. (" + LeistungWaschmaschine1 + "W)", "info");
} else {
setState(StateWaschmaschine1, 1, true);
setState(FarbeWaschmaschine1, "green", true);
log("Script Keller-Geräte; Status: Waschmaschine 1 ist im Standby. (" + LeistungWaschmaschine1 + "W)", "info");
}
}
} else if (StatusWaschmaschine1 === 2 || StatusWaschmaschine1 === null) {
if (LeistungWaschmaschine1 < Pstby) {
setState(StateWaschmaschine1, 1, true);
setState(FarbeWaschmaschine1, "green", true);
if (getState(OptinSayitW1).val) {
setState(SayitID, "Die Waschmaschine Eins ist fertig.");
}
log("Script Keller-Geräte; Status: Waschmaschine 1 ist fertig. (" + LeistungWaschmaschine1 + "W)", "info");
}
}
! // Waschmaschine 2
var StatusWaschmaschine2 = getState(StateWaschmaschine2).val;
var LeistungWaschmaschine2 = getState(WattWaschmaschine2).val;
if (StatusWaschmaschine2 < 2) { // Status Maschine aus
if (LeistungWaschmaschine2 > Pon) {
setState(StateWaschmaschine2, 2, true);
setState(FarbeWaschmaschine2, "red", true);
log('Script Keller-Geräte; Status: Waschmaschine 2 läuft. (' + LeistungWaschmaschine2 + "W)", "info");
} else if (LeistungWaschmaschine2 < Pstby) {
if (LeistungWaschmaschine2 < Poff) {
setState(StateWaschmaschine2, 0, true);
setState(FarbeWaschmaschine2, "blue", true);
log("Script Keller-Geräte; Status: Waschmaschine 2 ist ausgeschaltet. (" + LeistungWaschmaschine2 + "W)", "info");
} else {
setState(StateWaschmaschine2, 1, true);
setState(FarbeWaschmaschine2, "green", true);
log("Script Keller-Geräte; Status: Waschmaschine 2 ist im Standby. (" + LeistungWaschmaschine2 + "W)", "info");
}
}
} else if (StatusWaschmaschine2 === 2 || StatusWaschmaschine2 === null) {
if (LeistungWaschmaschine2 < Pstby) {
setState(StateWaschmaschine2, 1, true);
setState(FarbeWaschmaschine2, "green", true);
if (getState(OptinSayitW2).val) {
setState(SayitID, "Die Waschmaschine Zwei ist fertig.");
}
log("Script Keller-Geräte; Status: Waschmaschine 2 ist fertig. (" + LeistungWaschmaschine2 + "W)", "info");
}
}
! // Trockner
var StatusTrockner = getState(StateTrockner).val;
var LeistungTrockner = getState(WattTrockner).val;
if (StatusTrockner < 2) {
if (LeistungTrockner > Pon) {
setState(StateTrockner, 2, true);
setState(FarbeTrockner, "red", true);
log("Script Keller-Geräte; Status: Trockner läuft. (" + LeistungTrockner + "W)", "info");
} else if (LeistungTrockner < Pstby) {
if (LeistungTrockner < Poff) {
setState(StateTrockner, 0, true);
setState(FarbeTrockner, "blue", true);
log("Script Keller-Geräte; Status: Trockner ist ausgeschaltet. (" + LeistungTrockner + "W)", "info");
} else {
setState(StateTrockner, 1, true);
setState(FarbeTrockner, "green", true);
log("Script Keller-Geräte; Status: Trockner ist im Standby. (" + LeistungTrockner + "W)", "info");
}
}
} else if (StatusTrockner === 2 || StatusTrockner === null) {
if (LeistungTrockner < Pstby) {
setState(StateTrockner, 1, true);
setState(FarbeTrockner, "green", true);
if (getState(OptinSayitW).val) {
setState(SayitID, "Der Trockner ist fertig.");
}
log("Script Keller-Geräte; Status: Trockner ist fertig. (" + LeistungTrockner + "W)", "info");
}
}
}
! checkState(); // Beim Script-Start einmal durchlaufen lassenIch habe zusätzlich noch die Leistungkonfig ind oberen Teil des Scripts genommen. Den Objektpfad javascript.0.Keller-Waschmaschine (ohne Nummer) kannst nun löschen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
