Shelly 1PM switch temperature turn on switch

Hinweis zur Nutzung von Skripten (für Nutzer)

Die Verwendung von Skripten erfolgt ausdrücklich auf eigene Gefahr. Weder Shelly noch die jeweiligen Autoren oder Entwickler der Skripte übernehmen irgendeine Form der Haftung für mögliche Schäden, Fehlfunktionen, Datenverluste oder anderweitige Beeinträchtigungen, die durch die Nutzung dieser Skripte entstehen könnten. Bitte stellen Sie vor dem Einsatz sicher, dass Sie den Quellcode verstehen und sich der möglichen Auswirkungen bewusst sind. Die Skripte werden ohne Gewähr bereitgestellt und unterliegen keiner regelmäßigen Wartung oder offiziellen Unterstützung.


Hinweis für Entwickler

Wenn Sie eigene Skripte bereitstellen, achten Sie bitte darauf, eine klare Beschreibung, eventuelle Einschränkungen und Sicherheitsaspekte zu dokumentieren. Beachten Sie zudem, dass Nutzer Ihre Skripte grundsätzlich auf eigenes Risiko verwenden. Eine Haftung für Schäden ist ausgeschlossen, sofern diese nicht vorsätzlich oder grob fahrlässig verursacht wurden oder gesetzlich anderweitig geregelt ist.

VPN/Proxy erkannt

Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.

  • I'm brand new at this... I've been scouring the forum.

    I'd like to turn on the power to some fans if the switch temp hits a certain value. Using IP/rpc/Shelly.GetStatus I see that "temperature": {tC":47.3, "tF";117.1}.

    So I assume a script such as;

    switch.temperature.tC > 35 = turnon switch

    Or some such verbage. I have no programming knowledge... stumbling through this. Any hints are welcome!

  • Hi dannoz ,

    thats easy to do, here try this Script:

    2 Mal editiert, zuletzt von _[Deleted]_ (11. November 2023 um 00:53)

  • As I'm decifering this... at 35C the switch turns on. I don't clearly see a section turning off the switch if the temp falls below 35. Do I need to add;

    function CheckTmp(d){

    try{

    let _name= Cut(device,':',0,true);

    let _id= Number(Cut(device,':',1));

    let aTmp= Status(_name,_id).temperature[tmpType];

    let output= Status(_name,_id).output;

    if(debug) print('Debug: name:',_name,', id:',_id,', aTmp:',aTmp,', output:',output);

    if(aTmp >= tmpLimit && !output) Call('Switch.set',{id: _id, on: true},null,null,debug);

    if(aTmp < tmpLimit && !output) Call('Switch.set',{id: _id, on: false},null,null,debug);

    }catch(e){ErrorMsg(e,'CheckTmp()');}

    }

  • Hmmm, that's a good point. I forgot to turn the device back off. :D

    But to be fair, you never mentioned turning it off again in your request.

    So I assume a script such as;

    switch.temperature.tC > 35 = turnon switch

    Einmal editiert, zuletzt von _[Deleted]_ (11. November 2023 um 19:20)

  • Dieses Thema enthält 3 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.