Beiträge von pezibaer66

    Hallo zusammen,

    hab mir aus einigen Beispiel Scripts ein Script für meine PV Anlage zusammengestellt.

    Ich verwende zwei Shelly 1PM welche im lokalen WLan verbunden sind.

    Es werden alle gemessen Daten richtig ausgelesen und auch richtig angezeigt.

    Wenn ich dann aber die Leistung des Remote-Shelly mit einem Wert (z.B. 300W) vergleichen möchte, passiert gar nichts. ;(

    if (300 > Verbraucher_Power) Shelly.call("Switch.set", {'id': 0, 'on': false});

    Mache ich das selbe mit der Leistung, die am Shelly gemessen wird, auf dem das Script läuft funktioniert alles. :/

    if (300 > PV_Power) Shelly.call("Switch.set", {'id': 0, 'on': false});

    Weiß jemand, wo mein Fehler liegt? Ich glaube irgendetwas stimmt mit der Definiton "Verbraucher_Power) nicht.

    Hier das gesamte Script

    // CONFIG START

    let CONFIG = {

    // Shelly PLUS 1PM

    shelly_Verbraucher : "http://192.168.1.52/rpc/Switch.GetStatus?id=0"

    };

    // CONFIG END

    //Define Variables

    let Verbraucher_Power = 0;

    let PV_Power = 0;

    //

    function Verbraucher() {

    Shelly.call(

    "HTTP.GET",

    {

    "url": CONFIG.shelly_Verbraucher

    },

    function (result, error_code, error_message) {

    let Verbraucher_Power = JSON.parse(result.body).apower;

    print("Verbraucher = " Verbraucher_Power "W");

    //print(JSON.stringify(result));

    //if we need to check the state of the switch

    //peek into result.output

    if (JSON.parse(result.body).output === true) {

    print("Verbraucher Switch is on");

    }

    }

    );

    }

    let timer_handle = Timer.set(3000,true,Verbraucher,null);

    function PV() {

    Shelly.call(

    "switch.getstatus",

    {

    //for more than one switch devices use the respective id

    id: 0

    },

    function (result, error_code, error_message) {

    let PV_Power = (result.apower);

    print("PV = " PV_Power "W");

    if (300 > Verbraucher_Power) Shelly.call("Switch.set", {'id': 0, 'on': false});

    //print(JSON.stringify(result));

    //if we need to check the state of the switch

    //peek into result.output

    if (result.output === true) {

    print("PV Switch is on");

    }

    else {

    print("PV Switch is off");

    }

    }

    );

    }

    let timer_handle = Timer.set(3000,true,PV,null);

    // Set your input to Switch and in Detached mode for this code to function correctly.

    Hallo,

    ich würde gerne zwei Shelly Plus 1PM zur Leistungsmessung verwenden:

    Shelly1 misst Leistung Gerät1 = P1

    Shelly2 misst Leistung Gerät2 = P2

    dann eine Aktion beim Vergleich der beiden gemessenen Leistungen

    wenn P1 kleiner als P2 Relais von Shelly1=ON

    wenn P1 grösser als P2 Relais von Shelly1=OFF

    habe mir gedacht, ich könnte die beiden Beispielscripts monitor_local_consumption und monitor_rempte_consumption für meine Bedürfnisse anpassen.

    Aber leider meine Fähigkeiten überschätzt.

    Hat jemand vielleicht etwas ähnliches schon programmiert?