When I work with static variables it works absolutely fine. But when I try to use dynamic it does not work.
The playbook:
---
- hosts: Swi1
  vars: 
    NewOne: 0
    provider:
      host: "192.168.0.30"
      transport: "cli"
      username: "cisco"
      password: "cisco"
    
  tasks:
    - name: gather facts
      register: iosfacts
      ios_facts:
        provider: "{{ provider }}"
        
    - name: Display the value of the counter
      debug:
        msg: "NewOne={{ NewOne }} / Data type={{ NewOne | type_debug }}"  
        
    - name: interface description
      set_fact: 
        NewOne: " {{ NewOne + 1 }}"
        parents: "interface {{ item.key }}"
      with_dict: "{{ iosfacts.ansible_facts.ansible_net_interfaces }}"
      when: item.value.operstatus == "up"
      
    - debug:
        msg: " This is Debug {{ NewOne }}"
Gives the error:
fatal: [Swi1]: FAILED! => {"msg": "Unexpected templating type error occurred on ({{ NewOne + 1 }}): coercing to Unicode: need string or buffer, int found"}