Hallo zusammen,
ich habe jetzt meine Rollläden mit den Shelly Pro 4PM umgesetzt. Es funktioniert bisher einwandfrei. Leider gibt es ja, wie bekannt, noch keine offizielle Unterstützung, aber die Scripts sind als Ersatz sehr hilfreich.
Anbei mein Script, wenn auf S1 = Hoch und S2 = Runter Schalterausgang und auf L1 = Motor Hoch und L2 Motor Runter des Shelly Pro 4PM anliegt. Dafür müssen natürlich die Schalterausgänge und Motoreingänge bis zum Sicherungskasten verkabelt sein. Ich musste dafür noch pro Rollladen zwei Adern nachziehen. Hatte zum Glück Leerrohre verbaut.
Anbei das Script, welches verhindert, dass Hoch und Runter gleichzeitig geschaltet werden und die Reelais ausschaltet, wenn kein Verbrauch mehr anliegt (Rollladen sind zu Ende gefahren):
let counter = 0;
let lastPower = 0.0;
let timerCheck = false;
let currentId = 0;
Shelly.addStatusHandler(
function (status, ud)
{
// Apply only for switch 0 (blind up) or switch 1 (blind down)
if (status.delta.id === 0 || status.delta.id === 1)
{
if (status.delta.output === true)
{
currentId = status.delta.id;
if (currentId === 0)
{
// Disable switch 1 if switch 0 is enabling
Shelly.call("switch.set", { id: 1, on: false }, function (result, code, msg, ud) {}, null);
}
else
{
// Disable switch 0 if switch 1 is enabling
Shelly.call("switch.set", { id: 0, on: false }, function (result, code, msg, ud) {}, null);
}
counter = 0;
timerCheck = true;
}
else if (status.delta.output === false && status.delta.id === currentId)
{
timerCheck = false;
}
if (status.delta.apower !== undefined)
{
lastPower = status.delta.apower;
}
}
},
null
);
Timer.set(
1000,
true,
function (ud)
{
if (timerCheck === true)
{
print('Check');
counter = counter + 1;
// Disable current switch if power is less 5 W
if ((counter >= 3 && lastPower < 10) || counter > 30)
{
//print('Id = ', currentId);
//print('Counter = ', counter);
//print('Power = ', lastPower);
Shelly.call("switch.set", { id: currentId, on: false }, function (result, code, msg, ud) {}, null);
timerCheck = false;
}
}
},
null);
Alles anzeigen
Ich hoffe, es hilft dem ein oder anderen. Mir hätte es auf jeden Fall geholfen.
Gruß Dennis