Conversation
added 18 commits
September 6, 2026 15:41
…d hardware lock revocation safety
…jection, and add-on options
…nd hardware slot validation
…8 digit numeric check in backend
…ansports and UI settings
…ardware slot sync
… with Z-Wave WebSocket node picker
…ble transports and UI settings
| foreach (var slot in userSlots) | ||
| { | ||
| _logger.LogInformation("Clearing physical hardware slot {SlotNumber} for user {UserId} on door '{DoorName}' ({DoorId})", | ||
| slot.SlotNumber, userId, door.Name, door.Id); |
| { | ||
| _session = _sessionFactory(); | ||
| var uri = new Uri(_url); | ||
| _logger.LogInformation("Connecting to Z-Wave JS Server at {Uri}...", uri); |
| await _session.ConnectAsync(uri, connectCts.Token); | ||
|
|
||
| _receiveLoopTask = Task.Run(() => ReceiveLoopAsync(_cts.Token)); | ||
| _logger.LogInformation("Connected to Z-Wave JS Server at {Uri}", uri); |
| } | ||
| catch (Exception ex) | ||
| { | ||
| _logger.LogWarning(ex, "Failed to connect to Z-Wave JS Server at {Url}", _url); |
| } | ||
| catch (Exception ex) | ||
| { | ||
| _logger.LogDebug(ex, "Failed to publish HA discovery messages for new door '{DoorId}'", door.Id); |
| } | ||
| catch (Exception ex) | ||
| { | ||
| _logger.LogDebug(ex, "Failed to republish HA discovery messages for door '{DoorId}'", id); |
| } | ||
| catch (Exception ex) | ||
| { | ||
| _logger.LogDebug(ex, "Failed to unpublish HA discovery messages for door '{DoorId}'", id); |
| catch (Exception ex) | ||
| { | ||
| sw.Stop(); | ||
| _logger.LogWarning(ex, "Test connection failed to Z-Wave WebSocket {Url}", url); |
| try | ||
| { | ||
| var cleared = await _doorOps.ClearUserHardwareSlotsAsync(id, ct); | ||
| _logger.LogInformation("Cleared {Count} physical hardware slots for user '{Name}' ({Id})", cleared, existing.Name, id); |
| } | ||
| catch (Exception ex) | ||
| { | ||
| _logger.LogError(ex, "Error clearing hardware slots for user '{Name}' ({Id})", existing.Name, id); |
spelech
deleted the
feature/v1.5.0-pluggable-entity-transports-and-ui-settings
branch
September 6, 2026 22:45
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.
Description
Implements pluggable hardware entity transports across locks, keypads, and sensors, direct Z-Wave JS WebSocket communication with physical node auto-detection, SQLite system settings persistence with hot-reconnection, and interactive UI settings manager.
Key Changes
ITransport,ILockTransport,IKeypadTransport,ISensorTransport, andITransportRegistry.ZWaveWebSocketTransportJSON-RPC client connected tozwave-js-server.system_settingspersistence andSettingsController(GET/PUT /api/settings,POST /api/settings/test-connection).Test Coverage
verify_release.py --ciclean.