Steuerung mittels Node Red und node-red-contrib-shelly?

  • Hi,

    ich habe mittels Node Red und dem Plugin node-red-contrib-shelly eine Rolladensteuerung für meine Shelly 2.5 geschrieben. Jetzt wollte ich eine weitere Schallosie um einen Shelly PM2 Plus ergänzen. Mir war allerdings nicht bewusst dass ich diesen scheinbar nicht wie die 2.5er ansteuern kann.

    Bisher habe ich die 2.5er Shellys wie folgt mit dem shelly gen 1 node angesprochen:

    Code
    msg.payload = {
        roller : 0,
        go : "to_pos",
        roller_pos : global.get("setRollerPositionTo") 
    }
    
    return msg;

    Mit dem Gen 1 Knoten kann ich jedoch (logischerweise?!) den Gen 2 nicht ansteuern. Mit dem Gen 2 Knoten sagt mir Node Red nach Eingabe der IP, dass ich mit dem Shelly verbunden wäre. Ich verstehe jedoch nicht wie der payload aussehen muss. Diesen Guide habe ich bereits studiert, jedoch scheinbar noch nicht verstanden: https://flows.nodered.org/node/node-red-contrib-shelly

    Ich möchte den Shelly lokal (ohne cloud) auf eine bestimmte Position bewegen. Das eheste was ich bisher dazu gefunden habe ist folgender Code:

    Code
    msg.payload = {
        type : 'roller',
        channel : 1,
        id : 'MeineIdAusDerApp',
        pos : '80',
        
    }
    
    return msg;

    Löse ich einen manuellen Trigger aus der diesen Payload schickt passiert jedoch nichts. Da ich das vor ca 1,5 Jahren entwickelt habe bin ich auch nicht mehr ganz so geübt. Kann mir jemand helfen was ich per Payload schicken muss damit die Rolläden auf die Position springen?


    Edit: habs denke hinbekommen. Doku auf der github Seite war aktueller. Mit folgendem payload klappts bei mir:

    Code
    msg.payload = {
        method: "Cover.GoToPosition",
        parameters : {
            id : 0,
            pos : 70 , 
            // rel : -10, // as an alternative to pos you can pass rel in %
        }
    }

    Einmal editiert, zuletzt von furryhamster (20. September 2023 um 14:53) aus folgendem Grund: Lösung gefunden