Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions Shelly-as-a-Switch.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
* 1/1PM/2/2.5/EM/Plug/PlugS/4Pro/EM3/SHPLG-U1
*
* Changes:

* 3.0.11 schellem: Allow user to add offset to the enrgy meter and copmate consumption with the provider energy meter. Also swhitch the measuring from Wh to kWh on the `energy` field.
* 3.0.10 schellem: the ext_switch check in the code fails if the element is not present in the http response. This makes the external temperature values not be read.
* 3.0.9 - Diondp: Added ContactSensor function for external swith module, note must use black and yellow wire, selection of reversed as in native shelly-app
* To get instant response from the Shelly Contact Sensor, go to the shelly App, and setup a HTTP call for MakerAPI, otherwise there is a need for manual refresh
Expand Down Expand Up @@ -188,6 +188,11 @@ metadata {
}
if (getDataValue("model") in ["SHEM","SHEM-3"]) {
input("eMeter", "number", title:"eMeter Channel", description:"0, 1 or 2 :", defaultValue:"0" , required: true)
input("PowerOfset0", "number", title:"Power ofset in kWh for ch 0", description:"Add a number here. Ex: 4697 :", defaultValue:"0" , required: false)
input("PowerOfset1", "number", title:"Power ofset in kWh for ch 1", description:"Add a number here. Ex: 5435 :", defaultValue:"0" , required: false)
}
if (getDataValue("model") == "SHEM-3") {
input("PowerOfset2", "number", title:"Power ofset in kWh for ch 2", description:"Add a number here. Ex: 3435 :", defaultValue:"0" , required: false)
}
if (getDataValue("model") == "SHEM") {
input("ctraf", "number", title:"Current Amperage(ctraf)", description:"50 or 120:", defaultValue:"50" , required: true)
Expand Down Expand Up @@ -373,18 +378,18 @@ try {
if (eMeter == 0 )sendEvent(name: "power", value: obs.emeters.power[0])
if (eMeter == 0 )sendEvent(name: "voltage", value: obs.emeters.voltage[0])
if (eMeter == 0 )sendEvent(name: "reactive", value: obs.emeters.reactive[0])
if (eMeter == 0 )sendEvent(name: "energy", value: obs.emeters.total[0])
if (eMeter == 0 )sendEvent(name: "energy", value: obs.emeters.total[0]/1000+PowerOfset0)

if (eMeter == 1 )sendEvent(name: "power", value: obs.emeters.power[1])
if (eMeter == 1 )sendEvent(name: "voltage", value: obs.emeters.voltage[1])
if (eMeter == 1 )sendEvent(name: "reactive", value: obs.emeters.reactive[1])
if (eMeter == 1 )sendEvent(name: "energy", value: obs.emeters.total[1])
if (eMeter == 1 )sendEvent(name: "energy", value: obs.emeters.total[1]/1000+PowerOfset1)

if (state.DeviceType == "SHEM-3") {
if (eMeter == 2 )sendEvent(name: "power", value: obs.emeters.power[2])
if (eMeter == 2 )sendEvent(name: "voltage", value: obs.emeters.voltage[2])
if (eMeter == 2 )sendEvent(name: "reactive", value: obs.emeters.reactive[2])
if (eMeter == 2 )sendEvent(name: "energy", value: obs.emeters.total[2])
if (eMeter == 2 )sendEvent(name: "energy", value: obs.emeters.total[2]/1000+PowerOfset2)
}
state.eMeter = eMeter
sendEvent(name: "eMeter", value: state.eMeter)
Expand Down
2 changes: 1 addition & 1 deletion resources/version.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

"Driver":{
"ShellyAsARoller":"2.0.2",
"ShellyAsASwitch":"3.0.10",
"ShellyAsASwitch":"3.0.11",
"ShellyBulb":"2.1.5",
"ShellyHTMQTT":"3.1.3",
"ShellyRGBW":"1.5.7",
Expand Down