• 5 Posts
  • 26 Comments
Joined 2 years ago
cake
Cake day: June 29th, 2023

help-circle
rss
  • Oh, I backup religiously since Blue failed right after I moved and backup my backups on my laptop as well. (literally failed; I lost everything and had to run photorec and three other tools to pick out everything I’d done for the previous six months, since that I hadn’t copied to a backup on my server because I was prepping to move at the time).

    So far, OTBR is the biggest stopping issue since HA runs it but nothing sticks. I admit, moving zwave is my actual biggest dread; zigbees I can do probably in a weekend, but zwave is such hell to unpair and re-pair (thought it makes up for it by sticking forever). That’s part of the reason I love Thread and Matter; they’re almost as sticky as zwave once they pair, and while pairing them is variable (sometimes fast, sometimes not so much) they repair themselves pretty consistently if the outage is under 24 hours and you can deliberately unpair them fairly easily.


  • I’ve been running Home Assistant for roughly five-six years (Pi, then Blue, now Amber and a second instance on my server for network integrations like nmap and netgear), but since my SmartThings hub was taking care of zigbee/zwave, until now I used HA as a coordinator for every smart device ecosystem I was using (Hue, Wyze, Ring, Blink, Alexa, August, Arlo, et al). Sorry that wasn’t clear.

    While Ive started slowly adding zigbee devices directly, I haven’t started with zwave and thread isn’t working for me yet (OTBR is running but nothing sticks). And I really don’t want to have my hub fail and all my thread/matter devices useless when I don’t have anything that can access them.







  • So it can be done, it just–required a lot of steps and me making a mapping spreadsheet of all the containers. But! Automations and scripts run in the homeassistant container, while when you ssh, you’re going into the ssh addon container which should have been obvious and really was once I finished mapping all the containers.

    Goal: I need /usr/local/bin in the ssh container so I can run scripts over ssh and access my function library script easily without ./path/to/script.

    Summary: ssh into HAOS from the homeassistant container with an HAOS root user (port 22222), run docker exec to get into the ssh addon container, then make your symlinks for /usr/local/bin.

    (Note: this is ridiculously complicated and I know there has to be a better way. But this works so I win.)

    1. Get access to HAOS itself as root: https://developers.home-assistant.io/docs/operating-system/debugging. Verify you can login successfully.
    2. In homeassistant container:
    • a. create an .ssh folder (/config/.ssh)
    • b. add the authorized_keys file you made for step one.
    • c. add the public and private keys you made for step one (should be in the ssh addon container).
    • d. set permissions;
    chmod 600 /config/.ssh/authorized_keys
    chmod 600 /config/.ssh/PRIVATE_KEY
    chmod 644 /config/.ssh/PUBLIC_KEY
    chmod 700 /config/.ssh
    
    • e. In /config/shell_scripts.yaml or wherever you put your shell scripts, add the script you want to use to update /usr/local/bin: UPDATE_BIN_SCRIPT: /config/shell_scripts/UPDATE_BIN_SCRIPT
    • f. Restart HA.
    • g. Check it in Developer Tools->Services

    I have no idea how consistent the ssh addon container name is usually but it’s different on all three of my installs, so insert your container name for SSH_ADDON_CONTAINER_NAME

    Steps: login to HAOS, go into the SSH Container, and do the update. This is horribly messy but hey, it works.

    UPDATE_BIN_SCRIPT

    #!/bin/bash
    
    # OPTIONAL: Update some of the very outdated alpine packages in both homeassistant and the ssh addon (figlet makes cool ascii art of my server
    # name).   You'll need to run it twice; once for the homeassistant container, then again in the ssh container.  Assuming you want to update packages,
    # anyway
    # update homeassistant container packages
    apk add coreutils figlet iproute2 iw jq ncurses procps-ng sed util-linux wireless-tools
    
    # ssh into HAOS and access docker container
    ssh -i /config/.ssh/PRIVATE_KEY -p 22222 root@HA_IP_ADDRESS << EOF
    	docker exec SSH_ADDON_CONTAINER_NAME \
    	bash -c \
           'apk add coreutils figlet iproute2 iw jq ncurses procps-ng sed util-linux wireless-tools; \
    	if [ ! -h /usr/local/bin/SCRIPT1 ]; then echo "SCRIPT1 does not exist"; \
    	ln -s /homeassistant/shell_scripts/SCRIPT1 /usr/local/bin/SCRIPT1; echo "Link created"; \
    	else echo "Link exists";fi; \
    	if [ ! -h /usr/local/bin/SCRIPT2 ]; then echo "SCRIPT2 does not exist"; \
    	ln -s /homeassistant/shell_scripts/SCRIPT2 /usr/local/bin/SCRIPT2; echo "Link created"; \
    	else echo "Link exists";fi'
    EOF
    
    echo "Done"
    

    I am going to feel really stupid when I find out there’s a much easier way.


  • Docker containers are designed to be immutable. The moment they’re stopped and recreated, any changes to them ads thrown out. You’re supposed to add a layer to your Docker image if you want to add command lines and such. That’s why it’ll keep deleting your stuff every time you update.

    It took me until I put Home Assistant on my server in a docker container to realize what was going on there. I use docker more now, but it’s really, really nothing like this.

    Running the script inside Docker should put it in the right place, but I wouldn’t advice doing it that way.

    That’s what I’ve been doing manually over regular ssh (not the 22222 port one).

    To work around the path issue, maybe consider using hard links rather than soft links?

    That’s what I think I need to do, but the only ‘hard’ links–at least according to multiple find -name/find -iname searches on the ssh 22222 port–are all in /mnt/data/docker/overlay2 and /var/lib/docker/overlay2. I get there’s a working pattern with the overlays but dear God why.

    Alternatively, you could figure out where HAOS stores the Docker config and add a volume definition of your own. You’ll probably be able to put all of your files in /usr/local/bin by adding a line like “- /path/home/host:/usr/local/bin” in the right place. I don’t know where this config is stored, though.

    Okay that makes sense. I guess the first step is to get the container structure and volume.

    Thanks so much! I’ll update if I find the solution or die trying.





  • Since probably October, I’ve noticed some really really random problems show up that never used to. And for once, I know it wasn’t me messing with the code; I took a sabbatical from HA to learn how to use Proxmox a couple of months ago. and everything worked fine. It was actually a clean install to a new Raspberry Pi as my Odroid decided to stop working and I haven’t had time to learn to solder (hopefully this week, tho). I was kind of wondering if it was the Pi that was the problem.


  • I know, I’m trying to write up a clear bug report on this, but I’m honestly not sure if it actually has any effect other than messing up my data collection scripts. Yeah, it’s annoying the hell out of me but I’ve been going through the documented issues with the core and it doesn’t look like anyone else noticed a problem. I’ve been trying to figure out if it’s created by an alpine package that I can run, but not much luck there.

    Note: I enabled root for Home Assistant OS and the symlink and file are fine there.



  • I semi-regularly distro-hop, but Xubuntu is the distro I keep coming back to between hops to take a break or when one goes (temporarily) dormant. It’s currently running on my primary server/linux machine.

    Reasons: 1.) It’s light on resources 2.) It’s very simple and clean. 3.) It works with all the programs I use regularly; only one needs to be hand-compiled (but that one has to be compiled for literally any Linux machine). 4.) I know it. Scrub/partition/install/configure in under an hour. I can pick up any of my projects again immediately where I left off.



  • SeperistoLinux@lemmy.worldWhy I prefer Linux
    link
    fedilink
    English
    1
    edit-2
    2 years ago

    TP-Link AC600

    Oops, this was meant as a reply to someone about the TP-Link AC2100 router in anothrr window, ugh. Too many google results open.

    Let me google the chipset for that one if you haven’t found drivers that work yet. For some of the Realtek based ones, there’s some you can compile yourself by morrownr.



  • SeperistoLinux@lemmy.worldWhy I prefer Linux
    link
    fedilink
    English
    92 years ago

    God, I just did the set up new laptop process on Sunday; I completely forgot how insanely long everything takes to set up, update, configure, etc. Linux SBC, maybe an hour end to end; install, update, all my configs neatly in a file, ready to be copied over. Regular Linux: two hours end to end at most. You just do not appreciate the beauty of apt update/apt install quite as much as the moment you are confronted with a new Windows install.

    Windows? Pretty much most of Sunday afternoon and evening. First the Dell updates, then the driver updates, then the pre-installed program updates, then the Windows updates (though not in that order and not all at once, because predictability what is that). Then I could actually start adding my programs and configuring it, and oh boy.

    Just my base configuration for Office–that being each individual program in the suite, God knows–required a hunting expedition and a lot of googling to track everything down in multiple locations and I still had to do a lot of it manually; putty and kitty required copying bits of the registry; calibre I gave up as it was less work to do it myself from memory; firefox was the only thing I could just copy and paste a folder and be entirely done. That part was nice. Every other program I needed I had to track down and install separately then hunt up configs in multiple locations and Windows kept interrupting the process because oh, we forgot, here’s more updates and one to three restarts. Why?

    And Windows 11’s start menu is just insulting; talk about salt in the wound.


  • Oh thank God. Normally I know how to read (since kindergarten) but in the time between posting and your reply, I hit a very unwilling thirty-six hours awake so I low-grade panicked that actually, it only read normal to me and I was lecturing people on becoming a vegan fascists or something.

    I am still thinking on the article but it’s going to need a couple of times to put it in context. I’m still trying not to form really firm opinions on much yet on Fediverse since I seriously do not know enough and yes, even I find it hilarious when I have to backtrack from a really stupid position, but I can save public embarrassment for later. Lemmy’s still young, I have plenty of time for that.




  • I’m a QC analyst and we are fully Agile, so I’m required to attend ever. team. meeting. Discovery, story point estimation, design spikes, any day can be poorly handled emotional regulation day and whoever’s feeling it is making it everyone’s problem when all we want is to finish a few maintenance items and maybe add a comma to some text. Though the testers have nothing to do with this after story point until there actual code migrated to one of the testing environments, we are forced to bear witness to entire dev teams made up of people from three to eight countries, whose only common language is English and as often the only native speaker, I am the only one who can’t mutter not very goddamn quietly in my native tongue that no one else understands; this may have been my motivation at one point to learn Welsh on Duolingo. A Project Manager making three times more than anyone else in the room sometimes swoops in during SCRUM two weeks into our sprint cycle to be perky at us and–on far too many occasions for this to be random–informs us the acceptance criteria had a couple of updates before swooping back out to PM something else’s life. We all hate her quietly until someone who went to check JIRA notes there are double the number of criteria and the user story is not the same in any way;. then everyone but me gets to hate her verbally with no one the wiser. I maintain bitterly grudging silence because everyone in the room speaks English, sometimes better than I do, and they have been in Texas long enough to pickup conversationally hostile Spanish. Our scrum master will either grimly pretend it’s always been this way or very blatantly not care.

    At final demo as the tester, I will perform a dramatic rendition of ‘page with comma’ and ‘title:justfication left’ or run batch scripts in terminal while they watch absolutely nothing happening and nod wisely. Half the people in attendance wears suits for a living and have never used a computer; they have secretaries for that. Two worked with my mom and are quietly judging my performance and find me lacking. One stakeholder will ask a thousand questions, five of which have any relation to what we’re doing and I am expected to answer with no discernible change in my performance. Someone is watching TV and can’t be fucked to turn down the volume. Everyone else sits in eerie silence and I might hear a snore. Every one of these people are considered qualified enough to decide if we’re did a good job and sign off on it so we can finally end the sprint and the code can be added to the next release to production. No one feels a sense of relief or satisfaction; at least one dev hasn’t slept since the PM destroyed our lives and may be clinically insane.

    Our sprints last four weeks with a prep week in between; we will experience some version of this cycle of dev hell roughly eight times a year and sometimes involving the legislature making their lack of time management all of our problem. Only one sprint will go as planned. One.

    The worst part is; despite this, knowing full well what hell is before me, I went back to college for software development of my own free will.


  • I don’t mean that things are badly made, just that the resources to enter lemmy are targeting a specific audience still.

    You don’t say. What a weirdly easy to fix problem that only requires the ability to add links and text to a webpage: that’s a rare combination of skills indeed.

    You first need to learn what lemmy is, how it works (because nerds can’t simply tell how you can do it, they need you to understand how it works first), and then where and how to register.

    Bold choice: I can honestly say it never occurred to me to insist someone attend a mandatory lecture (is there a quiz afterward) to have the opportunity to join a server so they can post memes and find people who are into baking bread and Smurfs meta.

    Yes, I am being sarcastic–because everything you observed is alarmingly accurate to the point one might be forgiven for saying it’s a pattern-- but I’m also beginning to wonder if I’m having a some kind of break with reality on how the joining a Federated server works.

    The process is as follows (I think):

    • 1.) Go to Join Lemmy. Click “Find a Server”
    • 2.) Make sure language is set to [your language]. Click on a cute animal icon; it genuinely does not matter which one. This is not a lifetime commitment; it’s a first date.
    • 3.) Click on Sign Up on [Server Name].
    • 4.) Enter a username, email (maybe optional) your password twice, and do the Turing puzzle. [Optional: three to four short answer questions on your name, your interests, why you’re here, and possible some recreational math] Check NSFW for porn as desired. Click the clearly marked button Sign Up.
    • 5.) You’re a Lemmite now; go with God and experience the wonders of the Federation’s shitposts and feelings about cats.

    I am genuinely wondering what it is I’m missing about the shortest, easiest social media sign up process I’ve done and my body count is greater than twenty at minimum and some places, I had multiple accounts [excluding: usenet, mailing lists, messageboards et al]; tumblr was like three pages of cross-examination and required me to expend effort to think up easy to remember lies to get through too many mandatory questions; Facebook wanted me to write a detailed autobiography with exact dates covering birth to present day in their multi-page questionnaire of my life and times and I did this while scanning for surprise privacy settings and feeling exposed.

    Non-sarcastically: reading this, it makes me wonder what would have happened if I’d asked someone what mastodon is and how it works instead of googling and excitedly jumping into something new to see what happened.

    If i had been told before I even googled the website that picking a server/federation is way too complicated for most people, that to sign up I needed to do my homework on the origins and history of the Federation so I’d be able to understand it, as the process to create an account is complicated and confusing. For most people, that is.

    I’m pretty sure I would have done it anyway, but I don’t think I would have seen it as a brand new adventure, something new to learn about and explore and be part of and helped grow. I wonder if i would have posted an intro and started following people who were doing the things I went back to school to learn do and finally get my degree so I could learn from them. Or would I have read my feed wondering what to do; everyone here knew all about the Federation and I couldn’t ask them because then they’d know I didn’t belong; I was just a college dropout who learned to script and linux and design websites because it was fun and went back to school with some serious overconfidence in my skills. I wonder if I would ever have posted a single word before I finally realized this is not an after school special, I am not a tragic victim of mean people, so cheer the fuck up and do your homework already

    Or: if I’d just take my ritalin, because if I remember correctly, I was compiling my very first kernel, on my own, outside school lab conditions (Raspberry Pi 4 8GB, 64 bit: Eurydice) so yeah, I would have like an hour earlier, I would have immediately realized this person was telling me that this place is not for me and I did not belong. And I would have agreed; buddy, I’ve been condescended to by literal geniuses with PhDs in fields I can’t spell. Whole servers of them exist? Christ. Thank God for the warning, I’m gonna dip. Not that I would have said that: depending on how the compile went, i would have either devoted a twitter thread to performing a melodramatic interpretation of it or forgot about it with a vague hostility toward Mastodon and that weird Federation thing.

    Talk about the road not taken.