motioneye remove old clips


#!/bin/bash

# Kontrollera ledigt utrymme på rotfilsystemet
FREE_SPACE=$(df / | awk 'NR==2 {print $4}')

# Omvandla ledigt utrymme från block till GB (1 block = 1 KB)
FREE_SPACE_GB=$((FREE_SPACE / 1024 / 1024))

# Om ledigt utrymme är mindre än 5GB
if [ "$FREE_SPACE_GB" -lt 5 ]; then
# Hitta och ta bort den äldsta filen i den angivna mappen
OLDEST_FILE=$(find /usr/share/hassio/share/motioneye -type f -printf '%T+ %p\n' | sort | head -n 1 | awk '{print $2}')
if [ -n "$OLDEST_FILE" ]; then
rm "$OLDEST_FILE"
echo "Tog bort den äldsta filen: $OLDEST_FILE"
else
echo "Ingen fil att ta bort."
fi
else
echo "Tillräckligt med utrymme tillgängligt: ${FREE_SPACE_GB}GB"

Husbil

Dags för ett Nytt smart Hem system.
Mål :
Home assistant.
Kameror överallt. inne, ute, längst framme, i hytten..
streaming med obs och köra live.
Stream server.
smarta saker överallt.

En ganska fin annons på en husbil.


När man kommer till den…

30min på gården…

Update 2024-08-06:


Köpt Husvagn

 



SR trafikonfo och etc

  • Lägg till SR TraffikInfo i HACS
    1. Öppna Home Assistant och gå till “HACS” i sidomenyn.
    2. Klicka på de tre punkterna i övre högra hörnet och välj “Custom repositories”.
    3. I fältet “Add custom repository URL”, ange följande URL: https://github.com/henrikhjelmse/svenskavagar/
    4. Välj “Integration” som kategori.
    5. Klicka på “Add” för att lägga till det anpassade depotet.
  • Installera SR TraffikInfo via HACS
    1. Efter att du har lagt till det anpassade depotet, gå tillbaka till “Integrations” i HACS-menyn.
    2. Klicka på den blå “+” knappen längst ner till höger.
    3. Sök efter “sr TraffikInfo” och välj integrationen från listan.
    4. Klicka på “Install” för att installera integrationen.




Youtube

  • Lägg till youtube_latest_videos i HACS
    1. Öppna Home Assistant och gå till “HACS” i sidomenyn.
    2. Klicka på de tre punkterna i övre högra hörnet och välj “Custom repositories”.
    3. I fältet “Add custom repository URL”, ange följande URL: https://github.com/henrikhjelmse/youtube_latest_videos/
    4. Välj “Integration” som kategori.
    5. Klicka på “Add” för att lägga till det anpassade depotet.
  • Installera youtube_latest_videos via HACS
    1. Efter att du har lagt till det anpassade depotet, gå tillbaka till “Integrations” i HACS-menyn.
    2. Klicka på den blå “+” knappen längst ner till höger.
    3. Sök efter “youtube_latest_videos” och välj integrationen från listan.
    4. Klicka på “Install” för att installera integrationen.

Bensin priser i sverige home assistant

 

  • Lägg till Bensinpriser som ett Anpassat Depot i HACS
    1. Öppna Home Assistant och gå till “HACS” i sidomenyn.
    2. Klicka på de tre punkterna i övre högra hörnet och välj “Custom repositories”.
    3. I fältet “Add custom repository URL”, ange följande URL: https://github.com/henrikhjelmse/bensinpriser/
    4. Välj “Integration” som kategori.
    5. Klicka på “Add” för att lägga till det anpassade depotet.
  • Installera Bensinpriser via HACS
    1. Efter att du har lagt till det anpassade depotet, gå tillbaka till “Integrations” i HACS-menyn.
    2. Klicka på den blå “+” knappen längst ner till höger.
    3. Sök efter “bensinpriser” och välj integrationen från listan.
    4. Klicka på “Install” för att installera integrationen.


låt

[Verse]
Henrik’s the name
Coding’s my game
Teaching algorithms
Textbooks are my fame
From morning till night
Never taking a break
Putting bugs to sleep
No time for mistake
Late nights in the lab
Lines of codeI tackle
Debugging and testing
Never skipping a shackle
Stacking functions like bricks
to build a masterpiece
In my programming kingdom
I’m the high priest

[Verse 2]
Students looking tired
Minds filled with doubt
Losing motivation
Feeling left out
But I’m here to uplift
Lift the spirits high
Turning zeros to heroes
That’s my battle cry

https://suno.com/song/6038be8e-1dcf-4af1-9a52-190f3f1b28fd

convert to mp4

convert movie format to mp4 ?
this code are scanning for example mkv and convert all to mp4

#!/bin/bash

# Help message function
print_help() {
    echo "Usage: $0 <file_extension>"
    echo "Example: $0 mkv"
}

# Check if argument is provided
if [ $# -eq 0 ]; then
    print_help
    exit 1
fi

# Supported video file formats
supported_formats=("avi" "mkv" "mov" "mp4" "wmv" "flv" "mpg" "mpeg" "3gp")

# Check if provided file extension is supported
if [[ ! " ${supported_formats[@]} " =~ " $1 " ]]; then
    echo "Unsupported file format. Supported formats: ${supported_formats[*]}"
    print_help
    exit 1
fi

# Loop through all files with the provided extension in the current directory
for file in *."$1"; do
    # Check if the file exists
    if [ -e "$file" ]; then
        # Get the filename without extension
        filename="${file%.*}"

        # Convert the file to mp4 using ffmpeg
        ffmpeg -i "$file" "${filename}2.mp4"

        # Optional: Check if conversion was successful and remove the original file
        if [ $? -eq 0 ]; then
            echo "Conversion of $file successful."
            rm "$file"
        else
            echo "Conversion of $file failed."
        fi
    else
        echo "No files with .$1 extension found."
        exit 1
    fi
done

why not.. we do it in php to… but now you most write a dir to.

<?php

// Function to convert video files to mp4
function convertVideosToMp4($folder, $extension) {
    // Supported video file formats
    $supportedFormats = ["avi", "mkv", "mov", "mp4", "wmv", "flv", "mpg", "mpeg", "3gp"];

    // Check if provided file extension is supported
    if (!in_array($extension, $supportedFormats)) {
        echo "Unsupported file format. Supported formats: " . implode(", ", $supportedFormats) . PHP_EOL;
        return;
    }

    // Open the directory
    if ($handle = opendir($folder)) {
        // Loop through all files in the directory
        while (false !== ($file = readdir($handle))) {
            // Check if the file has the provided extension
            if (pathinfo($file, PATHINFO_EXTENSION) == $extension) {
                // Get the filename without extension
                $filename = pathinfo($file, PATHINFO_FILENAME);

                // Convert the file to mp4 using ffmpeg and rename to {filename}2.mp4
                $command = "ffmpeg -i \"$folder/$file\" \"$folder/{$filename}2.mp4\"";
                exec($command, $output, $return_var);

                // Check if conversion was successful and remove the original file
                if ($return_var == 0) {
                    echo "Conversion of $file successful." . PHP_EOL;
                    unlink("$folder/$file");
                } else {
                    echo "Conversion of $file failed." . PHP_EOL;
                }
            }
        }
        // Close the directory handle
        closedir($handle);
    } else {
        echo "Unable to open directory: $folder" . PHP_EOL;
    }
}

// Check if folder and extension are provided
if ($argc < 3) {
    echo "Usage: php convert.php <folder_path> <file_extension>" . PHP_EOL;
    echo "Example: php convert.php /path/to/folder mkv" . PHP_EOL;
    exit(1);
}

// Get folder path and extension from command line arguments
$folderPath = $argv[1];
$extension = $argv[2];

// Call function to convert videos to mp4
convertVideosToMp4($folderPath, $extension);

?>

 

why not… we do it in python to

import os
import subprocess
import sys

def convert_videos_to_mp4(folder, extension):
    # Supported video file formats
    supported_formats = ["avi", "mkv", "mov", "mp4", "wmv", "flv", "mpg", "mpeg", "3gp"]

    # Check if provided file extension is supported
    if extension not in supported_formats:
        print(f"Unsupported file format. Supported formats: {', '.join(supported_formats)}")
        return

    # Loop through all files in the folder
    for file in os.listdir(folder):
        # Check if the file has the provided extension
        if file.endswith(f".{extension}"):
            # Get the filename without extension
            filename = os.path.splitext(file)[0]

            # Convert the file to mp4 using ffmpeg and rename to {filename}2.mp4
            command = f"ffmpeg -i \"{os.path.join(folder, file)}\" \"{os.path.join(folder, filename)}2.mp4\""
            subprocess.run(command, shell=True)

            # Check if conversion was successful and remove the original file
            if os.path.exists(os.path.join(folder, f"{filename}2.mp4")):
                print(f"Conversion of {file} successful.")
                os.remove(os.path.join(folder, file))
            else:
                print(f"Conversion of {file} failed.")

# Check if folder and extension are provided
if len(sys.argv) < 3:
    print("Usage: python convert.py <folder_path> <file_extension>")
    print("Example: python convert.py /path/to/folder mkv")
    sys.exit(1)

# Get folder path and extension from command line arguments
folder_path = sys.argv[1]
extension = sys.argv[2]

# Call function to convert videos to mp4
convert_videos_to_mp4(folder_path, extension)