Re: Things via VSC erstellen
Verfasst: 26. Aug 2020 10:12
@Darkwin
Damit muss ich mich erst einmal vertraut machen.
@PeterA
Über das Shelly Binding
Damit muss ich mich erst einmal vertraut machen.
@PeterA
Über das Shelly Binding
Code: Alles auswählen
rule "weiterleiten"
when
Item gWohnenS received command
then
logInfo("shutter","Rule weiterleiten wurde getriggert.")
if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
gWohnenS.members.forEach[r|
logInfo("shutter","Item {} wird mit {} angesteuert.",r.name,receivedCommand)
var String strCommand = "STOP"
if(receivecCommand == UP) strCommand = "0"
if(receivecCommand == DOWN) strCommand = "100"
r.sendCommand(strCommand)
]
end
Code: Alles auswählen
Group:Rollershutter gAlleShutters
Group:Rollershutter gGartenShutters
Group:Rollershutter gTerrasseShutters
Group:Rollershutter gVorneShutters
Rollershutter rollTerrLi "Terrasse links" (gAlleShutters, gGartenShutters, gTerrasseShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollTerrRe "Terrasse rechts" (gAlleShutters, gGartenShutters, gTerrasseShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollGalerie "Galerie" (gAlleShutters, gGartenShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollBuero "Buero" (gAlleShutters, gGartenShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollKueche "Kueche" (gAlleShutters, gVorneShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollGWC "Gaeste WC" (gAlleShutters, gVorneShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollSchlafen "Schlafen" (gAlleShutters, gVorneShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollBad "Bad" (gAlleShutters, gVorneShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Code: Alles auswählen
rule "weiterleiten"
when
Item gTerrasseShutters received command
then
logInfo("shutter","Rule weiterleiten wurde getriggert.")
if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
gTerrasseShutters.members.forEach[r|
logInfo("shutter","Item {} wird mit {} angesteuert.",r.name,receivedCommand)
var String strCommand = "STOP"
if(receivedCommand == UP) strCommand = 0
if(receivedCommand == DOWN) strCommand = 100
r.sendCommand(strCommand)
]
end
Code: Alles auswählen
2020-08-26 11:57:22.003 [INFO ] [lipse.smarthome.model.script.shutter] - Rule weiterleiten wurde getriggert.
2020-08-26 11:57:22.009 [INFO ] [lipse.smarthome.model.script.shutter] - Item rollTerrLi wird mit DOWN angesteuert.
2020-08-26 11:57:22.020 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'weiterleiten': Could not invoke method: org.eclipse.smarthome.model.script.actions.BusEvent.sendCommand(org.eclipse.smarthome.core.items.Item,java.lang.String) on instance: null
==> /var/log/openhab2/events.log <==
2020-08-26 11:57:21.997 [ome.event.ItemCommandEvent] - Item 'gTerrasseShutters' received command DOWN
2020-08-26 11:57:22.007 [ome.event.ItemCommandEvent] - Item 'rollTerrLi' received command DOWN
2020-08-26 11:57:22.014 [ome.event.ItemCommandEvent] - Item 'rollTerrRe' received command DOWN
2020-08-26 11:57:22.017 [nt.ItemStatePredictedEvent] - rollTerrLi predicted to become NULL
2020-08-26 11:57:22.018 [nt.ItemStatePredictedEvent] - rollTerrRe predicted to become NULL
==> /var/log/openhab2/openhab.log <==
2020-08-26 11:57:24.267 [INFO ] [lipse.smarthome.model.script.shutter] - Rule weiterleiten wurde getriggert.
2020-08-26 11:57:24.273 [INFO ] [lipse.smarthome.model.script.shutter] - Item rollTerrLi wird mit STOP angesteuert.
2020-08-26 11:57:24.284 [INFO ] [lipse.smarthome.model.script.shutter] - Item rollTerrRe wird mit STOP angesteuert.
==> /var/log/openhab2/events.log <==
2020-08-26 11:57:24.260 [ome.event.ItemCommandEvent] - Item 'gTerrasseShutters' received command STOP
2020-08-26 11:57:24.263 [ome.event.ItemCommandEvent] - Item 'rollTerrLi' received command STOP
2020-08-26 11:57:24.265 [ome.event.ItemCommandEvent] - Item 'rollTerrRe' received command STOP
2020-08-26 11:57:24.281 [ome.event.ItemCommandEvent] - Item 'rollTerrLi' received command STOP
2020-08-26 11:57:24.295 [ome.event.ItemCommandEvent] - Item 'rollTerrRe' received command STOP
Code: Alles auswählen
if(receivedCommand == UP) strCommand = "0"
if(receivedCommand == DOWN) strCommand = "100"
<div class="progress-controls">
<div class="btn-group-vertical">
<button type="button" class="btn btn-default btn-lg" title="UP" ng-click="sendCmd(config.blind_item, config.cmd_up)">
<i class="glyphicon glyphicon-menu-up"></i>
</button>
<button type="button" class="btn btn-default btn-lg" title="STOP" ng-click="sendCmd(config.blind_item, config.cmd_stop)">
<i class="glyphicon glyphicon-stop"></i>
</button>
<button type="button" class="btn btn-default btn-lg" title="DOWN" ng-click="sendCmd(config.blind_item, config.cmd_down)">
<i class="glyphicon glyphicon-menu-down"></i>
</button>
</div>
</div>
Code: Alles auswählen
Shelly2.5 in Roller Mode
In Roller mode the device can be used to control a bi-directional motor, with optional obstacle detection and safety switch features.
Commands are: Open, Close, Stop and Set Position.
Code: Alles auswählen
rule "weiterleiten"
when
Item gTerrasseShutters received command
then
logInfo("shutter","Rule weiterleiten wurde getriggert.")
if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
gTerrasseShutters.members.forEach[r|
logInfo("shutter","Item {} wird mit {} angesteuert.",r.name,receivedCommand)
var String strCommand = "STOP"
if(receivedCommand == UP) strCommand = "0"
if(receivedCommand == DOWN) strCommand = "100"
r.sendCommand(strCommand)
]
end