ma wbob.r: more automation

This commit is contained in:
makefu 2018-11-05 13:51:28 +01:00
parent ea3afff611
commit 2487cbc882
No known key found for this signature in database
GPG Key ID: 36F7711F3FC0F225
3 changed files with 124 additions and 28 deletions

View File

@ -11,10 +11,10 @@ in {
<stockholm/makefu> <stockholm/makefu>
<stockholm/makefu/2configs/zsh-user.nix> <stockholm/makefu/2configs/zsh-user.nix>
<stockholm/makefu/2configs/tools/core.nix> <stockholm/makefu/2configs/tools/core.nix>
<stockholm/makefu/2configs/disable_v6.nix> # <stockholm/makefu/2configs/disable_v6.nix>
# <stockholm/makefu/2configs/tools/core-gui.nix> <stockholm/makefu/2configs/tools/core-gui.nix>
# <stockholm/makefu/2configs/tools/extra-gui.nix> <stockholm/makefu/2configs/tools/extra-gui.nix>
# <stockholm/makefu/2configs/tools/media.nix> <stockholm/makefu/2configs/tools/media.nix>
<stockholm/makefu/2configs/virtualisation/libvirt.nix> <stockholm/makefu/2configs/virtualisation/libvirt.nix>
<stockholm/makefu/2configs/tinc/retiolum.nix> <stockholm/makefu/2configs/tinc/retiolum.nix>
<stockholm/makefu/2configs/mqtt.nix> <stockholm/makefu/2configs/mqtt.nix>
@ -33,9 +33,6 @@ in {
<stockholm/makefu/2configs/share/wbob.nix> <stockholm/makefu/2configs/share/wbob.nix>
<stockholm/makefu/2configs/bluetooth-mpd.nix> <stockholm/makefu/2configs/bluetooth-mpd.nix>
{
users.users.makefu.extraGroups = [ "pulse" ];
}
# Sensors # Sensors
<stockholm/makefu/2configs/stats/telegraf> <stockholm/makefu/2configs/stats/telegraf>
@ -46,10 +43,11 @@ in {
<stockholm/makefu/2configs/deployment/led-fader.nix> <stockholm/makefu/2configs/deployment/led-fader.nix>
<stockholm/makefu/2configs/hw/mceusb.nix> <stockholm/makefu/2configs/hw/mceusb.nix>
# <stockholm/makefu/2configs/stats/telegraf/bamstats.nix> # <stockholm/makefu/2configs/stats/telegraf/bamstats.nix>
{ environment.systemPackages = [ pkgs.vlc ]; }
<stockholm/makefu/2configs/deployment/bureautomation> <stockholm/makefu/2configs/deployment/bureautomation>
<stockholm/makefu/2configs/deployment/bureautomation/mpd.nix>
<stockholm/makefu/2configs/deployment/bureautomation/hass.nix> <stockholm/makefu/2configs/deployment/bureautomation/hass.nix>
(let (let
collectd-port = 25826; collectd-port = 25826;

View File

@ -12,7 +12,7 @@ let
payload_not_available= "Offline"; payload_not_available= "Offline";
}; };
tasmota_stecki = name: topic: tasmota_stecki = name: topic:
( tasmota_plug name topic) // ( tasmota_plug name topic) //
{ state_topic = "/bam/${topic}/stat/POWER"; { state_topic = "/bam/${topic}/stat/POWER";
command_topic = "/bam/${topic}/cmnd/POWER"; command_topic = "/bam/${topic}/cmnd/POWER";
}; };
@ -43,9 +43,6 @@ let
}; };
in { in {
networking.firewall.allowedTCPPorts = [ 8123 ]; networking.firewall.allowedTCPPorts = [ 8123 ];
nixpkgs.config.permittedInsecurePackages = [
"homeassistant-0.65.5"
];
services.home-assistant = { services.home-assistant = {
enable = true; enable = true;
@ -53,6 +50,9 @@ in {
homeassistant = { homeassistant = {
name = "Bureautomation"; name = "Bureautomation";
time_zone = "Europe/Berlin"; time_zone = "Europe/Berlin";
latitude = "48.8265";
longitude = "9.0676";
elevation = 303;
}; };
mqtt = { mqtt = {
@ -101,26 +101,109 @@ in {
sensorid = "5341"; sensorid = "5341";
monitored_conditions = [ "P1" "P2" ]; monitored_conditions = [ "P1" "P2" ];
} }
{ platform = "influxdb";
queries = [ { platform = "darksky";
{ name = "mean value of feinstaub P1"; api_key = lib.removeSuffix "\n"
where = '' "node" = 'esp8266-1355142' ''; (builtins.readFile <secrets/hass/darksky.apikey>);
measurement = "feinstaub"; language = "de";
database = "telegraf"; monitored_conditions = [ "summary" "icon"
field = "P1"; "nearest_storm_distance" "precip_probability"
} "precip_intensity"
{ name = "mean value of feinstaub P2"; "temperature" # "temperature_high" "temperature_low"
where = '' "node" = 'esp8266-1355142' ''; "apparent_temperature"
measurement = "feinstaub"; "hourly_summary" # next 24 hours text
database = "telegraf"; "minutely_summary"
field = "P2"; "humidity"
} "pressure"
]; "uv_index" ];
units = "si" ;
update_interval = {
days = 0;
hours = 0;
minutes = 30;
seconds = 0;
};
}
#{ platform = "influxdb";
# queries = [
# { name = "mean value of feinstaub P1";
# where = '' "node" = 'esp8266-1355142' '';
# measurement = "feinstaub";
# database = "telegraf";
# field = "P1";
# }
# { name = "mean value of feinstaub P2";
# where = '' "node" = 'esp8266-1355142' '';
# measurement = "feinstaub";
# database = "telegraf";
# field = "P2";
# }
# ];
#}
];
camera = [
{ name = "Baumarkt";
platform = "generic";
still_image_url = http://t4915209254324-p80-c0-h6jv2afnujcoftrcstsafb45kdrqv4buy.webdirect.mdex.de/oneshotimage ;# baumarkt
}
{ name = "Autobahn Heilbronn";
platform = "generic";
still_image_url = https://api.svz-bw.de/v2/verkehrskameras/kameras/K10 ;
}
{ name = "Autobahn Singen";
platform = "generic";
still_image_url = https://api.svz-bw.de/v2/verkehrskameras/kameras/K11 ;
} }
]; ];
frontend = { }; frontend = { };
http = { }; http = { };
feedreader.urls = [ "http://www.heise.de/security/rss/news-atom.xml" ]; conversation = {};
history = {};
logbook = {};
tts = [ { platform = "google";} ];
recorder = {};
group =
{ default_view =
{ view = "yes";
entities = [
"group.sensors"
"group.outside"
"group.switches"
"group.automation"
"group.camera"
];
};
automation = [
"automation.turn_off_fernseher_10_minutes_after_last_movement"
];
switches = [
"switch.bauarbeiterlampe"
"switch.blitzdings"
"switch.fernseher"
"switch.pluggy"
];
camera = [
"camera.Baumarkt"
"camera.Autobahn_Heilbronn"
"camera.Autobahn_Singen"
];
sensors = [
"binary_sensor.motion"
"sensor.easy2_dht22_humidity"
"sensor.easy2_dht22_temperature"
];
outside = [
"sensor.ditzingen_pm10"
"sensor.ditzingen_pm25"
"sensor.dark_sky_temperature"
"sensor.dark_sky_humidity"
"sensor.dark_sky_pressure"
"sensor.dark_sky_hourly_summary"
"sensor.dark_sky_minutely_summary"
];
};
# only for automation
# feedreader.urls = [ "http://www.heise.de/security/rss/news-atom.xml" ];
automation = [ automation = [
{ alias = "Turn on Fernseher on movement"; { alias = "Turn on Fernseher on movement";
trigger = { trigger = {
@ -144,6 +227,12 @@ in {
service= "homeassistant.turn_off"; service= "homeassistant.turn_off";
entity_id= "switch.fernseher"; entity_id= "switch.fernseher";
}; };
condition = [{
condition = "time";
before = "06:30:00"; #only turn off between 6:30 and 18:00
after = "18:00:00";
weekday = [ "mon" "tue" "wed" "thu" "fri" ];
}];
} }
]; ];
}; };

View File

@ -0,0 +1,9 @@
{lib,pkgs, ... }:
{
systemd.services."ympd-wbob" = {
description = "mpd ";
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host localhost --port 6600 --webport 8866 --user nobody";
};
}