Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • infrastruktur/ansible-warpzone
  • specki/ansible-warpzone
2 results
Show changes
Showing
with 832 additions and 123 deletions
......@@ -6,15 +6,15 @@ motd_lines:
- "IPs: {{ansible_bond0.ipv4.address}}"
debian_sources:
- "deb http://deb.debian.org/debian/ bullseye main non-free contrib"
- "deb http://security.debian.org/debian-security bullseye-security main contrib non-free"
- "deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free"
- "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription"
- "deb http://deb.debian.org/debian/ bookworm main non-free contrib"
- "deb http://security.debian.org/debian-security bookworm-security main contrib non-free"
- "deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free"
- "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription"
debian_keys_id:
debian_keys_url:
- "https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg"
- "https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg"
# Art des Hosts: physical, vm, docker
......@@ -32,8 +32,8 @@ administratorenteam:
# Monitoring aktivieren
alert:
load:
warn: 4
crit: 8
warn: 20
crit: 40
disks:
- { mountpoint: "/", warn: "10 GB", crit: "3 GB" }
# btrfs currently no data from node exporter
......
......@@ -6,10 +6,10 @@ motd_lines:
- "Öffentliche IPs: {{ansible_ens18.ipv4.address}} / {{ansible_ens18.ipv6[0].address}}"
debian_sources:
- "deb http://ftp2.de.debian.org/debian/ bullseye main contrib non-free"
- "deb http://ftp.debian.org/debian bullseye-updates main contrib non-free"
- "deb http://security.debian.org/ bullseye-security main contrib non-free"
- "deb https://download.docker.com/linux/debian bullseye stable"
- "deb http://ftp2.de.debian.org/debian/ bookworm main contrib non-free"
- "deb http://ftp.debian.org/debian bookworm-updates main contrib non-free"
- "deb http://security.debian.org/ bookworm-security main contrib non-free"
- "deb https://download.docker.com/linux/debian bookworm stable"
debian_keys_id:
......@@ -68,8 +68,8 @@ docker:
# Monitoring aktivieren
alert:
load:
warn: 8
crit: 16
warn: 5
crit: 10
containers:
- { name: "coturn_coturn_1" }
- { name: "dockerstats_app_1" }
......@@ -103,6 +103,7 @@ alert:
- { name: "mail_mailman-nginx_1" }
- { name: "matrix_ma1sd_1" }
- { name: "matrix_db_1" }
- { name: "matrix_purgemediacache_1" }
- { name: "matrix_synapse_1" }
- { name: "matterbridge_cw_1" }
- { name: "matterbridge_wz_1" }
......@@ -120,7 +121,7 @@ alert:
- { name: "workadventure_redis_1" }
disks:
- { mountpoint: "/", warn: "5 GB", crit: "1 GB" }
- { mountpoint: "/srv", warn: "1 GB", crit: "500 MB" }
- { mountpoint: "/srv", warn: "5 GB", crit: "1 GB" }
# Definition von Borgbackup Repositories
......
# Nameskonvention für Server: Pratchett Name/Charaktere
# Namensliste: https://wiki.lspace.org/List_of_Pratchett_characters
# Nächste freie Namen: vimes, cake, colon, detritus, dibbler, dorfl, gaspode, quirm, cherry, nobby, ramkin, ron, shoe, slant, angua, vetinary, bursar, coin, dean, worblehat, luggage. mustrum, rincewind, wrangler, stibbons, whitlow
[test]
[prod]
# Interner Proxmox-Server
# Für Verbindungen über den Webserver als Jumphost folgende Parameter ergänzen:
# ansible_ssh_common_args='-o ForwardAgent=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ProxyCommand="ssh -W %h:%p -q 159.69.57.51"'
weatherwax ansible_ssh_host=192.168.0.200
# Server für interne Dienste
# Container auf dem internen Proxmox Server
# Wichtige Optionen: Nesting = Yes, keyctl = enabled
ogg ansible_ssh_host=192.168.0.201
# Server für VPN Verbindung zum Webserver
# Container auf dem internen Proxmox Server
# Wichtige Optionen: Nesting = Yes, keyctl = enabled
carrot ansible_ssh_host=192.168.0.202
# Externe Server Warpzone
# Öffentlicher Root Server Warpzone bei Hetzner
tiffany ansible_ssh_host=159.69.57.15
# Öffentlicher Webserver Warpzone
# VM auf Tiffany
webserver ansible_ssh_host=159.69.57.51
# Vorstands-VM
# VM auf Tiffany
# Auch erreichbar unter verwaltung.warpzone.ms
verwaltung ansible_ssh_host=195.201.179.60
# Physischer Server für Veranstaltungen / Camps
# warpzone.remote Proxmox-Server
hex ansible_ssh_host=10.111.10.100
# Virtueller Server für Infrastruktur-Dienste auf Veranstaltungen / Camps
# Container auf dem warpzone.remote Proxmox-Server
# Wichtige Optionen: Nesting = Yes, keyctl = enabled
hix ansible_ssh_host=10.111.10.101
......@@ -12,11 +12,13 @@ prod:
# ansible_ssh_common_args='-o ForwardAgent=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ProxyCommand="ssh -W %h:%p -q 159.69.57.51"'
weatherwax:
ansible_ssh_host: 192.168.0.200
ansible_user: root
# Externe Server Warpzone
# Öffentlicher Root Server Warpzone bei Hetzner
tiffany:
ansible_ssh_host: 159.69.57.15
ansible_user: root
vms:
children:
......@@ -27,12 +29,14 @@ prod:
# Wichtige Optionen: Nesting = Yes, keyctl = enabled
ogg:
ansible_ssh_host: 192.168.0.201
ansible_user: root
# Server für VPN Verbindung zum Webserver
# Container auf dem internen Proxmox Server
# Wichtige Optionen: Nesting = Yes, keyctl = enabled
carrot:
ansible_ssh_host: 192.168.0.202
ansible_user: root
tiffany-vms:
hosts:
......@@ -40,12 +44,14 @@ prod:
# VM auf Tiffany
webserver:
ansible_ssh_host: 159.69.57.51
ansible_user: root
# Vorstands-VM
# VM auf Tiffany
# Auch erreichbar unter verwaltung.warpzone.ms
verwaltung:
ansible_ssh_host: 195.201.179.60
ansible_user: root
event:
children:
......@@ -55,6 +61,7 @@ event:
# warpzone.remote Proxmox-Server
hex:
ansible_ssh_host: 10.111.10.100
ansible_user: root
vms:
hosts:
......@@ -63,3 +70,4 @@ event:
# Wichtige Optionen: Nesting = Yes, keyctl = enabled
hix:
ansible_ssh_host: 10.111.10.101
ansible_user: root
\ No newline at end of file
......@@ -19,6 +19,10 @@
payload: "CLOSED"
then:
- switch.turn_off: relay
- topic: warpzone/door/status_once
payload: "OPEN"
then:
- switch.turn_on: relay
status_led:
pin:
......
......@@ -19,6 +19,10 @@
payload: "CLOSED"
then:
- switch.turn_off: relay
- topic: warpzone/door/status_once
payload: "OPEN"
then:
- switch.turn_on: relay
status_led:
pin:
......
......@@ -3,7 +3,7 @@
{% include "/includes/ansible.inc.yaml" %}
{% include "/includes/board.esp01_1m.inc.yaml" %}
comment: Halogen Lounge
comment: frei
{% include "/includes/common.inc.yaml" %}
on_message:
......
......@@ -19,6 +19,10 @@
payload: "CLOSED"
then:
- switch.turn_off: relay
- topic: warpzone/door/status_once
payload: "OPEN"
then:
- switch.turn_on: relay
substitutions:
plug_name: {{ devicename }}
......
......@@ -3,7 +3,7 @@
{% include "/includes/ansible.inc.yaml" %}
{% include "/includes/board.esp01_1m.inc.yaml" %}
comment: 3D Drucker Prusanet
comment: WLED Vorhang
{% include "/includes/common.inc.yaml" %}
on_message:
......@@ -15,10 +15,10 @@
payload: "OFF"
then:
- switch.turn_off: relay
- topic: warpzone/door/status
payload: "CLOSED"
- topic: warpzone/door/status_once
payload: "OPEN"
then:
- switch.turn_off: relay
- switch.turn_on: relay
substitutions:
plug_name: {{ devicename }}
......
......@@ -135,7 +135,7 @@ climate:
id: pid_heater
name: "PID Heater Controller"
sensor: pot_sensor
default_target_temperature: 240
default_target_temperature: 220
heat_output: pot_heater
control_parameters:
kp: 0.09549
......
......@@ -4,7 +4,7 @@ services:
app:
image: grafana/grafana:9.4.3
image: grafana/grafana:9.5.6
restart: always
volumes:
- "{{ basedir }}/grafana.ini:/etc/grafana/grafana.ini"
......
version: "3"
services:
mongodb:
image: "mongo:6.0.4"
restart: "always"
opensearch:
image: "opensearchproject/opensearch:2.6.0"
environment:
- "TZ=Europe/Berlin"
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
- "bootstrap.memory_lock=true"
- "discovery.type=single-node"
- "action.auto_create_index=false"
- "plugins.security.ssl.http.enabled=false"
- "plugins.security.disabled=true"
restart: "always"
graylog:
hostname: "server"
image: "graylog/graylog:5.0.5"
entrypoint: "/usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.sh"
environment:
TZ: "Europe/Berlin"
GRAYLOG_NODE_ID_FILE: "/usr/share/graylog/data/config/node-id"
GRAYLOG_PASSWORD_SECRET: "warpzonewarpzone"
GRAYLOG_ROOT_PASSWORD_SHA2: "26230bc6e5e044e6e3cef7c76a2800fdf2d3952ef03e85c83491b99eef149c40"
GRAYLOG_HTTP_BIND_ADDRESS: "0.0.0.0:9000"
GRAYLOG_HTTP_EXTERNAL_URI: "http://graylog.warpzone.lan/"
GRAYLOG_ELASTICSEARCH_HOSTS: "http://opensearch:9200"
GRAYLOG_MONGODB_URI: "mongodb://mongodb:27017/graylog"
ports:
- "514:5140/udp" # Syslog
- "514:5140/tcp" # Syslog
restart: "always"
labels:
- traefik.enable=true
- traefik.http.routers.{{ servicename }}.rule=Host(`{{ domain }}`)
- traefik.http.routers.{{ servicename }}.entrypoints=websecure
- traefik.http.services.{{ servicename }}.loadbalancer.server.port=9000
networks:
- web
- default
networks:
web:
external: true
---
- include: ../functions/get_secret.yml
- include_tasks: ../functions/get_secret.yml
with_items:
- { path: "{{ basedir }}/warpai_status_update_key", length: -1 }
- { path: "{{ basedir }}/homeassistant_admin_password", length: 12 }
......
......@@ -54,6 +54,14 @@ influxdb:
token: {{ influxdb_token }}
default_measurement: units
# eQ3 Max
maxcube:
gateways:
- host: {{ eq3max.cube_host }}
port: 62910
scan_interval: 60
# zonenstatus wird vom hauptschalter gesteuert, switch02 ping ist nicht mehr notwendig
# https://www.home-assistant.io/integrations/ping/
#binary_sensor:
......@@ -71,6 +79,12 @@ rest_command:
set_zone_status_closed:
url: "https://api.warpzone.ms/setstatus?newstatus=CLOSED&update_key={{ warpai_status_update_key }}"
method: GET
set_lounge_matrix_off:
url: "http://led-matrix.warpzone.lan/play/off.png"
method: GET
set_lounge_matrix_on:
url: "http://led-matrix.warpzone.lan/skip"
method: GET
# https://www.home-assistant.io/integrations/telegram/
telegram_bot:
......@@ -240,3 +254,768 @@ automation ansible:
timeout: 30
message: Die warpzone ist seit {{ '{{' }} states('sensor.time') {{ '}}' }} geschlossen!
mode: restart
# Stromverbrauch auf Telegram senden
- alias: ANSIBLE_stromverbrauch_send_telegram
description: Sendet alle 10 Minuten den Stromverbrauch per Telegram
trigger:
- platform: time_pattern
minutes: /10
condition: []
action:
- if:
- condition: state
entity_id: automation.ansible_zonenstatus_send_telegram
attribute: current
state: "1"
then:
- wait_for_trigger:
- platform: state
entity_id:
- automation.ansible_zonenstatus_send_telegram
attribute: current
to: "0"
- service: telegram_bot.send_message
data:
target: -1001341516106
timeout: 30
message: >-
{{ '{{' }} states('sensor.esphome_status_power') {{ '}}' }} kW bei angenehmen {{ '{{' }} states('sensor.temp') {{ '}}' }}°C
mode: restart
# Licht im Hackcenter dimmen
- alias: ANSIBLE_dali_licht_hackcenter
description: Ruft den Helper aus um per MQTT das Licht zu dimmen
trigger:
- platform: state
entity_id:
- input_number.dali_licht_hackcenter
for:
hours: 0
minutes: 0
seconds: 0
action:
- service: mqtt.publish
data:
topic: light/dali
payload_template: "{{ '{{' }} states('input_number.dali_licht_hackcenter') | int {{ '}}' }}"
mode: restart
# turn off all radiators
- alias: ANSIBLE_heizung_aus
description: Schaltet alle Heizungen aus
trigger: []
condition: []
action:
- service: climate.turn_off
target:
entity_id:
- climate.hackcenter_mitte
- climate.lounge_vorne
- climate.treppenhaus_thermostat_1
- climate.vortragsraum_vorne
- climate.holzwerkstatt_vorne
- climate.kackcenter_klo
mode: single
# turn on all radiators
- alias: ANSIBLE_heizung_an
description: Schaltet alle Heizungen an
trigger: []
condition: []
action:
- service: climate.turn_on
target:
entity_id:
- climate.hackcenter_mitte
- climate.lounge_vorne
- climate.treppenhaus_thermostat_1
- climate.vortragsraum_vorne
- climate.holzwerkstatt_vorne
- climate.kackcenter_klo
- service: climate.set_temperature
target:
entity_id:
- climate.hackcenter_mitte
- climate.lounge_vorne
- climate.treppenhaus_termostat_1
- climate.vortragsraum_vorne
- climate.holzwerkstatt_vorne
- climate.kackcenter_klo
data:
temperature: 30
mode: single
# turn on all radiators to 18.5 degrees
- alias: ANSIBLE_heizung_18.5
description: Schaltet alle Heizungen auf 18.5 Grad
trigger: []
condition: []
action:
- service: climate.turn_on
target:
entity_id:
- climate.hackcenter_mitte
- climate.lounge_vorne
- climate.treppenhaus_thermostat_1
- climate.vortragsraum_vorne
- climate.holzwerkstatt_vorne
- climate.kackcenter_klo
- service: climate.set_temperature
target:
entity_id:
- climate.hackcenter_mitte
- climate.lounge_vorne
- climate.treppenhaus_termostat_1
- climate.vortragsraum_vorne
- climate.holzwerkstatt_vorne
- climate.kackcenter_klo
data:
temperature: 18.5
mode: single
# Feinstaubsensor steuert Luftfilter
- alias: ANSIBLE_Feinstaubsensor_Luftfilter
description: Feinstaubsensor steuer Luftfilter
trigger:
- platform: time_pattern
seconds: /10
condition: []
action:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.feinstaub_2_5
below: 36
sequence:
- service: fan.set_percentage
data:
percentage: 33
target:
device_id: 8b6ff876340558ef11d13441afecec8d
- conditions:
- condition: numeric_state
entity_id: sensor.feinstaub_2_5
above: 35
below: 86
sequence:
- service: fan.set_percentage
data:
percentage: 66
target:
device_id: 8b6ff876340558ef11d13441afecec8d
- conditions:
- condition: numeric_state
entity_id: sensor.feinstaub_2_5
above: 85
sequence:
- service: fan.set_percentage
data:
percentage: 100
target:
device_id: 8b6ff876340558ef11d13441afecec8d
mode: restart
# Feinstaubsensor steuert Ampel
- alias: ANSIBLE_Feinstaubsensor_Ampel
description: Feinstaubsensor status auf Ampel anzeigen
trigger:
- platform: time_pattern
seconds: /10
condition: []
action:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.feinstaub_2_5
below: 36
sequence:
- device_id: e26403f906b93f7c6b4f5339a21f9b26
domain: select
entity_id: select.ampel_preset
type: select_option
option: Green static
- conditions:
- condition: numeric_state
entity_id: sensor.feinstaub_2_5
above: 35
below: 86
sequence:
- device_id: e26403f906b93f7c6b4f5339a21f9b26
domain: select
entity_id: select.ampel_preset
type: select_option
option: Orange static
- conditions:
- condition: numeric_state
entity_id: sensor.feinstaub_2_5
above: 85
sequence:
- device_id: e26403f906b93f7c6b4f5339a21f9b26
domain: select
entity_id: select.ampel_preset
type: select_option
option: Red static
mode: restart
# WLED rot lounge
- alias: ANSIBLE_WLED_lounge_red
description: WLED rot in der lounge
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_5
domain: binary_sensor
condition: []
action:
- service: light.turn_on
data:
rgb_color:
- 255
- 0
- 0
effect: Solid
target:
area_id:
- kuche
- lounge
- serverrack
mode: queued
max: 30
# WLED rot im hackcenter
- alias: ANSIBLE_WLED_hackcenter_red
description: WLED rot im hackcenter
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_2
domain: binary_sensor
condition: []
action:
- service: light.turn_on
data:
rgb_color:
- 255
- 0
- 0
effect: Solid
target:
area_id:
- hackcenter
- eingang
mode: queued
max: 30
# WLED gruen lounge
- alias: ANSIBLE_WLED_lounge_green
description: WLED gruen in der lounge
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_5
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 1
condition: []
action:
- service: light.turn_on
data:
rgb_color:
- 0
- 255
- 0
effect: Solid
target:
area_id:
- kuche
- lounge
- serverrack
mode: queued
max: 30
# WLED gruen hackcenter
- alias: ANSIBLE_WLED_hackcenter_green
description: WLED gruen im hackcenter
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_2
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 1
condition: []
action:
- service: light.turn_on
data:
rgb_color:
- 0
- 255
- 0
effect: Solid
target:
area_id:
- hackcenter
- eingang
mode: queued
max: 30
# WLED blue lounge
- alias: ANSIBLE_WLED_lounge_blue
description: wLED blau in der lounge
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_5
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 2
condition: []
action:
- service: light.turn_on
data:
rgb_color:
- 0
- 0
- 255
effect: Solid
target:
area_id:
- kuche
- lounge
- serverrack
mode: queued
max: 30
# WLED blue hackcenter
- alias: ANSIBLE_WLED_hackcenter_blue
description: wLED blau im hackcenter
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_2
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 2
condition: []
action:
- service: light.turn_on
data:
rgb_color:
- 0
- 0
- 255
effect: Solid
target:
area_id:
- hackcenter
- eingang
mode: queued
max: 30
# WLED white lounge
- alias: ANSIBLE_WLED_lounge_white
description: WLED weiss in der lounge
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_5
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 3
condition: []
action:
- service: light.turn_on
data:
rgb_color:
- 255
- 255
- 255
effect: Solid
target:
area_id:
- kuche
- lounge
- serverrack
mode: queued
max: 30
# WLED white hackcenter
- alias: ANSIBLE_WLED_hackcenter_white
description: WLED weiss im hackcenter
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_2
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 3
condition: []
action:
- service: light.turn_on
data:
rgb_color:
- 255
- 255
- 255
effect: Solid
target:
area_id:
- hackcenter
- eingang
mode: queued
max: 30
# WLED off lounge
- alias: ANSIBLE_WLED_lounge_off
description: WLED aus in der lounge
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_6
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
condition: []
action:
- service: light.turn_off
target:
area_id:
- kuche
- lounge
- serverrack
- service: rest_command.set_lounge_matrix_off
data: {}
mode: queued
max: 30
# WLED off hackcenter
- alias: ANSIBLE_WLED_hackcenter_off
description: WLED aus im hackcenter
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_3
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
condition: []
action:
- service: light.turn_off
target:
area_id:
- hackcenter
- eingang
mode: queued
max: 30
# WLED default Lounge
- alias: "ANSIBLE_WLED_lounge_default"
description: WLED Default effect in der Lounge
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_4
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
condition: []
action:
- service: light.turn_on
data: {}
target:
area_id:
- kuche
- lounge
- serverriack
- service: select.select_option
data:
option: default
target:
entity_id:
- select.kueche_preset
- select.loungedecke_preset
- select.rack_preset
- select.theke_preset
- select.warpcubes_preset
- select.loungetisch_preset
- select.matrix01_preset
- select.vorhang_preset
- select.lampan_preset
- select.clock_preset
- select.fernseher01_preset
- service: rest_command.set_lounge_matrix_on
data: {}
mode: single
# WLED default hackcenter
- alias: "ANSIBLE_WLED_hackcenter_default"
description: WLED Default effect im hackcenter
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_1
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 0
condition: []
action:
- service: light.turn_on
data: {}
target:
area_id:
- hackcenter
- eingang
- service: select.select_option
data:
option: default
target:
entity_id:
- select.icicles_preset
- select.lightsaber01_preset
- select.lightsaber02_preset
- select.loetecke_preset
- select.schild_preset
- select.trocknerschlauch_preset
- service: light.turn_on
data:
rgb_color:
- 255
- 160
- 0
target:
device_id: d1d266daf7d11e675319fdae0226a197
mode: single
# WLED meteor lounge
- alias: "ANSIBLE_WLED_lounge_Meteor"
description: WLED Meteor effect in der Lounge
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_4
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 2
condition: []
action:
- service: light.turn_on
data: {}
target:
area_id:
- kuche
- lounge
- serverrack
- service: select.select_option
data:
option: Meteor
target:
entity_id:
- select.kueche_preset
- select.loetecke_preset
- select.loungedecke_preset
- select.rack_preset
- select.theke_preset
- select.warpcubes_preset
- select.loungetisch_preset
- select.matrix01_preset
- select.vorhang_preset
- select.lampan_preset
- select.clock_preset
- select.fernseher01_preset
mode: single
# WLED meteor Hackcenter
- alias: "ANSIBLE_WLED_Hackcenter_Meteor"
description: WLED Meteor effect im Hackcenter
trigger:
- type: turned_on
platform: device
device_id: 33915e12bd114226dcd4718e77a27779
entity_id: binary_sensor.button_1
domain: binary_sensor
for:
hours: 0
minutes: 0
seconds: 2
condition: []
action:
- service: light.turn_on
data: {}
target:
area_id:
- hackcenter
- eingang
- service: select.select_option
data:
option: Meteor
target:
entity_id:
- select.icicles_preset
- select.lightsaber01_preset
- select.lightsaber02_preset
- select.loetecke_preset
- select.schild_preset
- select.trocknerschlauch_preset
- service: light.turn_on
data:
rgb_color:
- 255
- 0
- 238
target:
device_id: d1d266daf7d11e675319fdae0226a197
mode: single
# WLED Zonenstatus
- alias: "ANSIBLE_WLED_Zonenstatus"
description: "Turn WLED devices on, when opened, off when closed"
mode: single
trigger:
- platform: state
entity_id:
- input_select.zonenstatus
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.zonenstatus
state: open
sequence:
- service: light.turn_on
data: {}
target:
area_id:
- eingang
- hackcenter
- kuche
- lounge
- conditions:
- condition: state
entity_id: input_select.zonenstatus
state: closed
sequence:
- service: light.turn_off
data: {}
target:
area_id:
- eingang
- hackcenter
- kuche
- lounge
# ESPHOME Zonenstatus
- alias: "ANSIBLE_ESPHOME_Zonenstatus"
description: ""
mode: single
trigger:
- platform: state
entity_id:
- input_select.zonenstatus
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.zonenstatus
state: "opened"
sequence:
- service: light.turn_on
data:
effect: Rainbow
target:
entity_id:
- light.liba_logo_leds
- light.kuehl_leds
- type: turn_on
device_id: 7ba91dde6b1413340fdc66f2984dfd00
entity_id: light.brightness
domain: light
- conditions:
- condition: state
entity_id: input_select.zonenstatus
state: "closed"
sequence:
- type: turn_off
device_id: 1dace6e3f89d85152cde6383312792eb
entity_id: switch.esphome_plug01_relay
domain: switch
- type: turn_off
device_id: 9f6aded98a4a96ab85c96b829895f449
entity_id: switch.esphome_plug02_relay
domain: switch
- type: turn_off
device_id: 502f88ff07aa71cb053ad4112e0dd6bd
entity_id: switch.esphome_plug03_relay
domain: switch
- type: turn_off
device_id: b9ea4fd30dabfe365b5098c66eb1f4ba
entity_id: switch.esphome_plug04_relay
domain: switch
- type: turn_off
device_id: c5f54add49fda7640497b1883315d48b
entity_id: switch.esphome_plug05_relay
domain: switch
- type: turn_off
device_id: a0788c8cf4ee036ce43e0d563fdbdb3a
entity_id: switch.esphome_plug06_relay
domain: switch
- type: turn_off
device_id: 1637a583963ba02dc7baa17427f8ac00
entity_id: switch.esphome_plug07_relay
domain: switch
- type: turn_off
device_id: 1da3229859c49c822fd8e9c630fa9004
entity_id: switch.esphome_plug08_relay
domain: switch
- service: light.turn_off
data: {}
target:
entity_id:
- light.liba_logo_leds
- light.kuehl_leds
- type: turn_off
device_id: 7ba91dde6b1413340fdc66f2984dfd00
entity_id: light.brightness
domain: light
\ No newline at end of file
......@@ -5,8 +5,10 @@ services:
app:
image: homeassistant/home-assistant:2023.3
image: homeassistant/home-assistant:2023.6
restart: always
ports:
- "{{ int_ip4 }}:{{ homematic_callback_port }}:{{ homematic_callback_port }}"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "{{ basedir }}/config:/config"
......@@ -24,7 +26,7 @@ services:
influxdb:
image: influxdb:2.6.1
image: influxdb:2.7.1
restart: always
ports:
- "{{ int_ip4 }}:{{ influxdb_port }}:8086"
......
---
- include: ../functions/get_secret.yml
- include_tasks: ../functions/get_secret.yml
with_items:
- { path: "{{ basedir }}/influxdb_password", length: 12 }
- { path: "{{ basedir }}/influxdb_token", length: 24 }
......
......@@ -9,7 +9,7 @@ version: "3"
services:
app:
image: nodered/node-red:2.2.3
image: nodered/node-red:3.0.2
restart: always
volumes:
- "{{ basedir }}/data:/data"
......
---
- include: ../functions/get_secret.yml
- include_tasks: ../functions/get_secret.yml
with_items:
- { path: "{{ basedir }}/homeassistant_admin_password", length: 12 }
- { path: "{{ basedir }}/influxdb_password", length: 12 }
......
......@@ -5,7 +5,7 @@ services:
app:
image: homeassistant/home-assistant:2023.3.3
image: homeassistant/home-assistant:2023.6.1
restart: always
volumes:
- "/etc/localtime:/etc/localtime:ro"
......@@ -24,7 +24,7 @@ services:
influxdb:
image: influxdb:2.6.0
image: influxdb:2.7.1
restart: always
ports:
- "{{ int_ip4 }}:{{ influxdb_port }}:8086"
......
......@@ -5,7 +5,7 @@ services:
app:
image: prom/prometheus:v2.42.0
image: prom/prometheus:v2.45.0
restart: always
ports:
- 9090:9090
......