bacnet
Version, currently 0.10.916 versions
- 1.0.1latestJul 31, 2026
- 1.0.0not indexedJul 31, 2026
- 0.11.0not indexedJul 31, 2026
- 0.10.10not indexedJul 31, 2026
- 0.10.9not indexedJul 31, 2026
- 0.10.8not indexedJul 31, 2026
- 0.10.7not indexedJul 31, 2026
- 0.10.6not indexedJul 31, 2026
- 0.10.5not indexedJul 31, 2026
- 0.10.4not indexedJul 31, 2026
- 0.10.3not indexedJul 31, 2026
- 0.10.2not indexedJul 31, 2026
- 0.10.1not indexedJul 31, 2026
- 0.10.0not indexedJul 31, 2026
- 0.9.2not indexedJul 31, 2026
- 0.9.1not indexedJul 31, 2026
github.com/spider-gazelle/crystal-bacnet
BACnet Support for Crystal Lang
Nothing has been indexed for 0.10.9 yet. The tag is recorded, its shard.yml has not been read, so the manifest and dependency list below are empty because they are unknown rather than because they are absent.
Installation
# Add this to your shard.yml
dependencies:
bacnet:
github: spider-gazelle/crystal-bacnet
version: ~> 0.10.9Then run:
shards installshard.yml
No shard.yml has been indexed for 0.10.9. You can read it on the repository.
Dependencies
Unknown: the shard.yml for this version has not been read yet.
README
This README is the one indexed from the repository at its latest ref, not from the tag for this version.
BACnet Support for Crystal Lang
it supports
- the IPv4 data link layer (BACnet/IP)
- the websocket data link layer (BACnet/SC)
Installation
Add the dependency to your shard.yml:
dependencies:
bacnet:
github: spider-gazelle/crystal-bacnet
Usage
require "bacnet"
require "socket"
# ======================
# Create transport layer
# ======================
server = UDPSocket.new
server.bind "0.0.0.0", 0xBAC0
# ======================
# Hook up the client to the transport
# ======================
client = BACnet::Client::IPv4.new
client.on_transmit do |message, address|
if address.address == Socket::IPAddress::BROADCAST
# Broadcast this message, might need to be a unicast to a BBMD
else
server.send message, to: address
end
end
spawn do
# Feed data to the client
loop do
break if server.closed?
bytes, client_addr = server.receive
message = IO::Memory.new(bytes).read_bytes(BACnet::Message::IPv4)
client.received message, client_addr
end
end
# ======================
# Collect device information
# ======================
registry = BACnet::Client::DeviceRegistry.new(client)
registry.on_new_device do |device|
puts "FOUND NEW DEVICE: #{device.vendor_name} #{device.name} #{device.model_name}"
end
# broadcast a who_is out onto the network
client.who_is
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.10.9- Tagged
- Jul 31, 2026
- Commit
8881a3e4ccf2- Indexed
- not yet
Dependents
No indexed shard depends on this one yet.
Repository
github.com/spider-gazelle/crystal-bacnet
Metadata
- Created
- Oct 3, 2026
- Updated
- Oct 24, 2026
- Synced
- Oct 24, 2026
- Versions
- 16