Перейти к содержимому
Washy washy

Горячие клавиши

j
Прокрутить вниз
k
Прокрутить вверх
g g
Перейти в начало
G
Перейти в конец
/
Фокус на поле поиска страницы
?
Показать/скрыть эту справку
Esc
Закрыть эту справку

Файлы таблицы и машины

Один JSON-объект описывает всё: вашу стиральную машину и утюг под machine и по одной записи на каждую стопку белья под chart. И CLI, и загрузка в веб-приложении принимают именно эту форму — это то, что проверяет parseConfig из @washy-washy/core.

{
"machine": { "washer": { "..." }, "iron": { "..." } },
"chart": [{ "clothing_type": "..." }]
}

Каждая запись под chart — это одна стопка:

Поле Что туда вписывать
clothing_type Как вы называете стопку — это заголовок карточки
detergent Какое моющее средство и сколько
fabric_softener yes или no
temperature Температура, которую предлагает ваша машина
spin Скорость отжима, которую предлагает ваша машина
duration Примерно, сколько длится, в формате ~Ч:ММ
program Положение регулятора, написанное точно как на панели
options Кнопки опций через вертикальную черту; пусто, если их нет
ironing yes или no — гладите ли вы это вообще
ironing_notes Текст: как это гладить или почему вы этого не делаете. Часто пусто
iron_setting Положение термостата. Пусто, если ironing равно no
drying Текст: как это сушить
colour_group white, colour, dark, sport или any
mix_tags Через вертикальную черту: lint-shedder, lint-magnet, dye-bleeder, solo
notes Всё остальное, что стоит знать

Каждое значение, относящееся к машине, — program, temperature, spin, options, iron_setting — проверяется по тому, что предлагает ваша собственная machine, поэтому опечатка приводит к ошибке с точным указанием строки и столбца, а не к карточке, которая велит повернуть регулятор туда, куда он повернуться не может.

machine.washer перечисляет подписи регулятора в физическом порядке, а также температуры, скорости отжима и кнопки опций, которые предлагает дисплей. machine.iron перечисляет положения термостата от самого холодного до самого горячего. Копируйте каждую подпись в точности так, как она напечатана перед вами, на каком бы языке она ни была — здесь никогда не переводится подпись на панели, потому что таблица, которую приходится переводить обратно, стоя у машины, хуже, чем отсутствие таблицы вовсе.

Порядок washer.programs имеет значение: первая запись — это положение «выключено», нарисованное на двенадцати часах, и угол каждой следующей метки берётся из её позиции в списке. Пропуск одной записи не просто убирает её — он сдвигает каждую метку после неё.

Собственный редактор веб-приложения /config/machine записывает именно эту форму — изменение порядка списка программ там даёт ровно тот же результат, что и изменение порядка в JSON-массиве:

Таблица скоростей отжима, кнопок и настроек утюга в редакторе машины Таблица скоростей отжима, кнопок и настроек утюга в редакторе машины
{
"washer": {
"name": "Generic front loader",
"capacity": "1–8 kg",
"programs": ["Off", "Cottons", "Delicates / Silk", "Wool"],
"temperatures": ["cold", "20", "30", "40", "60", "90"],
"spins": ["0", "400", "600", "800", "1200", "1400"],
"options": ["Speed", "Eco", "Easy Iron", "Extra Rinse"]
},
"iron": {
"name": "Generic steam iron",
"settings": [
{
"key": "min",
"dots": "",
"label": "MIN",
"detail": "no heat",
"steam": false
},
{
"key": "3",
"dots": "•••",
"label": "•••",
"detail": "cotton, linen · 200 °C",
"steam": true
}
]
}
}

Две стопки могут делить один барабан, только если верно всё перечисленное, проверяемое в этом порядке — первый пункт, который не выполняется, и есть причина, которую показала бы матрица совместимости:

  1. Ни одна из них не помечена как solo.
  2. Если одна из них — lint-shedder, то и другая должна быть такой же.
  3. Их colour_group совпадает (any подходит ко всему).
  4. program, temperature, spin и набор options идентичны.

Стопки объединяются в одну карточку с общим рисунком регулятора, если совпадает всё, что вы физически настраиваете: программа, температура, отжим, опции, добавляется ли кондиционер и куда указывает термостат утюга. Текстовые поля (detergent, drying, notes) намеренно не участвуют в этой проверке — две стопки могут требовать разное моющее средство и всё равно делить карточку, при этом карточка сопоставляет обе строки с той стопкой, к которой они относятся.