Home-Ass-HELP & Useful URLs (2025)

This is my Gateway WebDoc for URLs on my Home Server

1 of 2
1. TP-Link HELP - Web Docs
Can't add NEW Tapo P110 Plug into Home Ass
Similar happened to me, not sure why but going back into the Tapo app and enabling 3rd party compatibility again made it work.
You'll find that here...
Tapo App → Me → Tapo Lab → Third-Party Compatibility → On
`* It worked this time...
Toggled it off. Saved. Toggled it on, saved. *`

GitHub: See the full Issue HERE
Web Docs: Pythons Pathlib Module
Web Doc 4 PathLib Module
Web Doc: ChatGPT Cheatsheet 4 Pathlib Module
ChatGPT 4 PathLib Module
Web Doc: Win10-Fixes
Win10-Fixes >> URL
Web Doc: URLs 4 Kodi Help
URLs 4 Kodi >> URL
Web Doc: Enpass-Help
Enpass-Help >> URL
2 of 2
2. Brave Browser Help - 2
All Brave Web Docs
Brave-Help-WDs
My FAV Brave Extensions
Fav Extensions URL
1 of 2
2 of 2
1 of 3
2 of 3
3 of 3

Developer Tools (Device Filters)

The .table-striped class adds zebra-stripes to a table:

Sensors Name Entity (Filter-by) Attributes
Aqara Thermostat (Temps) Aqa.Thermo device_class: temperature
Tado Smart Radiator (Temps) tado Smart Radiator device_class: temperature
Tapo Thermo Sensors (x5) Tapo device_class: temperature
Sensors_Name__HERE Entity_Filter__HERE Attribute_Filter__HERE

3. My DS918 Kodi Repo, Wizard + Builds
My FAV Brave Extensions
Fav Extensions URL
4. Path Operations
            
                # Joining paths
                p = Path("/home/max") / "docs" / "report.pdf"
    
                # Replace filename or extension
                p.with_name("new_file.txt")
                p.with_suffix(".md")
                
            
        
5. File / Directory Checks
            
                p.exists()     # True/False
                p.is_file()    # True if file
                p.is_dir()     # True if directory
                p.is_symlink() # True if symlink
            
        
6. File System Operations
            
                # Read / write text
                p.write_text("Hello World")
                content = p.read_text()

                # Read / write bytes
                p.write_bytes(b"binary data")
                data = p.read_bytes()

                # Make directories
                Path("new/folder").mkdir(parents=True, exist_ok=True)

                # Remove file
                p.unlink()

                # Rename / move
                p.rename("new_name.txt")
                p.replace("some/other/location.txt")
            
        
7. Glob Patterns
            
                # Match all .txt files
                for file in Path("docs").glob("*.txt"):
                    print(file)

                # Recursive glob
                for file in Path("docs").rglob("*.txt"):
                    print(file)
            
        
8. Resolve & Absolute Paths
            
                p = Path("docs/../report.pdf")
            p.resolve()  # Absolute normalized path
            
        
# This tag will be opened by default.
9. (Important!!).... ** Path.iterdir() **
            
                # Basic Iteration & Print Results
                p = Path("docs")
                for item in p.iterdir():
                    print(item)
                    
                # Filter files only
                for f in Path(".").iterdir():
                if f.is_file():
                print(f)
                
                # Filter directories only
                for d in Path(".").iterdir():
                if d.is_dir():
                print(d)
                
                # Sorted
                for entry in sorted(Path(".").iterdir()):
                print(entry.name)
                
                # Filter by extension
                for f in Path(".").iterdir():
                if f.suffix == ".txt":
                print(f)

                # List comprehension
                files = [f.name for f in Path(".").iterdir() if f.is_file()]
            
        
10. Quick Comparison
Method Scope Example
iterdir() Direct children only Path(".").iterdir()
glob("*.py") Pattern-matching, 1 level deep Path(".").glob("*.py")
rglob("*.py") Recursive search Path(".").rglob("*.py")
# This tag will be opened by default.
Pathlib Methods - Arguments Explained
Method Arguments Default Explanation
mkdir() mode, parents, exist_ok 0o777, False, False Create a directory. parents=True creates parent directories. exist_ok=True ignores if directory exists.
rmdir() - - Remove empty directory. Raises OSError if not empty.
unlink() missing_ok False Delete a file. missing_ok=True ignores if file missing.
rename() target - Rename or move file. Overwrites not allowed if exists.
replace() target - Rename or move file. Overwrites if target exists.
touch() mode, exist_ok 0o666, True Create empty file. exist_ok=True ignores if file exists.
open() mode, encoding "r", None Open file handle like open().
read_text() encoding, errors None, None Read file as string.
write_text() data, encoding, errors - Write string to file.
glob() pattern - Pattern match files in directory.
rglob() pattern - Recursive pattern match files.
iterdir() - - Iterate over directory entries (direct children only).