Beiträge von ursubey

    Hallo, geht auch anders, mit einem richtigen Slider / Dimmer, dafür muss man aber den Shelly 2.5 in der Paper UI als anderes item anlegen.

    1. Wähle den entsprechenden Shelly (thing) in der Paper UI und klicke auf "show more"

    Bildschirmfoto 2020-07-22 um 15.24.37.png


    2. Wähle den string für den channel des items "Roller Position (100=open, 0=closed)"

    Bildschirmfoto 2020-07-22 um 15.24.57.png

    3. das item sieht dann so aus:
    Dimmer FF_Bathroom_Shutter_Dimmer "Bad_D[%s %%]" <rollershutter> (FF_Bathroom, gShutter_D, gShutter_Front_D, gShutter_FF_D, gShutter_vorneFF_D) ["Rollershutter"] {channel="shelly:shelly25-roller:XXXXXXX:roller#rollerpos"}

    4. Die der Eintrag in der Sitemap so:
    Default item=FF_Bathroom_Shutter_Dimmer label="Badezimmer"


    5. In der Basic UI, sieht es dann so aus:
    Bildschirmfoto 2020-07-22 um 15.36.41.png

    6. die Werte sind genau entgegengesetzt zum "Rollershutter" Item. man müsste bei bedarf noch eine Transformation schreiben.

    Ergo, alles out of the Box seitens des Shelly_Bindings, funktioniert bei mir bestens incl. automatischer Stops zwischen runter- und hochfahren des Rolladens.

    Hallo, habe eine Kreuzschaltung mit Shelly 2.5 und Openhab umgesetzt.
    die Verkabelung sieht ähnlich aus wie in dem unten beschriebenen Post, nur auf Shelly Eingänge übersetzt:

    https://l.facebook.com/l.php?u=https%…QavZrtElmKJbGts

    Nun zu der "Rule". Diese ist in drei Teile unterteilt.

    1. die Vorbereitung, dass sich der Shelly als Kreuzschalter schalten lässt. Dabei muss ein Switch Immer auf "aus" und einer auf an stehen: "//Kreuzschalter für ON/OFF vorbereiten ein Schalter immer an"

    2. Mit der oben beschriebenen Vorbereitung ist der physische Status der Lampe über die eine APP nicht sehbar; ob die Lampe brennt oder nicht. Dieses wird mit dem zweiten Teil der Rule erledigt, in dem an einen virtuellen Schalter in diesem Fall C_Stairwell_Light anlegt, der nachher der Schalter für die Lampe in der APP wird:" //Kreuzschalter virtueller Status"

    3. Zuletzt soll der "virtuelle" Schalter in der "APP" (C_Stairwell_Light) der IO Schalter werden, die direkte Verknüpfung zum Shelly wird nicht mehr dargestellt: "// Schalten mit virtuellen Kreuzschalter"

    Unten stehen neben den "rules" auch die "Items" und die "sitemap", die Ihr für Euren OpenHab braucht, natürlich mit Eurer eigenen Namenskonvention:

    rules:

    ////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////
    //Kreuzschalter für ON/OFF vorbereiten ein Schalter immer an
    rule "Kreuzschaltung physisch 1"
    when Item C_Stairwell_Light1 changed
    then
    if ((C_Stairwell_Light1.state==ON)) {
    sendCommand(C_Stairwell_Light2, OFF)
    postUpdate(C_Stairwell_Light2, OFF)}
    else if ((C_Stairwell_Light1.state==OFF)){
    sendCommand(C_Stairwell_Light2, ON)
    postUpdate(C_Stairwell_Light2, ON)}
    end

    rule "Kreuzschaltung physisch 2"
    when Item C_Stairwell_Light2 changed
    then
    if ((C_Stairwell_Light2.state==ON)) {
    sendCommand(C_Stairwell_Light1, OFF)
    postUpdate(C_Stairwell_Light1, OFF)}
    else if ((C_Stairwell_Light2.state==OFF)){
    sendCommand(C_Stairwell_Light1, ON)
    postUpdate(C_Stairwell_Light1, ON)}
    end
    ////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////

    ////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////
    //Kreuzschalter virtueller Status
    rule "Kreuzschaltung-Status virtuell an"
    when Item C_Stairwell_Light1_Watt changed or
    Item C_Stairwell_Light2_Watt changed

    then

    if (C_Stairwell_Light1_Watt.state >=2.0 && C_Stairwell_Light2_Watt.state <=2.0)
    (C_Stairwell_Light1_Watt.state <=2.0 && C_Stairwell_Light2_Watt.state >=2.0)

    postUpdate (C_Stairwell_Light, ON)
    end

    rule "Kreuzschaltung-Status virtuell aus"
    when Item C_Stairwell_Light1_Watt changed or
    Item C_Stairwell_Light2_Watt changed

    then

    if (C_Stairwell_Light1_Watt.state <=2.0 && C_Stairwell_Light2_Watt.state <=2.0)

    postUpdate (C_Stairwell_Light, OFF)

    end
    ////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////

    ////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////
    // Schalten mit virtuellen Kreuzschalter
    rule "virtueller Kreuzschalter an"
    when Item C_Stairwell_Light received command ON

    then if (C_Stairwell_Light1.state == ON)
    C_Stairwell_Light1.sendCommand(OFF)

    if (C_Stairwell_Light1.state == OFF)
    C_Stairwell_Light1.sendCommand(ON)

    end

    rule "virtueller Kreuzschalter aus"
    when Item C_Stairwell_Light received command OFF

    then if (C_Stairwell_Light1.state == ON)
    C_Stairwell_Light1.sendCommand(OFF)

    if (C_Stairwell_Light1.state == OFF)
    C_Stairwell_Light1.sendCommand(ON)

    end

    ////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////


    Items:

    Switch C_Stairwell_Light1 "Kellertreppe physisch1" <light> (C_Stairwell) ["Switch", "Switchable"] {channel="shelly:shelly25-relay:XXXXXX:relay1#output"}
    Switch C_Stairwell_Light2 "Kellertreppe physisch2" <light> (C_Stairwell ["Switch", "Switchable"] {channel="shelly:shelly25-XXXXXX:relay2#output"}
    Number C_Stairwell_Light1_Watt "Kellertreppe" <switch> (gLightStair_Watt) {channel="shelly:shelly25-relay:XXXXXX:meter1#currentWatts"}
    Number C_Stairwell_Light2_Watt "Kellertreppe" <switch> (gLightStair_Watt) {channel="shelly:shelly25-relay:XXXXX:meter2#currentWatts"}
    Switch C_Stairwell_Light "Kellertreppe" <light> (C_Stairwell, gLight, gStairwell)


    Sitemap:

    Default item=C_Stairwell_Light