Lägga till Nexabrytare utan fjärr (Home Assistant)

Efter mycket möda och stort besvär så har jag äntligen klurat ut hur man lägger till en billig Nexa-brytare i Home Assistant… utan att använda fjärrkontroll. Det blev ett lite antiklimax när jag fick till det efter *mycket* meckande med YAML-filer… Det visade sig att jag inte behövde göra det så utan det gick lägga till direkt i gränssnittet 😮

Det du behöver är en Home Assistant som är uppe och snurrar med en fungerande RFXCOM FRXtrx integration samt en eller flera ej parade Nexa-brytare. Den modell jag testar med är en vanlig kloss man sätter i vägguttaget med modellbeteckning PER-1500, kommer troligtvis från Clas Ohlsson eller Kjell & Co. (min modell är den äldre, lite klumpigare men det borde fungera lika bra med dom nya som är mindre)

De steg som ska utföras är:
1. Skapa koder som HA kan skicka
2. Lägga till switch (device) för koden i steg 1
3. Skapa en knapp i HA
4. Para switch med knappen

Steg 1, skapa ”koder” som HA kan skicka för att para brytaren/switchen
I HA gå till Developer tools > Template
I template editorn klistrar du in följande text på en rad:
0b11000{{ range(0,700) | random | int }}bc0cfe0{{ range(0,10) | random | int }}010f70

Sedan trycker du enter, då visas en kod till höger

Den koden kopierar du och tar med dig till steg 2, om du ska lägga till många brytare på en gång kan det vara smart att klistra in många rader i Template editorn (använd samma text för alla rader)

Steg 2, Lägga till switch för doden
I HA gå till Settings > Devices & Services och klicka på RFXCOM RFXtrx

Därefter klickar du på CONFIGURE

Klistra sedan in koden från steg 1 i rutan där det står Enter event to to add

Gå vidare genom att klicka SUBMIT

Där fyller du inte i något alls

Klicka bara på SUBMIT

Success!

Avsluta steg två genom att trycka på FINISH

Under RFXtrx devices kan du se den nya brytaren

Du kan döpa om den om du vill, men det är standardunderhåll så det kan du nog redan 😎

Steg 3, Skapa en knapp i HA

Lägg till en knapp i din dashboard/overview som vanligt, som entity väljer du din nya brytare com vi precis lagt till under devices

Till exempel så här, spara den och nu är det dags för fjärde och sista steget.

Steg 4, Para switch med knappen

Stoppa in brytaren i ett vägguttag och under tiden dioden på brytaren blinkar så klickar du på din nya knapp som du lade upp under steg 3.

Då kommer brytaren att klicka ett par gånger och nu är du klar.

Upprepa för alla brytare som du ska lägga till

Det här var som sagt helt ögonöppnande för mig då jag frågat i flertalet forum, googlat mig medvetslös och ingenstans har jag fått svar eller hjälp i rätt riktning. Jag är supernöjd att det fungerar 🤗

Lycka till!

Stoppa inspelning MotionEye

API:et till MotionEye saknar funktion för att stoppa och starta inspelning, det närmaste man kommer är funktionen för att slå av och på motiondetect. Det hjälper dock inte så mycket om du vill konfigurera kontinuerlig inspelning.

Så här stoppar du och startar inspelning av filmer i MotionEye, trots avsaknaden av stöd i API:et

Det du behöver veta är adress till din motioneye, vilken port api:et lyssnar på.

Sedan är det bara att skriva så här i terminalen eller i ett script:

Slå av kamera 1:

curl -k ”http://192.168.1.30:7999/1/config/set?ffmpeg_output_movies=off”
curl -k ”http://192.168.1.30:7999/1/config/writeyes”

Slå på kamera 1:

curl -k ”http://192.168.1.30:7999/1/config/set?ffmpeg_output_movies=on”
curl -k ”http://192.168.1.30:7999/1/config/writeyes”

Port 7999 är standardporten, så den fungerar mest troligt för dig.
Siffran 1 är kamera ett.

Här är en länk till en gammal sida som beskriver API:et, fungerade idag 🙂
https://www.lavrsen.dk/foswiki/bin/view/Motion/MotionHttpAPI

Om du inte lyckas prata med MotionEye från en extern dator (en som inte motioneye körs på) så kolla konfigurationsfilen motioneye.conf

Se till att dom här två raderna ser ut så här:
motion_control_localhost false
webcontrol_localhost off

En av dom saknas kanske, eventuellt behövs inte en av dom beroende på version, dokumentationen var lite luddig så lägg in båda och starta om MotionEye, sedan går det nog bättre

Höll på att glömma, tiden för max längd på varje film som här nere är 300 sekunder. Den avgör hur lång tid det tar för inspelningen att stoppa.

Om du skickar stopp kommandot kan det i det här fallet ta upp till 300 sekunder innan den stannar… bara så att du vet 😉

Automatiskt mounta samba shares

Jag har precis börjat köra Manjaro som daily driver och behövde ett smidigt sätt att mounta upp alla shares på min NAS så att jag kommer åt mina filer på ett enkelt sätt.

Superenkelt 😂

Hittade ett script skrivet av @linux-aarhus, men det passade inte riktigt så jag moddade det. Nu kan man ange flera shares som ska mountas samtidigt med ett och samma script.

Här kan du ladda ner scriptet zippat: mountshares

Det här är den del av scriptet som du själv ska redigera

HOST="192.168.1.123"
SHARES="/home/$USER/shares"
declare -a SHARENAME=("share1" "share2" "share3" "share4")
USERNAME="username"
PASSWD="Correct Horse Battery Staple"
WORKGROUP="workgroup"

Det är hyffsat självförklarande vad du ska skriva in tycker jag 😉
(SHARES behöver du egentligen inte ändra… men du gör som du vill)

Nu är vi halvvägs och kan mounta våra shares och komma åt filer, men det är inte så smidigt. Enklast vore en service som körs när man startar upp datorn… det är också superenkelt 🤓

Ett tips innan du fortsätter är att editera scriptet så att det innehåller ditt username, lösen, shares och ip till servern och testa att köra det, utan och med -u

Du ska se att sharen hamnar i din hemkatalog under katalogen shares.

När du ser att det lirar kan du gå vidare!

Steg 1 är att flytta in scriptet du laddade ner till en speciell mapp.
Skapa katalogen om den inte finns med
mkdir -p /home/username/.local/bin
(byt ut username till ditt egna username)

Kopiera sedan scriptet dit… (kopiera filer får du lösa själv)
sätt scriptet som exekverbart med
chmod +x /home/username/.local/bin/mountshares.sh
(byt ut username till ditt egna username)

Steg två är att skapa en mapp för service-filen
mkdir -p /home/username/.config/systemd/user
(byt ut username till ditt egna username)

Skapa en fil i den mappen:
nano /home/username/.config/systemd/user/mountshares.service
(byt ut username till ditt egna username)

Och skriv in följande i filen, spara sedan:
[Unit]
Description=GIO mount smb shares

[Service]
Type=oneshot
ExecStart=/home/%u/.local/bin/mountshares.sh
ExecStop=/home/%u/.local/bin/mountshares.sh -u
RemainAfterExit=true

[Install]
WantedBy=default.target

Steg tre är att enabla servicen
systemctl –user enable mountshares

Klart!

Du kan kolla status på servicen med
systemctl –user status mountshares

Det som kommer ut ska ha texten enabled mot slutet av den första raden (Loaded:….)

Stoppa och starta servicen gör du som vanligt med services

systemctl –user start mountshares
systemctl –user stop mountshares

Testa att starta om datorn och känn glädjen att ha mountade shares när du loggar in 🥰


SSL problem i Firefix och Manjaro

Började precis köra Manjaro som daily-driver och allt verkar fint, förutom att jag kunde inte surfa till mina egna webbar. Då fick jag SSL fel… t.ex. på https://bertholdsson.org

Enkel fix
sudo pacman -S ca-certificates ca-certificates-mozilla ca-certificates-utils

Det löste allt, hade jag vetat det direkt hade jag sluppit en timmes felsökning i Cloudflare, Proxyn och Lets Encrypt 😎

« Äldre inlägg

© 2024 Editio Princeps

Tema av Anders NorenUpp ↑