// vim: set sw=4 ts=4 sts=4 et : @startuml person User collections "Sensors and\nDevices" as sensors cloud Kubernetes { component Ingress as ingress { port HTTPS as ingress_http port MQTT as ingress_mqtt } node "Main Node Cluster" { [Home Assistant] as hass queue Mosquitto as mqtt [Piper] as piper [Whisper] as whisper database PostgreSQL as postgres } node "Raspberry Pi Node" as pi { [ZWaveJS2MQTT] as zwavejs [Zigbee2MQTT] as z2m rectangle "Zigbee Controller" as usb_zigbee rectangle "ZWave Controller" as usb_zwave z2m-[#red]-> usb_zigbee zwavejs -[#red]-> usb_zwave } User --[#blue]-> ingress_http sensors --[#purple]-> ingress_mqtt sensors <-[#lightblue]--- hass ingress --[#blue]-> hass ingress ---[#blue]-> zwavejs ingress ---[#blue]-> z2m ingress --[#purple]-> mqtt hass -[#teal]-> postgres hass -[#orange]-> zwavejs hass -[#pink]--> piper hass -[#pink]--> whisper hass -[#purple]> mqtt z2m -[#purple]-> mqtt } legend right Legend |<&arrow-right> | HTTP | |<&arrow-right> | MQTT | |<&arrow-right> | WebSocket | |<&arrow-right> | PostgreSQL | |<&arrow-right> | USB | |<&arrow-right> | ESPHome, etc. | |<&arrow-right> | Wyoming | end legend @enduml