• @[email protected]
    link
    fedilink
    233 days ago

    Most programmers (those doing fancy GUIs and C# programming on a PC) would be seriously out of their league if they ever actually tried to program such a thermostat. Or any other embedded system. You really need a special skillset and hardware knowledge to even get a simple embedded system running. This is what my trainee just learned the hard way in the last weeks…

    • @[email protected]
      link
      fedilink
      263 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.

      • @[email protected]
        link
        fedilink
        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.

        • @[email protected]
          link
          fedilink
          123 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.

          • @[email protected]
            link
            fedilink
            10
            edit-2
            2 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

            • @[email protected]
              link
              fedilink
              23 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.

          • @[email protected]
            link
            fedilink
            63 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.

      • @droporain
        link
        93 days ago

        Inputs and outputs mapping sure is hard /s

      • @[email protected]
        link
        fedilink
        63 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

      • @[email protected]
        link
        fedilink
        53 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.

        • @[email protected]
          link
          fedilink
          English
          33 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

          • @[email protected]
            link
            fedilink
            4
            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.

            • @[email protected]
              link
              fedilink
              English
              13 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

              • @[email protected]
                link
                fedilink
                22 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.

                • @[email protected]
                  link
                  fedilink
                  English
                  12 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

        • @[email protected]
          link
          fedilink
          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?