Repository navigation
HiveHub integration: 18-hive support, inspection mode, audio, health, insight alert emails - #38
Merged
Merged
Conversation
…sight emails - channels: forward per-hive names and HivePal hive ids (names/hive_ids) instead of the hives[] array HiveHub silently dropped - swarm alerts: remove the broken weight-drop job (it sent the user id as a bearer token, read device.id/recorded_at that do not exist and never applied its cooldown); a new job emails new or escalating HiveHub insight alerts, tracked per user in HiveHubAlertNotification - firmware: accept the hivehub target and a board, cap uploads at 16 MB, relay to any hive 1..18 with an optional force, auto-queue HiveInside relays only for hives that report a HiveInside node - new proxy routes: channels read, inspection mode, hive audio recordings (WAV streamed), remote AP mode, NDJSON export and summary, claim-code gated range delete; measurements accept max_points - SD import refuses a card recorded by another hub unless forced - validate every request body with zod schemas in shared-schemas - unit tests for the alert rules, relay slots, SD device detection and the shared schemas Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V4BwZGxKox5nD1Nw8fP9NL
…etup Restructures the HiveHub page into Overview / Inspections / Audio / Health / Setup tabs and brings HivePal up to what HiveHub now offers: - hive slots: name and link each of the 18 slots to a HivePal hive; both are stored in HiveHub (names/hive_ids) instead of the browser, so the link survives renames and reaches alert emails - overview: per-hive cards for every hive (compensated weight, 24 h change, climate, traffic, alerts, inspection badge); dashboard gains a HiveHeart spectrum and daily-max-weight widget, shaded inspection windows, a custom date range and full i18n; wide ranges are down-sampled server side (a year used to be cut to its last ~35 days by HiveHub's 10k row cap) - inspection mode: start/stop, per-hive scope, notes and history; the HivePal inspection form suggests it for a linked hive (never automatic) and the hive page shows a HiveHub card for linked slots - audio: record, play and download HiveInside recordings with quality figures - health: hub status (signal, time source, battery, solar, last check-in) and sensor health with HiveHub's fault explanations for the hub, scales, in-hive nodes, HiveTraffic counters and HiveHeart - setup: calibration wizard and temperature compensation for hives 1..18, HiveTraffic night mode and emitter banks, remote setup AP and inspection timeout, firmware with per-node relay status and relay buttons, upload board/target detection, SD import device check, NDJSON export and claim-code gated range delete, alert email settings - claim form takes the hive 1/2 names again; device status shows the last check-in - removes the unused sound/bee-counter panels and insights card Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V4BwZGxKox5nD1Nw8fP9NL
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V4BwZGxKox5nD1Nw8fP9NL
Older HiveHub servers and the HiveHub mock send only the flat scale_N_/hive_N_/ble_N_ fields. The new per-hive cards, health view, calibration picker and node detection read hives[], so they showed no data there; synthesize it once in the measurements hook. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V4BwZGxKox5nD1Nw8fP9NL
Adds da, de, es, fr, it, nl, ru, sk and sr strings for every new HiveHub key, the missing navigation.hivehub label, and drops keys of the removed diagram, sound and bee-counter panels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V4BwZGxKox5nD1Nw8fP9NL
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V4BwZGxKox5nD1Nw8fP9NL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This brings HivePal's HiveHub integration up to date with HiveHub, covering items 1–6 of the gap analysis. It needs MacNite/HiveHub#199 for hive links, relay status, AP mode, export and range delete. On an older HiveHub those features return 404; everything else works with current HiveHub
main.1. Fixes for things broken today
hives[], which HiveHub silently dropped. It now sendsnamesandhive_ids. Names and links are stored in HiveHub instead of only in the browser, and a slot links to a HivePal hive by id, not by name.HiveHubAlertNotificationtable.swarmAlerton stay on.hivehubtarget is accepted, aboardis forwarded, and uploads are capped at 16 MB. Relays work for any hive 1..18, with an optionalforce.max_points.shared-schemas.2. Inspection mode
3. Configuration
force).4. Visibility
5. Audio
6. HiveHub API additions and cleanup
navigation.hivehubkey.Testing
tscis clean for the frontend and backend, eslint has 0 errors, and the frontend builds.prisma migrate diffagainst the schema is empty.hives[], so the frontend now rebuilds it from the flat fields.Notes for review
v0.20.0.mdhas no PR number yet.🤖 Generated with Claude Code
https://claude.ai/code/session_01V4BwZGxKox5nD1Nw8fP9NL
Generated by Claude Code