diff --git a/configuration.yaml b/configuration.yaml index 461d81a..b13661f 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -17,539 +17,16 @@ stream: segment_duration: 6 mqtt: - sensor: - - state_topic: "/meyer/pos" - name: "Meyer Position Raw" - unit_of_measurement: "thou" + sensor: !include_dir_merge_list mqtt_entities/sensor + switch: !include_dir_merge_list mqtt_entities/switch + number: !include_dir_merge_list mqtt_entities/number - - state_topic: "/jc/height/log" - name: "JC Height Raw" - unit_of_measurement: "thou" - - - state_topic: "/jc/angle/log" - name: "JC Angle Raw" - unit_of_measurement: "thou" - - - state_topic: "/jc/feed/log" - name: "JC Feed Angle Raw" - unit_of_measurement: "degrees" - value_template: >- - {{ value | round(0) }} - - - state_topic: "/scale/cup1/tare" - name: "Cup 1 Tare Weight" - unique_id: "cup1_tare_weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - - state_topic: "/scale/cup2/tare" - unique_id: "cup2_tare_weight" - name: "Cup 2 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup3/tare" - unique_id: "cup3_tare_weight" - name: "Cup 3 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup4/tare" - unique_id: "cup4_tare_weight" - name: "Cup 4 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup5/tare" - unique_id: "cup5_tare_weight" - name: "Cup 5 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup6/tare" - unique_id: "cup6_tare_weight" - name: "Cup 6 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup7/tare" - unique_id: "cup7_tare_weight" - name: "Cup 7 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup8/tare" - unique_id: "cup8_tare_weight" - name: "Cup 8 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup9/tare" - unique_id: "cup9_tare_weight" - name: "Cup 9 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup10/tare" - unique_id: "cup10_tare_weight" - name: "Cup 10 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup11/tare" - unique_id: "cup11_tare_weight" - name: "Cup 11 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup12/tare" - unique_id: "cup12_tare_weight" - name: "Cup 12 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup13/tare" - unique_id: "cup13_tare_weight" - name: "Cup 13 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup14/tare" - unique_id: "cup14_tare_weight" - name: "Cup 14 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup15/tare" - unique_id: "cup15_tare_weight" - name: "Cup 15 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - state_topic: "/scale/cup16/tare" - unique_id: "cup16_tare_weight" - name: "Cup 16 Tare Weight" - unit_of_measurement: "oz" - icon: "mdi:cup-outline" - - - state_topic: "/scale/cup1/general" - unique_id: "cup1_general_weight" - name: "Cup 1 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup2/general" - unique_id: "cup2_general_weight" - name: "Cup 2 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup3/general" - unique_id: "cup3_general_weight" - name: "Cup 3 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup4/general" - unique_id: "cup4_general_weight" - name: "Cup 4 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup5/general" - unique_id: "cup5_general_weight" - name: "Cup 5 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup6/general" - unique_id: "cup6_general_weight" - name: "Cup 6 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup7/general" - unique_id: "cup7_general_weight" - name: "Cup 7 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup8/general" - unique_id: "cup8_general_weight" - name: "Cup 8 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup9/general" - unique_id: "cup9_general_weight" - name: "Cup 9 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup10/general" - unique_id: "cup10_general_weight" - name: "Cup 10 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup11/general" - unique_id: "cup11_general_weight" - name: "Cup 11 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup12/general" - name: "Cup 12 General Sample Weight" - unique_id: "cup12_general_weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup13/general" - unique_id: "cup13_general_weight" - name: "Cup 13 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup14/general" - unique_id: "cup14_general_weight" - name: "Cup 14 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup15/general" - unique_id: "cup15_general_weight" - name: "Cup 15 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup16/general" - unique_id: "cup16_general_weight" - name: "Cup 16 General Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - - state_topic: "/scale/cup1/half" - unique_id: "cup1_half_weight" - name: "Cup 1 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup2/half" - unique_id: "cup2_half_weight" - name: "Cup 2 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup3/half" - unique_id: "cup3_half_weight" - name: "Cup 3 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup4/half" - unique_id: "cup4_half_weight" - name: "Cup 4 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup5/half" - unique_id: "cup5_half_weight" - name: "Cup 5 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup6/half" - unique_id: "cup6_half_weight" - name: "Cup 6 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup7/half" - unique_id: "cup7_half_weight" - name: "Cup 7 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup8/half" - name: "Cup 8 Half Sample Weight" - unique_id: "cup8_half_weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup9/half" - unique_id: "cup9_half_weight" - name: "Cup 9 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup10/half" - unique_id: "cup10_half_weight" - name: "Cup 10 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup11/half" - unique_id: "cup11_half_weight" - name: "Cup 11 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup12/half" - unique_id: "cup12_half_weight" - name: "Cup 12 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup13/half" - unique_id: "cup13_half_weight" - name: "Cup 13 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup14/half" - unique_id: "cup14_half_weight" - name: "Cup 14 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup15/half" - unique_id: "cup15_half_weight" - name: "Cup 15 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - state_topic: "/scale/cup16/half" - unique_id: "cup16_half_weight" - name: "Cup 16 Half Sample Weight" - unit_of_measurement: "oz" - icon: "mdi:cup" - - - state_topic: "/sheller/bin1" - name: "Sheller Bin 1 Weight" - unique_id: "bin1_weight" - unit_of_measurement: "lb" - - state_topic: "/sheller/bin2" - name: "Sheller Bin 2 Weight" - unique_id: "bin2_weight" - unit_of_measurement: "lb" - - state_topic: "/sheller/bin3" - name: "Sheller Bin 3 Weight" - unique_id: "bin3_weight" - unit_of_measurement: "lb" - - state_topic: "/sheller/bin4" - name: "Sheller Bin 4 Weight" - unique_id: "bin4_weight" - unit_of_measurement: "lb" - - state_topic: "/half_yield" - unique_id: "half_yield_sample" - name: "Latest Half Yield Sample" - unit_of_measurement: "%" - - number: - - command_topic: "/jc/angle" - name: "JC Angle" - unit_of_measurement: "thou" - min: -500 - max: 500 - - command_topic: "/jc/height" - name: "JC Height" - unique_id: "jc_height" - unit_of_measurement: "thou" - min: 0 - max: 1665 - - command_topic: "/jc/feed" - name: "JC Feed Angle" - unit_of_measurement: "degrees" - min: 0 - max: 90 - - command_topic: "/jc/feed_time" - name: "JC Feed Time" - unit_of_measurement: "seconds" - min: 5 - max: 90 - - command_topic: "/sheller/angle" - name: "Sheller Angle" - unique_id: "sheller_angle" - unit_of_measurement: "degrees" - min: 2.5 - max: 5.5 - step: 0.5 - - switch: - - command_topic: "/jc/use_feed_time" - name: "JC Limit Feed Duration" - -sensor: - - platform: tcp - host: 172.22.113.200 - port: 23 - payload: "" - name: "Precision Scale" - scan_interval: - seconds: 0.1 - value_template: >- - {% if not value | contains('M') %} - {% set temp_value = value | regex_findall_index('\d+\.\d+(?=oz)') | float %} - {% if value | contains('-') %} - {% set temp_value = temp_value * -1 %} - {% endif %} - {{ temp_value | round(3) }} - {% else %} - {{ states("sensor.precision_scale") | round(3) }} - {% endif %} - unit_of_measurement: "oz" - - platform: tcp - host: 172.22.113.200 - port: 26 - payload: "" - name: "Sheller Scale" - scan_interval: - seconds: 0.1 - value_template: >- - {% if value | contains('S') %} - {% set temp_value = value | regex_findall_index('\d+\.\d+(?= lb)') | float %} - {% if value | contains('-') %} - {% set temp_value = temp_value * -1 %} - {% endif %} - {{ ((temp_value * 50 - (0.5 if temp_value > 0 else -0.5)) | int | float / 50) }} - {% else %} - {{ states("sensor.sheller_scale") }} - {% endif %} - unit_of_measurement: "lb" - - platform: tcp - host: 172.22.113.201 - port: 23 - payload: "" - name: "Moisture Scale" - scan_interval: - seconds: 1 - value_template: >- - {% if value | contains('S') %} - {% set temp_value = value | regex_findall_index('\d+(?=, g)') | float %} - {% if value | contains('-') %} - {% set temp_value = temp_value * -1 %} - {% endif %} - {{ temp_value }} - {% else %} - {{ states("sensor.moisture_scale") }} - {% endif %} - unit_of_measurement: "g" - - platform: serial - serial_port: /dev/steinlite - name: "steinlite" - - - platform: pid_controller - name: paddle_pid - enabled: '{{ states("switch.shellyplus1_cc7b5c0d316c_switch_0") }}' - set_point: '{{ states("input_number.sheller_paddle_rpm") }}' - entity_id: sensor.shelling_machine_paddle_rpm - precision: 0 - minimum: 0 - maximum: 253 - sample_time: 1 - invert: true - p: 40 - i: 0 - d: 0 - - platform: pid_controller - name: drum_pid - enabled: '{{ states("switch.shellyplus1_cc7b5c0d0eb4_switch_0") }}' - set_point: '{{ states("input_number.sheller_drum_rpm") }}' - entity_id: sensor.shelling_machine_drum_rpm - precision: 0 - minimum: 0 - maximum: 253 - sample_time: 2.5 - invert: true - p: 5 - i: 0 - d: 0 +sensor: !include_dir_list tcp_sensors template: - - sensor: - - name: Steinlite Moisture Content - unique_id: steinlite_moisture - unit_of_measurement: "%" - state: > - {% set sensor_val = states('sensor.steinlite') %} - {% set moisture_match = sensor_val.find('Moisture: ') %} - {% if moisture_match != -1 %} - {% set moisture_value = sensor_val[moisture_match + 10:sensor_val.find('%',moisture_match)] %} - {% if moisture_value %} - {% set state = moisture_value | float %} - {% endif %} - {% endif %} + - sensor: !include_dir_merge_list template_sensors - {% if state is defined %} {{ state }} - {% else %} {{ this.state }} - {% endif %} - - name: Steinlite Sample Temperature - unique_id: steinlite_temperature - unit_of_measurement: "°F" - state: > - {% set sensor_val = states('sensor.steinlite') %} - {% set temp_match = sensor_val.find('Gr Temp: ') %} - {% if temp_match != -1 %} - {% set temp_value = sensor_val[temp_match + 9:sensor_val.find(' Deg F',temp_match)] %} - {% if temp_value %} - {% set state = temp_value | int %} - {% endif %} - {% endif %} - - {% if state is defined %} {{ state }} - {% else %} {{ this.state }} - {% endif %} - -input_number: - moisture_cold_soak_time: - name: Cold Soak Time - min: 0 - max: 75 - unit_of_measurement: hours - moisture_hot_soak_time: - name: Hot Soak Time - min: 0 - max: 45 - unit_of_measurement: minutes - moisture_ambient_temperature: - name: Ambient Temperature - min: 68 - max: 74 - unit_of_measurement: °F - moisture_hot_bath_temperature: - name: Hot Soak Temperature - min: 180 - max: 200 - unit_of_measurement: °F - jc_pecan_grade: - name: Pecan Size - min: 250 - max: 1250 - mode: box - step: 0.5 - icon: mdi:peanut - unit_of_measurement: thou - jc_crush_amount: - name: Crush Amount - min: 31.25 - max: 93.75 - step: 31.25 - unit_of_measurement: thou - jc_hopper_angle: - name: Angle - min: 0 - max: 90 - step: 1 - icon: mdi:angle-acute - unit_of_measurement: ° - jc_plate_frequency: - name: Impacting Plate Frequency - min: 30 - max: 60 - step: 0.1 - unit_of_measurement: Hz - jc_feeder_frequency: - name: Vibratory Feeder Frequency - min: 30 - max: 90 - step: 0.1 - unit_of_measurement: Hz - - sheller_paddle_rpm: - name: Paddle Shaft RPM - min: 400 - max: 800 - step: 50 - unit_of_measurement: RPM - sheller_drum_rpm: - name: Drum RPM - min: 30 - max: 40 - step: 2 - unit_of_measurement: RPM - sheller_ring_gap: - name: Sheller Ring Gap - min: 0 - max: 1.125 - mode: box - unit_of_measurement: in - - meyer_preload_stiffness: - name: Preload Spring Stiffness - min: 1800 - max: 2200 - mode: box - unit_of_measurement: N/m - meyer_motor_speed: - name: Motor Speed - min: 30 - max: 60 - step: 0.1 - unit_of_measurement: Hz - - batch_weight: - name: Batch Weight - unit_of_measurement: lb - min: 0 - max: 45 - step: 0.01 - mode: box +input_number: !include_dir_merge_named input_numbers remote_homeassistant: instances: @@ -557,33 +34,10 @@ remote_homeassistant: shell_command: lsdev: ls /dev/ -#ltss: -# db_url: postgresql://postgres@factory.uga.edu/postgres -# chunk_time_interval: 86400 -# commit_interval: 5 -# include: -# domains: -# - sensor -# - number -# - input_number -# exclude: -# entity_globs: -# - 'sensor.sun*' - -mqtt_eventstream: - publish_topic: pecan/hass - -modbus: - - name: modbus_hub - type: tcp - host: 192.168.1.190 - port: 502 - sensors: - - name: JC Status - slave: 1 - address: 680 - input_type: holding +modbus: !include_dir_merge_list modbus recorder: db_url: !secret connection_string auto_purge: false + +intent_script: !include_dir_named intents