Skip to content

Commit

Permalink
Merge branch 'm18-scheduler-economizer-variable' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
climategadgets committed Apr 26, 2024
2 parents 83694eb + e4d63c2 commit f5b53f2
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 14 deletions.
3 changes: 3 additions & 0 deletions docs/hardware/z-wave.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ Devices tested are `0x0086-0x0101-0x005a` (older) and `0x0086-0x0001-0x005a` (ne

* [MP31ZP Minoston / Mini Plug with Power Meter](https://devices.zwave-js.io/?jumpTo=0x0312:0xff00:0xff0e:0.0)

## Testing In progress

* [MP31Z Minoston / Mini Smart Plug](https://devices.zwave-js.io/?jumpTo=0x0312:0xff00:0xff0c:0.0) - interestingly enough, arrived branded as "New One Z-Wave Plug, 800 Series".
---
[^^^ Index](../index.md)
[^^^ Hardware Support](./index.md)
5 changes: 3 additions & 2 deletions docs/hardware/zigbee.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ These are simply known to work, with neither positive nor negative comments.

## Testing In progress
* [3RSP02028BZ](https://www.zigbee2mqtt.io/devices/3RSP02028BZ.html#third%2520reality-3rsp02028bz) - most detailed reported metrics among metering outlets.
However, one of six devices started becoming unresponsive and eventually falling off the network and had to be decommissioned. The rest are fine so far.
However, THREE of six devices started becoming unresponsive and eventually falling off the network and had to be decommissioned. The rest are fine so far.
Current suspicion is that different Zigbee gateways produce different traffic patterns, and there's something that these switches don't like (devices connected to "ZBDongle-P" work fine whereas devices connected to "ZBDongle-E" fall off).
Also, the ground prong is hollow, extra caution when connecting high power loads is recommended.
* [ZG-205ZL](https://www.zigbee2mqtt.io/devices/ZG-205ZL.html#tuya-zg-205zl) - human presence detector. Just arrived, no conclusions yet.
* [ZG-205ZL](https://www.zigbee2mqtt.io/devices/ZG-205ZL.html#tuya-zg-205zl) - human presence detector. Works 100% reliably in some installations, and is extremely oversensitive with massive false positives in others, very likely to misconfigured area of detection, though. Can see people through walls (really).

---
[^^^ Index](../index.md)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,18 +209,13 @@ private Flux<Map.Entry<Calendar, CalendarListEntry>> filterCalendars(Map.Entry<C
var zoneCount = new AtomicInteger();
var calendarClient = source.getKey();

try {

return Flux.fromIterable(source.getValue())
.doOnNext(e -> logger.debug("Calendar found: {}", e.getSummary()))
.filter(e -> name2calendar.containsValue(e.getSummary()))
.doOnNext(e -> logger.debug("Zone schedule found: {}", e.getSummary()))
.doOnNext(e -> zoneCount.incrementAndGet())
.map(e -> new AbstractMap.SimpleEntry<>(calendarClient, e));

} finally {
logger.debug("Zone schedule list: {} items", zoneCount.get());
}
return Flux.fromIterable(source.getValue())
.doOnNext(e -> logger.debug("Calendar found: {}", e.getSummary()))
.filter(e -> name2calendar.containsValue(e.getSummary()))
.doOnNext(e -> logger.debug("Zone schedule found: {}", e.getSummary()))
.doOnNext(e -> zoneCount.incrementAndGet())
.doOnComplete(() -> logger.debug("Zone schedule list: {} items", zoneCount.get()))
.map(e -> new AbstractMap.SimpleEntry<>(calendarClient, e));
}

private Flux<Map.Entry<CalendarListEntry, List<Event>>> getEvents(Map.Entry<Calendar, CalendarListEntry> source) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,12 @@ private Flux<Map.Entry<String, Map.Entry<SchedulePeriod, ZoneSettings>>> applySc

logger.trace("{}: matched time={} period={}", zoneName, now, period);

// VT: FIXME: https://github.com/home-climate-control/dz/issues/319
// After that is fixed, the precedence will be:
//
// 1. Local settings change first.
// 2. Changed event settings will NOT be applied upon change, however, "return to schedule" will apply new, changed, settings.

if (same(currentPeriod, period)) {
logger.trace("{}: already at {}", zoneName, period);
return Flux.empty();
Expand Down

0 comments on commit f5b53f2

Please sign in to comment.