summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/home/ham
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/home/ham')
-rw-r--r--makefu/2configs/home/ham/default.nix9
-rw-r--r--makefu/2configs/home/ham/device_tracker/openwrt.nix2
-rw-r--r--makefu/2configs/home/ham/nginx.nix2
-rw-r--r--makefu/2configs/home/ham/zigbee2mqtt.nix130
4 files changed, 136 insertions, 7 deletions
diff --git a/makefu/2configs/home/ham/default.nix b/makefu/2configs/home/ham/default.nix
index 33e406e0b..ee3b62428 100644
--- a/makefu/2configs/home/ham/default.nix
+++ b/makefu/2configs/home/ham/default.nix
@@ -5,7 +5,7 @@
##
let
prefix = (import ./lib).prefix;
- firetv_stick = "192.168.1.24";
+ firetv_stick = "192.168.111.24";
hassdir = "/var/lib/hass";
unstable = import <nixpkgs-unstable> {};
@@ -17,7 +17,7 @@ in {
./signal-rest
# hass config
- ../zigbee2mqtt/hass.nix
+ ./zigbee2mqtt.nix
# ./multi/flurlicht.nix
./multi/kurzzeitwecker.nix
./multi/the_playlist.nix
@@ -48,8 +48,7 @@ in {
})).override {
extraPackages = p: [
(p.callPackage ./deps/dwdwfsapi.nix {})
- (p.callPackage ./deps/pykodi.nix {})
- p.APScheduler ];
+ (p.callPackage ./deps/pykodi.nix {}) ];
};
config = {
@@ -92,7 +91,7 @@ in {
}
];
api = {};
- esphome = {};
+ esphome = {}; # fails
camera = [];
#telegram_bot = [
# # secrets file: {
diff --git a/makefu/2configs/home/ham/device_tracker/openwrt.nix b/makefu/2configs/home/ham/device_tracker/openwrt.nix
index 0a34f702a..c2b0353c6 100644
--- a/makefu/2configs/home/ham/device_tracker/openwrt.nix
+++ b/makefu/2configs/home/ham/device_tracker/openwrt.nix
@@ -2,7 +2,7 @@
services.home-assistant.config.device_tracker =
[
{ platform = "luci";
- host = "192.168.1.5";
+ host = "192.168.111.5";
username = "root";
password = import <secrets/hass/router.nix>;
interval_seconds = 30; # instead of 12seconds
diff --git a/makefu/2configs/home/ham/nginx.nix b/makefu/2configs/home/ham/nginx.nix
index e166b2a4b..cd99c0739 100644
--- a/makefu/2configs/home/ham/nginx.nix
+++ b/makefu/2configs/home/ham/nginx.nix
@@ -1,5 +1,5 @@
let
- internal-ip = "192.168.1.11";
+ internal-ip = "192.168.111.11";
in {
services.nginx.recommendedProxySettings = true;
services.nginx.virtualHosts."hass" = {
diff --git a/makefu/2configs/home/ham/zigbee2mqtt.nix b/makefu/2configs/home/ham/zigbee2mqtt.nix
new file mode 100644
index 000000000..7809dbb51
--- /dev/null
+++ b/makefu/2configs/home/ham/zigbee2mqtt.nix
@@ -0,0 +1,130 @@
+# provides:
+# switch
+# automation
+# binary_sensor
+# sensor
+# input_select
+# timer
+let
+ inherit (import ./lib) zigbee;
+ prefix = zigbee.prefix;
+in
+{
+ services.home-assistant.config = {
+ sensor =
+
+ [
+ # Sensor for monitoring the bridge state
+ {
+ platform = "mqtt";
+ name = "Zigbee2mqtt Bridge state";
+ state_topic = "${prefix}/bridge/state";
+ icon = "mdi:router-wireless";
+ }
+ # Sensor for Showing the Zigbee2mqtt Version
+ {
+ platform = "mqtt";
+ name = "Zigbee2mqtt Version";
+ state_topic = "${prefix}/bridge/config";
+ value_template = "{{ value_json.version }}";
+ icon = "mdi:zigbee";
+ }
+ # Sensor for Showing the Coordinator Version
+ {
+ platform = "mqtt";
+ name = "Coordinator Version";
+ state_topic = "${prefix}/bridge/config";
+ value_template = "{{ value_json.coordinator }}";
+ icon = "mdi:chip";
+ }
+ ];
+ switch = [
+ {
+ platform = "mqtt";
+ name = "Zigbee2mqtt Main join";
+ state_topic = "${prefix}/bridge/config/permit_join";
+ command_topic = "${prefix}/bridge/config/permit_join";
+ payload_on = "true";
+ payload_off = "false";
+ }
+ ];
+ automation = [
+ {
+ alias = "Zigbee2mqtt Log Level";
+ initial_state = "on";
+ trigger = {
+ platform = "state";
+ entity_id = "input_select.zigbee2mqtt_log_level";
+ };
+ action = [
+ {
+ service = "mqtt.publish";
+ data = {
+ payload_template = "{{ states('input_select.zigbee2mqtt_log_level') }}";
+ topic = "${prefix}/bridge/config/log_level";
+ };
+ }
+ ];
+ }
+ # Automation to start timer when enable join is turned on
+ {
+ id = "zigbee_join_enabled";
+ alias = "Zigbee Join Enabled";
+ trigger =
+ {
+ platform = "state";
+ entity_id = "switch.zigbee2mqtt_main_join";
+ to = "on";
+ };
+ action =
+ {
+ service = "timer.start";
+ entity_id = "timer.zigbee_permit_join";
+ };
+ }
+ # # Automation to stop timer when switch turned off and turn off switch when timer finished
+ {
+ id = "zigbee_join_disabled";
+ alias = "Zigbee Join Disabled";
+ trigger = [
+ {
+ platform = "event";
+ event_type = "timer.finished";
+ event_data.entity_id = "timer.zigbee_permit_join";
+ }
+ {
+ platform = "state";
+ entity_id = "switch.zigbee2mqtt_main_join";
+ to = "off";
+ }
+ ];
+ action = [
+ { service = "timer.cancel";
+ data.entity_id = "timer.zigbee_permit_join";
+ }
+ { service = "switch.turn_off";
+ entity_id = "switch.zigbee2mqtt_main_join";
+ }
+ ];
+ }
+ ];
+ input_select.zigbee2mqtt_log_level =
+ {
+ name = "Zigbee2mqtt Log Level";
+ options = [
+ "debug"
+ "info"
+ "warn"
+ "error"
+ ];
+ initial = "info";
+ icon = "mdi:format-list-bulleted";
+ };
+
+ timer.zigbee_permit_join =
+ {
+ name = "Zigbee Time remaining";
+ duration = 120;
+ };
+ };
+}