forked from Flo-R1der/ambientika-smart_4_home-assistant
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsensors.yaml
130 lines (126 loc) · 5.41 KB
/
sensors.yaml
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# here, MULTIPLE sensors are set up using the same REST-endpoint
rest:
- resource: !secret device-status-1
headers:
Authorization: >
Bearer {{ states("input_text.ambientika_access_token") }}
sensor:
- unique_id: ambientika_1_operatingMode
value_template: "{{ value_json.operatingMode | is_defined }}"
name: Ambientika 1 Operating Mode
icon: mdi:leaf-circle-outline
- unique_id: ambientika_1_lastOperatingMode
value_template: "{{ value_json.lastOperatingMode | is_defined }}"
name: Ambientika 1 lastOperatingMode
- unique_id: ambientika_1_fanSpeed
value_template: "{{ value_json.fanSpeed | is_defined }}"
# this is the defined fan speed for Mode: "ManualHeatRecovery"
name: Ambientika 1 Fan-Speed
icon: >-
{% if states('sensor.ambientika_1_fan_speed') == 'Low' %}
mdi:fan-speed-1
{% elif states('sensor.ambientika_1_fan_speed') == 'Medium' %}
mdi:fan-speed-2
{% elif states('sensor.ambientika_1_fan_speed') == 'High' %}
mdi:fan-speed-3
{% else %} mdi:fan-alert {% endif %}
- unique_id: ambientika_1_humidityLevel
value_template: "{{ value_json.humidityLevel | is_defined }}"
# this is the defined humidityLevel for Mode: "Auto" and "Survillance"
name: Ambientika 1 Humidity-Level
icon: mdi:water
- unique_id: ambientika_1_filtersStatus
value_template: "{{ value_json.filtersStatus | is_defined }}"
name: Ambientika 1 Filter-Status
icon: mdi:air-filter
- unique_id: ambientika_1_temperature
value_template: "{{ float(value_json.temperature, default='unavailable') }}"
name: Ambientika 1 Temperature (raw)
icon: mdi:thermometer
device_class: temperature
unit_of_measurement: "°C"
- unique_id: ambientika_1_humidity
value_template: "{{ float(value_json.humidity, default='unavailable') }}"
name: Ambientika 1 Humidity (raw)
icon: mdi:water-percent
device_class: humidity
unit_of_measurement: "%"
- unique_id: ambientika_1_airQuality
value_template: "{{ value_json.airQuality | is_defined }}"
name: Ambientika 1 Air-Quality
icon: mdi:molecule-co2
- unique_id: ambientika_1_deviceRole
value_template: "{{ value_json.deviceRole | is_defined }}"
name: Ambientika 1 Device-Role
icon: >-
{% if states('sensor.ambientika_1_device_role') == 'Master' %}
mdi:star-box
{% elif states('sensor.ambientika_1_device_role') == 'SlaveEqualMaster' %}
mdi:link-box-variant
{% elif states('sensor.ambientika_1_device_role') == 'SlaveOppositeMaster' %}
mdi:link-box-variant
{% else %} mdi:help-box {% endif %}
- unique_id: ambientika_1_lightSensorLevel
value_template: "{{ value_json.lightSensorLevel | is_defined }}"
name: Ambientika 1 Light-Sensor
icon: >-
{% if states('sensor.ambientika_1_lightsensor_level') == 'NotAvailable' %}
mdi:weather-sunny-alert
{% if states('sensor.ambientika_1_lightsensor_level') == 'Off' %}
mdi:track-light-off
{% elif states('sensor.ambientika_1_lightsensor_level') == 'Low' %}
mdi:brightness-4
{% elif states('sensor.ambientika_1_lightsensor_level') == 'Medium' %}
mdi:brightness-6
{% else %} mdi:fan-alert {% endif %}
- unique_id: ambientika_1_signalStrenght
value_template: "{{ value_json.signalStrenght | is_defined }}"
name: Ambientika 1 Signal
icon: mdi:wifi
unit_of_measurement: "lqi"
binary_sensor:
- unique_id: ambientika_1_humidityAlarm
value_template: "{{ value_json.humidityAlarm | is_defined }}"
name: Ambientika 1 Humidity-Alarm
icon: mdi:water-percent-alert
- unique_id: ambientika_1_nightAlarm
value_template: "{{ value_json.nightAlarm | is_defined }}"
name: Ambientika 1 Night-Alarm
icon: mdi:water-percent-alert
# here, a SINGLE sensors is set up using a specific REST-endpoint
sensor:
- platform: rest
unique_id: ambientika_token_duration
name: Ambientika Token, remaining Days
resource: "https://app.ambientika.eu:4521/users/token-info"
headers:
Authorization: >
Bearer {{ states("input_text.ambientika_access_token") }}
value_template: >
{% if value_json.validTo | is_defined %}
{% set remaining_days = ( value_json.validTo|as_timestamp - now()|as_timestamp )/60/60/24 %}
{{ remaining_days | round(0) | default(0) }}
{% else %} undefined {% endif %}
icon: mdi:key-chain
scan_interval: 3600
# since the raw values from the device sensors have plenty of jitter,
# the values are filtered, using settings documented in readme.md
- platform: filter
unique_id: ambientika_1_humidity_filtered
name: Ambientika 1 Humidity (filtered)
entity_id: sensor.ambientika_1_humidity_raw
filters:
- filter: time_simple_moving_average
window_size: "00:09"
precision: 0
- filter: lowpass
time_constant: 3
precision: 0
- platform: filter
unique_id: ambientika_1_temperature_filtered
name: Ambientika 1 Temperature (filtered)
entity_id: sensor.ambientika_1_temperature_raw
filters:
- filter: time_simple_moving_average
window_size: "00:05"
precision: 1