🇬🇧 English | 🇩🇪 Deutsch
This repository serves as a personal collection of my HomeMatic scripts for various home automation tasks.
Warning
🚨 Disclaimer: These scripts were created for my personal use and are provided "as is" without any warranty.
Use at your own risk. The author assumes no responsibility for any issues arising from their usage.
- ✅ Publicly available – Anyone can view and use these scripts
- ⛔ No active maintenance – Updates are made as needed without a schedule
- ⛔ No support – This repository serves solely as a personal archive
- ⛔ No issues/pull requests – These are personal scripts without community development
If you find these scripts useful, feel free to adapt them to your needs. However, please understand that I cannot provide support or accept contributions.
Scripts are organized by use case:
├── shutters/ # Roller shutter control
├── lighting/ # Light control
├── notifications/ # Alert and notification scripts
├── security/ # Security automation
├── utilities/ # Helper scripts & common functions
└── examples/ # Example configurations
- Select a script and copy its code
- Paste into HomeMatic CCU (Programs & Links → Script)
- Adapt variables and device IDs to your environment
- Test thoroughly before using in production
- All scripts are developed for HomeMatic IP / HomeMatic CCU3
- Device IDs and channel numbers must be adjusted
- Some scripts require system variables to be created
- Time schedules and thresholds are individual and need customization
- Scripts use German variable names and comments (legacy from my setup)
- HomeMatic CCU3 (or compatible)
- HomeMatic IP devices
- Basic understanding of HomeMatic scripting (HM-Script/TCL)
- Familiarity with your device addresses and channels
Automated roller shutter control based on time, sun position, or weather conditions.
Documentation: shutters/README.md | 🇩🇪 German
Example Scripts:
- Time-based control (up/down)
- Sun position-based control
- Wind protection automation
Automated light control using motion sensors and twilight detection.
Documentation: lighting/README.md | 🇩🇪 German
Example Scripts:
- Twilight automation
- Motion sensor-based lighting
- Stairway timer
Alert scripts for low batteries, open windows, and system events.
Documentation: notifications/README.md | 🇩🇪 German
Example Scripts:
- Low battery warnings
- Window-left-open reminders
- Alarm notifications
Presence simulation and alarm system automation.
Documentation: security/README.md | 🇩🇪 German
Example Scripts:
- Presence simulation (randomized light/shutter control)
- Alarm activation
Common functions, system variable helpers, and reusable code snippets.
Documentation: utilities/README.md | 🇩🇪 German
Example Scripts:
- System variable management
- Common functions
- Logging helpers
Choose a folder based on your use case (e.g., shutters/ for roller shutter control).
Each folder contains a README.md with:
- Detailed explanation of the scripts
- Prerequisites and required CCU configuration
- Usage examples
- Troubleshooting tips
- Copy the script into CCU
- Adjust device IDs, functions, and rooms
- Test with
bDryRun = true(simulation mode) - Activate for production use
Scripts don't run automatically - you must create CCU programs:
WHEN: [Trigger - e.g., button, time, sensor]
THEN: Execute script: [your-script.hms]
HomeMatic scripts are passive actions. You must create CCU programs that execute the scripts on specific events (buttons, time, sensors).
Each CCU program can execute only ONE script. For maximum flexibility (different areas, different actions) you need separate scripts.
In CCU: Settings → Devices & Channels → Click on a device → Channel IDs are displayed.
"Functions" (German: "Gewerke" or "Trades") are CCU-internal groupings of devices by function (e.g., "Shutters-GroundFloor", "Heating-FirstFloor"). You can assign them under Settings → Devices & Channels.
Most scripts should work but are optimized for CCU3 with HomeMatic IP. Test with bDryRun = true first.
-
Always test with dry-run first
boolean bDryRun = true; // Simulation boolean bDebug = true; // Show output
-
Name scripts meaningfully
❌ Bad: script1.hms, test.hms ✅ Good: shutters-groundfloor-up.hms, heating-bedroom-auto.hms -
Document customizations Add comments in the script when changing values:
string sGewerke = "Shutters-GroundFloor"; // Ground floor only, not first floor
-
Regular backups Export your scripts from CCU regularly.
-
Version control Use Git/GitHub to track changes.
Solution: Check exact spelling in CCU (case-sensitive!)
Solution:
- Check
bDryRun = false(not in simulation mode) - Enable
bDebug = trueand check logs - Verify devices are online
Solution:
- Check if all devices are assigned to the function
- Verify device type filter (
sTypen) - Check exclusion list (
sExclude)
This project is licensed under the GPL-3.0 License.
See the LICENSE file for full details.
For general questions about HomeMatic or to exchange ideas about home automation, feel free to reach out – but please note that I do not provide support for these scripts.
- HomeMatic/eQ-3 for the flexible smart home system
- HomeMatic Community for countless inspirations and support
- Everyone using these scripts – Good luck with your automation!
Note: These scripts reflect my personal setup and requirements. They may need significant modifications to work in your environment. Always test in a safe manner before deploying to production systems.