Compare commits
15 Commits
8f44a8e8ad
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 631f1ab84a | |||
| 8238ea0ccd | |||
| 666a66a901 | |||
| 1749e818a4 | |||
| 8ec25b0c58 | |||
| 3813ace166 | |||
| 9b6eb8e2c2 | |||
| 750a49496c | |||
| ade65d64f9 | |||
| eb7a50f18b | |||
| e87d2bf5a0 | |||
| 28956ad9e0 | |||
| 4c241762e6 | |||
| b2b5bd75dd | |||
| 82f4e1335a |
4
README.md
Normal file
4
README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Homeassistant
|
||||
|
||||
## Remote PC Start / Stop
|
||||
https://www.creatingsmarthome.com/index.php/2022/02/12/guide-start-up-and-shut-down-remote-linux-pc-using-home-assistant/
|
||||
@@ -20,26 +20,20 @@ services:
|
||||
|
||||
homeassistant:
|
||||
container_name: homeassistant
|
||||
image: homeassistant/raspberrypi3-homeassistant:stable
|
||||
image: homeassistant/armv7-homeassistant:2024.12.1
|
||||
volumes:
|
||||
- ./homeassistant:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
restart: unless-stopped
|
||||
#network_mode: host
|
||||
links:
|
||||
# - "raspberrymatic:raspberrymatic"
|
||||
- "mqtt:mqtt"
|
||||
ports:
|
||||
- "8123:8123"
|
||||
- "8060:8060"
|
||||
- "8883:8883"
|
||||
network_mode: host #due to wake on lan. mqtt is now localhost. Ports:8123,8060,8883
|
||||
|
||||
# see https://community.home-assistant.io/t/migration-to-2021-7-fails-fatal-python-error-init-interp-main-cant-initialize-time/320648/28
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
|
||||
#mqtt for the milight bridge
|
||||
mqtt:
|
||||
image: eclipse-mosquitto
|
||||
image: eclipse-mosquitto:2.0.20
|
||||
container_name: mqtt
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
@@ -50,3 +44,18 @@ services:
|
||||
- "1883:1883"
|
||||
- "9001:9001"
|
||||
|
||||
zigbee2mqtt:
|
||||
container_name: zigbee2mqtt
|
||||
restart: unless-stopped
|
||||
devices:
|
||||
- /dev/ttyACM0:/dev/ttyACM0
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- ./zb2mqttdata:/app/data
|
||||
- /run/udev:/run/udev:ro
|
||||
environment:
|
||||
- TZ=Europe/Amsterdam
|
||||
image: koenkk/zigbee2mqtt:1.42.0
|
||||
links:
|
||||
- "mqtt:mqtt"
|
||||
|
||||
11
findusb.sh
Executable file
11
findusb.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
|
||||
(
|
||||
syspath="${sysdevpath%/dev}"
|
||||
devname="$(udevadm info -q name -p $syspath)"
|
||||
[[ "$devname" == "bus/"* ]] && exit
|
||||
eval "$(udevadm info -q property --export -p $syspath)"
|
||||
[[ -z "$ID_SERIAL" ]] && exit
|
||||
echo "/dev/$devname - $ID_SERIAL"
|
||||
)
|
||||
done
|
||||
|
||||
733
get-docker.sh
Executable file
733
get-docker.sh
Executable file
@@ -0,0 +1,733 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
# Docker Engine for Linux installation script.
|
||||
#
|
||||
# This script is intended as a convenient way to configure docker's package
|
||||
# repositories and to install Docker Engine, This script is not recommended
|
||||
# for production environments. Before running this script, make yourself familiar
|
||||
# with potential risks and limitations, and refer to the installation manual
|
||||
# at https://docs.docker.com/engine/install/ for alternative installation methods.
|
||||
#
|
||||
# The script:
|
||||
#
|
||||
# - Requires `root` or `sudo` privileges to run.
|
||||
# - Attempts to detect your Linux distribution and version and configure your
|
||||
# package management system for you.
|
||||
# - Doesn't allow you to customize most installation parameters.
|
||||
# - Installs dependencies and recommendations without asking for confirmation.
|
||||
# - Installs the latest stable release (by default) of Docker CLI, Docker Engine,
|
||||
# Docker Buildx, Docker Compose, containerd, and runc. When using this script
|
||||
# to provision a machine, this may result in unexpected major version upgrades
|
||||
# of these packages. Always test upgrades in a test environment before
|
||||
# deploying to your production systems.
|
||||
# - Isn't designed to upgrade an existing Docker installation. When using the
|
||||
# script to update an existing installation, dependencies may not be updated
|
||||
# to the expected version, resulting in outdated versions.
|
||||
#
|
||||
# Source code is available at https://github.com/docker/docker-install/
|
||||
#
|
||||
# Usage
|
||||
# ==============================================================================
|
||||
#
|
||||
# To install the latest stable versions of Docker CLI, Docker Engine, and their
|
||||
# dependencies:
|
||||
#
|
||||
# 1. download the script
|
||||
#
|
||||
# $ curl -fsSL https://get.docker.com -o install-docker.sh
|
||||
#
|
||||
# 2. verify the script's content
|
||||
#
|
||||
# $ cat install-docker.sh
|
||||
#
|
||||
# 3. run the script with --dry-run to verify the steps it executes
|
||||
#
|
||||
# $ sh install-docker.sh --dry-run
|
||||
#
|
||||
# 4. run the script either as root, or using sudo to perform the installation.
|
||||
#
|
||||
# $ sudo sh install-docker.sh
|
||||
#
|
||||
# Command-line options
|
||||
# ==============================================================================
|
||||
#
|
||||
# --version <VERSION>
|
||||
# Use the --version option to install a specific version, for example:
|
||||
#
|
||||
# $ sudo sh install-docker.sh --version 23.0
|
||||
#
|
||||
# --channel <stable|test>
|
||||
#
|
||||
# Use the --channel option to install from an alternative installation channel.
|
||||
# The following example installs the latest versions from the "test" channel,
|
||||
# which includes pre-releases (alpha, beta, rc):
|
||||
#
|
||||
# $ sudo sh install-docker.sh --channel test
|
||||
#
|
||||
# Alternatively, use the script at https://test.docker.com, which uses the test
|
||||
# channel as default.
|
||||
#
|
||||
# --mirror <Aliyun|AzureChinaCloud>
|
||||
#
|
||||
# Use the --mirror option to install from a mirror supported by this script.
|
||||
# Available mirrors are "Aliyun" (https://mirrors.aliyun.com/docker-ce), and
|
||||
# "AzureChinaCloud" (https://mirror.azure.cn/docker-ce), for example:
|
||||
#
|
||||
# $ sudo sh install-docker.sh --mirror AzureChinaCloud
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
|
||||
# Git commit from https://github.com/docker/docker-install when
|
||||
# the script was uploaded (Should only be modified by upload job):
|
||||
SCRIPT_COMMIT_SHA="0d6f72e671ba87f7aa4c6991646a1a5b9f9dae84"
|
||||
|
||||
# strip "v" prefix if present
|
||||
VERSION="${VERSION#v}"
|
||||
|
||||
# The channel to install from:
|
||||
# * stable
|
||||
# * test
|
||||
DEFAULT_CHANNEL_VALUE="stable"
|
||||
if [ -z "$CHANNEL" ]; then
|
||||
CHANNEL=$DEFAULT_CHANNEL_VALUE
|
||||
fi
|
||||
|
||||
DEFAULT_DOWNLOAD_URL="https://download.docker.com"
|
||||
if [ -z "$DOWNLOAD_URL" ]; then
|
||||
DOWNLOAD_URL=$DEFAULT_DOWNLOAD_URL
|
||||
fi
|
||||
|
||||
DEFAULT_REPO_FILE="docker-ce.repo"
|
||||
if [ -z "$REPO_FILE" ]; then
|
||||
REPO_FILE="$DEFAULT_REPO_FILE"
|
||||
fi
|
||||
|
||||
mirror=''
|
||||
DRY_RUN=${DRY_RUN:-}
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
--channel)
|
||||
CHANNEL="$2"
|
||||
shift
|
||||
;;
|
||||
--dry-run)
|
||||
DRY_RUN=1
|
||||
;;
|
||||
--mirror)
|
||||
mirror="$2"
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
VERSION="${2#v}"
|
||||
shift
|
||||
;;
|
||||
--*)
|
||||
echo "Illegal option $1"
|
||||
;;
|
||||
esac
|
||||
shift $(( $# > 0 ? 1 : 0 ))
|
||||
done
|
||||
|
||||
case "$mirror" in
|
||||
Aliyun)
|
||||
DOWNLOAD_URL="https://mirrors.aliyun.com/docker-ce"
|
||||
;;
|
||||
AzureChinaCloud)
|
||||
DOWNLOAD_URL="https://mirror.azure.cn/docker-ce"
|
||||
;;
|
||||
"")
|
||||
;;
|
||||
*)
|
||||
>&2 echo "unknown mirror '$mirror': use either 'Aliyun', or 'AzureChinaCloud'."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$CHANNEL" in
|
||||
stable|test)
|
||||
;;
|
||||
*)
|
||||
>&2 echo "unknown CHANNEL '$CHANNEL': use either stable or test."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
command_exists() {
|
||||
command -v "$@" > /dev/null 2>&1
|
||||
}
|
||||
|
||||
# version_gte checks if the version specified in $VERSION is at least the given
|
||||
# SemVer (Maj.Minor[.Patch]), or CalVer (YY.MM) version.It returns 0 (success)
|
||||
# if $VERSION is either unset (=latest) or newer or equal than the specified
|
||||
# version, or returns 1 (fail) otherwise.
|
||||
#
|
||||
# examples:
|
||||
#
|
||||
# VERSION=23.0
|
||||
# version_gte 23.0 // 0 (success)
|
||||
# version_gte 20.10 // 0 (success)
|
||||
# version_gte 19.03 // 0 (success)
|
||||
# version_gte 26.1 // 1 (fail)
|
||||
version_gte() {
|
||||
if [ -z "$VERSION" ]; then
|
||||
return 0
|
||||
fi
|
||||
version_compare "$VERSION" "$1"
|
||||
}
|
||||
|
||||
# version_compare compares two version strings (either SemVer (Major.Minor.Path),
|
||||
# or CalVer (YY.MM) version strings. It returns 0 (success) if version A is newer
|
||||
# or equal than version B, or 1 (fail) otherwise. Patch releases and pre-release
|
||||
# (-alpha/-beta) are not taken into account
|
||||
#
|
||||
# examples:
|
||||
#
|
||||
# version_compare 23.0.0 20.10 // 0 (success)
|
||||
# version_compare 23.0 20.10 // 0 (success)
|
||||
# version_compare 20.10 19.03 // 0 (success)
|
||||
# version_compare 20.10 20.10 // 0 (success)
|
||||
# version_compare 19.03 20.10 // 1 (fail)
|
||||
version_compare() (
|
||||
set +x
|
||||
|
||||
yy_a="$(echo "$1" | cut -d'.' -f1)"
|
||||
yy_b="$(echo "$2" | cut -d'.' -f1)"
|
||||
if [ "$yy_a" -lt "$yy_b" ]; then
|
||||
return 1
|
||||
fi
|
||||
if [ "$yy_a" -gt "$yy_b" ]; then
|
||||
return 0
|
||||
fi
|
||||
mm_a="$(echo "$1" | cut -d'.' -f2)"
|
||||
mm_b="$(echo "$2" | cut -d'.' -f2)"
|
||||
|
||||
# trim leading zeros to accommodate CalVer
|
||||
mm_a="${mm_a#0}"
|
||||
mm_b="${mm_b#0}"
|
||||
|
||||
if [ "${mm_a:-0}" -lt "${mm_b:-0}" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
)
|
||||
|
||||
is_dry_run() {
|
||||
if [ -z "$DRY_RUN" ]; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
is_wsl() {
|
||||
case "$(uname -r)" in
|
||||
*microsoft* ) true ;; # WSL 2
|
||||
*Microsoft* ) true ;; # WSL 1
|
||||
* ) false;;
|
||||
esac
|
||||
}
|
||||
|
||||
is_darwin() {
|
||||
case "$(uname -s)" in
|
||||
*darwin* ) true ;;
|
||||
*Darwin* ) true ;;
|
||||
* ) false;;
|
||||
esac
|
||||
}
|
||||
|
||||
deprecation_notice() {
|
||||
distro=$1
|
||||
distro_version=$2
|
||||
echo
|
||||
printf "\033[91;1mDEPRECATION WARNING\033[0m\n"
|
||||
printf " This Linux distribution (\033[1m%s %s\033[0m) reached end-of-life and is no longer supported by this script.\n" "$distro" "$distro_version"
|
||||
echo " No updates or security fixes will be released for this distribution, and users are recommended"
|
||||
echo " to upgrade to a currently maintained version of $distro."
|
||||
echo
|
||||
printf "Press \033[1mCtrl+C\033[0m now to abort this script, or wait for the installation to continue."
|
||||
echo
|
||||
sleep 10
|
||||
}
|
||||
|
||||
get_distribution() {
|
||||
lsb_dist=""
|
||||
# Every system that we officially support has /etc/os-release
|
||||
if [ -r /etc/os-release ]; then
|
||||
lsb_dist="$(. /etc/os-release && echo "$ID")"
|
||||
fi
|
||||
# Returning an empty string here should be alright since the
|
||||
# case statements don't act unless you provide an actual value
|
||||
echo "$lsb_dist"
|
||||
}
|
||||
|
||||
echo_docker_as_nonroot() {
|
||||
if is_dry_run; then
|
||||
return
|
||||
fi
|
||||
if command_exists docker && [ -e /var/run/docker.sock ]; then
|
||||
(
|
||||
set -x
|
||||
$sh_c 'docker version'
|
||||
) || true
|
||||
fi
|
||||
|
||||
# intentionally mixed spaces and tabs here -- tabs are stripped by "<<-EOF", spaces are kept in the output
|
||||
echo
|
||||
echo "================================================================================"
|
||||
echo
|
||||
if version_gte "20.10"; then
|
||||
echo "To run Docker as a non-privileged user, consider setting up the"
|
||||
echo "Docker daemon in rootless mode for your user:"
|
||||
echo
|
||||
echo " dockerd-rootless-setuptool.sh install"
|
||||
echo
|
||||
echo "Visit https://docs.docker.com/go/rootless/ to learn about rootless mode."
|
||||
echo
|
||||
fi
|
||||
echo
|
||||
echo "To run the Docker daemon as a fully privileged service, but granting non-root"
|
||||
echo "users access, refer to https://docs.docker.com/go/daemon-access/"
|
||||
echo
|
||||
echo "WARNING: Access to the remote API on a privileged Docker daemon is equivalent"
|
||||
echo " to root access on the host. Refer to the 'Docker daemon attack surface'"
|
||||
echo " documentation for details: https://docs.docker.com/go/attack-surface/"
|
||||
echo
|
||||
echo "================================================================================"
|
||||
echo
|
||||
}
|
||||
|
||||
# Check if this is a forked Linux distro
|
||||
check_forked() {
|
||||
|
||||
# Check for lsb_release command existence, it usually exists in forked distros
|
||||
if command_exists lsb_release; then
|
||||
# Check if the `-u` option is supported
|
||||
set +e
|
||||
lsb_release -a -u > /dev/null 2>&1
|
||||
lsb_release_exit_code=$?
|
||||
set -e
|
||||
|
||||
# Check if the command has exited successfully, it means we're in a forked distro
|
||||
if [ "$lsb_release_exit_code" = "0" ]; then
|
||||
# Print info about current distro
|
||||
cat <<-EOF
|
||||
You're using '$lsb_dist' version '$dist_version'.
|
||||
EOF
|
||||
|
||||
# Get the upstream release info
|
||||
lsb_dist=$(lsb_release -a -u 2>&1 | tr '[:upper:]' '[:lower:]' | grep -E 'id' | cut -d ':' -f 2 | tr -d '[:space:]')
|
||||
dist_version=$(lsb_release -a -u 2>&1 | tr '[:upper:]' '[:lower:]' | grep -E 'codename' | cut -d ':' -f 2 | tr -d '[:space:]')
|
||||
|
||||
# Print info about upstream distro
|
||||
cat <<-EOF
|
||||
Upstream release is '$lsb_dist' version '$dist_version'.
|
||||
EOF
|
||||
else
|
||||
if [ -r /etc/debian_version ] && [ "$lsb_dist" != "ubuntu" ] && [ "$lsb_dist" != "raspbian" ]; then
|
||||
if [ "$lsb_dist" = "osmc" ]; then
|
||||
# OSMC runs Raspbian
|
||||
lsb_dist=raspbian
|
||||
else
|
||||
# We're Debian and don't even know it!
|
||||
lsb_dist=debian
|
||||
fi
|
||||
dist_version="$(sed 's/\/.*//' /etc/debian_version | sed 's/\..*//')"
|
||||
case "$dist_version" in
|
||||
12)
|
||||
dist_version="bookworm"
|
||||
;;
|
||||
11)
|
||||
dist_version="bullseye"
|
||||
;;
|
||||
10)
|
||||
dist_version="buster"
|
||||
;;
|
||||
9)
|
||||
dist_version="stretch"
|
||||
;;
|
||||
8)
|
||||
dist_version="jessie"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
do_install() {
|
||||
echo "# Executing docker install script, commit: $SCRIPT_COMMIT_SHA"
|
||||
|
||||
if command_exists docker; then
|
||||
cat >&2 <<-'EOF'
|
||||
Warning: the "docker" command appears to already exist on this system.
|
||||
|
||||
If you already have Docker installed, this script can cause trouble, which is
|
||||
why we're displaying this warning and provide the opportunity to cancel the
|
||||
installation.
|
||||
|
||||
If you installed the current Docker package using this script and are using it
|
||||
again to update Docker, you can safely ignore this message.
|
||||
|
||||
You may press Ctrl+C now to abort this script.
|
||||
EOF
|
||||
( set -x; sleep 20 )
|
||||
fi
|
||||
|
||||
user="$(id -un 2>/dev/null || true)"
|
||||
|
||||
sh_c='sh -c'
|
||||
if [ "$user" != 'root' ]; then
|
||||
if command_exists sudo; then
|
||||
sh_c='sudo -E sh -c'
|
||||
elif command_exists su; then
|
||||
sh_c='su -c'
|
||||
else
|
||||
cat >&2 <<-'EOF'
|
||||
Error: this installer needs the ability to run commands as root.
|
||||
We are unable to find either "sudo" or "su" available to make this happen.
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if is_dry_run; then
|
||||
sh_c="echo"
|
||||
fi
|
||||
|
||||
# perform some very rudimentary platform detection
|
||||
lsb_dist=$( get_distribution )
|
||||
lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')"
|
||||
|
||||
if is_wsl; then
|
||||
echo
|
||||
echo "WSL DETECTED: We recommend using Docker Desktop for Windows."
|
||||
echo "Please get Docker Desktop from https://www.docker.com/products/docker-desktop/"
|
||||
echo
|
||||
cat >&2 <<-'EOF'
|
||||
|
||||
You may press Ctrl+C now to abort this script.
|
||||
EOF
|
||||
( set -x; sleep 20 )
|
||||
fi
|
||||
|
||||
case "$lsb_dist" in
|
||||
|
||||
ubuntu)
|
||||
if command_exists lsb_release; then
|
||||
dist_version="$(lsb_release --codename | cut -f2)"
|
||||
fi
|
||||
if [ -z "$dist_version" ] && [ -r /etc/lsb-release ]; then
|
||||
dist_version="$(. /etc/lsb-release && echo "$DISTRIB_CODENAME")"
|
||||
fi
|
||||
;;
|
||||
|
||||
debian|raspbian)
|
||||
dist_version="$(sed 's/\/.*//' /etc/debian_version | sed 's/\..*//')"
|
||||
case "$dist_version" in
|
||||
12)
|
||||
dist_version="bookworm"
|
||||
;;
|
||||
11)
|
||||
dist_version="bullseye"
|
||||
;;
|
||||
10)
|
||||
dist_version="buster"
|
||||
;;
|
||||
9)
|
||||
dist_version="stretch"
|
||||
;;
|
||||
8)
|
||||
dist_version="jessie"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
centos|rhel)
|
||||
if [ -z "$dist_version" ] && [ -r /etc/os-release ]; then
|
||||
dist_version="$(. /etc/os-release && echo "$VERSION_ID")"
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
if command_exists lsb_release; then
|
||||
dist_version="$(lsb_release --release | cut -f2)"
|
||||
fi
|
||||
if [ -z "$dist_version" ] && [ -r /etc/os-release ]; then
|
||||
dist_version="$(. /etc/os-release && echo "$VERSION_ID")"
|
||||
fi
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Check if this is a forked Linux distro
|
||||
check_forked
|
||||
|
||||
# Print deprecation warnings for distro versions that recently reached EOL,
|
||||
# but may still be commonly used (especially LTS versions).
|
||||
case "$lsb_dist.$dist_version" in
|
||||
centos.8|centos.7|rhel.7)
|
||||
deprecation_notice "$lsb_dist" "$dist_version"
|
||||
;;
|
||||
debian.buster|debian.stretch|debian.jessie)
|
||||
deprecation_notice "$lsb_dist" "$dist_version"
|
||||
;;
|
||||
raspbian.buster|raspbian.stretch|raspbian.jessie)
|
||||
deprecation_notice "$lsb_dist" "$dist_version"
|
||||
;;
|
||||
ubuntu.bionic|ubuntu.xenial|ubuntu.trusty)
|
||||
deprecation_notice "$lsb_dist" "$dist_version"
|
||||
;;
|
||||
ubuntu.mantic|ubuntu.lunar|ubuntu.kinetic|ubuntu.impish|ubuntu.hirsute|ubuntu.groovy|ubuntu.eoan|ubuntu.disco|ubuntu.cosmic)
|
||||
deprecation_notice "$lsb_dist" "$dist_version"
|
||||
;;
|
||||
fedora.*)
|
||||
if [ "$dist_version" -lt 39 ]; then
|
||||
deprecation_notice "$lsb_dist" "$dist_version"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# Run setup for each distro accordingly
|
||||
case "$lsb_dist" in
|
||||
ubuntu|debian|raspbian)
|
||||
pre_reqs="ca-certificates curl"
|
||||
apt_repo="deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] $DOWNLOAD_URL/linux/$lsb_dist $dist_version $CHANNEL"
|
||||
(
|
||||
if ! is_dry_run; then
|
||||
set -x
|
||||
fi
|
||||
$sh_c 'apt-get update -qq >/dev/null'
|
||||
$sh_c "DEBIAN_FRONTEND=noninteractive apt-get install -y -qq $pre_reqs >/dev/null"
|
||||
$sh_c 'install -m 0755 -d /etc/apt/keyrings'
|
||||
$sh_c "curl -fsSL \"$DOWNLOAD_URL/linux/$lsb_dist/gpg\" -o /etc/apt/keyrings/docker.asc"
|
||||
$sh_c "chmod a+r /etc/apt/keyrings/docker.asc"
|
||||
$sh_c "echo \"$apt_repo\" > /etc/apt/sources.list.d/docker.list"
|
||||
$sh_c 'apt-get update -qq >/dev/null'
|
||||
)
|
||||
pkg_version=""
|
||||
if [ -n "$VERSION" ]; then
|
||||
if is_dry_run; then
|
||||
echo "# WARNING: VERSION pinning is not supported in DRY_RUN"
|
||||
else
|
||||
# Will work for incomplete versions IE (17.12), but may not actually grab the "latest" if in the test channel
|
||||
pkg_pattern="$(echo "$VERSION" | sed 's/-ce-/~ce~.*/g' | sed 's/-/.*/g')"
|
||||
search_command="apt-cache madison docker-ce | grep '$pkg_pattern' | head -1 | awk '{\$1=\$1};1' | cut -d' ' -f 3"
|
||||
pkg_version="$($sh_c "$search_command")"
|
||||
echo "INFO: Searching repository for VERSION '$VERSION'"
|
||||
echo "INFO: $search_command"
|
||||
if [ -z "$pkg_version" ]; then
|
||||
echo
|
||||
echo "ERROR: '$VERSION' not found amongst apt-cache madison results"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
if version_gte "18.09"; then
|
||||
search_command="apt-cache madison docker-ce-cli | grep '$pkg_pattern' | head -1 | awk '{\$1=\$1};1' | cut -d' ' -f 3"
|
||||
echo "INFO: $search_command"
|
||||
cli_pkg_version="=$($sh_c "$search_command")"
|
||||
fi
|
||||
pkg_version="=$pkg_version"
|
||||
fi
|
||||
fi
|
||||
(
|
||||
pkgs="docker-ce${pkg_version%=}"
|
||||
if version_gte "18.09"; then
|
||||
# older versions didn't ship the cli and containerd as separate packages
|
||||
pkgs="$pkgs docker-ce-cli${cli_pkg_version%=} containerd.io"
|
||||
fi
|
||||
if version_gte "20.10"; then
|
||||
pkgs="$pkgs docker-compose-plugin docker-ce-rootless-extras$pkg_version"
|
||||
fi
|
||||
if version_gte "23.0"; then
|
||||
pkgs="$pkgs docker-buildx-plugin"
|
||||
fi
|
||||
if ! is_dry_run; then
|
||||
set -x
|
||||
fi
|
||||
$sh_c "DEBIAN_FRONTEND=noninteractive apt-get install -y -qq $pkgs >/dev/null"
|
||||
)
|
||||
echo_docker_as_nonroot
|
||||
exit 0
|
||||
;;
|
||||
centos|fedora|rhel)
|
||||
if command_exists dnf; then
|
||||
pkg_manager="dnf"
|
||||
pkg_manager_flags="--best"
|
||||
config_manager="dnf config-manager"
|
||||
enable_channel_flag="--set-enabled"
|
||||
disable_channel_flag="--set-disabled"
|
||||
pre_reqs="dnf-plugins-core"
|
||||
else
|
||||
pkg_manager="yum"
|
||||
pkg_manager_flags=""
|
||||
config_manager="yum-config-manager"
|
||||
enable_channel_flag="--enable"
|
||||
disable_channel_flag="--disable"
|
||||
pre_reqs="yum-utils"
|
||||
fi
|
||||
|
||||
if [ "$lsb_dist" = "fedora" ]; then
|
||||
pkg_suffix="fc$dist_version"
|
||||
else
|
||||
pkg_suffix="el"
|
||||
fi
|
||||
repo_file_url="$DOWNLOAD_URL/linux/$lsb_dist/$REPO_FILE"
|
||||
(
|
||||
if ! is_dry_run; then
|
||||
set -x
|
||||
fi
|
||||
$sh_c "$pkg_manager $pkg_manager_flags install -y -q $pre_reqs"
|
||||
$sh_c "$config_manager --add-repo $repo_file_url"
|
||||
|
||||
if [ "$CHANNEL" != "stable" ]; then
|
||||
$sh_c "$config_manager $disable_channel_flag 'docker-ce-*'"
|
||||
$sh_c "$config_manager $enable_channel_flag 'docker-ce-$CHANNEL'"
|
||||
fi
|
||||
$sh_c "$pkg_manager makecache"
|
||||
)
|
||||
pkg_version=""
|
||||
if [ -n "$VERSION" ]; then
|
||||
if is_dry_run; then
|
||||
echo "# WARNING: VERSION pinning is not supported in DRY_RUN"
|
||||
else
|
||||
pkg_pattern="$(echo "$VERSION" | sed 's/-ce-/\\\\.ce.*/g' | sed 's/-/.*/g').*$pkg_suffix"
|
||||
search_command="$pkg_manager list --showduplicates docker-ce | grep '$pkg_pattern' | tail -1 | awk '{print \$2}'"
|
||||
pkg_version="$($sh_c "$search_command")"
|
||||
echo "INFO: Searching repository for VERSION '$VERSION'"
|
||||
echo "INFO: $search_command"
|
||||
if [ -z "$pkg_version" ]; then
|
||||
echo
|
||||
echo "ERROR: '$VERSION' not found amongst $pkg_manager list results"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
if version_gte "18.09"; then
|
||||
# older versions don't support a cli package
|
||||
search_command="$pkg_manager list --showduplicates docker-ce-cli | grep '$pkg_pattern' | tail -1 | awk '{print \$2}'"
|
||||
cli_pkg_version="$($sh_c "$search_command" | cut -d':' -f 2)"
|
||||
fi
|
||||
# Cut out the epoch and prefix with a '-'
|
||||
pkg_version="-$(echo "$pkg_version" | cut -d':' -f 2)"
|
||||
fi
|
||||
fi
|
||||
(
|
||||
pkgs="docker-ce$pkg_version"
|
||||
if version_gte "18.09"; then
|
||||
# older versions didn't ship the cli and containerd as separate packages
|
||||
if [ -n "$cli_pkg_version" ]; then
|
||||
pkgs="$pkgs docker-ce-cli-$cli_pkg_version containerd.io"
|
||||
else
|
||||
pkgs="$pkgs docker-ce-cli containerd.io"
|
||||
fi
|
||||
fi
|
||||
if version_gte "20.10"; then
|
||||
pkgs="$pkgs docker-compose-plugin docker-ce-rootless-extras$pkg_version"
|
||||
fi
|
||||
if version_gte "23.0"; then
|
||||
pkgs="$pkgs docker-buildx-plugin"
|
||||
fi
|
||||
if ! is_dry_run; then
|
||||
set -x
|
||||
fi
|
||||
$sh_c "$pkg_manager $pkg_manager_flags install -y -q $pkgs"
|
||||
)
|
||||
echo_docker_as_nonroot
|
||||
exit 0
|
||||
;;
|
||||
sles)
|
||||
if [ "$(uname -m)" != "s390x" ]; then
|
||||
echo "Packages for SLES are currently only available for s390x"
|
||||
exit 1
|
||||
fi
|
||||
repo_file_url="$DOWNLOAD_URL/linux/$lsb_dist/$REPO_FILE"
|
||||
pre_reqs="ca-certificates curl libseccomp2 awk"
|
||||
(
|
||||
if ! is_dry_run; then
|
||||
set -x
|
||||
fi
|
||||
$sh_c "zypper install -y $pre_reqs"
|
||||
$sh_c "zypper addrepo $repo_file_url"
|
||||
if ! is_dry_run; then
|
||||
cat >&2 <<-'EOF'
|
||||
WARNING!!
|
||||
openSUSE repository (https://download.opensuse.org/repositories/security:/SELinux) will be enabled now.
|
||||
Do you wish to continue?
|
||||
You may press Ctrl+C now to abort this script.
|
||||
EOF
|
||||
( set -x; sleep 30 )
|
||||
fi
|
||||
opensuse_repo="https://download.opensuse.org/repositories/security:/SELinux/openSUSE_Factory/security:SELinux.repo"
|
||||
$sh_c "zypper addrepo $opensuse_repo"
|
||||
$sh_c "zypper --gpg-auto-import-keys refresh"
|
||||
$sh_c "zypper lr -d"
|
||||
)
|
||||
pkg_version=""
|
||||
if [ -n "$VERSION" ]; then
|
||||
if is_dry_run; then
|
||||
echo "# WARNING: VERSION pinning is not supported in DRY_RUN"
|
||||
else
|
||||
pkg_pattern="$(echo "$VERSION" | sed 's/-ce-/\\\\.ce.*/g' | sed 's/-/.*/g')"
|
||||
search_command="zypper search -s --match-exact 'docker-ce' | grep '$pkg_pattern' | tail -1 | awk '{print \$6}'"
|
||||
pkg_version="$($sh_c "$search_command")"
|
||||
echo "INFO: Searching repository for VERSION '$VERSION'"
|
||||
echo "INFO: $search_command"
|
||||
if [ -z "$pkg_version" ]; then
|
||||
echo
|
||||
echo "ERROR: '$VERSION' not found amongst zypper list results"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
search_command="zypper search -s --match-exact 'docker-ce-cli' | grep '$pkg_pattern' | tail -1 | awk '{print \$6}'"
|
||||
# It's okay for cli_pkg_version to be blank, since older versions don't support a cli package
|
||||
cli_pkg_version="$($sh_c "$search_command")"
|
||||
pkg_version="-$pkg_version"
|
||||
fi
|
||||
fi
|
||||
(
|
||||
pkgs="docker-ce$pkg_version"
|
||||
if version_gte "18.09"; then
|
||||
if [ -n "$cli_pkg_version" ]; then
|
||||
# older versions didn't ship the cli and containerd as separate packages
|
||||
pkgs="$pkgs docker-ce-cli-$cli_pkg_version containerd.io"
|
||||
else
|
||||
pkgs="$pkgs docker-ce-cli containerd.io"
|
||||
fi
|
||||
fi
|
||||
if version_gte "20.10"; then
|
||||
pkgs="$pkgs docker-compose-plugin docker-ce-rootless-extras$pkg_version"
|
||||
fi
|
||||
if version_gte "23.0"; then
|
||||
pkgs="$pkgs docker-buildx-plugin"
|
||||
fi
|
||||
if ! is_dry_run; then
|
||||
set -x
|
||||
fi
|
||||
$sh_c "zypper -q install -y $pkgs"
|
||||
)
|
||||
echo_docker_as_nonroot
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
if [ -z "$lsb_dist" ]; then
|
||||
if is_darwin; then
|
||||
echo
|
||||
echo "ERROR: Unsupported operating system 'macOS'"
|
||||
echo "Please get Docker Desktop from https://www.docker.com/products/docker-desktop"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
echo
|
||||
echo "ERROR: Unsupported distribution '$lsb_dist'"
|
||||
echo
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
exit 1
|
||||
}
|
||||
|
||||
# wrapped up in a function so that we have some protection against only getting
|
||||
# half the file during "curl | sh"
|
||||
do_install
|
||||
@@ -1 +1 @@
|
||||
2021.7.4
|
||||
2024.12.1
|
||||
@@ -1 +1,67 @@
|
||||
[]
|
||||
[
|
||||
{
|
||||
"name": "Gaslampe",
|
||||
"id": "a5f5b13c090b474da34c8d1c9d1e25bd",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Thermoskanne ",
|
||||
"id": "09dff852ad894d4d95dc2e8c247f985a",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Roller",
|
||||
"id": "6cfd3565ff3f43c6bde6352e06b9f872",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Fahrradhelm ",
|
||||
"id": "c9406963918f456bbc221a81ecef1db7",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Quixx",
|
||||
"id": "e4442f3fb6634e62913e15246472bcea",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Lätzchen ",
|
||||
"id": "e1115e0792a448a9a46759cd377a4849",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Balsamico",
|
||||
"id": "ac3264e58c854ee98b96add172f27b48",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Toast",
|
||||
"id": "5560a1d7abf54b6b9c6ef736ccff2e28",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Brot",
|
||||
"id": "81be0cb8c53e48f89be49c049429ff7f",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Kerze",
|
||||
"id": "4067e98f758549b0bc82275faf46742a",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Frischhaltebeutel",
|
||||
"id": "4e64b39030fa449885c30256b1a9f961",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Hotspot",
|
||||
"id": "ef6d2ab1e24846c3b89dbb85fec1a87d",
|
||||
"complete": false
|
||||
},
|
||||
{
|
||||
"name": "Gasflasche prüfen",
|
||||
"id": "803120da5c994813be568bd646c170e0",
|
||||
"complete": false
|
||||
}
|
||||
]
|
||||
@@ -69,31 +69,412 @@
|
||||
target:
|
||||
entity_id: switch.pumpe
|
||||
mode: single
|
||||
- id: '1713635450561'
|
||||
alias: Controller - OSRAM AC025XX00NJ SMART+ Switch Mini
|
||||
description: Lampe Osram Smart
|
||||
- id: '1723274410344'
|
||||
alias: Fernbedienung
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: device
|
||||
domain: mqtt
|
||||
device_id: 7ee7af674fef326af8b7d7f20d1d00d6
|
||||
type: action
|
||||
subtype: 'on'
|
||||
condition: []
|
||||
action:
|
||||
- action: light.turn_on
|
||||
target:
|
||||
entity_id:
|
||||
- light.bogenlampe
|
||||
data: {}
|
||||
- action: light.turn_on
|
||||
target:
|
||||
entity_id: light.lichtschlauch_white
|
||||
data: {}
|
||||
- action: light.turn_off
|
||||
metadata: {}
|
||||
data:
|
||||
transition: 1
|
||||
target:
|
||||
entity_id: light.lichtschlauch_rgb
|
||||
mode: single
|
||||
- id: '1723274776341'
|
||||
alias: Fernbedienung aus
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: device
|
||||
domain: mqtt
|
||||
device_id: 7ee7af674fef326af8b7d7f20d1d00d6
|
||||
type: action
|
||||
subtype: 'off'
|
||||
condition: []
|
||||
action:
|
||||
- action: light.turn_off
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
device_id:
|
||||
- 8a71457ca3d2c1be55ea34f0037e8756
|
||||
- 9d7380c58b619962e11dda1d5a060938
|
||||
mode: single
|
||||
- id: '1725182808963'
|
||||
alias: Flurlampe an
|
||||
description: ''
|
||||
triggers:
|
||||
- event: sunset
|
||||
offset: 0
|
||||
trigger: sun
|
||||
- trigger: time
|
||||
at: 06:30:00
|
||||
conditions: []
|
||||
actions:
|
||||
- action: light.turn_on
|
||||
metadata: {}
|
||||
data:
|
||||
brightness_pct: 90
|
||||
target:
|
||||
device_id:
|
||||
- da8053e3c99c43fa802f32627d9ec42e
|
||||
mode: single
|
||||
- id: '1725182915207'
|
||||
alias: Flurlampe aus
|
||||
description: ''
|
||||
triggers:
|
||||
- at: 01:00:00
|
||||
trigger: time
|
||||
- trigger: time
|
||||
at: 08:15:00
|
||||
conditions: []
|
||||
actions:
|
||||
- action: light.turn_off
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
device_id:
|
||||
- da8053e3c99c43fa802f32627d9ec42e
|
||||
mode: single
|
||||
- id: '1732045729333'
|
||||
alias: Wasser Spüle
|
||||
description: ''
|
||||
trigger:
|
||||
- type: moist
|
||||
platform: device
|
||||
device_id: ed19b3502ef3dad70cca3de834a993bc
|
||||
entity_id: af627c5df02c10ebfdc7e677b2934f12
|
||||
domain: binary_sensor
|
||||
condition: []
|
||||
action:
|
||||
- action: notify.mobile_app_sm_a536b
|
||||
metadata: {}
|
||||
data:
|
||||
message: Wasser unter der Spüle!
|
||||
- action: notify.mobile_app_sm_s901b
|
||||
metadata: {}
|
||||
data:
|
||||
message: Wasser unter der Spüle!
|
||||
mode: single
|
||||
- id: '1732467176209'
|
||||
alias: Controller - Philips 929002398602 Hue Dimmer switch v2
|
||||
description: ''
|
||||
use_blueprint:
|
||||
path: EPMatt/osram_ac025xx00nj.yaml
|
||||
path: EPMatt/philips_929002398602.yaml
|
||||
input:
|
||||
integration: deCONZ
|
||||
controller_device: a185156e10e06b082d20b9a2e6530868
|
||||
helper_last_controller_event: input_text.last_controller_event
|
||||
action_button_up_short:
|
||||
- device_id: 9076597286e6839a2a164b0f1cc5797d
|
||||
domain: light
|
||||
entity_id: light.extended_color_light_1
|
||||
type: brightness_increase
|
||||
action_button_center_short:
|
||||
- type: toggle
|
||||
device_id: 9076597286e6839a2a164b0f1cc5797d
|
||||
entity_id: light.extended_color_light_1
|
||||
domain: light
|
||||
- type: toggle
|
||||
device_id: 51c444353d203fe1a7afc607a80a563e
|
||||
entity_id: light.lightstrip
|
||||
domain: light
|
||||
action_button_down_short:
|
||||
- device_id: 9076597286e6839a2a164b0f1cc5797d
|
||||
domain: light
|
||||
entity_id: light.extended_color_light_1
|
||||
type: brightness_decrease
|
||||
integration: Zigbee2MQTT
|
||||
controller_entity: sensor.fernbedienung_bad_battery
|
||||
helper_last_controller_event: input_text.last_controller_event2
|
||||
action_button_up_double:
|
||||
- action: light.turn_on
|
||||
metadata: {}
|
||||
data:
|
||||
kelvin: 4222
|
||||
target:
|
||||
device_id: 4a993938cbf7289987eb684f71b00b92
|
||||
action_button_down_double:
|
||||
- action: light.turn_on
|
||||
metadata: {}
|
||||
data:
|
||||
kelvin: 2627
|
||||
target:
|
||||
device_id: 4a993938cbf7289987eb684f71b00b92
|
||||
- id: '1732736495026'
|
||||
alias: Lichter aus bei Sonnenaufgang
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 01:00:00
|
||||
condition: []
|
||||
action:
|
||||
- action: light.turn_off
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
device_id: 03477708398bb2e1ceb3f4a776770a29
|
||||
mode: single
|
||||
- id: '1732736623945'
|
||||
alias: Licht an bei Sonnenuntergang
|
||||
description: ''
|
||||
trigger:
|
||||
- platform: sun
|
||||
event: sunset
|
||||
offset: -00:30:00
|
||||
condition: []
|
||||
action:
|
||||
- action: light.turn_on
|
||||
metadata: {}
|
||||
data:
|
||||
kelvin: 2490
|
||||
brightness_pct: 85
|
||||
target:
|
||||
device_id: 03477708398bb2e1ceb3f4a776770a29
|
||||
mode: single
|
||||
- id: '1733523441756'
|
||||
alias: Küche Theke Schalter
|
||||
description: ''
|
||||
triggers:
|
||||
- device_id: f9bd33dde8040b0c80b8ef35f0eff174
|
||||
domain: shelly
|
||||
type: single_push
|
||||
subtype: button1
|
||||
trigger: device
|
||||
conditions: []
|
||||
actions:
|
||||
- type: toggle
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
- type: toggle
|
||||
device_id: aa992894922dfd99d4de351691fddbeb
|
||||
entity_id: c9e060ed610aaa859483ed162741f6b8
|
||||
domain: light
|
||||
mode: single
|
||||
- id: '1733523672915'
|
||||
alias: Nur Küchentisch Doppelklick
|
||||
description: ''
|
||||
triggers:
|
||||
- device_id: f9bd33dde8040b0c80b8ef35f0eff174
|
||||
domain: shelly
|
||||
type: double_push
|
||||
subtype: button1
|
||||
trigger: device
|
||||
conditions: []
|
||||
actions:
|
||||
- type: toggle
|
||||
device_id: 0477c12763b17a6f8e00e457e2241c65
|
||||
entity_id: 47503c95c474e4f8bfba5f00c725a1d4
|
||||
domain: light
|
||||
mode: single
|
||||
- id: '1733523711057'
|
||||
alias: Nur Küche Theke Dreifachklick
|
||||
description: ''
|
||||
triggers:
|
||||
- device_id: f9bd33dde8040b0c80b8ef35f0eff174
|
||||
domain: shelly
|
||||
type: triple_push
|
||||
subtype: button1
|
||||
trigger: device
|
||||
conditions: []
|
||||
actions:
|
||||
- type: toggle
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
mode: single
|
||||
- id: '1733524257607'
|
||||
alias: Alles aus Wohnzimmer
|
||||
description: ''
|
||||
triggers:
|
||||
- device_id: f9bd33dde8040b0c80b8ef35f0eff174
|
||||
domain: shelly
|
||||
type: long_push
|
||||
subtype: button1
|
||||
trigger: device
|
||||
conditions: []
|
||||
actions:
|
||||
- action: light.turn_off
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
area_id: wohnzimmer
|
||||
- type: turn_off
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
- action: light.turn_off
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
device_id: aa992894922dfd99d4de351691fddbeb
|
||||
mode: single
|
||||
- id: '1733558486213'
|
||||
alias: Küche Theke und Tisch aus
|
||||
description: ''
|
||||
triggers:
|
||||
- device_id: f9bd33dde8040b0c80b8ef35f0eff174
|
||||
domain: shelly
|
||||
type: single_push
|
||||
subtype: button1
|
||||
trigger: device
|
||||
conditions:
|
||||
- condition: device
|
||||
type: is_on
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
actions:
|
||||
- action: light.turn_off
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
device_id:
|
||||
- 0477c12763b17a6f8e00e457e2241c65
|
||||
- type: turn_off
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
mode: single
|
||||
- id: '1733558619917'
|
||||
alias: Küche Theke und Tisch an
|
||||
description: ''
|
||||
triggers:
|
||||
- device_id: f9bd33dde8040b0c80b8ef35f0eff174
|
||||
domain: shelly
|
||||
type: single_push
|
||||
subtype: button1
|
||||
trigger: device
|
||||
conditions:
|
||||
- condition: device
|
||||
type: is_off
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
actions:
|
||||
- action: light.turn_on
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
device_id: 0477c12763b17a6f8e00e457e2241c65
|
||||
- type: turn_on
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
mode: single
|
||||
- id: '1733861633781'
|
||||
alias: Fernbedienung wieder hell
|
||||
description: ''
|
||||
triggers:
|
||||
- domain: mqtt
|
||||
device_id: 7ee7af674fef326af8b7d7f20d1d00d6
|
||||
type: action
|
||||
subtype: color_temperature_move
|
||||
trigger: device
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: light.kuchentisch
|
||||
state: 'off'
|
||||
actions:
|
||||
- action: scene.turn_on
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id:
|
||||
- scene.maximales_licht
|
||||
mode: single
|
||||
- id: '1733861763897'
|
||||
alias: Fernbedienung abdunkeln
|
||||
description: ''
|
||||
triggers:
|
||||
- domain: mqtt
|
||||
device_id: 7ee7af674fef326af8b7d7f20d1d00d6
|
||||
type: action
|
||||
subtype: color_temperature_move
|
||||
trigger: device
|
||||
conditions:
|
||||
- condition: device
|
||||
type: is_on
|
||||
device_id: 0477c12763b17a6f8e00e457e2241c65
|
||||
entity_id: 47503c95c474e4f8bfba5f00c725a1d4
|
||||
domain: light
|
||||
actions:
|
||||
- action: scene.turn_on
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id: scene.hanna_schlafmodus
|
||||
mode: single
|
||||
- id: '1733862634974'
|
||||
alias: Küche Wohnzimmer an
|
||||
description: ''
|
||||
triggers:
|
||||
- domain: mqtt
|
||||
device_id: ece48086d0eb3844ccba5f333ee59ceb
|
||||
type: action
|
||||
subtype: 'on'
|
||||
trigger: device
|
||||
conditions: []
|
||||
actions:
|
||||
- action: light.turn_on
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
area_id:
|
||||
- wohnzimmer
|
||||
- kuche
|
||||
- type: turn_on
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
- type: turn_on
|
||||
device_id: 1c7100c71320f1603884443c7fd2092d
|
||||
entity_id: 276285d3b1143417515620cef9615128
|
||||
domain: switch
|
||||
mode: single
|
||||
- id: '1733862691860'
|
||||
alias: Küche Wohnzimmer aus
|
||||
description: ''
|
||||
triggers:
|
||||
- domain: mqtt
|
||||
device_id: ece48086d0eb3844ccba5f333ee59ceb
|
||||
type: action
|
||||
subtype: 'off'
|
||||
trigger: device
|
||||
conditions: []
|
||||
actions:
|
||||
- action: light.turn_off
|
||||
metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
area_id:
|
||||
- kuche
|
||||
- wohnzimmer
|
||||
- type: turn_off
|
||||
device_id: a09f77bde7ba5098df0c3ec599ca7377
|
||||
entity_id: 2a315e13dac7a4d0e3a5331216e79a5b
|
||||
domain: switch
|
||||
- type: turn_off
|
||||
device_id: 1c7100c71320f1603884443c7fd2092d
|
||||
entity_id: 276285d3b1143417515620cef9615128
|
||||
domain: switch
|
||||
mode: single
|
||||
- id: '1735746687673'
|
||||
alias: Lüftung Bad automatisch aus
|
||||
description: ''
|
||||
triggers:
|
||||
- type: turned_on
|
||||
device_id: ef6d5a43ae7c971e4b7b740dbc0f378e
|
||||
entity_id: d212bffda3c532f2e43ea9d08b1fd008
|
||||
domain: switch
|
||||
trigger: device
|
||||
for:
|
||||
hours: 0
|
||||
minutes: 30
|
||||
seconds: 0
|
||||
conditions:
|
||||
- condition: device
|
||||
type: is_on
|
||||
device_id: ef6d5a43ae7c971e4b7b740dbc0f378e
|
||||
entity_id: d212bffda3c532f2e43ea9d08b1fd008
|
||||
domain: switch
|
||||
actions:
|
||||
- type: turn_off
|
||||
device_id: ef6d5a43ae7c971e4b7b740dbc0f378e
|
||||
entity_id: d212bffda3c532f2e43ea9d08b1fd008
|
||||
domain: switch
|
||||
mode: single
|
||||
|
||||
BIN
homeassistant/backups/f5b300ae.tar
Normal file
BIN
homeassistant/backups/f5b300ae.tar
Normal file
Binary file not shown.
@@ -0,0 +1,550 @@
|
||||
blueprint:
|
||||
name: Controller - OSRAM AC025XX00NJ SMART+ Switch Mini
|
||||
description: "# Controller - OSRAM AC025XX00NJ SMART+ Switch Mini\n\nController
|
||||
automation for executing any kind of action triggered by the provided OSRAM AC025XX00NJ
|
||||
SMART+ Switch Mini. Allows to optionally loop an action on a button long press.\nSupports
|
||||
deCONZ, ZHA, Zigbee2MQTT.\n\nAutomations created with this blueprint can be connected
|
||||
with one or more [Hooks](https://epmatt.github.io/awesome-ha-blueprints/docs/blueprints/hooks)
|
||||
supported by this controller.\nHooks allow to easily create controller-based automations
|
||||
for interacting with media players, lights, covers and more.\nSee the list of
|
||||
[Hooks available for this controller](https://epmatt.github.io/awesome-ha-blueprints/docs/blueprints/controllers/osram_ac025xx00nj#available-hooks)
|
||||
for additional details.\n\n\U0001F4D5 Full documentation regarding this blueprint
|
||||
is available [here](https://epmatt.github.io/awesome-ha-blueprints/docs/blueprints/controllers/osram_ac025xx00nj).\n\n\U0001F680
|
||||
This blueprint is part of the **[Awesome HA Blueprints](https://epmatt.github.io/awesome-ha-blueprints)
|
||||
project**.\n\nℹ️ Version 2022.08.08\n"
|
||||
source_url: https://github.com/EPMatt/awesome-ha-blueprints/blob/main/blueprints/controllers/osram_ac025xx00nj/osram_ac025xx00nj.yaml
|
||||
domain: automation
|
||||
input:
|
||||
integration:
|
||||
name: (Required) Integration
|
||||
description: Integration used for connecting the remote with Home Assistant.
|
||||
Select one of the available values.
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- deCONZ
|
||||
- ZHA
|
||||
- Zigbee2MQTT
|
||||
sort: false
|
||||
multiple: false
|
||||
custom_value: false
|
||||
controller_device:
|
||||
name: (deCONZ, ZHA) Controller Device
|
||||
description: The controller device to use for the automation. Choose a value
|
||||
only if the remote is integrated with deCONZ, ZHA.
|
||||
default: ''
|
||||
selector:
|
||||
device: {}
|
||||
controller_entity:
|
||||
name: (Zigbee2MQTT) Controller Entity
|
||||
description: The action sensor of the controller to use for the automation.
|
||||
Choose a value only if the remote is integrated with Zigbee2MQTT.
|
||||
default: ''
|
||||
selector:
|
||||
entity:
|
||||
domain:
|
||||
- sensor
|
||||
multiple: false
|
||||
helper_last_controller_event:
|
||||
name: (Required) Helper - Last Controller Event
|
||||
description: Input Text used to store the last event fired by the controller.
|
||||
You will need to manually create a text input entity for this, please read
|
||||
the blueprint Additional Notes for more info.
|
||||
default: ''
|
||||
selector:
|
||||
entity:
|
||||
domain:
|
||||
- input_text
|
||||
multiple: false
|
||||
action_button_up_short:
|
||||
name: (Optional) Up button short press
|
||||
description: Action to run on short up button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_up_long:
|
||||
name: (Optional) Up button long press
|
||||
description: Action to run on long up button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_up_release:
|
||||
name: (Optional) Up button release
|
||||
description: Action to run on up button release after long press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_up_double:
|
||||
name: (Optional) Up button double press
|
||||
description: Action to run on double up button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_center_short:
|
||||
name: (Optional) Center button short press
|
||||
description: Action to run on short center button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_center_long:
|
||||
name: (Optional) Center button long press
|
||||
description: Action to run on long center button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_center_release:
|
||||
name: (Optional) Center button release
|
||||
description: Action to run on center button release after long press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_center_double:
|
||||
name: (Optional) Center button double press
|
||||
description: Action to run on double center button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_down_short:
|
||||
name: (Optional) Down button short press
|
||||
description: Action to run on short down button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_down_long:
|
||||
name: (Optional) Down button long press
|
||||
description: Action to run on long down button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_down_release:
|
||||
name: (Optional) Down button release
|
||||
description: Action to run on down button release after long press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_down_double:
|
||||
name: (Optional) Down button double press
|
||||
description: Action to run on double down button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
button_up_long_loop:
|
||||
name: (Optional) Up button long press - loop until release
|
||||
description: Loop the up button action until the button is released.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_up_long_max_loop_repeats:
|
||||
name: (Optional) Up button long press - Maximum loop repeats
|
||||
description: Maximum number of repeats for the custom action, when looping is
|
||||
enabled. Use it as a safety limit to prevent an endless loop in case the corresponding
|
||||
stop event is not received.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 1.0
|
||||
max: 5000.0
|
||||
mode: slider
|
||||
step: 1.0
|
||||
button_center_long_loop:
|
||||
name: (Optional) Center button long press - loop until release
|
||||
description: Loop the center button action until the button is released.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_center_long_max_loop_repeats:
|
||||
name: (Optional) Center button long press - Maximum loop repeats
|
||||
description: Maximum number of repeats for the custom action, when looping is
|
||||
enabled. Use it as a safety limit to prevent an endless loop in case the corresponding
|
||||
stop event is not received.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 1.0
|
||||
max: 5000.0
|
||||
mode: slider
|
||||
step: 1.0
|
||||
button_down_long_loop:
|
||||
name: (Optional) Down button long press - loop until release
|
||||
description: Loop the down button action until the button is released.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_down_long_max_loop_repeats:
|
||||
name: (Optional) Down button long press - Maximum loop repeats
|
||||
description: Maximum number of repeats for the custom action, when looping is
|
||||
enabled. Use it as a safety limit to prevent an endless loop in case the corresponding
|
||||
stop event is not received.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 1.0
|
||||
max: 5000.0
|
||||
mode: slider
|
||||
step: 1.0
|
||||
button_up_double_press:
|
||||
name: (Optional) Expose up button double press event
|
||||
description: Choose whether or not to expose the virtual double press event
|
||||
for the up button. Turn this on if you are providing an action for the up
|
||||
button double press event.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_center_double_press:
|
||||
name: (Optional) Expose center button double press event
|
||||
description: Choose whether or not to expose the virtual double press event
|
||||
for the center button. Turn this on if you are providing an action for the
|
||||
center button double press event.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_down_double_press:
|
||||
name: (Optional) Expose down button double press event
|
||||
description: Choose whether or not to expose the virtual double press event
|
||||
for the down button. Turn this on if you are providing an action for the down
|
||||
button double press event.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
helper_double_press_delay:
|
||||
name: (Optional) Helper - Double Press delay
|
||||
description: Max delay between the first and the second button press for the
|
||||
double press event. Provide a value only if you are using a double press action.
|
||||
Increase this value if you notice that the double press action is not triggered
|
||||
properly.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 100.0
|
||||
max: 5000.0
|
||||
unit_of_measurement: milliseconds
|
||||
mode: box
|
||||
step: 10.0
|
||||
helper_debounce_delay:
|
||||
name: (Optional) Helper - Debounce delay
|
||||
description: Delay used for debouncing RAW controller events, by default set
|
||||
to 0. A value of 0 disables the debouncing feature. Increase this value if
|
||||
you notice custom actions or linked Hooks running multiple times when interacting
|
||||
with the device. When the controller needs to be debounced, usually a value
|
||||
of 100 is enough to remove all duplicate events.
|
||||
default: 0
|
||||
selector:
|
||||
number:
|
||||
min: 0.0
|
||||
max: 1000.0
|
||||
unit_of_measurement: milliseconds
|
||||
mode: box
|
||||
step: 10.0
|
||||
variables:
|
||||
integration: !input integration
|
||||
button_up_long_loop: !input button_up_long_loop
|
||||
button_up_long_max_loop_repeats: !input button_up_long_max_loop_repeats
|
||||
button_up_double_press: !input button_up_double_press
|
||||
button_center_long_loop: !input button_center_long_loop
|
||||
button_center_long_max_loop_repeats: !input button_center_long_max_loop_repeats
|
||||
button_center_double_press: !input button_center_double_press
|
||||
button_down_long_loop: !input button_down_long_loop
|
||||
button_down_long_max_loop_repeats: !input button_down_long_max_loop_repeats
|
||||
button_down_double_press: !input button_down_double_press
|
||||
helper_last_controller_event: !input helper_last_controller_event
|
||||
helper_double_press_delay: !input helper_double_press_delay
|
||||
helper_debounce_delay: !input helper_debounce_delay
|
||||
integration_id: '{{ integration | lower }}'
|
||||
adjusted_double_press_delay: '{{ [helper_double_press_delay - helper_debounce_delay,
|
||||
100] | max }}'
|
||||
actions_mapping:
|
||||
deconz:
|
||||
button_up_short:
|
||||
- '1002'
|
||||
button_up_long:
|
||||
- '1001'
|
||||
button_up_release:
|
||||
- '1003'
|
||||
button_center_short:
|
||||
- '3002'
|
||||
button_center_long:
|
||||
- '3001'
|
||||
button_center_release:
|
||||
- '3003'
|
||||
button_down_short:
|
||||
- '2002'
|
||||
button_down_long:
|
||||
- '2001'
|
||||
button_down_release:
|
||||
- '2003'
|
||||
zha:
|
||||
button_up_short:
|
||||
- 'on'
|
||||
button_up_long:
|
||||
- move_with_on_off
|
||||
button_up_release:
|
||||
- stop
|
||||
button_center_short:
|
||||
- move_to_level_with_on_off
|
||||
button_center_long:
|
||||
- move_to_saturation
|
||||
button_center_release:
|
||||
- move_hue
|
||||
button_down_short:
|
||||
- 'off'
|
||||
button_down_long:
|
||||
- move
|
||||
button_down_release:
|
||||
- stop
|
||||
zigbee2mqtt:
|
||||
button_up_short:
|
||||
- up
|
||||
button_up_long:
|
||||
- up_hold
|
||||
button_up_release:
|
||||
- up_release
|
||||
button_center_short:
|
||||
- circle_click
|
||||
button_center_long:
|
||||
- circle_hold
|
||||
button_center_release:
|
||||
- circle_release
|
||||
button_down_short:
|
||||
- down
|
||||
button_down_long:
|
||||
- down_hold
|
||||
button_down_release:
|
||||
- down_release
|
||||
button_up_short: '{{ actions_mapping[integration_id]["button_up_short"] }}'
|
||||
button_up_long: '{{ actions_mapping[integration_id]["button_up_long"] }}'
|
||||
button_up_release: '{{ actions_mapping[integration_id]["button_up_release"] }}'
|
||||
button_center_short: '{{ actions_mapping[integration_id]["button_center_short"]
|
||||
}}'
|
||||
button_center_long: '{{ actions_mapping[integration_id]["button_center_long"] }}'
|
||||
button_center_release: '{{ actions_mapping[integration_id]["button_center_release"]
|
||||
}}'
|
||||
button_down_short: '{{ actions_mapping[integration_id]["button_down_short"] }}'
|
||||
button_down_long: '{{ actions_mapping[integration_id]["button_down_long"] }}'
|
||||
button_down_release: '{{ actions_mapping[integration_id]["button_down_release"]
|
||||
}}'
|
||||
controller_entity: !input controller_entity
|
||||
controller_device: !input controller_device
|
||||
controller_id: '{% if integration_id=="zigbee2mqtt" %}{{controller_entity}}{% else
|
||||
%}{{controller_device}}{% endif %}'
|
||||
mode: restart
|
||||
max_exceeded: silent
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: state_changed
|
||||
event_data:
|
||||
entity_id: !input controller_entity
|
||||
- platform: event
|
||||
event_type:
|
||||
- deconz_event
|
||||
- zha_event
|
||||
event_data:
|
||||
device_id: !input controller_device
|
||||
condition:
|
||||
- condition: and
|
||||
conditions:
|
||||
- '{%- set trigger_action -%} {%- if integration_id == "zigbee2mqtt" -%} {{ trigger.event.data.new_state.state
|
||||
}} {%- elif integration_id == "deconz" -%} {{ trigger.event.data.event }} {%-
|
||||
elif integration_id == "zha" -%} {{ trigger.event.data.command }} {%- endif -%}
|
||||
{%- endset -%} {{ trigger_action not in ["","None"] }}'
|
||||
- '{{ integration_id != "zigbee2mqtt" or trigger.event.data.new_state.state != trigger.event.data.old_state.state
|
||||
}}'
|
||||
action:
|
||||
- delay:
|
||||
milliseconds: !input helper_debounce_delay
|
||||
- variables:
|
||||
trigger_action: '{%- if integration_id == "zigbee2mqtt" -%} {{ trigger.event.data.new_state.state
|
||||
}} {%- elif integration_id == "deconz" -%} {{ trigger.event.data.event }} {%-
|
||||
elif integration_id == "zha" -%} {{ trigger.event.data.command }} {%- endif
|
||||
-%}'
|
||||
trigger_delta: '{{ (as_timestamp(now()) - ((states(helper_last_controller_event)
|
||||
| from_json).t if helper_last_controller_event is not none and (states(helper_last_controller_event)
|
||||
| regex_match("^\{((\"a\": \".*\"|\"t\": \d+\.\d+)(, )?){2}\}$")) else as_timestamp("1970-01-01
|
||||
00:00:00"))) * 1000 }}'
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":trigger_action,"t":as_timestamp(now())} | to_json }}'
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in button_up_short }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ button_up_double_press }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in states(helper_last_controller_event)
|
||||
and trigger_delta | int <= helper_double_press_delay | int }}'
|
||||
sequence:
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":"double_press","t":as_timestamp(now())} | to_json
|
||||
}}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_double
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_up_double
|
||||
default:
|
||||
- delay:
|
||||
milliseconds: '{{ adjusted_double_press_delay }}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_up_short
|
||||
default:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_up_short
|
||||
- conditions: '{{ trigger_action | string in button_up_long }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_long
|
||||
- choose:
|
||||
- conditions: '{{ button_up_long_loop }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: '{{ repeat.index < button_up_long_max_loop_repeats | int }}'
|
||||
sequence: !input action_button_up_long
|
||||
default: !input action_button_up_long
|
||||
- conditions: '{{ trigger_action | string in button_up_release }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_release
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_up_release
|
||||
- conditions: '{{ trigger_action | string in button_center_short }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ button_center_double_press }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in states(helper_last_controller_event)
|
||||
and trigger_delta | int <= helper_double_press_delay | int }}'
|
||||
sequence:
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":"double_press","t":as_timestamp(now())} | to_json
|
||||
}}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_center_double
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_center_double
|
||||
default:
|
||||
- delay:
|
||||
milliseconds: '{{ adjusted_double_press_delay }}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_center_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_center_short
|
||||
default:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_center_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_center_short
|
||||
- conditions: '{{ trigger_action | string in button_center_long }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_center_long
|
||||
- choose:
|
||||
- conditions: '{{ button_center_long_loop }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: '{{ repeat.index < button_center_long_max_loop_repeats | int }}'
|
||||
sequence: !input action_button_center_long
|
||||
default: !input action_button_center_long
|
||||
- conditions: '{{ trigger_action | string in button_center_release }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_center_release
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_center_release
|
||||
- conditions: '{{ trigger_action | string in button_down_short }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ button_down_double_press }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in states(helper_last_controller_event)
|
||||
and trigger_delta | int <= helper_double_press_delay | int }}'
|
||||
sequence:
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":"double_press","t":as_timestamp(now())} | to_json
|
||||
}}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_double
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_down_double
|
||||
default:
|
||||
- delay:
|
||||
milliseconds: '{{ adjusted_double_press_delay }}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_down_short
|
||||
default:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_down_short
|
||||
- conditions: '{{ trigger_action | string in button_down_long }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_long
|
||||
- choose:
|
||||
- conditions: '{{ button_down_long_loop }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: '{{ repeat.index < button_down_long_max_loop_repeats | int }}'
|
||||
sequence: !input action_button_down_long
|
||||
default: !input action_button_down_long
|
||||
- conditions: '{{ trigger_action | string in button_down_release }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_release
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_down_release
|
||||
@@ -0,0 +1,660 @@
|
||||
blueprint:
|
||||
name: Controller - Philips 929002398602 Hue Dimmer switch v2
|
||||
description: "# Controller - Philips 929002398602 Hue Dimmer switch v2\n\nController
|
||||
automation for executing any kind of action triggered by the provided Philips
|
||||
929002398602 Hue Dimmer switch v2. Allows to optionally loop an action on a button
|
||||
long press.\nSupports ZHA, Zigbee2MQTT.\n\nAutomations created with this blueprint
|
||||
can be connected with one or more [Hooks](https://epmatt.github.io/awesome-ha-blueprints/docs/blueprints/hooks)
|
||||
supported by this controller.\nHooks allow to easily create controller-based automations
|
||||
for interacting with media players, lights, covers and more.\nSee the list of
|
||||
[Hooks available for this controller](https://epmatt.github.io/awesome-ha-blueprints/docs/blueprints/controllers/philips_929002398602#available-hooks)
|
||||
for additional details.\n\n\U0001F4D5 Full documentation regarding this blueprint
|
||||
is available [here](https://epmatt.github.io/awesome-ha-blueprints/docs/blueprints/controllers/philips_929002398602).\n\n\U0001F680
|
||||
This blueprint is part of the **[Awesome HA Blueprints](https://epmatt.github.io/awesome-ha-blueprints)
|
||||
project**.\n\nℹ️ Version 2022.08.08\n"
|
||||
source_url: https://github.com/EPMatt/awesome-ha-blueprints/blob/main/blueprints/controllers/philips_929002398602/philips_929002398602.yaml
|
||||
domain: automation
|
||||
input:
|
||||
integration:
|
||||
name: (Required) Integration
|
||||
description: Integration used for connecting the remote with Home Assistant.
|
||||
Select one of the available values.
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- ZHA
|
||||
- Zigbee2MQTT
|
||||
sort: false
|
||||
custom_value: false
|
||||
multiple: false
|
||||
controller_device:
|
||||
name: (ZHA) Controller Device
|
||||
description: The controller device to use for the automation. Choose a value
|
||||
only if the remote is integrated with ZHA.
|
||||
default: ''
|
||||
selector:
|
||||
device: {}
|
||||
controller_entity:
|
||||
name: (Zigbee2MQTT) Controller Entity
|
||||
description: The action sensor of the controller to use for the automation.
|
||||
Choose a value only if the remote is integrated with Zigbee2MQTT.
|
||||
default: ''
|
||||
selector:
|
||||
entity:
|
||||
domain:
|
||||
- sensor
|
||||
multiple: false
|
||||
helper_last_controller_event:
|
||||
name: (Required) Helper - Last Controller Event
|
||||
description: Input Text used to store the last event fired by the controller.
|
||||
You will need to manually create a text input entity for this, please read
|
||||
the blueprint Additional Notes for more info.
|
||||
default: ''
|
||||
selector:
|
||||
entity:
|
||||
domain:
|
||||
- input_text
|
||||
multiple: false
|
||||
action_button_on_short:
|
||||
name: (Optional) On button short press
|
||||
description: Action to run on short on button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_on_long:
|
||||
name: (Optional) On button long press
|
||||
description: Action to run on long on button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_on_release:
|
||||
name: (Optional) On button release
|
||||
description: Action to run on on button release after long press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_on_double:
|
||||
name: (Optional) On button double press
|
||||
description: Action to run on double on button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_off_short:
|
||||
name: (Optional) Off button short press
|
||||
description: Action to run on short off button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_off_long:
|
||||
name: (Optional) Off button long press
|
||||
description: Action to run on long off button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_off_release:
|
||||
name: (Optional) Off button release
|
||||
description: Action to run on off button release after long press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_off_double:
|
||||
name: (Optional) Off button double press
|
||||
description: Action to run on double off button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_up_short:
|
||||
name: (Optional) Up button short press
|
||||
description: Action to run on short up button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_up_long:
|
||||
name: (Optional) Up button long press
|
||||
description: Action to run on long up button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_up_release:
|
||||
name: (Optional) Up button release
|
||||
description: Action to run on up button release after long press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_up_double:
|
||||
name: (Optional) Up button double press
|
||||
description: Action to run on double up button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_down_short:
|
||||
name: (Optional) Down button short press
|
||||
description: Action to run on short down button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_down_long:
|
||||
name: (Optional) Down button long press
|
||||
description: Action to run on long down button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_down_release:
|
||||
name: (Optional) Down button release
|
||||
description: Action to run on down button release after long press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
action_button_down_double:
|
||||
name: (Optional) Down button double press
|
||||
description: Action to run on double down button press.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
button_on_long_loop:
|
||||
name: (Optional) On button long press - loop until release
|
||||
description: Loop the on button action until the button is released.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_on_long_max_loop_repeats:
|
||||
name: (Optional) On button long press - Maximum loop repeats
|
||||
description: Maximum number of repeats for the custom action, when looping is
|
||||
enabled. Use it as a safety limit to prevent an endless loop in case the corresponding
|
||||
stop event is not received.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 1.0
|
||||
max: 5000.0
|
||||
mode: slider
|
||||
step: 1.0
|
||||
button_off_long_loop:
|
||||
name: (Optional) Off button long press - loop until release
|
||||
description: Loop the off button action until the button is released.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_off_long_max_loop_repeats:
|
||||
name: (Optional) Off button long press - Maximum loop repeats
|
||||
description: Maximum number of repeats for the custom action, when looping is
|
||||
enabled. Use it as a safety limit to prevent an endless loop in case the corresponding
|
||||
stop event is not received.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 1.0
|
||||
max: 5000.0
|
||||
mode: slider
|
||||
step: 1.0
|
||||
button_up_long_loop:
|
||||
name: (Optional) Up button long press - loop until release
|
||||
description: Loop the up button action until the button is released.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_up_long_max_loop_repeats:
|
||||
name: (Optional) Up button long press - Maximum loop repeats
|
||||
description: Maximum number of repeats for the custom action, when looping is
|
||||
enabled. Use it as a safety limit to prevent an endless loop in case the corresponding
|
||||
stop event is not received.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 1.0
|
||||
max: 5000.0
|
||||
mode: slider
|
||||
step: 1.0
|
||||
button_down_long_loop:
|
||||
name: (Optional) Down button long press - loop until release
|
||||
description: Loop the down button action until the button is released.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_down_long_max_loop_repeats:
|
||||
name: (Optional) Down button long press - Maximum loop repeats
|
||||
description: Maximum number of repeats for the custom action, when looping is
|
||||
enabled. Use it as a safety limit to prevent an endless loop in case the corresponding
|
||||
stop event is not received.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 1.0
|
||||
max: 5000.0
|
||||
mode: slider
|
||||
step: 1.0
|
||||
button_on_double_press:
|
||||
name: (Optional) Expose on button double press event
|
||||
description: Choose whether or not to expose the virtual double press event
|
||||
for the on button. Turn this on if you are providing an action for the on
|
||||
button double press event.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_off_double_press:
|
||||
name: (Optional) Expose off button double press event
|
||||
description: Choose whether or not to expose the virtual double press event
|
||||
for the off button. Turn this on if you are providing an action for the off
|
||||
button double press event.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_up_double_press:
|
||||
name: (Optional) Expose up button double press event
|
||||
description: Choose whether or not to expose the virtual double press event
|
||||
for the up button. Turn this on if you are providing an action for the up
|
||||
button double press event.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
button_down_double_press:
|
||||
name: (Optional) Expose down button double press event
|
||||
description: Choose whether or not to expose the virtual double press event
|
||||
for the down button. Turn this on if you are providing an action for the down
|
||||
button double press event.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
helper_double_press_delay:
|
||||
name: (Optional) Helper - Double Press delay
|
||||
description: Max delay between the first and the second button press for the
|
||||
double press event. Provide a value only if you are using a double press action.
|
||||
Increase this value if you notice that the double press action is not triggered
|
||||
properly.
|
||||
default: 500
|
||||
selector:
|
||||
number:
|
||||
min: 100.0
|
||||
max: 5000.0
|
||||
unit_of_measurement: milliseconds
|
||||
mode: box
|
||||
step: 10.0
|
||||
helper_debounce_delay:
|
||||
name: (Optional) Helper - Debounce delay
|
||||
description: Delay used for debouncing RAW controller events, by default set
|
||||
to 0. A value of 0 disables the debouncing feature. Increase this value if
|
||||
you notice custom actions or linked Hooks running multiple times when interacting
|
||||
with the device. When the controller needs to be debounced, usually a value
|
||||
of 100 is enough to remove all duplicate events.
|
||||
default: 0
|
||||
selector:
|
||||
number:
|
||||
min: 0.0
|
||||
max: 1000.0
|
||||
unit_of_measurement: milliseconds
|
||||
mode: box
|
||||
step: 10.0
|
||||
variables:
|
||||
integration: !input integration
|
||||
button_on_long_loop: !input button_on_long_loop
|
||||
button_on_long_max_loop_repeats: !input button_on_long_max_loop_repeats
|
||||
button_on_double_press: !input button_on_double_press
|
||||
button_off_long_loop: !input button_off_long_loop
|
||||
button_off_long_max_loop_repeats: !input button_off_long_max_loop_repeats
|
||||
button_off_double_press: !input button_off_double_press
|
||||
button_up_long_loop: !input button_up_long_loop
|
||||
button_up_long_max_loop_repeats: !input button_up_long_max_loop_repeats
|
||||
button_up_double_press: !input button_up_double_press
|
||||
button_down_long_loop: !input button_down_long_loop
|
||||
button_down_long_max_loop_repeats: !input button_down_long_max_loop_repeats
|
||||
button_down_double_press: !input button_down_double_press
|
||||
helper_last_controller_event: !input helper_last_controller_event
|
||||
helper_double_press_delay: !input helper_double_press_delay
|
||||
helper_debounce_delay: !input helper_debounce_delay
|
||||
integration_id: '{{ integration | lower }}'
|
||||
adjusted_double_press_delay: '{{ [helper_double_press_delay - helper_debounce_delay,
|
||||
100] | max }}'
|
||||
actions_mapping:
|
||||
zha:
|
||||
button_on_short:
|
||||
- on_press
|
||||
- on_press_release
|
||||
button_on_long:
|
||||
- on_hold
|
||||
button_on_release:
|
||||
- on_long_release
|
||||
button_off_short:
|
||||
- off_press
|
||||
- off_press_release
|
||||
button_off_long:
|
||||
- off_hold
|
||||
button_off_release:
|
||||
- off_long_release
|
||||
button_up_short:
|
||||
- up_press
|
||||
button_up_long:
|
||||
- up_hold
|
||||
button_up_release:
|
||||
- up_long_release
|
||||
button_down_short:
|
||||
- down_press
|
||||
button_down_long:
|
||||
- down_hold
|
||||
button_down_release:
|
||||
- down_long_release
|
||||
zigbee2mqtt:
|
||||
button_on_short:
|
||||
- on_press
|
||||
- on_press_release
|
||||
button_on_long:
|
||||
- on_hold
|
||||
button_on_release:
|
||||
- on_hold_release
|
||||
button_off_short:
|
||||
- off_press
|
||||
- off_press_release
|
||||
button_off_long:
|
||||
- off_hold
|
||||
button_off_release:
|
||||
- off_hold_release
|
||||
button_up_short:
|
||||
- up_press
|
||||
button_up_long:
|
||||
- up_hold
|
||||
button_up_release:
|
||||
- up_hold_release
|
||||
button_down_short:
|
||||
- down_press
|
||||
button_down_long:
|
||||
- down_hold
|
||||
button_down_release:
|
||||
- down_hold_release
|
||||
button_on_short: '{{ actions_mapping[integration_id]["button_on_short"] }}'
|
||||
button_on_long: '{{ actions_mapping[integration_id]["button_on_long"] }}'
|
||||
button_on_release: '{{ actions_mapping[integration_id]["button_on_release"] }}'
|
||||
button_off_short: '{{ actions_mapping[integration_id]["button_off_short"] }}'
|
||||
button_off_long: '{{ actions_mapping[integration_id]["button_off_long"] }}'
|
||||
button_off_release: '{{ actions_mapping[integration_id]["button_off_release"] }}'
|
||||
button_up_short: '{{ actions_mapping[integration_id]["button_up_short"] }}'
|
||||
button_up_long: '{{ actions_mapping[integration_id]["button_up_long"] }}'
|
||||
button_up_release: '{{ actions_mapping[integration_id]["button_up_release"] }}'
|
||||
button_down_short: '{{ actions_mapping[integration_id]["button_down_short"] }}'
|
||||
button_down_long: '{{ actions_mapping[integration_id]["button_down_long"] }}'
|
||||
button_down_release: '{{ actions_mapping[integration_id]["button_down_release"]
|
||||
}}'
|
||||
controller_entity: !input controller_entity
|
||||
controller_device: !input controller_device
|
||||
controller_id: '{% if integration_id=="zigbee2mqtt" %}{{controller_entity}}{% else
|
||||
%}{{controller_device}}{% endif %}'
|
||||
mode: restart
|
||||
max_exceeded: silent
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: state_changed
|
||||
event_data:
|
||||
entity_id: !input controller_entity
|
||||
- platform: event
|
||||
event_type:
|
||||
- zha_event
|
||||
event_data:
|
||||
device_id: !input controller_device
|
||||
condition:
|
||||
- condition: and
|
||||
conditions:
|
||||
- '{%- set trigger_action -%} {%- if integration_id == "zigbee2mqtt" -%} {{ trigger.event.data.new_state.state
|
||||
}} {%- elif integration_id == "deconz" -%} {{ trigger.event.data.event }} {%-
|
||||
elif integration_id == "zha" -%} {{ trigger.event.data.command }} {%- endif -%}
|
||||
{%- endset -%} {{ trigger_action not in ["","None"] }}'
|
||||
- '{{ integration_id != "zigbee2mqtt" or trigger.event.data.new_state.state != trigger.event.data.old_state.state
|
||||
}}'
|
||||
action:
|
||||
- delay:
|
||||
milliseconds: !input helper_debounce_delay
|
||||
- variables:
|
||||
trigger_action: '{%- if integration_id == "zigbee2mqtt" -%} {{ trigger.event.data.new_state.state
|
||||
}} {%- elif integration_id == "deconz" -%} {{ trigger.event.data.event }} {%-
|
||||
elif integration_id == "zha" -%} {{ trigger.event.data.command }} {%- endif
|
||||
-%}'
|
||||
trigger_delta: '{{ (as_timestamp(now()) - ((states(helper_last_controller_event)
|
||||
| from_json).t if helper_last_controller_event is not none and (states(helper_last_controller_event)
|
||||
| regex_match("^\{((\"a\": \".*\"|\"t\": \d+\.\d+)(, )?){2}\}$")) else as_timestamp("1970-01-01
|
||||
00:00:00"))) * 1000 }}'
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":trigger_action,"t":as_timestamp(now())} | to_json }}'
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in button_on_short }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ button_on_double_press }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in states(helper_last_controller_event)
|
||||
and trigger_delta | int <= helper_double_press_delay | int }}'
|
||||
sequence:
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":"double_press","t":as_timestamp(now())} | to_json
|
||||
}}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_on_double
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_on_double
|
||||
default:
|
||||
- delay:
|
||||
milliseconds: '{{ adjusted_double_press_delay }}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_on_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_on_short
|
||||
default:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_on_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_on_short
|
||||
- conditions: '{{ trigger_action | string in button_on_long }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_on_long
|
||||
- choose:
|
||||
- conditions: '{{ button_on_long_loop }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: '{{ repeat.index < button_on_long_max_loop_repeats | int }}'
|
||||
sequence: !input action_button_on_long
|
||||
default: !input action_button_on_long
|
||||
- conditions: '{{ trigger_action | string in button_on_release }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_on_release
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_on_release
|
||||
- conditions: '{{ trigger_action | string in button_off_short }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ button_off_double_press }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in states(helper_last_controller_event)
|
||||
and trigger_delta | int <= helper_double_press_delay | int }}'
|
||||
sequence:
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":"double_press","t":as_timestamp(now())} | to_json
|
||||
}}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_off_double
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_off_double
|
||||
default:
|
||||
- delay:
|
||||
milliseconds: '{{ adjusted_double_press_delay }}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_off_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_off_short
|
||||
default:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_off_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_off_short
|
||||
- conditions: '{{ trigger_action | string in button_off_long }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_off_long
|
||||
- choose:
|
||||
- conditions: '{{ button_off_long_loop }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: '{{ repeat.index < button_off_long_max_loop_repeats | int }}'
|
||||
sequence: !input action_button_off_long
|
||||
default: !input action_button_off_long
|
||||
- conditions: '{{ trigger_action | string in button_off_release }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_off_release
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_off_release
|
||||
- conditions: '{{ trigger_action | string in button_up_short }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ button_up_double_press }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in states(helper_last_controller_event)
|
||||
and trigger_delta | int <= helper_double_press_delay | int }}'
|
||||
sequence:
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":"double_press","t":as_timestamp(now())} | to_json
|
||||
}}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_double
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_up_double
|
||||
default:
|
||||
- delay:
|
||||
milliseconds: '{{ adjusted_double_press_delay }}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_up_short
|
||||
default:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_up_short
|
||||
- conditions: '{{ trigger_action | string in button_up_long }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_long
|
||||
- choose:
|
||||
- conditions: '{{ button_up_long_loop }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: '{{ repeat.index < button_up_long_max_loop_repeats | int }}'
|
||||
sequence: !input action_button_up_long
|
||||
default: !input action_button_up_long
|
||||
- conditions: '{{ trigger_action | string in button_up_release }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_up_release
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_up_release
|
||||
- conditions: '{{ trigger_action | string in button_down_short }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ button_down_double_press }}'
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions: '{{ trigger_action | string in states(helper_last_controller_event)
|
||||
and trigger_delta | int <= helper_double_press_delay | int }}'
|
||||
sequence:
|
||||
- service: input_text.set_value
|
||||
data:
|
||||
entity_id: !input helper_last_controller_event
|
||||
value: '{{ {"a":"double_press","t":as_timestamp(now())} | to_json
|
||||
}}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_double
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_down_double
|
||||
default:
|
||||
- delay:
|
||||
milliseconds: '{{ adjusted_double_press_delay }}'
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_down_short
|
||||
default:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_short
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_down_short
|
||||
- conditions: '{{ trigger_action | string in button_down_long }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_long
|
||||
- choose:
|
||||
- conditions: '{{ button_down_long_loop }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: '{{ repeat.index < button_down_long_max_loop_repeats | int }}'
|
||||
sequence: !input action_button_down_long
|
||||
default: !input action_button_down_long
|
||||
- conditions: '{{ trigger_action | string in button_down_release }}'
|
||||
sequence:
|
||||
- event: ahb_controller_event
|
||||
event_data:
|
||||
controller: '{{ controller_id }}'
|
||||
action: button_down_release
|
||||
- choose:
|
||||
- conditions: []
|
||||
sequence: !input action_button_down_release
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||
default_config:
|
||||
|
||||
@@ -10,78 +9,79 @@ group: !include groups.yaml
|
||||
automation: !include automations.yaml
|
||||
script: !include scripts.yaml
|
||||
scene: !include scenes.yaml
|
||||
shell_command: !include shell_commands.yaml
|
||||
|
||||
switch:
|
||||
- platform: wake_on_lan
|
||||
name: "mini PC"
|
||||
host: "192.168.178.87"
|
||||
mac: "58:47:CA:78:4E:59"
|
||||
turn_off:
|
||||
service: shell_command.turn_off_remote_pc
|
||||
|
||||
|
||||
#MQTT Broker for milight hub:
|
||||
mqtt:
|
||||
sensor 1:
|
||||
state_topic: 'living/sensor1'
|
||||
name: 'Temperature'
|
||||
unit_of_measurement: '°C'
|
||||
value_template: '{{ value_json.temperature }}'
|
||||
sensor:
|
||||
- name: 'Temperature'
|
||||
state_topic: 'living/sensor1'
|
||||
unit_of_measurement: '°C'
|
||||
value_template: '{{ value_json.temperature }}'
|
||||
|
||||
sensor 2:
|
||||
state_topic: 'living/sensor1'
|
||||
name: 'Humidity'
|
||||
unit_of_measurement: '%'
|
||||
value_template: '{{ value_json.humidity }}'
|
||||
- name: 'Humidity'
|
||||
state_topic: 'living/sensor1'
|
||||
unit_of_measurement: '%'
|
||||
value_template: '{{ value_json.humidity }}'
|
||||
|
||||
sensor 3:
|
||||
state_topic: 'living/sensor2'
|
||||
name: 'Temperature 2'
|
||||
unit_of_measurement: '°C'
|
||||
value_template: '{{ value_json.temperature }}'
|
||||
|
||||
sensor 4:
|
||||
state_topic: 'living/sensor2'
|
||||
name: 'Humidity 2'
|
||||
unit_of_measurement: '%'
|
||||
value_template: '{{ value_json.humidity }}'
|
||||
|
||||
sensor 5:
|
||||
state_topic: 'living/sensor2'
|
||||
name: 'Humidity 3'
|
||||
unit_of_measurement: '%'
|
||||
value_template: '{{ value_json.soilhumidity }}'
|
||||
|
||||
sensor 6:
|
||||
state_topic: 'living/sensor2'
|
||||
name: 'Battery'
|
||||
unit_of_measurement: 'mV'
|
||||
value_template: '{{ value_json.battery }}'
|
||||
- name: 'Temperature 2'
|
||||
state_topic: 'living/sensor2'
|
||||
unit_of_measurement: '°C'
|
||||
value_template: '{{ value_json.temperature }}'
|
||||
|
||||
|
||||
switch 1:
|
||||
command_topic: living/plug
|
||||
payload_on: "83029"
|
||||
payload_off: "83028"
|
||||
name: "Schalter 1 Schreibtisch"
|
||||
- name: 'Humidity 2'
|
||||
state_topic: 'living/sensor2'
|
||||
unit_of_measurement: '%'
|
||||
value_template: '{{ value_json.humidity }}'
|
||||
|
||||
switch 2:
|
||||
command_topic: living/plug
|
||||
payload_on: "86101"
|
||||
payload_off: "86100"
|
||||
name: "Schalter 2 HerrBert"
|
||||
- name: 'Humidity 3'
|
||||
state_topic: 'living/sensor2'
|
||||
unit_of_measurement: '%'
|
||||
value_template: '{{ value_json.soilhumidity }}'
|
||||
|
||||
|
||||
switch 3:
|
||||
command_topic: living/plug
|
||||
payload_on: "70741"
|
||||
payload_off: "70740"
|
||||
name: "Schalter 3 Schlafzimmer TV"
|
||||
- name: 'Battery'
|
||||
state_topic: 'living/sensor2'
|
||||
unit_of_measurement: 'mV'
|
||||
value_template: '{{ value_json.battery }}'
|
||||
|
||||
switch 4:
|
||||
command_topic: living/plug
|
||||
payload_on: "21589"
|
||||
payload_off: "21588"
|
||||
name: "Steckdose 4"
|
||||
switch:
|
||||
- name: "Schalter 1 Schreibtisch"
|
||||
command_topic: living/plug
|
||||
payload_on: "83029"
|
||||
payload_off: "83028"
|
||||
|
||||
- name: "Schalter 2 HerrBert"
|
||||
command_topic: living/plug
|
||||
payload_on: "86101"
|
||||
payload_off: "86100"
|
||||
|
||||
- name: "Schalter 3 Schlafzimmer TV"
|
||||
command_topic: living/plug
|
||||
payload_on: "70741"
|
||||
payload_off: "70740"
|
||||
|
||||
- name: "Steckdose 4"
|
||||
command_topic: living/plug
|
||||
payload_on: "21589"
|
||||
payload_off: "21588"
|
||||
|
||||
- name: "Pumpe"
|
||||
command_topic: greenhousino/pump
|
||||
state_topic: greenhousino/pumpstate
|
||||
payload_on: "90000"
|
||||
payload_off: "off"
|
||||
|
||||
switch 5:
|
||||
command_topic: greenhousino/pump
|
||||
state_topic: greenhousino/pumpstate
|
||||
payload_on: "90000"
|
||||
payload_off: "off"
|
||||
name: "Pumpe"
|
||||
|
||||
# enable the recorder integration (optional)
|
||||
recorder:
|
||||
|
||||
@@ -1,14 +1,47 @@
|
||||
2021-08-09 11:23:45 WARNING (SyncWorker_2) [pyhomematic._hm] Skipping init for homeassistant-ccu3
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of homematic is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of logbook is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of media_source is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of input_select is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of coronavirus is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of input_datetime is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of timer is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of input_text is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of zone is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of tag is taking over 10 seconds.
|
||||
2021-08-09 11:23:59 WARNING (MainThread) [homeassistant.setup] Setup of counter is taking over 10 seconds.
|
||||
2021-08-09 11:24:00 ERROR (MainThread) [homeassistant.components.coronavirus] Timeout fetching coronavirus data
|
||||
2021-08-09 11:24:09 WARNING (MainThread) [homeassistant.config_entries] Config entry 'shellyplug-s-B52BDD' for shelly integration not ready yet: Cannot connect to host 192.168.178.114:80 ssl:default [Connect call failed ('192.168.178.114', 80)]; Retrying in background
|
||||
2025-01-19 21:58:16.873 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly
|
||||
2025-01-19 21:58:17.043 WARNING (Recorder) [homeassistant.components.recorder.util] Ended unfinished session (id=144 from 2025-01-19 20:29:39.893694)
|
||||
2025-01-19 21:58:28.377 ERROR (MainThread) [homeassistant.setup] Error during setup of component stream
|
||||
Traceback (most recent call last):
|
||||
File "/usr/src/homeassistant/homeassistant/setup.py", line 416, in _async_setup_component
|
||||
result = await task
|
||||
^^^^^^^^^^
|
||||
File "/usr/src/homeassistant/homeassistant/components/stream/__init__.py", line 226, in async_setup
|
||||
await hass.async_add_executor_job(set_pyav_logging, debug_enabled)
|
||||
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 58, in run
|
||||
result = self.fn(*self.args, **self.kwargs)
|
||||
File "/usr/src/homeassistant/homeassistant/components/stream/__init__.py", line 196, in set_pyav_logging
|
||||
import av # pylint: disable=import-outside-toplevel
|
||||
^^^^^^^^^
|
||||
File "/usr/local/lib/python3.13/site-packages/av/__init__.py", line 3, in <module>
|
||||
from av._core import time_base, library_versions, ffmpeg_version_info
|
||||
ImportError: Error loading shared library : No such file or directory (needed by /usr/local/lib/python3.13/site-packages/av/../av.libs/libjxl-2cfeb5f2.so.0.10.2)
|
||||
2025-01-19 21:58:32.664 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 21:58:34.484 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of 'default_config'. Setup failed for dependencies: ['stream']
|
||||
2025-01-19 21:58:34.484 ERROR (MainThread) [homeassistant.setup] Setup failed for 'default_config': Could not setup dependencies: stream
|
||||
2025-01-19 21:58:36.892 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Deprecated flags [rgb, color_temp] used in MQTT JSON light config for handling color mode, please use `supported_color_modes` instead. Got: {'schema': 'json', 'command_topic': 'milight/0x1/rgb_cct/1', 'state_topic': 'milight/states/0x1/rgb_cct/1', 'device': {'manufacturer': 'esp8266_milight_hub', 'sw_version': '1.10.7', 'identifiers': [3346011, 1, 'rgb_cct', 1]}, 'availability_topic': 'milight/client_status', 'payload_available': 'connected', 'payload_not_available': 'disconnected', 'brightness': True, 'effect': True, 'effect_list': ['night_mode', 'white_mode', '0', '1', '2', '3', '4', '5', '6', '7', '8'], 'rgb': True, 'color_temp': True, 'unique_id': '330E5B-Wohnzimmer 1', 'name': 'Wohnzimmer 1'}. This will stop working in Home Assistant Core 2025.3
|
||||
2025-01-19 21:58:36.913 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Deprecated flags [rgb, color_temp] used in MQTT JSON light config for handling color mode, please use `supported_color_modes` instead. Got: {'schema': 'json', 'command_topic': 'milight/0x1/rgb_cct/2', 'state_topic': 'milight/states/0x1/rgb_cct/2', 'device': {'manufacturer': 'esp8266_milight_hub', 'sw_version': '1.10.7', 'identifiers': [3346011, 1, 'rgb_cct', 2]}, 'availability_topic': 'milight/client_status', 'payload_available': 'connected', 'payload_not_available': 'disconnected', 'brightness': True, 'effect': True, 'effect_list': ['night_mode', 'white_mode', '0', '1', '2', '3', '4', '5', '6', '7', '8'], 'rgb': True, 'color_temp': True, 'unique_id': '330E5B-Wohnzimmer 2', 'name': 'Wohnzimmer 2'}. This will stop working in Home Assistant Core 2025.3
|
||||
2025-01-19 21:58:36.923 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Deprecated flags [rgb, color_temp] used in MQTT JSON light config for handling color mode, please use `supported_color_modes` instead. Got: {'schema': 'json', 'command_topic': 'milight/0x1/rgb_cct/0', 'state_topic': 'milight/states/0x1/rgb_cct/0', 'device': {'manufacturer': 'esp8266_milight_hub', 'sw_version': '1.10.7', 'identifiers': [3346011, 1, 'rgb_cct', 0]}, 'availability_topic': 'milight/client_status', 'payload_available': 'connected', 'payload_not_available': 'disconnected', 'brightness': True, 'effect': True, 'effect_list': ['night_mode', 'white_mode', '0', '1', '2', '3', '4', '5', '6', '7', '8'], 'rgb': True, 'color_temp': True, 'unique_id': '330E5B-Wohnzimmer Alle', 'name': 'Wohnzimmer Alle'}. This will stop working in Home Assistant Core 2025.3
|
||||
2025-01-19 21:58:38.466 WARNING (MainThread) [aioesphomeapi.reconnect_logic] Can't connect to ESPHome API for temp @ 192.168.178.57: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.178.57', port=6053))]: [Errno 113] Connect call failed ('192.168.178.57', 6053) (SocketAPIError)
|
||||
2025-01-19 21:58:39.150 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 21:58:52.663 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 21:59:13.864 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid color mode 'xy' received for entity light.0x00158d00053a1aab
|
||||
2025-01-19 21:59:13.869 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid color mode 'xy' received for entity light.0x00158d00053c6311
|
||||
2025-01-19 21:59:15.943 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 21:59:59.302 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:01:22.583 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:02:45.863 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:04:09.223 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:04:42.657 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 22:04:42.659 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 22:04:44.222 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 22:04:44.224 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 22:05:32.503 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:06:55.862 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:08:19.383 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:09:42.983 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:11:06.263 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:12:26.432 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'power_on_behavior' when rendering '{{ value_json.power_on_behavior }}'
|
||||
2025-01-19 22:12:26.439 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid color mode 'xy' received for entity light.0x00158d00053a1aab
|
||||
2025-01-19 22:12:26.441 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid color mode 'xy' received for entity light.0x00158d00053c6311
|
||||
2025-01-19 22:12:29.783 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
2025-01-19 22:13:53.223 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.178.26: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
|
||||
113
homeassistant/home-assistant.log.1
Normal file
113
homeassistant/home-assistant.log.1
Normal file
@@ -0,0 +1,113 @@
|
||||
2025-01-19 20:29:40.049 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly
|
||||
2025-01-19 20:29:41.190 WARNING (Recorder) [homeassistant.components.recorder.util] Ended unfinished session (id=143 from 2025-01-07 11:01:20.981305)
|
||||
2025-01-19 20:29:57.676 ERROR (MainThread) [homeassistant.setup] Error during setup of component stream
|
||||
Traceback (most recent call last):
|
||||
File "/usr/src/homeassistant/homeassistant/setup.py", line 416, in _async_setup_component
|
||||
result = await task
|
||||
^^^^^^^^^^
|
||||
File "/usr/src/homeassistant/homeassistant/components/stream/__init__.py", line 226, in async_setup
|
||||
await hass.async_add_executor_job(set_pyav_logging, debug_enabled)
|
||||
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 58, in run
|
||||
result = self.fn(*self.args, **self.kwargs)
|
||||
File "/usr/src/homeassistant/homeassistant/components/stream/__init__.py", line 196, in set_pyav_logging
|
||||
import av # pylint: disable=import-outside-toplevel
|
||||
^^^^^^^^^
|
||||
File "/usr/local/lib/python3.13/site-packages/av/__init__.py", line 3, in <module>
|
||||
from av._core import time_base, library_versions, ffmpeg_version_info
|
||||
ImportError: Error loading shared library : No such file or directory (needed by /usr/local/lib/python3.13/site-packages/av/../av.libs/libjxl-2cfeb5f2.so.0.10.2)
|
||||
2025-01-19 20:30:00.106 WARNING (MainThread) [slixmpp.stringprep] Using slower stringprep, consider compiling the faster cython/libidn one.
|
||||
2025-01-19 20:30:03.465 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to load_default_certs with args (<ssl.SSLContext object at 0x5dc28b20>, <Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='1.3.6.1.5.5.7.3.1')>) inside the event loop by integration 'harmony' at homeassistant/components/harmony/data.py, line 118: connected = await self._client.connect() (offender: /usr/local/lib/python3.13/ssl.py, line 722: context.load_default_certs(purpose)), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+harmony%22
|
||||
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_default_certs
|
||||
Traceback (most recent call last):
|
||||
File "<frozen runpy>", line 198, in _run_module_as_main
|
||||
File "<frozen runpy>", line 88, in _run_code
|
||||
File "/usr/src/homeassistant/homeassistant/__main__.py", line 227, in <module>
|
||||
sys.exit(main())
|
||||
File "/usr/src/homeassistant/homeassistant/__main__.py", line 213, in main
|
||||
exit_code = runner.run(runtime_conf)
|
||||
File "/usr/src/homeassistant/homeassistant/runner.py", line 154, in run
|
||||
return loop.run_until_complete(setup_and_run_hass(runtime_config))
|
||||
File "/usr/local/lib/python3.13/asyncio/base_events.py", line 708, in run_until_complete
|
||||
self.run_forever()
|
||||
File "/usr/local/lib/python3.13/asyncio/base_events.py", line 679, in run_forever
|
||||
self._run_once()
|
||||
File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2027, in _run_once
|
||||
handle._run()
|
||||
File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run
|
||||
self._context.run(self._callback, *self._args)
|
||||
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 788, in async_setup_locked
|
||||
await self.async_setup(hass, integration=integration)
|
||||
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 551, in async_setup
|
||||
await self.__async_setup_with_context(hass, integration)
|
||||
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 640, in __async_setup_with_context
|
||||
result = await component.async_setup_entry(hass, self)
|
||||
File "/usr/src/homeassistant/homeassistant/components/harmony/__init__.py", line 28, in async_setup_entry
|
||||
await data.connect()
|
||||
File "/usr/src/homeassistant/homeassistant/components/harmony/data.py", line 118, in connect
|
||||
connected = await self._client.connect()
|
||||
|
||||
2025-01-19 20:30:04.616 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of 'default_config'. Setup failed for dependencies: ['stream']
|
||||
2025-01-19 20:30:04.617 ERROR (MainThread) [homeassistant.setup] Setup failed for 'default_config': Could not setup dependencies: stream
|
||||
2025-01-19 20:30:09.639 WARNING (MainThread) [aioesphomeapi.reconnect_logic] Can't connect to ESPHome API for temp @ 192.168.178.57: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.178.57', port=6053))]: [Errno 113] Connect call failed ('192.168.178.57', 6053) (SocketAPIError)
|
||||
2025-01-19 20:30:15.564 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Deprecated flags [rgb, color_temp] used in MQTT JSON light config for handling color mode, please use `supported_color_modes` instead. Got: {'schema': 'json', 'command_topic': 'milight/0x1/rgb_cct/1', 'state_topic': 'milight/states/0x1/rgb_cct/1', 'device': {'manufacturer': 'esp8266_milight_hub', 'sw_version': '1.10.7', 'identifiers': [3346011, 1, 'rgb_cct', 1]}, 'availability_topic': 'milight/client_status', 'payload_available': 'connected', 'payload_not_available': 'disconnected', 'brightness': True, 'effect': True, 'effect_list': ['night_mode', 'white_mode', '0', '1', '2', '3', '4', '5', '6', '7', '8'], 'rgb': True, 'color_temp': True, 'unique_id': '330E5B-Wohnzimmer 1', 'name': 'Wohnzimmer 1'}. This will stop working in Home Assistant Core 2025.3
|
||||
2025-01-19 20:30:15.575 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Deprecated flags [rgb, color_temp] used in MQTT JSON light config for handling color mode, please use `supported_color_modes` instead. Got: {'schema': 'json', 'command_topic': 'milight/0x1/rgb_cct/2', 'state_topic': 'milight/states/0x1/rgb_cct/2', 'device': {'manufacturer': 'esp8266_milight_hub', 'sw_version': '1.10.7', 'identifiers': [3346011, 1, 'rgb_cct', 2]}, 'availability_topic': 'milight/client_status', 'payload_available': 'connected', 'payload_not_available': 'disconnected', 'brightness': True, 'effect': True, 'effect_list': ['night_mode', 'white_mode', '0', '1', '2', '3', '4', '5', '6', '7', '8'], 'rgb': True, 'color_temp': True, 'unique_id': '330E5B-Wohnzimmer 2', 'name': 'Wohnzimmer 2'}. This will stop working in Home Assistant Core 2025.3
|
||||
2025-01-19 20:30:15.632 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Deprecated flags [rgb, color_temp] used in MQTT JSON light config for handling color mode, please use `supported_color_modes` instead. Got: {'schema': 'json', 'command_topic': 'milight/0x1/rgb_cct/0', 'state_topic': 'milight/states/0x1/rgb_cct/0', 'device': {'manufacturer': 'esp8266_milight_hub', 'sw_version': '1.10.7', 'identifiers': [3346011, 1, 'rgb_cct', 0]}, 'availability_topic': 'milight/client_status', 'payload_available': 'connected', 'payload_not_available': 'disconnected', 'brightness': True, 'effect': True, 'effect_list': ['night_mode', 'white_mode', '0', '1', '2', '3', '4', '5', '6', '7', '8'], 'rgb': True, 'color_temp': True, 'unique_id': '330E5B-Wohnzimmer Alle', 'name': 'Wohnzimmer Alle'}. This will stop working in Home Assistant Core 2025.3
|
||||
2025-01-19 20:30:32.900 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 20:30:32.908 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 20:30:32.913 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 20:30:32.919 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 20:30:58.041 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid color mode 'xy' received for entity light.0x00158d00053a1aab
|
||||
2025-01-19 20:30:58.046 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid color mode 'xy' received for entity light.0x00158d00053c6311
|
||||
2025-01-19 20:31:42.185 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 20:31:42.188 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 20:31:45.168 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 20:31:45.169 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 20:31:54.221 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 20:31:54.223 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 20:31:59.234 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 20:31:59.238 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 20:32:05.221 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 20:32:05.222 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 20:32:08.270 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 20:32:08.273 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 21:22:10.577 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 21:22:10.579 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 21:22:22.334 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_white are missing or not currently available
|
||||
2025-01-19 21:22:22.341 WARNING (MainThread) [homeassistant.helpers.service] Referenced entities light.lichtschlauch_rgb are missing or not currently available
|
||||
2025-01-19 21:37:46.878 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid color mode 'xy' received for entity light.0x00158d00053a1aab
|
||||
2025-01-19 21:37:46.880 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid color mode 'xy' received for entity light.0x00158d00053c6311
|
||||
2025-01-19 21:40:04.803 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to load_default_certs with args (<ssl.SSLContext object at 0x5c8e2bc0>, <Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='1.3.6.1.5.5.7.3.1')>) in /usr/local/lib/python3.13/ssl.py, line 722: context.load_default_certs(purpose) inside the event loop; This is causing stability issues. Please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue
|
||||
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_default_certs
|
||||
Traceback (most recent call last):
|
||||
File "<frozen runpy>", line 198, in _run_module_as_main
|
||||
File "<frozen runpy>", line 88, in _run_code
|
||||
File "/usr/src/homeassistant/homeassistant/__main__.py", line 227, in <module>
|
||||
sys.exit(main())
|
||||
File "/usr/src/homeassistant/homeassistant/__main__.py", line 213, in main
|
||||
exit_code = runner.run(runtime_conf)
|
||||
File "/usr/src/homeassistant/homeassistant/runner.py", line 154, in run
|
||||
return loop.run_until_complete(setup_and_run_hass(runtime_config))
|
||||
File "/usr/local/lib/python3.13/asyncio/base_events.py", line 708, in run_until_complete
|
||||
self.run_forever()
|
||||
File "/usr/local/lib/python3.13/asyncio/base_events.py", line 679, in run_forever
|
||||
self._run_once()
|
||||
File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2027, in _run_once
|
||||
handle._run()
|
||||
File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run
|
||||
self._context.run(self._callback, *self._args)
|
||||
File "/usr/local/lib/python3.13/site-packages/slixmpp/xmlstream/xmlstream.py", line 1107, in handler_callback_routine
|
||||
await cb(data)
|
||||
File "/usr/local/lib/python3.13/site-packages/aioharmony/hubconnector_xmpp.py", line 290, in _disconnected_handler
|
||||
self._init_super()
|
||||
File "/usr/local/lib/python3.13/site-packages/aioharmony/hubconnector_xmpp.py", line 71, in _init_super
|
||||
super(HubConnector, self).__init__(
|
||||
File "/usr/local/lib/python3.13/site-packages/slixmpp/clientxmpp.py", line 59, in __init__
|
||||
BaseXMPP.__init__(self, jid, 'jabber:client', **kwargs)
|
||||
File "/usr/local/lib/python3.13/site-packages/slixmpp/basexmpp.py", line 76, in __init__
|
||||
XMLStream.__init__(self, **kwargs)
|
||||
File "/usr/local/lib/python3.13/site-packages/slixmpp/xmlstream/xmlstream.py", line 301, in __init__
|
||||
self.ssl_context = ssl.create_default_context()
|
||||
File "/usr/local/lib/python3.13/ssl.py", line 722, in create_default_context
|
||||
context.load_default_certs(purpose)
|
||||
|
||||
2025-01-19 21:40:08.980 ERROR (MainThread) [aioharmony.hubconnector_xmpp] 192.168.178.26: Connecting to HUB failed with error: [Errno 113] Connect call failed ('192.168.178.26', 5222)
|
||||
0
homeassistant/home-assistant.log.fault
Normal file
0
homeassistant/home-assistant.log.fault
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,55 +1,205 @@
|
||||
- id: '1713896163638'
|
||||
name: Warmes Licht
|
||||
- id: '1713896676123'
|
||||
name: Maximales Licht
|
||||
entities:
|
||||
light.lightstrip:
|
||||
min_color_temp_kelvin: 2000
|
||||
max_color_temp_kelvin: 6535
|
||||
min_mireds: 153
|
||||
max_mireds: 500
|
||||
light.kuchentisch:
|
||||
effect_list:
|
||||
- colorloop
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
- hs
|
||||
- xy
|
||||
color_mode: color_temp
|
||||
brightness: 204
|
||||
color_temp_kelvin: 3690
|
||||
color_temp: 271
|
||||
hs_color:
|
||||
- 27.004
|
||||
- 40.795
|
||||
rgb_color:
|
||||
- 255
|
||||
- 197
|
||||
- 150
|
||||
xy_color:
|
||||
- 0.441
|
||||
- 0.37
|
||||
is_deconz_group: false
|
||||
friendly_name: Lightstrip
|
||||
supported_features: 44
|
||||
state: 'on'
|
||||
light.dimmable_light_4:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
supported_color_modes:
|
||||
- brightness
|
||||
is_deconz_group: false
|
||||
friendly_name: Dimmable light 4
|
||||
supported_features: 40
|
||||
state: 'off'
|
||||
light.extended_color_light_1:
|
||||
effect:
|
||||
color_mode: brightness
|
||||
brightness: 153
|
||||
friendly_name: Küchentisch
|
||||
supported_features: 44
|
||||
state: 'on'
|
||||
select.bogenlampe_effect:
|
||||
options:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
- colorloop
|
||||
- stop_colorloop
|
||||
assumed_state: true
|
||||
icon: mdi:palette
|
||||
friendly_name: Bogenlampe Effect
|
||||
state: stop_effect
|
||||
light.bogenlampe:
|
||||
min_color_temp_kelvin: 2702
|
||||
max_color_temp_kelvin: 6535
|
||||
min_mireds: 153
|
||||
max_mireds: 370
|
||||
effect_list:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
- colorloop
|
||||
- stop_colorloop
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
- hs
|
||||
- xy
|
||||
effect:
|
||||
color_mode: color_temp
|
||||
brightness: 201
|
||||
brightness: 255
|
||||
color_temp_kelvin: 2702
|
||||
color_temp: 370
|
||||
hs_color:
|
||||
- 28.391
|
||||
- 65.659
|
||||
rgb_color:
|
||||
- 255
|
||||
- 167
|
||||
- 88
|
||||
xy_color:
|
||||
- 0.524
|
||||
- 0.388
|
||||
friendly_name: Bogenlampe
|
||||
supported_features: 44
|
||||
state: 'on'
|
||||
light.lichtschlauch_rgb:
|
||||
min_color_temp_kelvin: 2000
|
||||
max_color_temp_kelvin: 6535
|
||||
min_mireds: 153
|
||||
max_mireds: 500
|
||||
effect_list:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
- colorloop
|
||||
- stop_colorloop
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
- xy
|
||||
effect:
|
||||
color_mode: color_temp
|
||||
brightness: 26
|
||||
color_temp_kelvin: 5025
|
||||
color_temp: 199
|
||||
hs_color:
|
||||
- 27.028
|
||||
- 18.905
|
||||
rgb_color:
|
||||
- 255
|
||||
- 229
|
||||
- 207
|
||||
xy_color:
|
||||
- 0.37
|
||||
- 0.35
|
||||
friendly_name: Lichtschlauch Rgb
|
||||
supported_features: 44
|
||||
state: 'on'
|
||||
light.lichtschlauch_white:
|
||||
min_color_temp_kelvin: 2000
|
||||
max_color_temp_kelvin: 6535
|
||||
min_mireds: 153
|
||||
max_mireds: 500
|
||||
effect_list:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
- colorloop
|
||||
- stop_colorloop
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
- xy
|
||||
effect:
|
||||
color_mode: color_temp
|
||||
brightness: 255
|
||||
color_temp_kelvin: 2739
|
||||
color_temp: 365
|
||||
hs_color:
|
||||
- 28.312
|
||||
- 64.491
|
||||
rgb_color:
|
||||
- 255
|
||||
- 168
|
||||
- 91
|
||||
xy_color:
|
||||
- 0.521
|
||||
- 0.387
|
||||
friendly_name: Lichtschlauch White
|
||||
supported_features: 44
|
||||
state: 'on'
|
||||
icon: mdi:alarm-light-outline
|
||||
metadata: {}
|
||||
- id: '1733170893427'
|
||||
name: Hanna Schlafmodus
|
||||
entities:
|
||||
light.kuchentisch:
|
||||
min_color_temp_kelvin: 2000
|
||||
max_color_temp_kelvin: 6666
|
||||
min_mireds: 150
|
||||
max_mireds: 500
|
||||
effect_list:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
effect:
|
||||
color_mode:
|
||||
brightness:
|
||||
color_temp_kelvin:
|
||||
color_temp:
|
||||
hs_color:
|
||||
rgb_color:
|
||||
xy_color:
|
||||
friendly_name: Küchentisch
|
||||
supported_features: 44
|
||||
state: 'off'
|
||||
select.bogenlampe_effect:
|
||||
options:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
- colorloop
|
||||
- stop_colorloop
|
||||
assumed_state: true
|
||||
icon: mdi:palette
|
||||
friendly_name: Bogenlampe Effect
|
||||
state: stop_effect
|
||||
light.bogenlampe:
|
||||
min_color_temp_kelvin: 2702
|
||||
max_color_temp_kelvin: 6535
|
||||
min_mireds: 153
|
||||
max_mireds: 370
|
||||
effect_list:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
- colorloop
|
||||
- stop_colorloop
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
- xy
|
||||
effect:
|
||||
color_mode: color_temp
|
||||
brightness: 105
|
||||
color_temp_kelvin: 2702
|
||||
color_temp: 370
|
||||
hs_color:
|
||||
@@ -62,79 +212,71 @@
|
||||
xy_color:
|
||||
- 0.526
|
||||
- 0.387
|
||||
is_deconz_group: false
|
||||
friendly_name: Extended color light 1
|
||||
friendly_name: Bogenlampe
|
||||
supported_features: 44
|
||||
state: 'on'
|
||||
icon: mdi:alarm-light
|
||||
metadata: {}
|
||||
- id: '1713896676123'
|
||||
name: Maximales Licht
|
||||
entities:
|
||||
light.extended_color_light_1:
|
||||
min_color_temp_kelvin: 2702
|
||||
max_color_temp_kelvin: 6535
|
||||
min_mireds: 153
|
||||
max_mireds: 370
|
||||
effect_list:
|
||||
- colorloop
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
- hs
|
||||
- xy
|
||||
is_deconz_group: false
|
||||
friendly_name: Extended color light 1
|
||||
supported_features: 44
|
||||
color_mode: color_temp
|
||||
brightness: 254
|
||||
color_temp_kelvin: 3731
|
||||
color_temp: 268
|
||||
hs_color:
|
||||
- 26.973
|
||||
- 39.973
|
||||
rgb_color:
|
||||
- 255
|
||||
- 198
|
||||
- 153
|
||||
xy_color:
|
||||
- 0.438
|
||||
- 0.369
|
||||
state: 'on'
|
||||
light.lightstrip:
|
||||
light.lichtschlauch_rgb:
|
||||
min_color_temp_kelvin: 2000
|
||||
max_color_temp_kelvin: 6535
|
||||
min_mireds: 153
|
||||
max_mireds: 500
|
||||
effect_list:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
- colorloop
|
||||
- stop_colorloop
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
- hs
|
||||
- xy
|
||||
is_deconz_group: false
|
||||
friendly_name: Lightstrip
|
||||
supported_features: 44
|
||||
color_mode: color_temp
|
||||
brightness: 254
|
||||
color_temp_kelvin: 4347
|
||||
color_temp: 230
|
||||
effect:
|
||||
color_mode:
|
||||
brightness:
|
||||
color_temp_kelvin:
|
||||
color_temp:
|
||||
hs_color:
|
||||
- 26.722
|
||||
- 28.925
|
||||
rgb_color:
|
||||
xy_color:
|
||||
friendly_name: Lichtschlauch Rgb
|
||||
supported_features: 44
|
||||
state: 'off'
|
||||
light.lichtschlauch_white:
|
||||
min_color_temp_kelvin: 2000
|
||||
max_color_temp_kelvin: 6535
|
||||
min_mireds: 153
|
||||
max_mireds: 500
|
||||
effect_list:
|
||||
- blink
|
||||
- breathe
|
||||
- okay
|
||||
- channel_change
|
||||
- finish_effect
|
||||
- stop_effect
|
||||
- colorloop
|
||||
- stop_colorloop
|
||||
supported_color_modes:
|
||||
- color_temp
|
||||
- xy
|
||||
effect:
|
||||
color_mode: color_temp
|
||||
brightness: 76
|
||||
color_temp_kelvin: 3521
|
||||
color_temp: 284
|
||||
hs_color:
|
||||
- 27.152
|
||||
- 44.32
|
||||
rgb_color:
|
||||
- 255
|
||||
- 214
|
||||
- 181
|
||||
- 193
|
||||
- 141
|
||||
xy_color:
|
||||
- 0.401
|
||||
- 0.359
|
||||
- 0.453
|
||||
- 0.374
|
||||
friendly_name: Lichtschlauch White
|
||||
supported_features: 44
|
||||
state: 'on'
|
||||
light.dimmable_light_4:
|
||||
supported_color_modes:
|
||||
- brightness
|
||||
is_deconz_group: false
|
||||
friendly_name: Dimmable light 4
|
||||
supported_features: 40
|
||||
state: 'off'
|
||||
icon: mdi:alarm-light-outline
|
||||
icon: mdi:alarm-light-off
|
||||
metadata: {}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
open_door:
|
||||
alias: Open Door
|
||||
sequence:
|
||||
- device_id: a09e187443b3e078dc03468e539309a6
|
||||
domain: lock
|
||||
entity_id: lock.heim
|
||||
type: open
|
||||
mode: single
|
||||
icon: mdi:boom-gate-up-outline
|
||||
|
||||
1
homeassistant/shell_commands.yaml
Normal file
1
homeassistant/shell_commands.yaml
Normal file
@@ -0,0 +1 @@
|
||||
turn_off_remote_pc: "ssh -i /config/ssh_keys/id_rsa_homeassistant -o 'StrictHostKeyChecking=no' homeassistant@192.168.178.87 sudo shutdown -h now"
|
||||
38
homeassistant/ssh_keys/id_rsa_homeassistant
Normal file
38
homeassistant/ssh_keys/id_rsa_homeassistant
Normal file
@@ -0,0 +1,38 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
|
||||
NhAAAAAwEAAQAAAYEA67jdwlwr7lKE8w0W3MBiSTPw7ukQZLFoD8VjGRjJ5vmMh0/sgUgM
|
||||
lordNq/HsavQLpqg7ZJ4wV2Vu9bCOsXaVyDNaw7rPr3zcgzYP7kTHZWviJ/zuz3dG+8nGf
|
||||
es1aqBWzWlNTsyDFwK/BjEibtICXYtv1eWuWDPy2WOyZTciHC/I1jY/3DOte+XgHc9TRUC
|
||||
6zwZAMSHgL0BV/F83p0clWCgbTGwiHzXhpHUuDo9HlM00gTJKVBjpgV8RrDuyUQGao0Yew
|
||||
5G84vQiBCII1jIHJP8Ut6Vu9RANzZu0/UWxeTBcThftofr22H0A2BGU8ARTHIx+0sV67bS
|
||||
uvKReyO8pFtpeC1je/mpS4XYlETvMrcBXsNiPTWEpgaUJMRFEZJBPuqnGQkc5jy8Ssb2ro
|
||||
iClKIBm0SQER7VwzN28+H7OJhKz1LL4x7R00s1stHIp3NzWQ+a6/Hr7/541m1+E1Rqamjy
|
||||
LeEu3VXT7bCLB23ZLf2Y+tThx3kmWXYlkBdpjSTlAAAFiFVFjPVVRYz1AAAAB3NzaC1yc2
|
||||
EAAAGBAOu43cJcK+5ShPMNFtzAYkkz8O7pEGSxaA/FYxkYyeb5jIdP7IFIDJaK3Tavx7Gr
|
||||
0C6aoO2SeMFdlbvWwjrF2lcgzWsO6z6983IM2D+5Ex2Vr4if87s93RvvJxn3rNWqgVs1pT
|
||||
U7MgxcCvwYxIm7SAl2Lb9Xlrlgz8tljsmU3IhwvyNY2P9wzrXvl4B3PU0VAus8GQDEh4C9
|
||||
AVfxfN6dHJVgoG0xsIh814aR1Lg6PR5TNNIEySlQY6YFfEaw7slEBmqNGHsORvOL0IgQiC
|
||||
NYyByT/FLelbvUQDc2btP1FsXkwXE4X7aH69th9ANgRlPAEUxyMftLFeu20rrykXsjvKRb
|
||||
aXgtY3v5qUuF2JRE7zK3AV7DYj01hKYGlCTERRGSQT7qpxkJHOY8vErG9q6IgpSiAZtEkB
|
||||
Ee1cMzdvPh+ziYSs9Sy+Me0dNLNbLRyKdzc1kPmuvx6+/+eNZtfhNUampo8i3hLt1V0+2w
|
||||
iwdt2S39mPrU4cd5Jll2JZAXaY0k5QAAAAMBAAEAAAGBAK+E7OMPPMrteP99rJtdSRIW8f
|
||||
0DX+iKTOEJahvC4HvzL1eGBKXTH0RtTACvbLN4KsC49MFRgkcBR0Ahzmhy8HxV+X8REcub
|
||||
Jw2yUMdKKNirn5PM/nBaxSxKrEPirzg+CKoAzO5REJgxZSCH1Lh10lLxQ2kpcBrC4pciHO
|
||||
suw/N4eGp6esHhnpnMOHQ41VVzIsRD8J4ouHj8w2ZXc1JTjHgSBgKosDlBND6IketHukC9
|
||||
ViRX2e3AZSK3DO2aS4Nj+TEl/Q6MMOIBXSedxeuu/LtpLa9XJG2t70cAlHMYPlp45n+TN3
|
||||
d2M32OGw01VEmZQowlDhb/OGHo9TuxhKw5OHded0cMYhIAzMiuic9d4VX7ig3pDLzvBDFu
|
||||
lLKsQEn8DOsWYjC8mCwnq+QQrLePWmWrYSsirA5wNSgY04PmyTCkhvwUk6YuWaLvhNuf6f
|
||||
4hwdBYNDoKJAXAajYRDfUK8jjiKogpQNHue2gTZJKO/2d2PlaEWbcoWet0hzC7lF9wgQAA
|
||||
AMEA0mKoUt2kW2JlqWASg6yyd477MED9PKB7kb6QTcrZdRagkGYl0qfcpHVu6kSE9flxN5
|
||||
ryMuqF63BdCd58dLfDxblbNy3wzfJo6vJQCZqZrojEKd1vwi/TXJ/3UwqeV+wGNYjRdM0u
|
||||
B58wBPBATVAxR2sTg65EStMTWEz+oHRhGDR91G1i2z732ntWmHoBZWsKa8glfBcycw2X+k
|
||||
aGo1TY4wmcP1/h1mg3UNUYFOmck0+eMJqWOJMYHWcMmKQeP9H+AAAAwQD70xfHvlOtllhr
|
||||
6kfIDZtrjnuch7wsq/20TUilyDWA7APo1JUmUpBZ7Xec0qm90WWwxpHS2UxywD09SJuqUW
|
||||
vi6qa8yoA+9xW7Zp/RFJJqaRT3pZ5xSZclmFrOv4JvcHRaLQ5pbJi1YQKXt8Q4qHNT2WAi
|
||||
/f7F7wjpwh9HweS8JDWohym2ix0F6fGBlLuH/tz2OVzj8tNdcssmxesPUxZwgW4Otq/nlk
|
||||
6h7HuO6OI+knDQ2Q3C00kSyfI7ib+X2+EAAADBAO+hbJJBgtGckHDo2WrCZgCGda1b5yhl
|
||||
gy87fk32ZdZqeVe4BV4VpUQOz1KXEU9MEyQlvbFXu7uHLc+CGV/gIpPA2nT8kvjsPBqu4D
|
||||
iHLMmUb1M5DRlhVS/Lm4TcSEOAs4CKTgN/B2575sunqbuEALoL3/vbXUYQst/yqJv195cU
|
||||
E84tShREWHiT0BDghi9OD6BF1nE4D+QPoauWaMIvG8rVyvutiT28zoWmwLkjAYz9U9aZmx
|
||||
9dkD6jf84kLo0JhQAAAA5waUByYXNwYmVycnlwaQECAw==
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
1
homeassistant/ssh_keys/id_rsa_homeassistant.pub
Normal file
1
homeassistant/ssh_keys/id_rsa_homeassistant.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDruN3CXCvuUoTzDRbcwGJJM/Du6RBksWgPxWMZGMnm+YyHT+yBSAyWit02r8exq9AumqDtknjBXZW71sI6xdpXIM1rDus+vfNyDNg/uRMdla+In/O7Pd0b7ycZ96zVqoFbNaU1OzIMXAr8GMSJu0gJdi2/V5a5YM/LZY7JlNyIcL8jWNj/cM6175eAdz1NFQLrPBkAxIeAvQFX8XzenRyVYKBtMbCIfNeGkdS4Oj0eUzTSBMkpUGOmBXxGsO7JRAZqjRh7Dkbzi9CIEIgjWMgck/xS3pW71EA3Nm7T9RbF5MFxOF+2h+vbYfQDYEZTwBFMcjH7SxXrttK68pF7I7ykW2l4LWN7+alLhdiURO8ytwFew2I9NYSmBpQkxEURkkE+6qcZCRzmPLxKxvauiIKUogGbRJARHtXDM3bz4fs4mErPUsvjHtHTSzWy0cinc3NZD5rr8evv/njWbX4TVGpqaPIt4S7dVdPtsIsHbdkt/Zj61OHHeSZZdiWQF2mNJOU= pi@raspberrypi
|
||||
0
zb2mqttdata/.dresden.js.swp
Normal file
0
zb2mqttdata/.dresden.js.swp
Normal file
61
zb2mqttdata/configuration.yaml
Normal file
61
zb2mqttdata/configuration.yaml
Normal file
@@ -0,0 +1,61 @@
|
||||
permit_join: true
|
||||
mqtt:
|
||||
server: mqtt://mqtt:1883
|
||||
serial:
|
||||
port: /dev/ttyACM0
|
||||
frontend: true
|
||||
advanced:
|
||||
homeassistant_legacy_entity_attributes: false
|
||||
legacy_api: false
|
||||
legacy_availability_payload: false
|
||||
log_level: debug
|
||||
external_converters:
|
||||
- dresden.js
|
||||
device_options:
|
||||
legacy: false
|
||||
devices:
|
||||
'0xf0d1b800001ffcf2':
|
||||
friendly_name: Bogenlampe
|
||||
'0xa4c138570b1956d9':
|
||||
friendly_name: '0xa4c138570b1956d9'
|
||||
'0xa4c1383ec7aa7d95':
|
||||
friendly_name: '0xa4c1383ec7aa7d95'
|
||||
'0xa4c1383db5531833':
|
||||
friendly_name: '0xa4c1383db5531833'
|
||||
'0x000d6f00109eb214':
|
||||
friendly_name: Fernbedienung
|
||||
'0x00212effff0cb8b6':
|
||||
friendly_name: Lichtschlauch
|
||||
'0x0ceff6fffebf4739':
|
||||
friendly_name: '0x0ceff6fffebf4739'
|
||||
'0xa4c138541ec8ddd2':
|
||||
friendly_name: Flur
|
||||
'0xa4c1384187f0960d':
|
||||
friendly_name: Wasser Sensor Spüle
|
||||
'0x001788010d1c884e':
|
||||
friendly_name: Badlampe
|
||||
'0x001788010e8a8be7':
|
||||
friendly_name: Fernbedienung Bad
|
||||
'0xa4c13864e6c8c400':
|
||||
friendly_name: Bewegungsmelder 1
|
||||
'0xa4c138ef60e2fdbe':
|
||||
friendly_name: Sensor Terassentür
|
||||
'0x00158d00053a1aab':
|
||||
friendly_name: '0x00158d00053a1aab'
|
||||
'0x00158d00053c6311':
|
||||
friendly_name: '0x00158d00053c6311'
|
||||
'0xf0d1b800001388f0':
|
||||
friendly_name: Flurlicht
|
||||
'0x7cb03eaa0a0176bd':
|
||||
friendly_name: Küchentisch
|
||||
'0x000d6f001417c142':
|
||||
friendly_name: Fernbedienung 2
|
||||
'0xa4c138e68023f4c6':
|
||||
friendly_name: Wassersensor Keller
|
||||
'0xa4c1389d42e94844':
|
||||
friendly_name: Temperatur Keller
|
||||
'0xa4c13838ba59a1b2':
|
||||
friendly_name: Medienschrank Wohnzimmer
|
||||
homeassistant:
|
||||
legacy_entity_attributes: false
|
||||
legacy_triggers: false
|
||||
62
zb2mqttdata/configuration.yaml.2.backup
Normal file
62
zb2mqttdata/configuration.yaml.2.backup
Normal file
@@ -0,0 +1,62 @@
|
||||
mqtt:
|
||||
server: mqtt://mqtt:1883
|
||||
serial:
|
||||
port: /dev/ttyACM0
|
||||
frontend:
|
||||
enabled: true
|
||||
advanced:
|
||||
log_level: debug
|
||||
homeassistant_legacy_entity_attributes: false
|
||||
homeassistant_legacy_triggers: false
|
||||
legacy_api: false
|
||||
legacy_availability_payload: false
|
||||
external_converters:
|
||||
- dresden.js
|
||||
device_options:
|
||||
legacy: false
|
||||
devices:
|
||||
'0xf0d1b800001ffcf2':
|
||||
friendly_name: Bogenlampe
|
||||
'0xa4c138570b1956d9':
|
||||
friendly_name: '0xa4c138570b1956d9'
|
||||
'0xa4c1383ec7aa7d95':
|
||||
friendly_name: '0xa4c1383ec7aa7d95'
|
||||
'0xa4c1383db5531833':
|
||||
friendly_name: '0xa4c1383db5531833'
|
||||
'0x000d6f00109eb214':
|
||||
friendly_name: Fernbedienung
|
||||
'0x00212effff0cb8b6':
|
||||
friendly_name: Lichtschlauch
|
||||
'0x0ceff6fffebf4739':
|
||||
friendly_name: '0x0ceff6fffebf4739'
|
||||
'0xa4c138541ec8ddd2':
|
||||
friendly_name: Flur
|
||||
'0xa4c1384187f0960d':
|
||||
friendly_name: Wasser Sensor Spüle
|
||||
'0x001788010d1c884e':
|
||||
friendly_name: Badlampe
|
||||
'0x001788010e8a8be7':
|
||||
friendly_name: Fernbedienung Bad
|
||||
'0xa4c13864e6c8c400':
|
||||
friendly_name: Bewegungsmelder 1
|
||||
'0xa4c138ef60e2fdbe':
|
||||
friendly_name: Sensor Terassentür
|
||||
'0x00158d00053a1aab':
|
||||
friendly_name: '0x00158d00053a1aab'
|
||||
'0x00158d00053c6311':
|
||||
friendly_name: '0x00158d00053c6311'
|
||||
'0xf0d1b800001388f0':
|
||||
friendly_name: Flurlicht
|
||||
'0x7cb03eaa0a0176bd':
|
||||
friendly_name: Küchentisch
|
||||
'0x000d6f001417c142':
|
||||
friendly_name: Fernbedienung 2
|
||||
'0xa4c138e68023f4c6':
|
||||
friendly_name: Wassersensor Keller
|
||||
'0xa4c1389d42e94844':
|
||||
friendly_name: Temperatur Keller
|
||||
'0xa4c13838ba59a1b2':
|
||||
friendly_name: Medienschrank Wohnzimmer
|
||||
homeassistant:
|
||||
enabled: true
|
||||
version: 4
|
||||
61
zb2mqttdata/configuration_backup_v1.yaml
Normal file
61
zb2mqttdata/configuration_backup_v1.yaml
Normal file
@@ -0,0 +1,61 @@
|
||||
permit_join: true
|
||||
mqtt:
|
||||
server: mqtt://mqtt:1883
|
||||
serial:
|
||||
port: /dev/ttyACM0
|
||||
frontend: true
|
||||
advanced:
|
||||
homeassistant_legacy_entity_attributes: false
|
||||
legacy_api: false
|
||||
legacy_availability_payload: false
|
||||
log_level: debug
|
||||
external_converters:
|
||||
- dresden.js
|
||||
device_options:
|
||||
legacy: false
|
||||
devices:
|
||||
'0xf0d1b800001ffcf2':
|
||||
friendly_name: Bogenlampe
|
||||
'0xa4c138570b1956d9':
|
||||
friendly_name: '0xa4c138570b1956d9'
|
||||
'0xa4c1383ec7aa7d95':
|
||||
friendly_name: '0xa4c1383ec7aa7d95'
|
||||
'0xa4c1383db5531833':
|
||||
friendly_name: '0xa4c1383db5531833'
|
||||
'0x000d6f00109eb214':
|
||||
friendly_name: Fernbedienung
|
||||
'0x00212effff0cb8b6':
|
||||
friendly_name: Lichtschlauch
|
||||
'0x0ceff6fffebf4739':
|
||||
friendly_name: '0x0ceff6fffebf4739'
|
||||
'0xa4c138541ec8ddd2':
|
||||
friendly_name: Flur
|
||||
'0xa4c1384187f0960d':
|
||||
friendly_name: Wasser Sensor Spüle
|
||||
'0x001788010d1c884e':
|
||||
friendly_name: Badlampe
|
||||
'0x001788010e8a8be7':
|
||||
friendly_name: Fernbedienung Bad
|
||||
'0xa4c13864e6c8c400':
|
||||
friendly_name: Bewegungsmelder 1
|
||||
'0xa4c138ef60e2fdbe':
|
||||
friendly_name: Sensor Terassentür
|
||||
'0x00158d00053a1aab':
|
||||
friendly_name: '0x00158d00053a1aab'
|
||||
'0x00158d00053c6311':
|
||||
friendly_name: '0x00158d00053c6311'
|
||||
'0xf0d1b800001388f0':
|
||||
friendly_name: Flurlicht
|
||||
'0x7cb03eaa0a0176bd':
|
||||
friendly_name: Küchentisch
|
||||
'0x000d6f001417c142':
|
||||
friendly_name: Fernbedienung 2
|
||||
'0xa4c138e68023f4c6':
|
||||
friendly_name: Wassersensor Keller
|
||||
'0xa4c1389d42e94844':
|
||||
friendly_name: Temperatur Keller
|
||||
'0xa4c13838ba59a1b2':
|
||||
friendly_name: Medienschrank Wohnzimmer
|
||||
homeassistant:
|
||||
legacy_entity_attributes: false
|
||||
legacy_triggers: false
|
||||
53
zb2mqttdata/configuration_backup_v2.yaml
Normal file
53
zb2mqttdata/configuration_backup_v2.yaml
Normal file
@@ -0,0 +1,53 @@
|
||||
mqtt:
|
||||
server: mqtt://mqtt:1883
|
||||
serial:
|
||||
port: /dev/ttyACM0
|
||||
frontend: true
|
||||
advanced:
|
||||
log_level: debug
|
||||
device_options: {}
|
||||
devices:
|
||||
'0xf0d1b800001ffcf2':
|
||||
friendly_name: Bogenlampe
|
||||
'0xa4c138570b1956d9':
|
||||
friendly_name: '0xa4c138570b1956d9'
|
||||
'0xa4c1383ec7aa7d95':
|
||||
friendly_name: '0xa4c1383ec7aa7d95'
|
||||
'0xa4c1383db5531833':
|
||||
friendly_name: '0xa4c1383db5531833'
|
||||
'0x000d6f00109eb214':
|
||||
friendly_name: Fernbedienung
|
||||
'0x00212effff0cb8b6':
|
||||
friendly_name: Lichtschlauch
|
||||
'0x0ceff6fffebf4739':
|
||||
friendly_name: '0x0ceff6fffebf4739'
|
||||
'0xa4c138541ec8ddd2':
|
||||
friendly_name: Flur
|
||||
'0xa4c1384187f0960d':
|
||||
friendly_name: Wasser Sensor Spüle
|
||||
'0x001788010d1c884e':
|
||||
friendly_name: Badlampe
|
||||
'0x001788010e8a8be7':
|
||||
friendly_name: Fernbedienung Bad
|
||||
'0xa4c13864e6c8c400':
|
||||
friendly_name: Bewegungsmelder 1
|
||||
'0xa4c138ef60e2fdbe':
|
||||
friendly_name: Sensor Terassentür
|
||||
'0x00158d00053a1aab':
|
||||
friendly_name: '0x00158d00053a1aab'
|
||||
'0x00158d00053c6311':
|
||||
friendly_name: '0x00158d00053c6311'
|
||||
'0xf0d1b800001388f0':
|
||||
friendly_name: Flurlicht
|
||||
'0x7cb03eaa0a0176bd':
|
||||
friendly_name: Küchentisch
|
||||
'0x000d6f001417c142':
|
||||
friendly_name: Fernbedienung 2
|
||||
'0xa4c138e68023f4c6':
|
||||
friendly_name: Wassersensor Keller
|
||||
'0xa4c1389d42e94844':
|
||||
friendly_name: Temperatur Keller
|
||||
'0xa4c13838ba59a1b2':
|
||||
friendly_name: Medienschrank Wohnzimmer
|
||||
homeassistant: {}
|
||||
version: 2
|
||||
55
zb2mqttdata/configuration_backup_v3.yaml
Normal file
55
zb2mqttdata/configuration_backup_v3.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
mqtt:
|
||||
server: mqtt://mqtt:1883
|
||||
serial:
|
||||
port: /dev/ttyACM0
|
||||
frontend:
|
||||
enabled: true
|
||||
advanced:
|
||||
log_level: debug
|
||||
device_options: {}
|
||||
devices:
|
||||
'0xf0d1b800001ffcf2':
|
||||
friendly_name: Bogenlampe
|
||||
'0xa4c138570b1956d9':
|
||||
friendly_name: '0xa4c138570b1956d9'
|
||||
'0xa4c1383ec7aa7d95':
|
||||
friendly_name: '0xa4c1383ec7aa7d95'
|
||||
'0xa4c1383db5531833':
|
||||
friendly_name: '0xa4c1383db5531833'
|
||||
'0x000d6f00109eb214':
|
||||
friendly_name: Fernbedienung
|
||||
'0x00212effff0cb8b6':
|
||||
friendly_name: Lichtschlauch
|
||||
'0x0ceff6fffebf4739':
|
||||
friendly_name: '0x0ceff6fffebf4739'
|
||||
'0xa4c138541ec8ddd2':
|
||||
friendly_name: Flur
|
||||
'0xa4c1384187f0960d':
|
||||
friendly_name: Wasser Sensor Spüle
|
||||
'0x001788010d1c884e':
|
||||
friendly_name: Badlampe
|
||||
'0x001788010e8a8be7':
|
||||
friendly_name: Fernbedienung Bad
|
||||
'0xa4c13864e6c8c400':
|
||||
friendly_name: Bewegungsmelder 1
|
||||
'0xa4c138ef60e2fdbe':
|
||||
friendly_name: Sensor Terassentür
|
||||
'0x00158d00053a1aab':
|
||||
friendly_name: '0x00158d00053a1aab'
|
||||
'0x00158d00053c6311':
|
||||
friendly_name: '0x00158d00053c6311'
|
||||
'0xf0d1b800001388f0':
|
||||
friendly_name: Flurlicht
|
||||
'0x7cb03eaa0a0176bd':
|
||||
friendly_name: Küchentisch
|
||||
'0x000d6f001417c142':
|
||||
friendly_name: Fernbedienung 2
|
||||
'0xa4c138e68023f4c6':
|
||||
friendly_name: Wassersensor Keller
|
||||
'0xa4c1389d42e94844':
|
||||
friendly_name: Temperatur Keller
|
||||
'0xa4c13838ba59a1b2':
|
||||
friendly_name: Medienschrank Wohnzimmer
|
||||
homeassistant:
|
||||
enabled: true
|
||||
version: 3
|
||||
22
zb2mqttdata/database.db
Normal file
22
zb2mqttdata/database.db
Normal file
@@ -0,0 +1,22 @@
|
||||
{"id":1,"type":"Coordinator","ieeeAddr":"0x00212effff04fc2c","nwkAddr":0,"manufId":4405,"epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":5,"inClusterList":[0,6,10,25,1281],"outClusterList":[1,32,1280,1282],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":100,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"interviewCompleted":true,"meta":{},"lastSeen":null}
|
||||
{"id":2,"type":"EndDevice","ieeeAddr":"0x000d6f00109eb214","nwkAddr":40099,"manufId":4364,"manufName":"OSRAM","powerSource":"Battery","modelId":"Lightify Switch Mini","epList":[1,2,3],"endpoints":{"1":{"profId":260,"epId":1,"devId":2064,"inClusterList":[0,1,32,4096,64768],"outClusterList":[3,4,5,6,8,25,768,4096],"clusters":{"genBasic":{"attributes":{"stackVersion":0}},"genPollCtrl":{"attributes":{"checkinInterval":0}},"genPowerCfg":{"attributes":{"batteryVoltage":30}}},"binds":[{"cluster":32,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":32,"minRepIntval":3600,"maxRepIntval":65000,"repChange":0}],"meta":{}},"2":{"profId":260,"epId":2,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"genBasic":{"attributes":{"stackVersion":0}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[],"meta":{}},"3":{"profId":260,"epId":3,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"genBasic":{"attributes":{"stackVersion":0}}},"binds":[{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":768,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[],"meta":{}}},"appVersion":1,"stackVersion":0,"hwVersion":1,"dateCode":"201801031853590","swBuildId":"e.1.11.0M","zclVersion":1,"interviewCompleted":true,"meta":{"configured":1051797767},"lastSeen":1737321743471,"checkinInterval":0}
|
||||
{"id":3,"type":"Router","ieeeAddr":"0xf0d1b800001ffcf2","nwkAddr":1118,"manufId":4489,"manufName":"LEDVANCE","powerSource":"Unknown","modelId":"A60S RGBW","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":269,"inClusterList":[0,3,4,5,6,8,768,2821],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"A60S RGBW","manufacturerName":"LEDVANCE","powerSource":0,"zclVersion":8,"appVersion":0,"stackVersion":0,"hwVersion":2,"swBuildId":"03197310","dateCode":"20240523"}},"lightingColorCtrl":{"attributes":{"colorCapabilities":31,"colorTempPhysicalMin":153,"colorTempPhysicalMax":370,"colorMode":2,"currentX":21148,"currentY":21561,"colorTemperature":370}},"genOnOff":{"attributes":{"onOff":1}},"genLevelCtrl":{"attributes":{"currentLevel":105}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":0,"stackVersion":0,"hwVersion":2,"dateCode":"20240523","swBuildId":"03197310","zclVersion":8,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1737324638084}
|
||||
{"id":4,"type":"EndDevice","ieeeAddr":"0xa4c138570b1956d9","nwkAddr":39357,"manufId":4417,"manufName":"_TZ3000_zl1kmjqx","powerSource":"Battery","modelId":"","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":770,"inClusterList":[0,1,3,1026,1029],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"","manufacturerName":"_TZ3000_zl1kmjqx","powerSource":3,"zclVersion":3,"appVersion":211,"stackVersion":2,"hwVersion":1}},"msTemperatureMeasurement":{"attributes":{"measuredValue":2236}},"msRelativeHumidity":{"attributes":{"measuredValue":6545}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":40}},"manuSpecificTuya_2":{"attributes":{"53256":5,"57355":0}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":211,"stackVersion":2,"hwVersion":1,"zclVersion":3,"interviewCompleted":true,"meta":{"configured":217189513},"lastSeen":1730016723885}
|
||||
{"id":5,"type":"EndDevice","ieeeAddr":"0xa4c1383ec7aa7d95","nwkAddr":38696,"manufId":4417,"manufName":"_TZ3000_zl1kmjqx","powerSource":"Battery","modelId":"","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":770,"inClusterList":[0,1,3,1026,1029],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"","manufacturerName":"_TZ3000_zl1kmjqx","powerSource":3,"zclVersion":3,"appVersion":211,"stackVersion":2,"hwVersion":1}},"msTemperatureMeasurement":{"attributes":{"measuredValue":2376}},"msRelativeHumidity":{"attributes":{"measuredValue":5659}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":52}},"manuSpecificTuya_2":{"attributes":{"53256":5,"57355":1}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":211,"stackVersion":2,"hwVersion":1,"zclVersion":3,"interviewCompleted":true,"meta":{"configured":217189513},"lastSeen":1737319854798}
|
||||
{"id":6,"type":"EndDevice","ieeeAddr":"0xa4c1383db5531833","nwkAddr":19795,"manufId":4417,"manufName":"_TZ3000_bjawzodf","powerSource":"Battery","modelId":"TY0201","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":770,"inClusterList":[0,1,3,1026,1029],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"TY0201","manufacturerName":"_TZ3000_bjawzodf","powerSource":3,"zclVersion":3,"appVersion":211,"stackVersion":2,"hwVersion":1}},"msTemperatureMeasurement":{"attributes":{"measuredValue":2040}},"msRelativeHumidity":{"attributes":{"measuredValue":7350}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":34}},"manuSpecificTuya_2":{"attributes":{"53256":90,"57355":0}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":211,"stackVersion":2,"hwVersion":1,"zclVersion":3,"interviewCompleted":true,"meta":{"configured":217189513},"lastSeen":1737322133212}
|
||||
{"id":7,"type":"Router","ieeeAddr":"0x00212effff0cb8b6","nwkAddr":11374,"manufId":4405,"manufName":"dresden elektronik\u0000","powerSource":"Mains (single phase)","modelId":"FLS-PP3 White\u0000","epList":[10,11],"endpoints":{"10":{"profId":49246,"epId":10,"devId":528,"inClusterList":[0,4096,4,3,5,6,8,768,64718],"outClusterList":[25],"clusters":{"lightingColorCtrl":{"attributes":{"colorCapabilities":31,"colorTempPhysicalMin":153,"colorTempPhysicalMax":500}},"genOnOff":{"attributes":{"onOff":0}}},"binds":[],"configuredReportings":[],"meta":{}},"11":{"profId":49246,"epId":11,"devId":256,"inClusterList":[0,4096,4,3,5,6,8],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":2,"stackVersion":3,"hwVersion":1,"dateCode":"20220617\u0000","swBuildId":"0214.201000F6\u0000","zclVersion":1,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1737322816750}
|
||||
{"id":8,"type":"Router","ieeeAddr":"0x0ceff6fffebf4739","nwkAddr":58894,"manufId":4098,"manufName":"_TZ3000_nkkl7uzv","powerSource":"Mains (single phase)","modelId":"TS0207","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":8,"inClusterList":[0,10,3],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"65503":"\u0000\u0000\u0000\u0000\u0005","65506":22,"modelId":"TS0207","manufacturerName":"_TZ3000_nkkl7uzv","powerSource":1,"zclVersion":3,"appVersion":64,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":64,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1730017719609}
|
||||
{"id":9,"type":"Router","ieeeAddr":"0xa4c138541ec8ddd2","nwkAddr":9855,"manufId":4417,"manufName":"AwoX","powerSource":"Mains (single phase)","modelId":"TLSR82xx","epList":[1,3,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":257,"inClusterList":[0,3,4,5,6,8,768,4096,64599],"outClusterList":[6],"clusters":{"genBasic":{"attributes":{"modelId":"TLSR82xx","manufacturerName":"AwoX","powerSource":1,"zclVersion":3,"appVersion":0,"stackVersion":2,"hwVersion":0,"swBuildId":"0122052017"}},"lightingColorCtrl":{"attributes":{}},"genOnOff":{"attributes":{"onOff":1}},"genLevelCtrl":{"attributes":{"currentLevel":152}}},"binds":[],"configuredReportings":[],"meta":{}},"3":{"profId":4751,"epId":3,"devId":257,"inClusterList":[65360,65361],"outClusterList":[65360,65361],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":0,"stackVersion":2,"hwVersion":0,"swBuildId":"0122052017","zclVersion":3,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1732359122120}
|
||||
{"id":10,"type":"EndDevice","ieeeAddr":"0xa4c1384187f0960d","nwkAddr":15382,"manufId":4742,"manufName":"_TZ3000_k4ej3ww2","powerSource":"Battery","modelId":"TS0207","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[0,3,1280,1],"outClusterList":[10],"clusters":{"genBasic":{"attributes":{"modelId":"TS0207","manufacturerName":"_TZ3000_k4ej3ww2","zclVersion":3,"appVersion":65}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":200,"batteryVoltage":28}}},"binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[],"meta":{}}},"appVersion":65,"zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1737288885218}
|
||||
{"id":11,"type":"Router","ieeeAddr":"0x001788010d1c884e","nwkAddr":451,"manufId":4107,"manufName":"Signify Netherlands B.V.","powerSource":"Mains (single phase)","modelId":"915005997601","epList":[11,242],"endpoints":{"11":{"profId":260,"epId":11,"devId":268,"inClusterList":[0,3,4,5,6,8,4096,768],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"915005997601","manufacturerName":"Signify Netherlands B.V.","powerSource":1,"zclVersion":2,"appVersion":2,"stackVersion":1,"hwVersion":0,"dateCode":"20211210","swBuildId":"1.93.7"}},"lightingColorCtrl":{"attributes":{"colorCapabilities":16,"colorTempPhysicalMin":153,"colorTempPhysicalMax":454,"colorMode":2,"colorTemperature":366}},"genOnOff":{"attributes":{"onOff":1}},"genLevelCtrl":{"attributes":{"currentLevel":254}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[{"cluster":6,"attrId":0,"minRepIntval":0,"maxRepIntval":3600,"repChange":0},{"cluster":8,"attrId":0,"minRepIntval":5,"maxRepIntval":3600,"repChange":1}],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":2,"stackVersion":1,"hwVersion":0,"dateCode":"20211210","swBuildId":"1.93.7","zclVersion":2,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1737322108953}
|
||||
{"id":12,"type":"EndDevice","ieeeAddr":"0x001788010e8a8be7","nwkAddr":51589,"manufId":4107,"manufName":"Signify Netherlands B.V.","powerSource":"Battery","modelId":"RWL022","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":2096,"inClusterList":[0,1,3,64512,4096],"outClusterList":[25,0,3,4,6,8,5,4096],"clusters":{"genBasic":{"attributes":{"modelId":"RWL022","manufacturerName":"Signify Netherlands B.V.","powerSource":3,"zclVersion":2,"appVersion":2,"stackVersion":1,"hwVersion":1,"dateCode":"20210729","swBuildId":"2.45.2_hF4400CA"}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":200}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":64512,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":5,"type":"endpoint","deviceIeeeAddress":"0x001788010d1c884e","endpointID":11},{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x001788010d1c884e","endpointID":11},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x001788010d1c884e","endpointID":11},{"cluster":0,"type":"endpoint","deviceIeeeAddress":"0x001788010d1c884e","endpointID":11},{"cluster":4,"type":"endpoint","deviceIeeeAddress":"0x001788010d1c884e","endpointID":11},{"cluster":3,"type":"endpoint","deviceIeeeAddress":"0x001788010d1c884e","endpointID":11},{"cluster":4096,"type":"endpoint","deviceIeeeAddress":"0x001788010d1c884e","endpointID":11},{"cluster":25,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":3,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":33,"minRepIntval":3600,"maxRepIntval":65000,"repChange":0}],"meta":{}}},"appVersion":2,"stackVersion":1,"hwVersion":1,"dateCode":"20210729","swBuildId":"2.45.2_hF4400CA","zclVersion":2,"interviewCompleted":true,"meta":{"configured":-1621243795},"lastSeen":1737319882541}
|
||||
{"id":13,"type":"Router","ieeeAddr":"0x00158d00053a1aab","nwkAddr":22068,"manufId":4137,"manufName":"Paulmann lamp","powerSource":"Mains (single phase)","modelId":"CCT Light","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":268,"inClusterList":[0,4,3,6,8,5,768,65535,65535,4096,4111],"outClusterList":[25,4111],"clusters":{"lightingColorCtrl":{"attributes":{"colorCapabilities":16,"colorTempPhysicalMin":153,"colorTempPhysicalMax":454}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":102,"inClusterList":[33],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":1,"stackVersion":1,"hwVersion":21,"dateCode":"20200710","swBuildId":"00.00.01","zclVersion":2,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1733860415839}
|
||||
{"id":14,"type":"Router","ieeeAddr":"0x00158d00053c6311","nwkAddr":49663,"manufId":4137,"manufName":"Paulmann lamp","powerSource":"Mains (single phase)","modelId":"CCT Light","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":268,"inClusterList":[0,4,3,6,8,5,768,65535,65535,4096,4111],"outClusterList":[25,4111],"clusters":{"lightingColorCtrl":{"attributes":{"colorCapabilities":16,"colorTempPhysicalMin":153,"colorTempPhysicalMax":454}},"genOnOff":{"attributes":{"onOff":1}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":102,"inClusterList":[33],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":1,"stackVersion":1,"hwVersion":21,"dateCode":"20200710","swBuildId":"00.00.01","zclVersion":2,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1733863963111}
|
||||
{"id":15,"type":"EndDevice","ieeeAddr":"0xa4c13864e6c8c400","nwkAddr":33906,"manufId":4417,"manufName":"_TZ3040_bb6xaihh","powerSource":"Battery","modelId":"TS0202","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[1,3,4,1280,0],"outClusterList":[4,6,4096,25,10],"clusters":{"genBasic":{"attributes":{"modelId":"TS0202","manufacturerName":"_TZ3040_bb6xaihh","powerSource":3,"zclVersion":3,"appVersion":72,"stackVersion":0,"hwVersion":1,"dateCode":""}},"ssIasZone":{"attributes":{"iasCieAddr":"0x00212effff04fc2c","zoneState":1}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":186,"batteryVoltage":29}}},"binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":33,"minRepIntval":3600,"maxRepIntval":65000,"repChange":0},{"cluster":1,"attrId":32,"minRepIntval":3600,"maxRepIntval":65000,"repChange":0}],"meta":{}}},"appVersion":72,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{"configured":1725922549},"lastSeen":1737300604795}
|
||||
{"id":16,"type":"EndDevice","ieeeAddr":"0xa4c138ef60e2fdbe","nwkAddr":45092,"manufId":4417,"manufName":"_TZ3000_26fmupbb","powerSource":"Battery","modelId":"TS0203","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[1,3,1280,0],"outClusterList":[3,4,5,6,8,4096,25,10],"clusters":{"genBasic":{"attributes":{"modelId":"TS0203","manufacturerName":"_TZ3000_26fmupbb","powerSource":3,"zclVersion":3,"appVersion":70,"stackVersion":0,"hwVersion":1,"dateCode":""}},"ssIasZone":{"attributes":{"iasCieAddr":"0x00212effff04fc2c","zoneState":1}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":134,"batteryVoltage":28}}},"binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":33,"minRepIntval":3600,"maxRepIntval":65000,"repChange":0},{"cluster":1,"attrId":32,"minRepIntval":3600,"maxRepIntval":65000,"repChange":0}],"meta":{}}},"appVersion":70,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{"configured":-777136334},"lastSeen":1737300347352}
|
||||
{"id":17,"type":"Router","ieeeAddr":"0xf0d1b800001388f0","nwkAddr":47599,"manufId":4489,"manufName":"LEDVANCE","powerSource":"Mains (single phase)","modelId":"B40 DIM Z3","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":257,"inClusterList":[0,3,4,5,6,8,2821,4096,64527],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"B40 DIM Z3","manufacturerName":"LEDVANCE","powerSource":1,"zclVersion":2,"appVersion":1,"stackVersion":2,"hwVersion":1,"dateCode":"Sep 29 2021\u0000\u0000\u0000\u0000\u0000","swBuildId":"01056400"}},"genLevelCtrl":{"attributes":{"currentLevel":229}},"genOnOff":{"attributes":{"onOff":1}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":1,"stackVersion":2,"hwVersion":1,"dateCode":"Sep 29 2021\u0000\u0000\u0000\u0000\u0000","swBuildId":"01056400","zclVersion":2,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1737324638327}
|
||||
{"id":18,"type":"Router","ieeeAddr":"0x7cb03eaa0a0176bd","nwkAddr":59143,"manufId":48042,"manufName":"OSRAM","powerSource":"Mains (single phase)","modelId":"Classic A60 W clear - LIGHTIFY","epList":[3],"endpoints":{"3":{"profId":49246,"epId":3,"devId":256,"inClusterList":[4096,0,3,4,5,6,8,64527],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"Classic A60 W clear - LIGHTIFY","manufacturerName":"OSRAM","powerSource":1,"zclVersion":1,"appVersion":0,"stackVersion":2,"hwVersion":1,"dateCode":"20140331CNEF****","swBuildId":"V1.05.10"}},"genOnOff":{"attributes":{"onOff":1}},"genLevelCtrl":{"attributes":{"currentLevel":254}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":0,"stackVersion":2,"hwVersion":1,"dateCode":"20140331CNEF****","swBuildId":"V1.05.10","zclVersion":1,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1737324308585}
|
||||
{"id":19,"type":"EndDevice","ieeeAddr":"0x000d6f001417c142","nwkAddr":31488,"manufId":4364,"manufName":"OSRAM","powerSource":"Battery","modelId":"Lightify Switch Mini","epList":[1,2,3],"endpoints":{"1":{"profId":260,"epId":1,"devId":2064,"inClusterList":[0,1,32,4096,64768],"outClusterList":[3,4,5,6,8,25,768,4096],"clusters":{"genBasic":{"attributes":{"modelId":"Lightify Switch Mini","manufacturerName":"OSRAM","powerSource":3,"zclVersion":1,"appVersion":1,"stackVersion":0,"hwVersion":1,"dateCode":"201904180638010","swBuildId":"e.1.11.0M"}},"genPollCtrl":{"attributes":{"checkinInterval":0}},"genPowerCfg":{"attributes":{"batteryVoltage":30}}},"binds":[{"cluster":32,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":32,"minRepIntval":3600,"maxRepIntval":65000,"repChange":0}],"meta":{}},"2":{"profId":260,"epId":2,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"genBasic":{"attributes":{"stackVersion":0}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[],"meta":{}},"3":{"profId":260,"epId":3,"devId":2064,"inClusterList":[0,4096,64768],"outClusterList":[3,4,5,6,8,768,4096],"clusters":{"genBasic":{"attributes":{"stackVersion":0}}},"binds":[{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":768,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[],"meta":{}}},"appVersion":1,"stackVersion":0,"hwVersion":1,"dateCode":"201904180638010","swBuildId":"e.1.11.0M","zclVersion":1,"interviewCompleted":true,"meta":{"configured":1051797767},"lastSeen":1737321880357,"checkinInterval":0}
|
||||
{"id":20,"type":"EndDevice","ieeeAddr":"0xa4c138e68023f4c6","nwkAddr":60500,"manufId":4742,"manufName":"_TZ3000_upgcbody","powerSource":"Battery","modelId":"SNZB-05","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[0,3,1,1280,32],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"SNZB-05","manufacturerName":"_TZ3000_upgcbody","powerSource":3,"zclVersion":3,"appVersion":113,"stackVersion":2,"hwVersion":0,"swBuildId":"0122052017"}},"ssIasZone":{"attributes":{"61441":1,"iasCieAddr":"0x00212effff04fc2c","zoneState":1,"currentZoneSensitivityLevel":1}},"genPollCtrl":{"attributes":{"checkinInterval":6960}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":200,"batteryVoltage":29}}},"binds":[{"cluster":32,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1},{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00212effff04fc2c","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":33,"minRepIntval":3600,"maxRepIntval":65000,"repChange":10}],"meta":{}}},"appVersion":113,"stackVersion":2,"hwVersion":0,"swBuildId":"0122052017","zclVersion":3,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1737323967021,"checkinInterval":1740}
|
||||
{"id":21,"type":"EndDevice","ieeeAddr":"0xa4c13838ba59a1b2","nwkAddr":63741,"manufId":4742,"manufName":"_TZE200_a8sdabtg","powerSource":"Battery","modelId":"TS0601","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":770,"inClusterList":[0,3,1026,1029,1],"outClusterList":[3],"clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_a8sdabtg","powerSource":3,"appVersion":145,"zclVersion":3}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":200,"batteryVoltage":30}},"msTemperatureMeasurement":{"attributes":{"measuredValue":2540}},"msRelativeHumidity":{"attributes":{"measuredValue":4560}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":145,"zclVersion":3,"interviewCompleted":true,"meta":{"configured":217189513},"lastSeen":1737324384099}
|
||||
{"id":22,"type":"EndDevice","ieeeAddr":"0xa4c1389d42e94844","nwkAddr":4843,"manufId":4742,"manufName":"_TZE200_a8sdabtg","powerSource":"Battery","modelId":"TS0601","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":770,"inClusterList":[0,3,1026,1029,1],"outClusterList":[3],"clusters":{"genBasic":{"attributes":{"modelId":"TS0601","manufacturerName":"_TZE200_a8sdabtg","powerSource":3,"zclVersion":3,"appVersion":145,"stackVersion":2,"hwVersion":1,"swBuildId":"0122052017"}},"msTemperatureMeasurement":{"attributes":{"measuredValue":2090}},"msRelativeHumidity":{"attributes":{"measuredValue":4370}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":200,"batteryVoltage":30}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":145,"stackVersion":2,"hwVersion":1,"swBuildId":"0122052017","zclVersion":3,"interviewCompleted":true,"meta":{"configured":217189513},"lastSeen":1737297682334}
|
||||
15
zb2mqttdata/dresden.js
Normal file
15
zb2mqttdata/dresden.js
Normal file
@@ -0,0 +1,15 @@
|
||||
const {deviceEndpoints, identify, light} = require('zigbee-herdsman-converters/lib/modernExtend');
|
||||
|
||||
const definition = {
|
||||
zigbeeModel: ['FLS-PP3 White\u0000'],
|
||||
model: 'FLS-PP3 White\u0000',
|
||||
vendor: 'dresden elektronik\u0000',
|
||||
description: 'Automatically generated definition',
|
||||
extend: [
|
||||
deviceEndpoints({endpoints: {rgb: 10, white: 11}}),
|
||||
light({"colorTemp":{"range":[153,500]},"color":{"modes":["xy","hs"],"enhancedHue":true},endpointNames: ['rgb', 'white']})
|
||||
],
|
||||
};
|
||||
|
||||
module.exports = definition;
|
||||
|
||||
0
zb2mqttdata/log/2025-01-19.20-53-49/log.log
Normal file
0
zb2mqttdata/log/2025-01-19.20-53-49/log.log
Normal file
10623
zb2mqttdata/log/2025-01-19.21-29-25/log.log
Normal file
10623
zb2mqttdata/log/2025-01-19.21-29-25/log.log
Normal file
File diff suppressed because one or more lines are too long
1237
zb2mqttdata/log/2025-01-19.22-37-44/log.log
Normal file
1237
zb2mqttdata/log/2025-01-19.22-37-44/log.log
Normal file
File diff suppressed because one or more lines are too long
0
zb2mqttdata/log/2025-01-19.22-44-16/log.log
Normal file
0
zb2mqttdata/log/2025-01-19.22-44-16/log.log
Normal file
5027
zb2mqttdata/log/2025-01-19.22-58-09/log.log
Normal file
5027
zb2mqttdata/log/2025-01-19.22-58-09/log.log
Normal file
File diff suppressed because one or more lines are too long
BIN
zb2mqttdata/log/2025-01-19.23-12-22/log.log
Normal file
BIN
zb2mqttdata/log/2025-01-19.23-12-22/log.log
Normal file
Binary file not shown.
0
zb2mqttdata/migration-1-to-2.log
Normal file
0
zb2mqttdata/migration-1-to-2.log
Normal file
0
zb2mqttdata/migration-2-to-3.log
Normal file
0
zb2mqttdata/migration-2-to-3.log
Normal file
0
zb2mqttdata/migration-3-to-4.log
Normal file
0
zb2mqttdata/migration-3-to-4.log
Normal file
183
zb2mqttdata/state.json
Normal file
183
zb2mqttdata/state.json
Normal file
@@ -0,0 +1,183 @@
|
||||
{
|
||||
"0xf0d1b800001ffcf2": {
|
||||
"color_mode": "color_temp",
|
||||
"update": {
|
||||
"state": "idle",
|
||||
"installed_version": 51999504,
|
||||
"latest_version": 51999504
|
||||
},
|
||||
"brightness": 105,
|
||||
"state": "ON",
|
||||
"color": {
|
||||
"x": 0.4599,
|
||||
"y": 0.4106
|
||||
},
|
||||
"color_temp": 370,
|
||||
"linkquality": 175
|
||||
},
|
||||
"0xa4c138570b1956d9": {
|
||||
"temperature": 22.35,
|
||||
"humidity": 64.87,
|
||||
"battery": 20,
|
||||
"linkquality": 7
|
||||
},
|
||||
"0xa4c1383ec7aa7d95": {
|
||||
"temperature": 23.81,
|
||||
"humidity": 58.31,
|
||||
"battery": 26,
|
||||
"linkquality": 255
|
||||
},
|
||||
"0xa4c1383db5531833": {
|
||||
"temperature": 20.4,
|
||||
"humidity": 73.5,
|
||||
"battery": 17,
|
||||
"linkquality": 87,
|
||||
"update": {
|
||||
"state": "idle",
|
||||
"installed_version": 268513281,
|
||||
"latest_version": 268513281
|
||||
}
|
||||
},
|
||||
"0x000d6f00109eb214": {
|
||||
"linkquality": 247,
|
||||
"voltage": 3000,
|
||||
"battery": 100
|
||||
},
|
||||
"0x00212effff0cb8b6": {
|
||||
"color_mode": "xy",
|
||||
"state": "OFF",
|
||||
"state_rgb": "OFF",
|
||||
"brightness_white": 254,
|
||||
"state_white": "OFF",
|
||||
"brightness_rgb": 26,
|
||||
"color_mode_rgb": "color_temp",
|
||||
"color_temp_rgb": 199,
|
||||
"color_mode_white": "color_temp",
|
||||
"color_temp_white": 365,
|
||||
"color": {
|
||||
"x": 0.6942,
|
||||
"y": 0.2963
|
||||
},
|
||||
"color_white": {
|
||||
"x": 0.4566,
|
||||
"y": 0.4098
|
||||
},
|
||||
"color_rgb": {
|
||||
"x": 0.3445,
|
||||
"y": 0.3512
|
||||
},
|
||||
"linkquality": 255,
|
||||
"state_10": "OFF"
|
||||
},
|
||||
"0x0ceff6fffebf4739": {
|
||||
"linkquality": 119
|
||||
},
|
||||
"0xa4c138541ec8ddd2": {
|
||||
"state": "ON",
|
||||
"brightness": 152,
|
||||
"linkquality": 255
|
||||
},
|
||||
"0xa4c1384187f0960d": {
|
||||
"water_leak": false,
|
||||
"tamper": false,
|
||||
"battery_low": false,
|
||||
"battery": 100,
|
||||
"voltage": 2800,
|
||||
"linkquality": 207
|
||||
},
|
||||
"0x001788010d1c884e": {
|
||||
"color_mode": "color_temp",
|
||||
"update": {
|
||||
"state": "available",
|
||||
"installed_version": 16784652,
|
||||
"latest_version": 16786434
|
||||
},
|
||||
"state": "ON",
|
||||
"brightness": 254,
|
||||
"linkquality": 87,
|
||||
"color_temp": 366
|
||||
},
|
||||
"0x001788010e8a8be7": {
|
||||
"battery": 100,
|
||||
"update": {
|
||||
"state": "idle",
|
||||
"installed_version": 33565954,
|
||||
"latest_version": 33565954
|
||||
},
|
||||
"linkquality": 255
|
||||
},
|
||||
"0xa4c13864e6c8c400": {
|
||||
"battery": 93,
|
||||
"voltage": 2900,
|
||||
"occupancy": false,
|
||||
"tamper": false,
|
||||
"battery_low": false,
|
||||
"linkquality": 255
|
||||
},
|
||||
"0xa4c138ef60e2fdbe": {
|
||||
"contact": true,
|
||||
"tamper": false,
|
||||
"battery_low": false,
|
||||
"voltage": 2800,
|
||||
"battery": 100,
|
||||
"linkquality": 239
|
||||
},
|
||||
"0x00158d00053a1aab": {
|
||||
"color_mode": "xy",
|
||||
"linkquality": 255
|
||||
},
|
||||
"0x00158d00053c6311": {
|
||||
"color_mode": "xy",
|
||||
"state": "ON",
|
||||
"linkquality": 255
|
||||
},
|
||||
"0xf0d1b800001388f0": {
|
||||
"update": {
|
||||
"state": "idle",
|
||||
"installed_version": 17130496,
|
||||
"latest_version": 17130496
|
||||
},
|
||||
"state": "ON",
|
||||
"brightness": 229,
|
||||
"linkquality": 255
|
||||
},
|
||||
"0x7cb03eaa0a0176bd": {
|
||||
"update": {
|
||||
"state": "idle",
|
||||
"installed_version": 16909584,
|
||||
"latest_version": 16909584
|
||||
},
|
||||
"brightness": 254,
|
||||
"state": "ON",
|
||||
"linkquality": 255
|
||||
},
|
||||
"0x000d6f001417c142": {
|
||||
"voltage": 3000,
|
||||
"battery": 100,
|
||||
"linkquality": 239
|
||||
},
|
||||
"0xa4c138e68023f4c6": {
|
||||
"battery": 100,
|
||||
"water_leak": false,
|
||||
"battery_low": false,
|
||||
"linkquality": 255
|
||||
},
|
||||
"0xa4c1389d42e94844": {
|
||||
"temperature": 20.9,
|
||||
"humidity": 43,
|
||||
"temperature_unit": "celsius",
|
||||
"temperature_calibration": 0,
|
||||
"humidity_calibration": 0,
|
||||
"battery": 100,
|
||||
"linkquality": 63
|
||||
},
|
||||
"0xa4c13838ba59a1b2": {
|
||||
"battery": 50,
|
||||
"temperature": 25.4,
|
||||
"humidity": 46,
|
||||
"temperature_unit": "celsius",
|
||||
"temperature_calibration": 0,
|
||||
"humidity_calibration": 0,
|
||||
"linkquality": 255
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user