I just wanted to shout out TRMNL.

They have an interesting product, and they’re trying to build a business that includes a lot of open source aspects.

The device that they sell is proprietary, but it’s also just an ESP32, screen, enclosure, and battery, with a custom PCB for convenience. They plan to add instructions to build your own device, and their firmware is open source under a GPLv3 license.

By default, their device connects to their servers, and they have a slick web configuration tool for people who don’t care about having smart devices call home, but you can easily modify the firmware to connect to your own self-hosted server instead. As of this evening, both the Phoenix and Sinatra server implementations are open source under an MIT license after I pointed out that they had no license in an issue, and they pretty much immediately updated the repositories.

There are two other repositories that they have not added a license to, but given their swift response, I’ll give them the benefit of the doubt, and I would expect them to be updated shortly.

They have not shared all of the plugins that are available on their hosted service for use on a self-hosted instance, but a few are available for use and there are many plugins made by others available as well!

As soon as they update those last two repositories, I plan to pre-order one (unlike the conceptually cool VU Dials who’s creators still have not added a license even after being called out by the co-creator of Rocky Linux).

  • irotsoma@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    8 hours ago

    But were talking about firmware here. My computer also has firmware and an OS. I never have to touch that. Home Assistant is an application that I run on a computer. And I don’t have to modify the code in Home Assistant to get it to connect to another device. I just configure it.

    I also install Linux on my laptop. Is that self hosting, too? We’re not talking about a server or a “host” other than the hardware device itself that lives in the house. If I want the server functionality, sure that’s self hosting the server software. Firmware and operating systems are generally not referred to as self-hosting since all devices need those things. Self-hosting refers generally to cloud-based applications, not standalone hardware firmware/OS.

    This is a hardware device that is hard coded to connect only to a specific server that you have to pay to access if you want any API functionality. If I want to use my own I have to learn the programming language, figure out how to modify the Firmware, and then maintain a fork of that firmware indefinitely including making sure that there are no automatic updates since that would overwrite the modifications.

    • jevans ⁂@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 hours ago

      I think you have some fundamental confusion.

      First, the ESP32 only has firmware because it is a microcontroller and does not have an operating system. It is also primarily a network client that requests data from a service running on a network host. And it also acts as a server on initial boot to host a web UI for configuring WiFi credentials.

      Second, Home Assistant is a whole can of worms, but big parts of that are services that run continuously on the machine you install it on that are listening for requests over the network. This is how you access the web UI from a browser. This is how you access the UI from a Home Assistant app on your phone. This is how networked IoT devices send data to Home Assistant. Home Assistant is fairly useless without these services running continuously and doing that makes the machine you run it on what we would colloquially call a “server” or “host”.

      That’s it. That’s what self-hosting is. Yes, sometimes you could be also serving data over the internet or have something to do with “the cloud”, but that’s not necessarily the case, and with the stuff that I host at home, often not.

      Your laptop could be a server, depending on what you install on it, but this dichotomy you laid out of “either hosting is only for cloud stuff or, if you have any computer, you are always self-hosting” is just not based in reality. There are fuzzy edges to what it means to be a server, but they’re not anywhere close to that fuzzy.

      Also, you’re making “modify the firmware” into this big monster that it is just not. You don’t have to learn a programming language. You don’t have to maintain a fork. You’re changing one line and running a few commands. They have a tutorial that walks you through it. It’s really easy.

      On top of that, like I said in another comment responding to you, the need to modify firmware is temporary.