Compare commits
3 Commits
1a525bb29a
...
9c1c0d8e76
Author | SHA1 | Date | |
---|---|---|---|
9c1c0d8e76 | |||
dad1bd43a1 | |||
0c8a0c3854 |
18
flake.lock
generated
18
flake.lock
generated
@ -91,11 +91,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1687288566,
|
"lastModified": 1687829761,
|
||||||
"narHash": "sha256-VckkiJ88Gzdc2cstm0z5eFcrHbvkm4VjxavHBGssvZI=",
|
"narHash": "sha256-QRe1Y8SS3M4GeC58F/6ajz6V0ZLUVWX3ZAMgov2N3/g=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b6c73c5fe53bb3afbf65e870541e0645e9145171",
|
"rev": "9790f3242da2152d5aa1976e3e4b8b414f4dd206",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -121,11 +121,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1686960236,
|
"lastModified": 1687898314,
|
||||||
"narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=",
|
"narHash": "sha256-B4BHon3uMXQw8ZdbwxRK1BmxVOGBV4viipKpGaIlGwk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "04af42f3b31dba0ef742d254456dc4c14eedac86",
|
"rev": "e18dc963075ed115afb3e312b64643bf8fd4b474",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -158,11 +158,11 @@
|
|||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1686496219,
|
"lastModified": 1687462267,
|
||||||
"narHash": "sha256-8zXZ/813yzaRA84js98G3XQ3GEEzFGnxhjvVyxkEey0=",
|
"narHash": "sha256-rNSputjn/0HEHHnsKfQ8mQVEPVchcBw7DsbND7Wg8dk=",
|
||||||
"owner": "simple-nixos-mailserver",
|
"owner": "simple-nixos-mailserver",
|
||||||
"repo": "nixos-mailserver",
|
"repo": "nixos-mailserver",
|
||||||
"rev": "4966c0f63f04659015f064f2aa34b1893a16dfde",
|
"rev": "24128c3052090311688b09a400aa408ba61c6ee5",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -182,6 +182,66 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mosquitto = {
|
||||||
|
enable = true;
|
||||||
|
listeners = [
|
||||||
|
{
|
||||||
|
acl = [ "pattern readwrite #" ];
|
||||||
|
omitPasswordAuth = true;
|
||||||
|
address = "127.0.0.1";
|
||||||
|
settings.allow_anonymous = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
zigbee2mqtt = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
mqtt = {
|
||||||
|
server = "mqtt://${(head config.services.mosquitto.listeners).address}:${toString (head config.services.mosquitto.listeners).port}";
|
||||||
|
};
|
||||||
|
frontend = {
|
||||||
|
port = 8080;
|
||||||
|
host = "127.0.0.1";
|
||||||
|
url = "https://zigbee.nyanlout.re";
|
||||||
|
};
|
||||||
|
groups = {
|
||||||
|
"101" = {
|
||||||
|
friendly_name = "salon";
|
||||||
|
devices = [
|
||||||
|
"0x94deb8fffe760f3d"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"102" = {
|
||||||
|
friendly_name = "cuisine";
|
||||||
|
devices = [
|
||||||
|
"0x003c84fffe6d9ee6"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"103" = {
|
||||||
|
friendly_name = "entrée";
|
||||||
|
devices = [
|
||||||
|
"0x84ba20fffe5ec243"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"104" = {
|
||||||
|
friendly_name = "tout";
|
||||||
|
devices = [
|
||||||
|
"0x94deb8fffe760f3d"
|
||||||
|
"0x003c84fffe6d9ee6"
|
||||||
|
"0x84ba20fffe5ec243"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"107" = {
|
||||||
|
friendly_name = "chambre";
|
||||||
|
devices = [
|
||||||
|
"0x84ba20fffe5eb120"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home-assistant = {
|
home-assistant = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraComponents = [
|
extraComponents = [
|
||||||
@ -192,37 +252,26 @@ in
|
|||||||
config = {
|
config = {
|
||||||
default_config = {};
|
default_config = {};
|
||||||
homeassistant = {
|
homeassistant = {
|
||||||
|
country = "FR";
|
||||||
latitude = 48.60038;
|
latitude = 48.60038;
|
||||||
longitude = 7.74063;
|
longitude = 7.74063;
|
||||||
elevation = 146;
|
elevation = 146;
|
||||||
};
|
};
|
||||||
meteo_france = null;
|
meteo_france = null;
|
||||||
#influxdb = null;
|
|
||||||
#config = null;
|
|
||||||
#dhcp = null;
|
|
||||||
#frontend = null;
|
|
||||||
#history = null;
|
|
||||||
http = {
|
http = {
|
||||||
use_x_forwarded_for = true;
|
use_x_forwarded_for = true;
|
||||||
trusted_proxies = [ "127.0.0.1" ];
|
trusted_proxies = [ "127.0.0.1" ];
|
||||||
};
|
};
|
||||||
#logbook = null;
|
mqtt = null;
|
||||||
#map = null;
|
|
||||||
#mobile_app = null;
|
|
||||||
#person = null;
|
|
||||||
#script = null;
|
|
||||||
#sun = null;
|
|
||||||
#system_health = null;
|
|
||||||
zha = null;
|
|
||||||
esphome = null;
|
esphome = null;
|
||||||
light = [
|
light = [
|
||||||
{
|
{
|
||||||
platform = "group";
|
platform = "group";
|
||||||
name = "Salon";
|
name = "Salon";
|
||||||
entities = [
|
entities = [
|
||||||
"light.ikea_of_sweden_tradfri_bulb_e27_cws_806lm_e69e6dfe_level_light_color_on_off"
|
"light.salon_light"
|
||||||
"light.ikea_of_sweden_tradfri_bulb_e27_cws_806lm_43c25efe_level_light_color_on_off"
|
"light.cuisine_light"
|
||||||
"light.ikea_of_sweden_tradfri_bulb_e27_cws_806lm_3d0f76fe_level_light_color_on_off"
|
"light.entree_light"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@ -267,282 +316,6 @@ in
|
|||||||
# };
|
# };
|
||||||
# }
|
# }
|
||||||
#];
|
#];
|
||||||
#switch = [
|
|
||||||
# {
|
|
||||||
# platform = "wake_on_lan";
|
|
||||||
# name = "PC Fixe";
|
|
||||||
# mac = "b4:2e:99:ed:24:26";
|
|
||||||
# host = "10.30.135.71";
|
|
||||||
# broadcast_address = "10.30.255.255";
|
|
||||||
# }
|
|
||||||
#];
|
|
||||||
#device_tracker = [
|
|
||||||
# {
|
|
||||||
# platform = "ping";
|
|
||||||
# hosts = { telephone_paul = "10.30.50.2"; };
|
|
||||||
# }
|
|
||||||
#];
|
|
||||||
#scene = [
|
|
||||||
# {
|
|
||||||
# name = "Movie";
|
|
||||||
# icon = "mdi:movie-open";
|
|
||||||
# entities = {
|
|
||||||
# "light.salon" = {
|
|
||||||
# state = "on";
|
|
||||||
# xy_color = [0.299 0.115];
|
|
||||||
# brightness = 50;
|
|
||||||
# };
|
|
||||||
# "light.bande_led_tv" = {
|
|
||||||
# state = "on";
|
|
||||||
# effect = "Movie";
|
|
||||||
# brightness = 180;
|
|
||||||
# };
|
|
||||||
# "light.bande_led_bureau" = {
|
|
||||||
# state = "on";
|
|
||||||
# xy_color = [0.299 0.115];
|
|
||||||
# brightness = 130;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# name = "Home";
|
|
||||||
# icon = "mdi:home";
|
|
||||||
# entities = {
|
|
||||||
# "light.salon" = {
|
|
||||||
# state = "on";
|
|
||||||
# kelvin = 2700;
|
|
||||||
# brightness = 255;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# name = "Night";
|
|
||||||
# icon = "mdi:weather-night";
|
|
||||||
# entities = {
|
|
||||||
# "light.salon" = {
|
|
||||||
# state = "off";
|
|
||||||
# };
|
|
||||||
# "light.bande_led_tv" = {
|
|
||||||
# state = "off";
|
|
||||||
# };
|
|
||||||
# "light.bande_led_bureau" = {
|
|
||||||
# state = "off";
|
|
||||||
# };
|
|
||||||
# "light.chambre" = {
|
|
||||||
# state = "on";
|
|
||||||
# kelvin = 1900;
|
|
||||||
# brightness = 50;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
#];
|
|
||||||
#automation = let
|
|
||||||
# min_sun_elevation = 4;
|
|
||||||
|
|
||||||
# switch_chambre = {
|
|
||||||
# domain = "zha";
|
|
||||||
# platform = "device";
|
|
||||||
# device_id = "3329ecdcad244e5e8fc0f4b96d52ffe1";
|
|
||||||
# };
|
|
||||||
|
|
||||||
# switch_entree = {
|
|
||||||
# domain = "zha";
|
|
||||||
# platform = "device";
|
|
||||||
# device_id = "7cd814190ec543dba76a7aa7e7996c41";
|
|
||||||
# };
|
|
||||||
|
|
||||||
# remote = {
|
|
||||||
# domain = "zha";
|
|
||||||
# platform = "device";
|
|
||||||
# device_id = "d1230b76264e483388a8fdaad4f44143";
|
|
||||||
# };
|
|
||||||
#in [
|
|
||||||
# # ENTREE
|
|
||||||
|
|
||||||
# {
|
|
||||||
# alias = "Aziz lumière";
|
|
||||||
# trigger = [
|
|
||||||
# {
|
|
||||||
# platform = "numeric_state";
|
|
||||||
# entity_id = "sun.sun";
|
|
||||||
# value_template = "{{ state.attributes.elevation }}";
|
|
||||||
# below = min_sun_elevation;
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# condition = [
|
|
||||||
# {
|
|
||||||
# condition = "state";
|
|
||||||
# entity_id = "person.paul";
|
|
||||||
# state = "home";
|
|
||||||
# }
|
|
||||||
# # Sun below max elevation
|
|
||||||
# {
|
|
||||||
# condition = "template";
|
|
||||||
# value_template = "{{ state_attr('sun.sun', 'elevation') < ${toString min_sun_elevation} }}";
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# action = {
|
|
||||||
# scene = "scene.home";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Aziz lumière switch";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "turn_on";
|
|
||||||
# } // switch_entree;
|
|
||||||
# action = {
|
|
||||||
# scene = "scene.home";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Adios";
|
|
||||||
# trigger = [
|
|
||||||
# {
|
|
||||||
# platform = "state";
|
|
||||||
# entity_id = "person.paul";
|
|
||||||
# to = "not_home";
|
|
||||||
# }
|
|
||||||
# ({
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "turn_off";
|
|
||||||
# } // switch_entree)
|
|
||||||
# ];
|
|
||||||
# action = [
|
|
||||||
# {
|
|
||||||
# service = "light.turn_off";
|
|
||||||
# entity_id = "all";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# service = "media_player.turn_off";
|
|
||||||
# entity_id = "all";
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# }
|
|
||||||
|
|
||||||
# # REMOTE
|
|
||||||
|
|
||||||
# {
|
|
||||||
# alias = "Button toggle";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "turn_on";
|
|
||||||
# } // remote;
|
|
||||||
# action = {
|
|
||||||
# choose = {
|
|
||||||
# conditions = {
|
|
||||||
# condition = "template";
|
|
||||||
# value_template = ''
|
|
||||||
# {% set domain = 'light' %}
|
|
||||||
# {% set state = 'off' %}
|
|
||||||
# {{ states[domain] | count == states[domain] | selectattr('state','eq',state) | list | count }}
|
|
||||||
# '';
|
|
||||||
# };
|
|
||||||
# sequence = {
|
|
||||||
# scene = "scene.home";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# default = {
|
|
||||||
# service = "light.turn_off";
|
|
||||||
# entity_id = "all";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Button scene movie";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "right";
|
|
||||||
# } // remote;
|
|
||||||
# action = {
|
|
||||||
# scene = "scene.movie";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Button scene home";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "left";
|
|
||||||
# } // remote;
|
|
||||||
# action = {
|
|
||||||
# scene = "scene.home";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Button light up";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "dim_up";
|
|
||||||
# } // remote;
|
|
||||||
# action = {
|
|
||||||
# service = "light.turn_on";
|
|
||||||
# entity_id = "light.salon";
|
|
||||||
# data = {
|
|
||||||
# brightness_step = 25;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Button light down";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "dim_down";
|
|
||||||
# } // remote;
|
|
||||||
# action = {
|
|
||||||
# service = "light.turn_on";
|
|
||||||
# entity_id = "light.salon";
|
|
||||||
# data = {
|
|
||||||
# brightness_step = -25;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
|
|
||||||
# # CHAMBRE
|
|
||||||
|
|
||||||
# {
|
|
||||||
# alias = "Button scene night";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "turn_on";
|
|
||||||
# } // switch_chambre;
|
|
||||||
# action = {
|
|
||||||
# scene = "scene.night";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Button scene dodo";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_short_press";
|
|
||||||
# subtype = "turn_off";
|
|
||||||
# } // switch_chambre;
|
|
||||||
# action = {
|
|
||||||
# service = "light.turn_off";
|
|
||||||
# entity_id = "all";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Button scene lumière chambre ON";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_long_press";
|
|
||||||
# subtype = "dim_up";
|
|
||||||
# } // switch_chambre;
|
|
||||||
# action = {
|
|
||||||
# service = "light.turn_on";
|
|
||||||
# entity_id = "light.chambre";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# alias = "Button scene lumière chambre OFF";
|
|
||||||
# trigger = {
|
|
||||||
# type = "remote_button_long_press";
|
|
||||||
# subtype = "dim_down";
|
|
||||||
# } // switch_chambre;
|
|
||||||
# action = {
|
|
||||||
# service = "light.turn_off";
|
|
||||||
# entity_id = "light.chambre";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
#];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -269,6 +269,11 @@ in
|
|||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"zigbee.nyanlout.re" = recursiveUpdate (authReverse config.services.zigbee2mqtt.settings.frontend.port) {
|
||||||
|
locations."/" = {
|
||||||
|
proxyWebsockets = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
"apart.nyanlout.re" = recursiveUpdate (simpleReverse config.services.home-assistant.config.http.server_port) {
|
"apart.nyanlout.re" = recursiveUpdate (simpleReverse config.services.home-assistant.config.http.server_port) {
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
@ -337,6 +342,9 @@ in
|
|||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
globalRedirect = "amandoline-creations.fr";
|
globalRedirect = "amandoline-creations.fr";
|
||||||
};
|
};
|
||||||
|
"challenge.amandoline-creations.fr" = base {
|
||||||
|
"/".alias = "/var/www/amandoline-challenge/";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user