Skip to content

codewrite/AnalogReadLightLevel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arduino Nano / HA Test

Test Project for Arduino Nano connected to Home Assistant via USB

Arduino Nano has:

  1. LED on D2
  2. LDR on A0

Nano is connected via serial USB to Home Assistant

Nano is controlled with commands sent on serial.
Nano runs via tasks.
Nano reports via serial to HA.

Commands to send to Arduino Nano (from HA terminal)

  • echo 'ss1000,30;' > /dev/ttyUSB0
  • echo 'sl500,50;' > /dev/ttyUSB0

Response from Nano (in JSON)

{"lightlevel":1,"Sensor":{"Interval":1000,"AvgSamples":30},"LedBlink":{"Interval":500,"Duration":50}}

configuration.yaml (HA) Settings

sensor:
  - platform: serial
    serial_port: /dev/ttyUSB0

shell_command:
  set_sensor: /config/nano-send-command.sh "ss" {{ interval }} {{ samples }}
  set_led_blink: /config/nano-send-command.sh "sl" {{ interval }} {{ duration }}

template: !include template.yaml

And the contents of the template.yaml file:

### template.yaml

- sensor:
  - name: Nano Light Level
    state: "{{ state_attr('sensor.serial_sensor', 'lightlevel') }}"
    unique_id: nano_light_level
    unit_of_measurement: lx
- number:
  - name: Nano Sensor Interval
    unique_id: nano_sensor_interval
    state: "{{ state_attr('sensor.serial_sensor', 'Sensor').Interval }}"
    set_value:
      - action: script.set_sensor_interval
        data:
          interval: "{{ value }}"
          samples: "{{ state_attr('sensor.serial_sensor', 'Sensor').AvgSamples }}"
    step: 1
    min: 100
    max: 60000
    unit_of_measurement: ms
- number:
  - name: Nano Sensor Average Samples
    unique_id: nano_sensor_avg_samples
    state: "{{ state_attr('sensor.serial_sensor', 'Sensor').AvgSamples }}"
    set_value:
      - action: script.set_sensor_interval
        data:
          interval: "{{ state_attr('sensor.serial_sensor', 'Sensor').Interval }}"
          samples: "{{ value }}"
    step: 1
    min: 1
    max: 60000
- number:
  - name: Nano LED Interval
    unique_id: nano_led_interval
    state: "{{ state_attr('sensor.serial_sensor', 'LedBlink').Interval }}"
    set_value:
      - action: script.set_led_blink_interval
        data:
          interval: "{{ value }}"
          duration: "{{ state_attr('sensor.serial_sensor', 'LedBlink').Duration }}"
    step: 1
    min: 1
    max: 60000
    unit_of_measurement: ms
- number:
  - name: Nano LED Duration
    unique_id: nano_led_duration
    state: "{{ state_attr('sensor.serial_sensor', 'LedBlink').Duration }}"
    set_value:
      - action: script.set_led_blink_interval
        data:
          interval: "{{ state_attr('sensor.serial_sensor', 'LedBlink').Interval }}"
          duration: "{{ value }}"
    step: 1
    min: 1
    max: 60000
    unit_of_measurement: ms

About

Test project to connect to home assistant

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages