homeconnect_local
Version, currently main branch1 version
- main branchlatestFeb 14, 2026
github.com/stakach/homeconnect_crystal
homeconnect library for crystal lang (local control)
1 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
homeconnect_local:
github: stakach/homeconnect_crystal
branch: mainmain is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
- no constraint declared
- License
- MIT
- Author
- Stephen von Takach
Dependencies
Runtime Dependencies
- dns*github: spider-gazelle/dns
Development Dependencies
- ameba*github: crystal-ameba/amebadev
README
homeconnect_local (Crystal)
Minimal Crystal library implementing the Home Connect Local websocket protocol (starting with AES mode).
- Protocol notes:
PROTOCOL.md
Status
- AES mode: implemented (ws://host:80/homeconnect) with AES-CBC + rolling HMAC framing.
- TLS-PSK mode: implemented (wss://host:443/homeconnect) using OpenSSL TLS 1.2 + PSK callback.
Usage (sketch)
Example: interactive oven CLI (TLS-PSK)
See: examples/oven_cli.cr
require "homeconnect_local"
client = HomeconnectLocal::Client.new(
host: "192.168.1.50",
psk64: "<urlsafe base64 psk from profile>",
iv64: "<urlsafe base64 iv from profile>",
app_name: "MyAdapter",
app_id: "deadbeef"
)
client.on_notify = ->(msg : HomeconnectLocal::Message) {
puts "NOTIFY #{msg.resource} #{msg.data}"
}
client.connect
rsp = client.send_sync(HomeconnectLocal::Message.new(resource: "/ci/info"))
puts rsp.data
Development
crystal spec
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
main- Seen
- Feb 14, 2026
- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/stakach/homeconnect_crystal
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 14, 2026
- Synced
- Aug 14, 2026
- Versions
- 1