Посели божество в своём умном доме
Следим за героем Godville в умном доме Home Assistant
Первое что нам нужно сделать , это получить ключ API в профиле игрока https://godville.net/user/profile . Он нужен нам чтобы получать расширенную информацию о герое.

Данные о герое будут доступны в формате JSON по ссылке https://godville.net/gods/api/<GOD_NAME>/<TOKEN> Выглядит все это примерно так :
{
"name": "Победиктус",
"godname": "Jeckill",
"gender": "male",
"level": 63,
"max_health": 348,
"inventory_max_num": 38,
"motto": "Что посмеешь,то и пожмёшь",
"clan": "Time Sliders",
"clan_position": "фанат",
"alignment": "нейтральный",
"bricks_cnt": 1000,
"wood_cnt": 625,
"temple_completed_at": "2016-10-23T01:13:13+03:00",
"pet": {
"pet_name": "Рыжик «Твердолобый»",
"pet_class": "дракошка",
"pet_level": 16
},
"ark_completed_at": null,
"arena_won": 25,
"arena_lost": 34,
"savings": "2592 тысячи",
"health": 97,
"quest_progress": 25,
"exp_progress": 63,
"godpower": 100,
"gold_approx": "около 6 тысяч",
"diary_last": "Перед смертью Сюжетный Полосёнок рассказал мне, чем закончится квест. Жаль, что убить его можно только один раз.",
"town_name": "",
"distance": 20,
"arena_fight": false,
"inventory_num": 10,
"quest": "объявить выговор участникам заговора",
"activatables": []
}
Данные обновляются раз в минуту , нам больше и не надо. Для получения данных в Home Assistant будем использовать RESTful Sensor. Добавим в configuration.yaml
следующие строчки (не забывайте заменить имя бога и токен):
sensor:
- platform: rest
resource: https://godville.net/gods/api/GOD_NAME/TOKEN
name: godville
json_attributes:
- health
- level
- diary_last
- town_name
- arena_fight
- quest
- gold_approx
value_template: '{{ value_json.id }}'
scan_interval: 60
Кроме значения сенсора (value_template
) в секции attributes
мы перечисляем атрибуты, которые мы хотим извлечь из ответа сервиса и добавить к нашему сенсору sensors.godville
. Мы можем легко получить значение атрибутов с помощью платформы template sensor Home Assistant.
- platform: template
sensors:
god_health:
value_template: '{{ states.sensor.godville.attributes.health }}'
friendly_name: 'Здоровье Героя'
unit_of_measurement: ''
god_level:
value_template: '{{ states.sensor.godville.attributes.level }}'
friendly_name: 'Уровень Героя'
unit_of_measurement: ''
god_city:
value_template: '{{ states.sensor.godville.attributes.town_name }}'
friendly_name: 'Город'
unit_of_measurement: ''
quest_city:
value_template: '{{ states.sensor.godville.attributes.quest }}'
friendly_name: 'Квест'
unit_of_measurement: ''
arena_fight:
value_template: '{{ states.sensor.godville.attributes.arena_fight }}'
friendly_name: 'На Арене'
unit_of_measurement: ''
diary_last:
value_template: '{{ states.sensor.godville.attributes.diary_last }}'
friendly_name: 'Дневник'
unit_of_measurement: ''
gold_approx:
value_template: '{{ states.sensor.godville.attributes.gold_approx }}'
friendly_name: 'Золото'
unit_of_measurement: ''
Сохраняем, перезапускаем Home Assistant и проверяем:

Теперь можно писать автоматизации на основе полученных данных, менять иконки и многое другое. Зачем все это? Просто потому что мы можем!
За Годвилль всегда ++++