Yes, it was primitive by today's standards with a very limited command set, but that command set was good enough for 90% of purposes and its simplicity meant that it was trivial to implement correctly and everything interoperated.
It didn't need an internet connection to function. It didn't even need a local server. Though you could have a programmable controller, the minimum viable setup consisted of having some X10-enabled device (such as a light socket), an X10 switch, and setting some DIP switches as configuration.
It was simple, with some small issues.
If you wanted to kick it up a notch you could run a Mister House server connecting to the powerline through a $15 Radio Shack module.