docs(gateway): update UML diagrams following review feedback

- Fix class diagram: use aggregation (o--) for BleakScanner and MQTTClient
- Split sequence diagram into separate files for clarity
- Add sequence_startup.puml for gateway initialization
- Add sequence_data_collection.puml with error handling
- Use collections for BLE broadcaster to reflect multiplicity
- Remove loop construct — gateway reacts to packets, ignores intervals
- Add discard of unknown UUID packets
- Add handling of invalid sensor values
This commit is contained in:
DjeAvd authored and Klagarge committed 2026-06-04 12:32:46 +02:00
1 parent d96968f123
commit 641157202e
4 files changed
+42 -32

No files matched your search

@@ -0,0 +1,27 @@
@startuml
skinparam sequenceMessageAlign center
collections "BLE broadcaster" as thingy
participant "Gateway\n(Raspberry Pi)" as gw
participant "MQTT Broker\n(RabbitMQ)" as broker
participant "Database\n(InfluxDB)" as db
== Data collection ==
thingy -> gw : BLE advertising packet
alt UUID does not match ef680100
gw -> gw : discard packet
else UUID matches
gw -> gw : extract raw payload
gw -> gw : decode_payload()
alt unknown key or value out of range
gw -> gw : discard invalid value\nlog warning
else valid payload
gw -> gw : add UTC timestamp
gw -> broker : publish JSON\n{gateway_id}/{mac}/update
broker -> db : store measurement
end
end
@enduml