summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/bureautomation/multi/matrix.nix
blob: 4fcfe8da4ce90e2cfd5bad510045e810ff4147e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{ lib, ... }:
#matrix:
#  password: supersecurepassword
#  rooms:
#    - "#hasstest:matrix.org"
#  commands:
#    - word: my_command
#      name: my_command
let
  mom_room = "!kTQjvTQvfVsvfEtmth:thales.citadel.team";
in {
  matrix =
  {
    # secrets:
    # homeserver, username, password
    homeserver = "https://ext01.citadel.team";
    rooms = [
      mom_room
    ];
    commands = [
    {
      # alternative: expression for regexp
      word = "version";
      name = "version";
    }
    {
      word = "luftqualität";
      name = "luftqualitaet";
    }
  ];
  }  // (builtins.fromJSON (builtins.readFile
  <secrets/hass/citadel-bot.json>));
  automation = [
    {
      alias = "React to !version";
      trigger = {
        platform = "event";
        event_type = "matrix_command";
        event_data.command = "version";
      };
      action = {
        service = "notify.matrix_notify";
        data_template.message = "Running home-assistant {{states.sensor.current_version.state}}";
      };
    }
    {
      alias = "React to !luftqualität";
      trigger = {
        platform = "event";
        event_type = "matrix_command";
        event_data.command = "luftqualitaet";
      };
      action = {
        service = "notify.matrix_notify";
        data_template.message = ''Temp: {{states.sensor.notizen_temperature.state_with_unit | replace (" ","")}}, Hum:{{states.sensor.notizen_humidity.state_with_unit | replace (" ","")}}, airquality:{{states.sensor.air_quality.state_with_unit}}'';
      };
    }

  ];
  notify = [{
    name = "matrix_notify";
    platform = "matrix";
    default_room = mom_room;
  }];
}