@paul53:
Hast Du mal die Zeitstempel der beiden JS-Datenpunkte verglichen ? `
leider nein, habe vorhin alles neu gestartet und dann ging es komischerweise!
Deine Veränderungen in der Switch-Anweisung machen sinn! Danke hierfür.
Aber die Veränderung beim Aufruf (ON) klappt mit der "Standard" Variante nicht. Wenn ich von aussen den Modus wechsle, würde das im VIS nicht mehr passen.
Ich habe es jetzt so gelöst, und es funktioniert endlich alles wie es soll!
//*****************DATENPUNKTE*ERZEUGEN****************************************
createState('thermostate.stube.modus', "");
createState('thermostate.bad.modus', "");
createState('thermostate.küche.modus', "");
//*********************STUBE**************************************************
function stube()
{
var a = getState("hm-rpc.0.MEQ0480054.2.CONTROL_MODE").val;
switch(a)
{
case 0:
setState("hm-rpc.0.MEQ0480054.2.MANU_MODE", 5.0); // Sollwert
toLog(zeit + "->" + "Stube Manuell");
break;
default:
setState("hm-rpc.0.MEQ0480054.2.AUTO_MODE", true);
toLog(zeit + "->" + "Stube Automatik");
}
}
//********************BAD*****************************************************
function bad()
{
var b = getState("hm-rpc.0.MEQ0447885.4.CONTROL_MODE").val;
switch(b)
{
case 0:
setState("hm-rpc.0.MEQ0447885.4.MANU_MODE", 5.0); // Sollwert
toLog(zeit + "->" + "Bad Manuell");
break;
default:
setState("hm-rpc.0.MEQ0447885.4.AUTO_MODE", true);
toLog(zeit + "->" + "Bad Automatik");
}
}
//********************KÜCHE****************************************************
function kueche()
{
var c = getState("hm-rpc.0.MEQ0447899.4.CONTROL_MODE").val;
switch(c)
{
case 0:
setState("hm-rpc.0.MEQ0447899.4.MANU_MODE", 5.0); // Sollwert
toLog(zeit + "->" + "Küche Manuell");
break;
default:
setState("hm-rpc.0.MEQ0447899.4.AUTO_MODE", true);
toLog(zeit + "->" + "Küche Automatik");
}
}
//********************AUFRUFE**************************************************
on({id: "javascript.0.thermostate.stube.modus", "val": "stubem"}, function()
{
stube();
});
on({id: "javascript.0.thermostate.stube.modus", "val": "stubea"}, function()
{
stube();
});
on({id: "javascript.0.thermostate.bad.modus", "val": "badm"}, function()
{
bad();
});
on({id: "javascript.0.thermostate.bad.modus", "val": "bada"}, function()
{
bad();
});
on({id: "javascript.0.thermostate.küche.modus", "val": "küchea"}, function()
{
kueche();
});
on({id: "javascript.0.thermostate.küche.modus", "val": "küchem"}, function()
{
kueche();
});
In dem Script könnte man in den Case Anweisung mit "case 3:" nun noch die Boost-Funktion der Thermostate realisieren.
Danke für die Hilfe.