Jump to content

SENSBLUE ATLAS/Home Assistant: Difference between revisions

No edit summary
No edit summary
Line 281: Line 281:


sudo tee mqtt.yaml > /dev/null << 'EOF'
sudo tee mqtt.yaml > /dev/null << 'EOF'
sensor:
sensor:
   - name: "ATLAS AI1"
   - name: "ATLAS AI1"
     unique_id: atlas_ai1
     unique_id: atlas_ai1
     state_topic: "analogInputs/runtime/out"
     state_topic: "analogInputs/runtime/out"
     value_template: "{{ value_json.task.taskResult.AI1.result | float(0) }}"
     value_template: "{{ value_json.task.taskResult.AI1.result }}"
     unit_of_measurement: "V"
     unit_of_measurement: "V"
     device_class: voltage
     device_class: voltage
Line 293: Line 294:
     unique_id: atlas_ai2
     unique_id: atlas_ai2
     state_topic: "analogInputs/runtime/out"
     state_topic: "analogInputs/runtime/out"
     value_template: "{{ value_json.task.taskResult.AI2.result | float(0) }}"
     value_template: "{{ value_json.task.taskResult.AI2.result }}"
     unit_of_measurement: "V"
     unit_of_measurement: "V"
     device_class: voltage
     device_class: voltage
Line 301: Line 302:
     unique_id: atlas_ai3
     unique_id: atlas_ai3
     state_topic: "analogInputs/runtime/out"
     state_topic: "analogInputs/runtime/out"
     value_template: "{{ value_json.task.taskResult.AI3.result | float(0) }}"
     value_template: "{{ value_json.task.taskResult.AI3.result }}"
     unit_of_measurement: "V"
     unit_of_measurement: "V"
     device_class: voltage
     device_class: voltage
Line 309: Line 310:
     unique_id: atlas_ai4
     unique_id: atlas_ai4
     state_topic: "analogInputs/runtime/out"
     state_topic: "analogInputs/runtime/out"
     value_template: "{{ value_json.task.taskResult.AI4.result | float(0) }}"
     value_template: "{{ value_json.task.taskResult.AI4.result }}"
     unit_of_measurement: "V"
     unit_of_measurement: "V"
     device_class: voltage
     device_class: voltage
     state_class: measurement
     state_class: measurement
  - name: "ATLAS CPU Usage"
    unique_id: atlas_cpu_usage
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.cpu_percent }}"
    unit_of_measurement: "%"
    device_class: power_factor
    state_class: measurement
  - name: "ATLAS CPU Temperature"
    unique_id: atlas_cpu_temperature
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.cpu_tempC }}"
    unit_of_measurement: "°C"
    device_class: temperature
    state_class: measurement
  - name: "ATLAS CPU0 Frequency"
    unique_id: atlas_cpu0_frequency
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.cpu_freqs.cpu0.frequency_mhz }}"
    unit_of_measurement: "MHz"
    state_class: measurement
  - name: "ATLAS CPU1 Frequency"
    unique_id: atlas_cpu1_frequency
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.cpu_freqs.cpu1.frequency_mhz }}"
    unit_of_measurement: "MHz"
    state_class: measurement
  - name: "ATLAS CPU2 Frequency"
    unique_id: atlas_cpu2_frequency
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.cpu_freqs.cpu2.frequency_mhz }}"
    unit_of_measurement: "MHz"
    state_class: measurement
  - name: "ATLAS CPU3 Frequency"
    unique_id: atlas_cpu3_frequency
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.cpu_freqs.cpu3.frequency_mhz }}"
    unit_of_measurement: "MHz"
    state_class: measurement
  - name: "ATLAS CPU Throttle"
    unique_id: atlas_cpu_throttle
    state_topic: "systemHealth/runtime/out"
    value_template: >
      {% if value_json.task.taskResult.cpu_throttle == "0x0" %}
        No
      {% else %}
        Yes
      {% endif %}
  - name: "ATLAS RAM Usage"
    unique_id: atlas_ram_usage
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.ram_percent }}"
    unit_of_measurement: "%"
    state_class: measurement
  - name: "ATLAS RAM Total"
    unique_id: atlas_ram_total
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.ram_total_mb }}"
    unit_of_measurement: "GB"
    state_class: measurement
  - name: "ATLAS RAM Used"
    unique_id: atlas_ram_used
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.ram_used_mb }}"
    unit_of_measurement: "GB"
    state_class: measurement
  - name: "ATLAS RAM Available"
    unique_id: atlas_ram_available
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.ram_available_mb }}"
    unit_of_measurement: "GB"
    state_class: measurement
  - name: "ATLAS Disk Usage"
    unique_id: atlas_disk_usage
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.disk_percent }}"
    unit_of_measurement: "%"
    state_class: measurement
  - name: "ATLAS Disk Total"
    unique_id: atlas_disk_total
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.disk_total_gb }}"
    unit_of_measurement: "GB"
    device_class: data_size
    state_class: measurement
  - name: "ATLAS Disk Used"
    unique_id: atlas_disk_used
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.disk_used_gb }}"
    unit_of_measurement: "GB"
    device_class: data_size
    state_class: measurement
  - name: "ATLAS Disk Free"
    unique_id: atlas_disk_free
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.disk_free_gb }}"
    unit_of_measurement: "GB"
    device_class: data_size
    state_class: measurement
  - name: "ATLAS eMMC RUL State"
    unique_id: atlas_emmc_rul_state
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.emmc_rul.state }}"
  - name: "ATLAS eMMC RUL Reason"
    unique_id: atlas_emmc_rul_reason
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.emmc_rul.reason }}"
  - name: "ATLAS Uptime"
    unique_id: atlas_uptime_seconds
    state_topic: "systemHealth/runtime/out"
    value_template: "{{ value_json.task.taskResult.uptime_sec }}"
    unit_of_measurement: "s"
    device_class: duration
    state_class: measurement


binary_sensor:
binary_sensor:
Line 318: Line 452:
     unique_id: atlas_di1
     unique_id: atlas_di1
     state_topic: "digitalInputs/runtime/out"
     state_topic: "digitalInputs/runtime/out"
     value_template: >-
     value_template: >
       {% set di = value_json.task.taskResult.DI1 %}
       {% if value_json.task.taskResult.DI1.result == true %}
      {% if di.result is defined %}
         ON
         {{ 'ON' if di.result == true else 'OFF' }}
       {% else %}
       {% else %}
         {{ 'ON' if di.state == 'high' else 'OFF' }}
         OFF
       {% endif %}
       {% endif %}
     payload_on: "ON"
     payload_on: "ON"
Line 331: Line 464:
     unique_id: atlas_di2
     unique_id: atlas_di2
     state_topic: "digitalInputs/runtime/out"
     state_topic: "digitalInputs/runtime/out"
     value_template: >-
     value_template: >
       {% set di = value_json.task.taskResult.DI2 %}
       {% if value_json.task.taskResult.DI2.result == true %}
      {% if di.result is defined %}
         ON
         {{ 'ON' if di.result == true else 'OFF' }}
       {% else %}
       {% else %}
         {{ 'ON' if di.state == 'high' else 'OFF' }}
         OFF
       {% endif %}
       {% endif %}
     payload_on: "ON"
     payload_on: "ON"
Line 344: Line 476:
     unique_id: atlas_di3
     unique_id: atlas_di3
     state_topic: "digitalInputs/runtime/out"
     state_topic: "digitalInputs/runtime/out"
     value_template: >-
     value_template: >
       {% set di = value_json.task.taskResult.DI3 %}
       {% if value_json.task.taskResult.DI3.result == true %}
      {% if di.result is defined %}
         ON
         {{ 'ON' if di.result == true else 'OFF' }}
       {% else %}
       {% else %}
         {{ 'ON' if di.state == 'high' else 'OFF' }}
         OFF
       {% endif %}
       {% endif %}
     payload_on: "ON"
     payload_on: "ON"
Line 357: Line 488:
     unique_id: atlas_di4
     unique_id: atlas_di4
     state_topic: "digitalInputs/runtime/out"
     state_topic: "digitalInputs/runtime/out"
     value_template: >-
     value_template: >
       {% set di = value_json.task.taskResult.DI4 %}
       {% if value_json.task.taskResult.DI4.result == true %}
      {% if di.result is defined %}
         ON
         {{ 'ON' if di.result == true else 'OFF' }}
       {% else %}
       {% else %}
         {{ 'ON' if di.state == 'high' else 'OFF' }}
         OFF
       {% endif %}
       {% endif %}
     payload_on: "ON"
     payload_on: "ON"
     payload_off: "OFF"
     payload_off: "OFF"
  - name: "ATLAS eMMC RUL OK"
    unique_id: atlas_emmc_rul_ok
    state_topic: "systemHealth/runtime/out"
    value_template: >
      {% if value_json.task.taskResult.emmc_rul.ok == true %}
        ON
      {% else %}
        OFF
      {% endif %}
    payload_on: "ON"
    payload_off: "OFF"
    device_class: problem
  - name: "ATLAS eMMC RUL Problem"
    unique_id: atlas_emmc_rul_problem
    state_topic: "systemHealth/runtime/out"
    value_template: >
      {% if value_json.task.taskResult.emmc_rul.ok == false %}
        ON
      {% else %}
        OFF
      {% endif %}
    payload_on: "ON"
    payload_off: "OFF"
    device_class: problem


switch:
switch:
   - name: "ATLAS DO1"
   - name: "ATLAS DO1"
     unique_id: atlas_do1
     unique_id: atlas_do1
    state_topic: "digitalOutputs/runtime/out"
     command_topic: "digitalOutputs/runtime/in"
     command_topic: "digitalOutputs/runtime/in"
     state_topic: "digitalOutputs/runtime/out"
     value_template: >
     payload_on: '{"id":0,"origin":"HA","task":{"action":"SET","taskParams":{"DO1":{"state":"high"}}}}'
      {% if value_json.task.taskResult.DO1.result == true %}
     payload_off: '{"id":0,"origin":"HA","task":{"action":"SET","taskParams":{"DO1":{"state":"low"}}}}'
        ON
    value_template: "{{ value_json.task.taskResult.DO1.state }}"
      {% else %}
     state_on: "high"
        OFF
     state_off: "low"
      {% endif %}
    optimistic: false
     payload_on: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO1":true}}}'
     payload_off: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO1":false}}}'
     state_on: "ON"
     state_off: "OFF"


   - name: "ATLAS DO2"
   - name: "ATLAS DO2"
     unique_id: atlas_do2
     unique_id: atlas_do2
    state_topic: "digitalOutputs/runtime/out"
     command_topic: "digitalOutputs/runtime/in"
     command_topic: "digitalOutputs/runtime/in"
     state_topic: "digitalOutputs/runtime/out"
     value_template: >
     payload_on: '{"id":0,"origin":"HA","task":{"action":"SET","taskParams":{"DO2":{"state":"high"}}}}'
      {% if value_json.task.taskResult.DO2.result == true %}
     payload_off: '{"id":0,"origin":"HA","task":{"action":"SET","taskParams":{"DO2":{"state":"low"}}}}'
        ON
    value_template: "{{ value_json.task.taskResult.DO2.state }}"
      {% else %}
     state_on: "high"
        OFF
     state_off: "low"
      {% endif %}
    optimistic: false
     payload_on: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO2":true}}}'
     payload_off: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO2":false}}}'
     state_on: "ON"
     state_off: "OFF"


   - name: "ATLAS DO3"
   - name: "ATLAS DO3"
     unique_id: atlas_do3
     unique_id: atlas_do3
    state_topic: "digitalOutputs/runtime/out"
     command_topic: "digitalOutputs/runtime/in"
     command_topic: "digitalOutputs/runtime/in"
     state_topic: "digitalOutputs/runtime/out"
     value_template: >
     payload_on: '{"id":0,"origin":"HA","task":{"action":"SET","taskParams":{"DO3":{"state":"high"}}}}'
      {% if value_json.task.taskResult.DO3.result == true %}
     payload_off: '{"id":0,"origin":"HA","task":{"action":"SET","taskParams":{"DO3":{"state":"low"}}}}'
        ON
    value_template: "{{ value_json.task.taskResult.DO3.state }}"
      {% else %}
     state_on: "high"
        OFF
     state_off: "low"
      {% endif %}
    optimistic: false
     payload_on: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO3":true}}}'
     payload_off: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO3":false}}}'
     state_on: "ON"
     state_off: "OFF"


   - name: "ATLAS DO4"
   - name: "ATLAS DO4"
     unique_id: atlas_do4
     unique_id: atlas_do4
    state_topic: "digitalOutputs/runtime/out"
     command_topic: "digitalOutputs/runtime/in"
     command_topic: "digitalOutputs/runtime/in"
    value_template: >
      {% if value_json.task.taskResult.DO4.result == true %}
        ON
      {% else %}
        OFF
      {% endif %}
    payload_on: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO4":true}}}'
    payload_off: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO4":false}}}'
    state_on: "ON"
    state_off: "OFF"
 
  - name: "ATLAS DO5"
    unique_id: atlas_do5
     state_topic: "digitalOutputs/runtime/out"
     state_topic: "digitalOutputs/runtime/out"
     payload_on: '{"id":0,"origin":"HA","task":{"action":"SET","taskParams":{"DO4":{"state":"high"}}}}'
    command_topic: "digitalOutputs/runtime/in"
     payload_off: '{"id":0,"origin":"HA","task":{"action":"SET","taskParams":{"DO4":{"state":"low"}}}}'
    value_template: >
     value_template: "{{ value_json.task.taskResult.DO4.state }}"
      {% if value_json.task.taskResult.DO5.result == true %}
     state_on: "high"
        ON
     state_off: "low"
      {% else %}
     optimistic: false
        OFF
      {% endif %}
     payload_on: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO5":true}}}'
    payload_off: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO5":false}}}'
    state_on: "ON"
    state_off: "OFF"
 
  - name: "ATLAS DO6"
    unique_id: atlas_do6
    state_topic: "digitalOutputs/runtime/out"
    command_topic: "digitalOutputs/runtime/in"
    value_template: >
      {% if value_json.task.taskResult.DO6.result == true %}
        ON
      {% else %}
        OFF
      {% endif %}
    payload_on: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO6":true}}}'
    payload_off: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO6":false}}}'
    state_on: "ON"
    state_off: "OFF"
 
  - name: "ATLAS DO7"
    unique_id: atlas_do7
    state_topic: "digitalOutputs/runtime/out"
    command_topic: "digitalOutputs/runtime/in"
    value_template: >
      {% if value_json.task.taskResult.DO7.result == true %}
        ON
      {% else %}
        OFF
      {% endif %}
    payload_on: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO7":true}}}'
     payload_off: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO7":false}}}'
    state_on: "ON"
    state_off: "OFF"
 
  - name: "ATLAS DO8"
    unique_id: atlas_do8
    state_topic: "digitalOutputs/runtime/out"
    command_topic: "digitalOutputs/runtime/in"
    value_template: >
      {% if value_json.task.taskResult.DO8.result == true %}
        ON
      {% else %}
        OFF
      {% endif %}
    payload_on: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO8":true}}}'
    payload_off: '{"origin":"HA","task":{"alias":"SET_DO","taskParams":{"DO8":false}}}'
    state_on: "ON"
    state_off: "OFF"
 
number:
  - name: "ATLAS AO1"
    unique_id: atlas_ao1
    state_topic: "analogOutputs/runtime/out"
    command_topic: "analogOutputs/runtime/in"
    value_template: "{{ value_json.task.taskResult.AO1.result }}"
    command_template: >
      {"origin":"HA","task":{"alias":"SET_AO","taskParams":{"AO1":{{ value | float }}}}}
    min: 4
    max: 20
    step: 0.1
    unit_of_measurement: "mA"
    mode: slider
 
  - name: "ATLAS AO2"
    unique_id: atlas_ao2
    state_topic: "analogOutputs/runtime/out"
    command_topic: "analogOutputs/runtime/in"
     value_template: "{{ value_json.task.taskResult.AO2.result }}"
     command_template: >
      {"origin":"HA","task":{"alias":"SET_AO","taskParams":{"AO2":{{ value | float }}}}}
     min: 4
    max: 20
    step: 0.1
    unit_of_measurement: "mA"
     mode: slider
EOF
EOF
</syntaxhighlight>'''Notes about this mqtt.yaml'''
</syntaxhighlight>'''Notes about this mqtt.yaml'''