diff options
Diffstat (limited to 'tv_light/tv_light.ino')
| -rw-r--r-- | tv_light/tv_light.ino | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tv_light/tv_light.ino b/tv_light/tv_light.ino index 5588cef..655be24 100644 --- a/tv_light/tv_light.ino +++ b/tv_light/tv_light.ino | |||
| @@ -132,6 +132,8 @@ void before() | |||
| 132 | #else | 132 | #else |
| 133 | uint8_t level = sensor->dimmer.level; | 133 | uint8_t level = sensor->dimmer.level; |
| 134 | #endif | 134 | #endif |
| 135 | if ((sensor->type & SENSOR_RELAY) && !relayRead(sensor)) | ||
| 136 | level = 0; | ||
| 135 | analogWrite(sensor->dimmer.pin, pwmValue(level)); | 137 | analogWrite(sensor->dimmer.pin, pwmValue(level)); |
| 136 | } | 138 | } |
| 137 | } | 139 | } |
| @@ -268,6 +270,9 @@ void relayWrite(struct sensor_t *sensor, bool state, bool send_update) | |||
| 268 | 270 | ||
| 269 | digitalWrite(sensor->relay.pin, state ? RELAY_ON : RELAY_OFF); | 271 | digitalWrite(sensor->relay.pin, state ? RELAY_ON : RELAY_OFF); |
| 270 | 272 | ||
| 273 | if (sensor->type & SENSOR_DIMMER) | ||
| 274 | analogWrite(sensor->dimmer.pin, state ? pwmValue(sensor->dimmer.level) : 0); | ||
| 275 | |||
| 271 | #ifdef SAVE_RESTORE | 276 | #ifdef SAVE_RESTORE |
| 272 | saveState(sensor->id, state ? RELAY_ON : RELAY_OFF); | 277 | saveState(sensor->id, state ? RELAY_ON : RELAY_OFF); |
| 273 | #endif | 278 | #endif |
