• ramble81@lemm.ee
    link
    fedilink
    arrow-up
    26
    arrow-down
    2
    ·
    3 days ago

    Except thermostats. You literally could do it with a Raspberry Pi, some 24V relays and a temperature sensors. Thermostats are not that hard.

    • qqq@lemmy.world
      link
      fedilink
      arrow-up
      11
      ·
      edit-2
      3 days ago

      Smart thermostats do way more than just set the temperature: that’s just table stakes and of course easy. Off the top of my head the ecobee will:

      • Set the temperature also taking the room’s humidity into account

      • Communicate with sensors throughout your house

      • Can change things via the Internet in case you accidentally forget to set it to a better temperature when you’ll be gone for a few days

      • Tweak your schedule based on demand

      I’m probably missing things, but they’re actually pretty useful, and I’m someone who thinks most IoT is shit.

      • ramble81@lemm.ee
        link
        fedilink
        arrow-up
        12
        arrow-down
        2
        ·
        3 days ago

        Which are all things you can easily do with an RPi and some simple python. My response was to OP stating that embedded systems are hard.

        If you’re using a specific embedded system and want to make it pretty, sure that could pose some issues, but if you want to make something functional that matches what a smart thermostat can do, there’s not much behind it.

        • qqq@lemmy.world
          link
          fedilink
          arrow-up
          10
          ·
          edit-2
          3 days ago

          Programmers love to oversimplify things; “do easily with an RPi and some simple Python” is kinda meaningless. Like, yes, an RPi is a general purpose computer and Python is turing complete, thanks.

          For one, UI/UX is actually hugely important for a consumer device and definitely nontrivial, but on top of that, there is way more that goes into creating custom hardware than a bill of materials (which isn’t just saying “Raspberry Pi”) and choosing a programming language…

          A thermostat is controlling a very expensive device that runs on a highly flammable gas that costs me real money to use. I want 0 serious bugs. I also want 100% uptime. A poorly made “smart thermostat” is way worse then the old school analog metallic ones imo. I also want my partner to be able to control the temperature in the house. These devices are actually not simple at all and I assume that’s the reason there isn’t a good open source/open hardware solution.

          Embedded systems aren’t some mystical impossible thing - contrary to the previous commenter I actually find working with them easier then designing GUIs - but the commercially available devices are definitely nontrivial to recreate

          • MonkeMischief@lemmy.today
            link
            fedilink
            arrow-up
            2
            ·
            3 days ago

            For one, UI/UX is actually hugely important for a consumer device and definitely nontrivial

            Hugely agreed. I’m a huge proponent of DIY / open-source / self-hosting / repurposing etc…but also I realize if I duct-tape-engineer something that “requires a little fiddling until it works” and I’m the only one who can competently use it, I’m setting up the rest of my household for failure when (not if), for whatever reason, I’m not there to babysit it or walk them through it.

        • AtariDump@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          3 days ago

          Which are all things you can easily do with an RPi and some simple python.

          Just like anyone can “easily” rebuild their transmission or patch a piece of leaky copper pipe or bake an apple pie from scratch or hit a bullese from 50 yards out.

          What’s easy for you isn’t easy for everyone.

    • deltapi@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      3 days ago

      Raspi is overkill. Mine runs off an esp32 using code I wrote in Arduino. The web interface takes up more space than the code. Only reason it’s an esp32 instead of an Atmega 328p is the wifi support

    • GreenKnight23@lemmy.world
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      3 days ago

      my high efficiency HVAC unit would like a word with you.

      what you’re saying is basically you can replace anything with a RPI. yes, in theory, you are correct. but, unfortunately for you, there are nuances that you didn’t take into account. such as, startup/shutdown procedures, cool down cycles, heat pumps, dual compression ac units, etc.

      • MonkeMischief@lemmy.today
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        3 days ago

        This made me think:

        What about thermal runaway protection? I’m betting that might be easily overlooked in a custom “smart device” if, for whatever reason, the temperature sensor were to fail and keep reporting “Hey it’s still only (below_target_F_degrees) in here! Keep that heat on full blast!”

        This was an issue that made jank 3D printers catch fire and burn houses down until it was mitigated with open source firmware.

        Point being, unless there’s a “custom smart thermostat project” that’s vetted and trusted, stuff like this might be overlooked in someone’s Python project, wherein it’s bog standard, low level, possibly redundant, in consumer devices. (Especially thanks to safety standards.)

        Should there be an open-source smart thermostat project that’s looked over by thousands of HVAC turbo-nerds and engineers? Yes. Yes there should! Might already be?

      • gamermanh@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        2
        ·
        3 days ago

        All of that is handled by the HVAC (if there’s anything to handle) and not the thermostat

        Thermostats can be (and most often are) a bimetallic strip that bends one way as it cools and bends the other way as it warms, and that flips some switches that you set for temperature ranges which then demands cool or hot from your hvac

        • qqq@lemmy.world
          link
          fedilink
          arrow-up
          4
          arrow-down
          1
          ·
          edit-2
          3 days ago

          That is the simplest possible thermostat and works great for setting a temperature, but that’s not the ideal thermostat. The temperature your house “feels like” also depends on humidity. You may also care about the temperature more in a spot further from the thermostat and getting accurate measurements in that location can save you money and waste less gas. There is also the decision of how long you should run a furnace and, in the case of multiple stages, which stage you should run, although some furnaces control the stages themselves. Then there is air flow. Controlling the fan separately is useful if the house doesn’t evenly heat. Sometimes you can just have the fan turn on more often and use the actual furnace less, saving gas again.

          Also sometimes it makes sense to heat your house slightly more during high demand hours to save money. I dunno there is just a lot that could be done with an intelligent thermostat, it’s one of the few things that makes sense to make smart to me.

          • gamermanh@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 days ago

            Those are all very nice things to have in an improved thermostat, I agree completely

            The point I was replying to was making the erroneous claim that basic operation of an HVAC isn’t possible with an RPI thermostat because of things the thermostat doesn’t handle

            • GreenKnight23@lemmy.world
              link
              fedilink
              arrow-up
              2
              arrow-down
              1
              ·
              3 days ago

              I think what you’re failing to understand is that newer HVAC units are designed to be run in a specific way. if you disregard that, and run it like a unit from the 1980s you will halve the life of the unit.

              yes, most of the “brains” are on the unit itself but without proper “eyes” the brains are useless.

              I’m not even an HVAC tech but I’ve worked on them enough to know it’s a dumb idea to just replace your thermostat with “a raspberry pi and a bunch of 24v relays”. there’s just too much risk of things to go terribly wrong and multiple people literally die.

              • gamermanh@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                1
                ·
                3 days ago

                I think what you’re failing to understand is that newer HVAC units are designed to be run in a specific way

                Not missing that, as I and yourself said it’s done via the actual HVAC unit and not the thermostat

                but without proper “eyes” the brains are useless.

                No, the nicer features just don’t get used, it doesn’t make the entire unit not work

                there’s just too much risk of things to go terribly wrong and multiple people literally die.

                Lol, people aren’t going to die if you replace your thermostat with an RPI unless you wired the thermostat so poorly that you somehow manage to schock someone touching the thermostat

                Again: thermostats just tell the HVAC to run and which part to run, any other advanced features are not required to be catered to in order to work. My brand new fancy schmancy heat pump with all those cool features listed runs off the same $2 Honeywell thermostat my old heater did, if I want the advanced features like zone sensing I can upgrade my thermostat, but my heat pump works without them just fine

    • BorgDrone@lemmy.one
      link
      fedilink
      arrow-up
      1
      ·
      3 days ago

      That will get you a really shitty thermostat. Sure, even modern boilers can be controlled with a simple on/off signal but you really don’t want that, because it sucks. At the very least you need to make something that speaks OpenTherm. That allows you to modulate the boiler. With a simple on/off style thermostate you get relatively large temperature swings, with a modulating boiler/thermostat you can achieve very constant temperatures, which is way more comfortable, but requires both a more complicated protocol as well as more complicated logic.