zib

zib запушил(а) main в zib/zBusNet

  • 3e84da4a48 Initial import: zephyr-lora relay app + driver patches Clean split of the Zephyr LoRa relay network firmware out of the loratest bench repo. Includes the base app (frame/beacon/CBF relay/ crypto/net), board and partition overlays, and the local Zephyr SX126x driver patches. Excludes per-node identity keys, ESPHome/ sniffer work, and design docs from the source repo.

1 день назад

zib создал новую ветку main в zib/zBusNet

1 день назад

zib создал(а) репозиторий zib/zBusNet

1 день назад

zib запушил(а) main в code/room_cal_ha

  • fcc53c4dd6 Add Guest Entered button for per-entry automations Fires every time the door opens, checked in or not, so automations can trigger on every building entry instead of only at check-in. The button's own last-pressed state is the automation trigger; the first press of a stay also sets Arrived if it isn't set yet.

1 месяц назад

zib запушил(а) main в code/room_cal_ha

  • 0bd7e4ab33 Only abbreviate last name in public guest name when it actually shortens it Avoids a dangling period when last_name is already a single glyph.

2 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • a3d7dd4319 Log scheduled mode-sync transitions and the override-skip path INFO-logs the scheduled check-in (next::start) and check-out (current::end) times/guest when arming mode-sync handles, and DEBUG-logs when scheduling is skipped because an override has Active parked.
  • 860f196e6c Park Active during an override instead of letting it free-run A scheduled Next-check-in was promoting into an active override and silently clobbering it, since _reschedule_mode_sync armed check-in/ check-out handles regardless of override state. Now it schedules no handles while an override is active; ending the override re-arms them from the Store.
  • Просмотр сравнение для этих 2 коммитов »

2 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • c65c899ef8 Add a dedicated Active device mirroring Current's full sensor set Only Current/Next had guest_name/check-in/wifi/door_code sensors; Active only had switches/buttons plus a Last Updated timestamp. That left customer-facing consumers (signage, door displays) with nowhere to read the live/effective record during an override -- they'd have had to read Current, which is now a pure backend mirror and goes blind to overrides. Adds an Active device with the same 8-sensor shape as Current/Next, reading coordinator.data.active. Moves Arrived/Departed there too (they're live-guest-only concepts) instead of Room State, and folds the one-off ActiveLastUpdatedSensor into the shared LastUpdatedSensor class via a third slot branch.
  • bf832348ad Refactor to a three-slot active/current/next model Current and Next are now pure, never-overridable mirrors of the backend feed; override only ever masks Active, the record that actually drives WiFi/lock/guest-mode actions and mode-sync scheduling. This removes the OverrideData.next field, whose None-means-passthrough default let a still-unconsumed Store Next record get silently re-promoted over a patched override (the bug behind Override to Next + a service-call patch reverting on schedule). Service-call patches and turning on the Override Reservation switch now share one snapshot-and-mask entry point (async_ensure_override), folding OverrideCurrentButton's behavior into the switch. Renamed TestNextGuestButton to OverrideNextButton, which now self-ends via end_at instead of relying on override free-running. Arrived/Departed move to the Room State device (they're Active-only concepts) and a new Active Last Updated sensor exposes live-state changes independent of the Current/Next display feed.
  • Просмотр сравнение для этих 2 коммитов »

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • 040506a3df Add Override to Current button for on-site hold-over extensions Lets ops convert the currently displayed Current record into an override without changing it, so it can be patched (e.g. extending checkout) without being overwritten by the next backend poll.

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • 02cce1da88 Allow empty-string WiFi key default for open networks Preserve wifi_key="" through the Reservation Defaults options step instead of collapsing blank input to None, so open (no-password) networks can be configured. Skip pushing the key to UniFi when it's empty, and emit a correct nopass QR code for the WiFi Key sensor. Also escape special characters (\;,: and ") in SSID/key fields when building the WiFi QR string.

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • af14f2145a Fix API status parsing to handle 503 degraded responses /status can return HTTP 503 with a valid degraded-status body instead of 200. raise_for_status() was throwing before the body was parsed, so the coordinator fell back to status="unknown" instead of surfacing the real degraded state and per-service failure reasons.

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • d3c419b396 Add info-level activity logging for reservation changes, patches, and overrides Backend/lock/wifi debug and warning logging was already solid, but reservation state transitions, thin-update patches, and override start/end were silent. Also drops redundant before/after log pairs for check-in/check-out actions in favor of a single after-the-fact key=value line, and standardizes message style away from quoted prose.

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • 736c6dcd26 Fix test_guest_name_three_words_last_is_final to match correct first_name behavior first_name is the first whitespace-delimited word, not everything before the last space -- the code was right, the test (and the doc) had the wrong spec.
  • e301e9488a Fix natural checkout not deactivating guest mode reservation_diff() derived old/new activeness from is_window_active(res, now), but scheduled natural checkouts always run at/after the reservation's own check-out time, so old always read as already-inactive by the time the diff ran, and checkout_needed never got set — Current was cleared but guest mode, WiFi, and locks were never torn down. The Current slot invariant already guarantees whatever occupies it is checked-in, so the diff now compares occupancy directly and no longer needs wall-clock time at all.
  • Просмотр сравнение для этих 2 коммитов »

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • d3e647d713 Remove redundant Clear Current / Promote from Next buttons, rename override buttons, drop UniFi status sensor Override system now covers what those buttons did. Override Reservation and Test Next Guest get new icons; Test Next Guest / Override Empty entities are renamed to "Override to Next" / "Override to Empty". The UniFi availability sensor is replaced by clear warning logs when a configured UniFi or zLock Slots action can't fire because the hub/lock isn't actually available.

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • d146b980fe Add entity translations and entity_category, decouple UniFi sensor availability Every sensor/binary_sensor/switch/button now uses _attr_translation_key with a corresponding entity section in strings.json/translations/en.json instead of a bare _attr_name, and config/diagnostic-shaped entities are tagged with EntityCategory.CONFIG/DIAGNOSTIC. UnifiAvailableSensor's state comes from the unifi integration, not from RoomCalCoordinator, so its availability should not follow the coordinator's last_update_success — override available to always return True.

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • 62a9f906a4 Add Override Empty button Starts an override with an empty/defaults reservation to end the outgoing guest's stay early, running checkout actions immediately. Sets end_at to the outgoing record's check-out datetime when known, so normal operation resumes automatically once the original reservation period would have ended.
  • 0c5197739f Unify override into the standard reservation-transition pipeline Route backend fetch, thin updates, promote/clear, scheduled check-in/out, and override start/end through one shared diff -> dispatch -> publish pipeline instead of duplicated hand-rolled paths. Fixes overriding to an empty record running checkout instead of check-in, and makes an active override's own Current check in/out on schedule instead of waiting indefinitely for the next poll. Adds an optional end_at auto-end timer to async_start_override.
  • Просмотр сравнение для этих 2 коммитов »

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • bd77bef0ec Revert "Guard mode sync as if off while current guest is departed" This reverts commit f545ba24d4e9df0c7a736260e3d068e2907e923c. Freezing mode sync while departed also cancelled the scheduled check-out transition, so the reservation wouldn't clear until the next backend poll instead of ending on time. Rolling back to plain operation while a replacement (likely built on override-reservation) is designed.

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • bf09f800a0 Extract lock slot helpers into locks.py mirroring wifi.py

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • f545ba24d4 Guard mode sync as if off while current guest is departed Once GuestDepartedButton fires, freeze automatic check-in/check-out actions, room state changes, and scheduled transitions for the current reservation so downstream changes made in response to the departure aren't clobbered. The guard lifts automatically when the current reservation's identity changes (Clear Current, or a backend fetch that reports a different current reservation).

3 месяцев назад

zib запушил(а) main в code/room_cal_ha

  • 06205901fc Drop guest script dispatch; arrived/departed tracked via native HA automations

3 месяцев назад