• 0 Posts
  • 5 Comments
Joined 2 years ago
cake
Cake day: June 1st, 2023

help-circle

  • mbirth@lemmy.mltoSelfhosted@lemmy.worldVine thermostat?
    link
    fedilink
    English
    arrow-up
    1
    ·
    19 hours ago

    Isn’t a thermostat essentially an on-off switch connected to a sensor?

    Depends on your boiler. Some get a value from the thermostat depending on the difference to target temperature - which then makes the boiler control the heating intensity. And others just use an on/off kind of control.

    In this place I’m renting here, there’s a Honeywell CM927 on the wall and a BDR91 which, indeed, seems to be just a simple on/off switch.

    So, depending on your boiler, you could get away with a cheap Zigbee/Wifi switch module (mostly sold for lights - just make sure it has a separate switch circuit and is not sending live mains power to the boiler!) and feed room temperatures into Home Assistant via cheap temperature sensors. Then implement the whole heating logic in HA.

    (nb. Most newer thermostats “learn” how long it takes to heat up the room to the target temperature and will adjust the starting time of the heating process accordingly. This way, you never have to change your schedules between winter and summer. This is also something you’d have to implement yourself, if you want HA to do all the heating.)


  • Or just something as simple as using a SMB/CIFS share for your data. Instead of mounting the share before running your container, you can make Docker do it by specifying it like this:

    services:
      my-service:
        ...
        volumes:
          - my-smb-share:/data:rw
    
    volumes:
      my-smb-share:
        driver_opts:
          type: "smb3"
          device: "//mynas/share"
          o: "rw,vers=3.1.1,addr=192.168.1.20,username=mbirth,password=supersecret,cache=loose,iocharset=utf8,noperm,hard"
    

    For type you can use anything you have a mount.<type> tool available, e.g. on my Raspberry this would be:

    $ ls /usr/sbin/mount.*
    /usr/sbin/mount.cifs*  /usr/sbin/mount.fuse3*       /usr/sbin/mount.nilfs2*  /usr/sbin/mount.ntfs-3g@  /usr/sbin/mount.ubifs*
    /usr/sbin/mount.fuse@  /usr/sbin/mount.lowntfs-3g@  /usr/sbin/mount.ntfs@    /usr/sbin/mount.smb3@
    

    And the o parameter is everything you would put as options to the mount command (e.g. in the 4th column in /etc/fstab). In the case of smb3, you can run mount.smb3 --help to see a list of available options.

    Doing it this way, Docker will make sure the share is mounted before running the container. Also, if you move the compose file to a different host, it’ll just work if the share is reachable from that new location.