question

matthew-2 avatar image
matthew-2 asked

Home Assistant automations

Hi


I am using Home Assistant and thought I would share what I have done so far (more incomming)

I have an adaptive charge for my batteries based on a prediction of solar and a simple algorithm based on historic performance

I then dynamically take the entire system off grid when charged. The system returns to on grid when the battery falls either too low or too high (for some export)

I have auto configured the EV Charge Station to revert to auto mode but will give overnight full current charging during cheap night electricity rates

I have a colour light strip that changes scene based on the solar system (battery SOC + Excess Power + absolute power draw)

The Charge Station will also slowly charge the car in the evening (after the main draw of cooking etc) if the car will not be fully charged overnight during the cheap rate (this is still testing so I wont post the code as it may change)

Then I display many many parameters of the batteries/solar/etc

Hopefully this is of use

Any other fun automations always welcome

Cheers


# modbus.yaml
# configuration entry for a TCP connection
# com.victronenergy.grid    slave: 30
# com.victronenergy.system  slave: 100
# com.victronenergy.battery slave: 225
# com.victronenergy.vebus   slave: 227
# com.victronenergy.solarcharger.main.roof slave: 226
# com.victronenergy.solarcharger.bat.roof slave: 224
# com.victronenergy.EV.Chargestation: 40

  type: tcp
  host: 192.168.86.246
  port: 502
  name: victron
    
  sensors:
      # System
    - name: "home_power_consumption"
      data_type: uint16
      unit_of_measurement: "W"
      scan_interval: 5
      slave: 100
      address: 817
      scale: 1
      device_class: power

    - name: "grid_power_victron"
      data_type: int16
      unit_of_measurement: "W"
      scan_interval: 5
      slave: 100
      address: 820
      scale: 1
      device_class: power

    - name: 'Multiplus Energy from Grid'
      unit_of_measurement: "kWh"
      slave: 30
      address: 2603
      data_type: uint16
      scale: 0.01
      precision: 1
      scan_interval: 20
      device_class: energy
      state_class: total_increasing

    - name: 'Multiplus Energy to Grid'
      unit_of_measurement: "kWh"
      slave: 30
      address: 2606
      data_type: uint16
      scale: 0.01
      precision: 1
      scan_interval: 20
      device_class: energy
      state_class: total_increasing


      # Battery
    - name: "Battery voltage"
      data_type: uint16
      unit_of_measurement: "V"
      slave: 100
      address: 840
      scale: 0.1
      device_class: voltage

    - name: "Battery Current Victron"
      data_type: int16
      unit_of_measurement: "A"
      slave: 100
      address: 841
      device_class: current
      scale: 0.1

    - name: "battery_power_victron"
      data_type: int16
      unit_of_measurement: "W"
      slave: 100
      address: 842
      device_class: power
      scale: 1

    - name: "Battery SoC"
      data_type: uint16
      unit_of_measurement: "%"
      device_class: battery
      slave: 225
      address: 266
      scale: 0.1

    - name: "Victron ESS Minimum SOC"
      data_type: uint16
      slave: 100
      address: 2901
      scale: 0.1
      unit_of_measurement: "%"

    - name: 'Maximum System Grid Feed In'
      unit_of_measurement: "W"
      data_type: uint16
      slave: 100
      address: 2706
      scale: 0.01
      device_class: power
      # command_on: 4000
      # command_off: 40
      # verify_state: false

    - name: 'Charge Power System'
      unit_of_measurement: "W"
      slave: 100
      address: 860
      data_type: int16
      scale: 10.0
      precision: 0
      device_class: power

    - name: "pv_power_victron"
      data_type: uint16
      unit_of_measurement: "W"
      scan_interval: 5
      slave: 100
      address: 850
      device_class: power
      scale: 1


      # MPPT Arrays
    - name: "PV Voltage - Main Roof"
      data_type: int16
      unit_of_measurement: "V"
      slave: 226
      address: 776
      scale: 0.01
      device_class: voltage

    - name: "PV Current - Main Roof"
      data_type: int16
      unit_of_measurement: "A"
      slave: 226
      address: 777
      scale: 0.1
      device_class: current

    - name: "PV Yield today - Main Roof"
      data_type: int16
      unit_of_measurement: "kWh"
      slave: 226
      address: 784
      scale: 0.1
      precision: 1
      device_class: energy

    - name: "PV Max power today - Main Roof"
      data_type: int16
      unit_of_measurement: "W"
      slave: 226
      address: 785
      scale: 1
      device_class: power

    - name: "PV Yield yesterday - Main Roof"
      data_type: int16
      unit_of_measurement: "kWh"
      slave: 226
      address: 786
      scale: 0.1
      precision: 1
      device_class: energy

    - name: "PV Max power yesterday - Main Roof"
      data_type: int16
      unit_of_measurement: "W"
      slave: 226
      address: 787
      scale: 1
      device_class: power

    - name: "pv_power_main_roof"
      data_type: int16
      unit_of_measurement: "W"
      scan_interval: 5
      slave: 226
      address: 789
      scale: 0.1
      device_class: power

    - name: "PV Voltage - Bat Roof"
      data_type: int16
      unit_of_measurement: "V"
      slave: 224
      address: 776
      scale: 0.01
      device_class: voltage

    - name: "PV Current - Bat Roof"
      data_type: int16
      unit_of_measurement: "A"
      slave: 224
      address: 777
      scale: 0.1
      device_class: current

    - name: "PV Yield today - Bat Roof"
      data_type: int16
      unit_of_measurement: "kWh"
      slave: 224
      address: 784
      scale: 0.1
      precision: 1
      device_class: energy

    - name: "PV Max power today - Bat Roof"
      data_type: int16
      unit_of_measurement: "W"
      slave: 224
      address: 785
      scale: 1
      device_class: power

    - name: "PV Yield yesterday - Bat Roof"
      data_type: int16
      unit_of_measurement: "kWh"
      slave: 224
      address: 786
      scale: 0.1
      precision: 1
      device_class: energy

    - name: "PV Max power yesterday - Bat Roof"
      data_type: int16
      unit_of_measurement: "W"
      slave: 224
      address: 787
      scale: 1
      device_class: power

    - name: "pv_power_bat_roof"
      data_type: int16
      unit_of_measurement: "W"
      scan_interval: 5
      slave: 224
      address: 789
      scale: 0.1
      device_class: power

      # EV Charge Station
    - name: "ev_charge_station_status"
      data_type: int16
      scan_interval: 5
      slave: 40
      address: 3824
      scale: 1

    - name: "ev_charge_station_maximum_charge_current"
      data_type: int16
      scan_interval: 5
      slave: 40
      address: 3814
      scale: 1
      device_class: current

    - name: "ev_charge_station_energy_consumed"
      data_type: int16
      scan_interval: 5
      slave: 40
      address: 3816
      scale: 1
      device_class: energy

    - name: "ev_charge_station_total_power"
      data_type: int16
      scan_interval: 5
      slave: 40
      address: 3821
      scale: 1
      device_class: power

    - name: "ev_charge_station_charge_current"
      data_type: int16
      scan_interval: 5
      slave: 40
      address: 3823
      scale: 1
      device_class: current



  - platform: template
    sensors:
      separated_top_floor_sockets_total_consumption:
        friendly_name: Separated Top Floor Sockets total Consumption
        unit_of_measurement: kWh
        value_template: >-
          {
  { ( states('sensor.shelly_shem_3_c45bbe7998ad_3_total_consumption') | float |round(1)) -  ( states('sensor.shelly_shem_bcff4dfcdc57_1_total_consumption') | float| round(1))}}

  - platform: template
    sensors:
      separated_top_floor_sockets_power:
        friendly_name: Separated Top Floor Sockets Power
        unit_of_measurement: W
        value_template: >-
          {
  { ( states('sensor.shelly_shem_3_c45bbe7998ad_3_current_consumption') | float |round(1)) -  ( states('sensor.shelly_shem_bcff4dfcdc57_1_current_consumption') | float| round(1))}}

  - platform: template
    sensors:
      target_soc:
        friendly_name: Target SOC for Night Charge
        unit_of_measurement: "%"
        value_template: >-
          {% set state = 2.5 * states('sensor.solcast_forecast_today') | float(0) %}
          {% set state = 150 - state | float(0) %}
          {% set y = (((state/5) | int) +1) * 5 %}
          {
  { ([35, y, 95] | sort)[1] }}


  - platform: template
    sensors:
      available_pv_power:
        friendly_name: Available PV Power
        unit_of_measurement: "W"
        value_template: >-
          {% if states('sensor.home_power_consumption')|float < 4500 %}
            {
  { ( states('sensor.pv_power_victron') | float |round(1)) -  ( states('sensor.home_power_consumption') | float| round(1))}}
          {% else %}
            0
          {% endif %}

  - platform: template
    sensors:
      tesla_range_miles:
        friendly_name: Tesla Range Miles
        unit_of_measurement: mi
        value_template: >
          {
  { '{:.2}'.format( states('sensor.range')|float / 1.609) }}

  - platform: template
    sensors:
      evchargestationstatus:
        friendly_name: "EV Charge Station Status"
        value_template: >-
            {% if is_state('sensor.ev_charge_station_status', '0') %}
              Disconnected
            {% elif is_state('sensor.ev_charge_station_status', '1') %}
              Connected
            {% elif is_state('sensor.ev_charge_station_status', '2') %}
              Charging
            {% elif is_state('sensor.ev_charge_station_status', '3') %}
              Charged
            {% elif is_state('sensor.ev_charge_station_status', '4') %}
              Waiting for Sun
            {% elif is_state('sensor.ev_charge_station_status', '5') %}
              Waiting for RFID
            {% elif is_state('sensor.ev_charge_station_status', '6') %}
              Waiting for Start
            {% elif is_state('sensor.ev_charge_station_status', '7') %}
              Low SOC
            {% elif is_state('sensor.ev_charge_station_status', '8') %}
              Ground Fault
            {% elif is_state('sensor.ev_charge_station_status', '9') %}
              Welded Contacts
            {% elif is_state('sensor.ev_charge_station_status', '10') %}
              CP Input Shorted
            {% elif is_state('sensor.ev_charge_station_status', '11') %}
              Residual Current Detected
            {% elif is_state('sensor.ev_charge_station_status', '12') %}
              Under Voltage Detected
            {% elif is_state('sensor.ev_charge_station_status', '13') %}
              Overvoltage Detected
            {% elif is_state('sensor.ev_charge_station_status', '14') %}
              Overheating Detected
            {% endif %}


  #total energy to battery
  - platform: integration
    source: sensor.battery_input_energy
    name: total_battery_input_energy
    unit_prefix: k
    method: left
    #or right or trapezoidal for methods
    round: 3

  #total energy from battery
  - platform: integration
    source: sensor.battery_output_energy
    name: total_battery_output_energy
    unit_prefix: k
    method: left
    #or right or trapezoidal for methods
    round: 3

  #total energy to grid
  - platform: integration
    source: sensor.energy_to_grid
    name: total_energy_to_grid
    unit_prefix: k
    method: left
    #or right or trapezoidal for methods
    round: 3

  #total energy from grid
  - platform: integration
    source: sensor.energy_from_grid
    name: total_energy_from_grid
    unit_prefix: k
    method: left
    #or right or trapezoidal for methods
    round: 3

  #total pv power generated
  - platform: integration
    source: sensor.pv_power_victron
    name: total_pv_power_victron
    unit_prefix: k
    method: left
    #or right or trapezoidal for methods
    round: 3

  #total Home Power Consumption
  - platform: integration
    source: sensor.home_power_consumption
    name: total_home_power_consumption
    unit_prefix: k
    method: left
    #or right or trapezoidal for methods
    round: 3

  #Main Roof pv power generated
  - platform: integration
    source: sensor.pv_power_bat_roof
    name: total_pv_power_bat_roof
    unit_prefix: k
    method: left
    #or right or trapezoidal for methods
    round: 3

  #Bat Roof pv power generated
  - platform: integration
    source: sensor.pv_power_main_roof
    name: total_pv_power_main_roof
    unit_prefix: k
    method: left
    #or right or trapezoidal for methods
    round: 3

    



- id: '1655900283601'
  alias: Peak/OffPeak
  description: ''
  trigger:
  - platform: state
    entity_id:
    - schedule.electricityoffpeak
    from: 'on'
    to: 'off'
    id: Peak Time
  - platform: state
    entity_id:
    - schedule.electricityoffpeak
    from: 'off'
    to: 'on'
    id: Off Peak Time
  condition: []
  action:
  - choose:
    - conditions:
      - condition: trigger
        id: Peak Time
      sequence:
      - service: select.select_option
        data:
          option: Peak
        target:
          entity_id: select.electricity_tariff
    - conditions:
      - condition: trigger
        id: Off Peak Time
      sequence:
      - service: select.select_option
        data:
          option: Offpeak
        target:
          entity_id: select.electricity_tariff
  mode: single
- id: 82144a232b3f4f799c6a4dabe0b6a1b4
  alias: Set Victron ESS Night SOC From Prediction
  trigger:
  - platform: time_pattern
    minutes: /5
    id: Time Pattern
  condition:
  - condition: time
    after: 00:30:00
    before: 04:28:00
  action:
  - choose:
    - conditions:
      - condition: trigger
        id: Time Pattern
      sequence:
      - service: modbus.write_register
        data_template:
          unit: 227
          value: '{
  { 3|int (0) }}'
          hub: victron
          address: 33
      - delay:
          hours: 0
          minutes: 0
          seconds: 15
          milliseconds: 0
      - service: modbus.write_register
        data_template:
          unit: 100
          value: '{
  { states(''sensor.target_soc'')|int * 10 }}'
          hub: victron
          address: 2901
    default: []
  mode: single

  alias: PV Colour Automation
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.available_pv_power
    for:
      hours: 0
      minutes: 0
      seconds: 10
    attribute: ''
    above: '1000'
    id: High PV Power
  - platform: numeric_state
    entity_id: sensor.available_pv_power
    for:
      hours: 0
      minutes: 0
      seconds: 10
    above: '250'
    below: '999'
    id: Medium PV Power
  - platform: numeric_state
    entity_id: sensor.available_pv_power
    id: Low PV Power
    for:
      hours: 0
      minutes: 0
      seconds: 10
    below: '249'
  - platform: numeric_state
    entity_id: sensor.home_power_consumption
    id: Too Much Draw
    for:
      hours: 0
      minutes: 0
      seconds: 10
    above: '10000'
  - platform: time
    at: 08:00:05
    id: Monitoring Start Time
  - platform: numeric_state
    entity_id: sensor.battery_soc
    above: '80'
    id: High Battery SOC
  - platform: numeric_state
    entity_id: sensor.battery_soc
    id: Medium Battery SOC
    above: '40'
    below: '79'
  - platform: numeric_state
    entity_id: sensor.battery_soc
    id: Low Battery SOC
    below: '39'
  condition:
  - condition: time
    after: 08:00:00
    before: '20:00:00'
    enabled: false
  - condition: sun
    after: sunrise
    before: sunset
    enabled: true
  action:
  - choose:
    - conditions:
      - condition: trigger
        id: High PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        above: '80'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.high_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: High PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        above: '40'
        below: '79'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.high_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: High PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        below: '39'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.medium_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Too Much Draw
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.low_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Monitoring Start Time
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.medium_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Medium PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        above: '80'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.high_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Medium PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        above: '40'
        below: '79'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.medium_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Medium PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        below: '39'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.low_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Low PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        above: '80'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.medium_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Low PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        below: '79'
        above: '40'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.low_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Low PV Power
      - condition: numeric_state
        entity_id: sensor.battery_soc
        below: '39'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.low_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: High Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        above: '1000'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.high_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: High Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        above: '250'
        below: '999'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.high_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: High Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        below: '249'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.medium_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Medium Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        above: '1000'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.high_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Medium Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        above: '250'
        below: '999'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.medium_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Medium Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        below: '249'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.low_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Low Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        above: '1000'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.medium_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Low Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        above: '250'
        below: '999'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.low_pv
        metadata: {}
    - conditions:
      - condition: trigger
        id: Low Battery SOC
      - condition: numeric_state
        entity_id: sensor.available_pv_power
        below: '249'
      sequence:
      - service: scene.turn_on
        target:
          entity_id: scene.low_pv
        metadata: {}
    default: []
  mode: single
- id: '1662281947060'
  alias: Set Victron ESS Day SOC at End of Charging
  description: ''
  trigger:
  - platform: time
    at: 04:30:00
    id: Day Rate
  condition: []
  action:
  - choose:
    - conditions:
      - condition: trigger
        id: Day Rate
      sequence:
      - service: modbus.write_register
        data_template:
          unit: 100
          value: '{
  { 10|int * 10 }}'
          hub: victron
          address: 2901
    default: []
  mode: single
- id: '1665056384261'
  alias: Set Victron ESS Minimum SOC from input select
  trigger:
  - platform: state
    entity_id: input_select.victron_ess_minimum_soc
  action:
  - service: modbus.write_register
    data_template:
      unit: 100
      value: '{
  { states(''input_select.victron_ess_minimum_soc'')|int * 10 }}'
      hub: victron
      address: 2901
- id: '1665056384262'
  alias: Set Victron Inverter Mode from input select
  trigger:
  - platform: state
    entity_id: input_select.victron_mode
  action:
  - service: modbus.write_register
    data_template:
      unit: 227
      value: '{
  { states(''input_select.victron_mode'').rsplit()[0] | int(0) }}'
      hub: victron
      address: 33
- id: '1665825312111'
  alias: Auto Off Grid
  description: ''
  trigger:
  - platform: time_pattern
    minutes: /5
  condition:
  - condition: state
    entity_id: schedule.off_grid_times
    state: 'on'
  action:
  - choose:
    - conditions:
      - condition: numeric_state
        entity_id: sensor.battery_soc
        above: 15
        below: 95
      sequence:
      - service: modbus.write_register
        data_template:
          unit: 227
          value: '{
  { 2|int (0) }}'
          hub: victron
          address: 33
    - conditions:
      - condition: or
        conditions:
        - condition: numeric_state
          entity_id: sensor.battery_soc
          above: 95
        - condition: numeric_state
          entity_id: sensor.battery_soc
          below: 15
      sequence:
      - service: modbus.write_register
        data_template:
          unit: 227
          value: '{
  { 3|int (0) }}'
          hub: victron
          address: 33
  mode: single
- id: '1669664864596'
  alias: EV Charge Station Mode From Input Select
  description: ''
  trigger:
  - platform: state
    entity_id:
    - input_select.ev_charge_station_mode
  condition: []
  action:
  - service: modbus.write_register
    data_template:
      unit: 40
      value: '{
  { states(''input_select.ev_charge_station_mode'').rsplit()[0] | int(0)
        }}'
      hub: victron
      address: 3815
  mode: single
- id: '1669665471596'
  alias: EV Charge Station Start/Stop from Input Select
  description: ''
  trigger:
  - platform: state
    entity_id:
    - input_select.ev_charge_start_stop
  condition: []
  action:
  - service: modbus.write_register
    data_template:
      unit: 40
      value: '{
  { states(''input_select.ev_charge_start_stop'').rsplit()[0] | int(0)
        }}'
      hub: victron
      address: 3826
  mode: single
- id: '1669665531272'
  alias: EV Charge Station Current from Input Select
  description: ''
  trigger:
  - platform: state
    entity_id:
    - input_select.ev_charge_station_current_setting
  condition: []
  action:
  - service: modbus.write_register
    data_template:
      unit: 40
      value: '{
  { states(''input_select.ev_charge_station_current_setting'')|int(0)
        }}'
      hub: victron
      address: 3825
  mode: single
- id: '1669669065522'
  alias: EV Charger Operation Based on Schedule
  description: Off Peak Charging at Max Current
  trigger:
  - platform: state
    entity_id:
    - schedule.ev_charge_time
    id: Turn On
    from: 'off'
    to: 'on'
  - platform: state
    entity_id:
    - schedule.ev_charge_time
    id: Turn Off
    from: 'on'
    to: 'off'
  condition: []
  action:
  - choose:
    - conditions:
      - condition: trigger
        id: Turn On
      sequence:
      - service: modbus.write_register
        data:
          address: 3815
          slave: 40
          value: 0
          hub: victron
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: modbus.write_register
        data:
          address: 3825
          slave: 40
          value: 32
          hub: victron
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: modbus.write_register
        data:
          address: 3826
          slave: 40
          value: 1
          hub: victron
    - conditions:
      - condition: trigger
        id: Turn Off
      sequence:
      - service: modbus.write_register
        data:
          address: 3825
          slave: 40
          value: 6
          hub: victron
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: modbus.write_register
        data:
          address: 3815
          slave: 40
          value: 1
          hub: victron
  mode: single
Modbus TCPhome assistant
1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Matthias Lange - DE avatar image Matthias Lange - DE ♦ commented ·
@matthew@ctrdevelopments.com moved to the modification space.
0 Likes 0 ·
1 Answer
wkirby avatar image
wkirby answered ·

Very nice, thank you for sharing. I thought my modbus.yaml was long!!
The integrations look interesting to me, I might have a go with those at some point.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Related Resources

Modbus TCP Basics

Additional resources still need to be added for this topic